dieghe_1984:
Esiste un modo per velocizzarlo un po via software?
O, se non fosse possibile, potreste consigliarmi un altro lcd ?
Non è un problema di software o di display, un 8 bit più di tanto non può fare e aggiornare un display tft da 320x240 pixel richiede l'elaborazione di 870400 byte.
Per risolvere o vai su processori a 32 bit oppure su smart display come i Nextion, però costano molto di più.
astrobeed:
Non è un problema di software o di display, un 8 bit più di tanto non può fare e aggiornare un display tft da 320x240 pixel richiede l'elaborazione di 870400 byte.
Concordo. Ma continuo anche a ritenere l'installazione su Arduino di schermi grafici, e peggio ancora se touch, una cosa contro natura
Le interfacce "belline" e usabili mettiamole su un sistema centrale di controllo su PC con Linux, Windows o anche un semplice Raspberry PI 3 ma su Arduino metterei sempre solo LCD 2 o 4 righe e basta...
docdoc:
Concordo. Ma continuo anche a ritenere l'installazione su Arduino di schermi grafici, e peggio ancora se touch, una cosa contro natura
Quantomeno che ci vengano messi display "intelligenti", con MCU e memoria porpria e che colloquiano semplicemente via seriale, come appunto i Nextion indicati da Astro (... che, in quella classe di display, sono tra i più economici).
docdoc:
Concordo. Ma continuo anche a ritenere l'installazione su Arduino di schermi grafici, e peggio ancora se touch, una cosa contro natura
In linea di massima sono d'accordo, però dipende molto da quello che si vuole fare, se ci si accontenta di una grafica spartana, solo fincature, testo, numeri e qualche semplice icona, un Atmega2560 riesce a gestire abbastanza bene un display 320x240, sopratutto se si usa l'accortezza di aggiornare solo l'area interessata e non tutto il display ogni volta che cambia un dato.
Ho detto un Mega2560 perché oltre al numero di pin interessati, anche più di 20, è un attimo riempire i 32k di flash di un 328, oltre al peso delle librerie c'è quello dei font usati e delle eventuali icone, anche i 2k di ram vengono riempiti in un attimo quando si usano i TFT.
Da evitare come la peste i display tft su bus SPI, per ovvi motivi sono nettamente più lenti di quelli su bus parallelo e richiedono tempi maggiori di refresh, idem i tft con bus a 8 bit, richiedono il doppio degli accessi sul bus, rispetto alla versione a 16 bit, e rallentano sensibilmente l'aggiornamento.
Display tft su bus SPI o 8 bit si riescono ad usare abbastanza bene solo con processori a 32 bit con clock >50 MHz, p.e. con le Teensy 3.x si ottengono buoni risultati. Qui un breve video con una Teensy 3.1 che pilota un tft con bus spi @40 MHz, non c'è nessun flickering e la visualizzazione è abbastanza fluida.
astrobeed:
Da evitare come la peste i display tft su bus SPI, per ovvi motivi sono nettamente più lenti di quelli su bus parallelo e
Vero. Però chi opta per un bus parallelo, deve usare un mucchio di pin solo per il display.
Perciò ripeto un consiglio che ho scritto in un altro thread:
"IN GENERALE:
ma ragazzi, nell'ultimo periodo (un mese) ci sono MOOOOOLTI thread aperti su display venduti a basso prezzo da siti cineserie.
Mi permetto di sconsigliarvi questi acquisti SOPRATTUTTO se il venditore NON da librerie, datasheet e info di come usarlo con Arduino.
Ci perdere solo tempo. Inoltre Arduino Uno non ha molta memoria e questi display richiedono tutta la elaborazione da Arduino, che non è molto potente (come velocità di calcolo)
Meglio dei display testo semplici o dei display tft seriali con a bordo una mcu e memoria. Ad esempio i Nextion della Itead.
Poi se siete fortunati qualcuno ha scritto una libreria compatibile con il vs. display, ma è difficile capire quale lib funziona. "
Grazie a tutti per le risposte. Sono nuovo di arduino e non conosco le sue limitazioni.
Purtroppo mi serve fare dei grafici a colori quindi ho optato per togliere lo schermo, mandare i dati al portatile via seriale e far fare conti e grafica a lui.
Visto che ci sono, sto usando un accelerometro MPU 6050 e ho notato che rileva una misurazione ogni 9-10 millisecondi.
Dato che questo tempo è uguale sia con la mega che con la arduino due, deduco che questi 10 ms siano dovuti all'accelerometro.
Anche qui, esiste un modo per velocizzarlo via software o sapete indicarmi un modello più veloce ?