UTFT Analog Clock

Buonasera.

Anzitutto tengo a precisare che apro questo topic in questa sezione perché la mia domanda verte sia sul Hardware che sul Software.

Allora….nella sezione Software avevo chiesto lumi su di un progetto Oled analog clock che alla fine è stato risolto con mia grande soddisfazione grazie alla collaborazione degli utenti che mi sono venuti in aiuto.

Tra un intervento e l’altro mi è stata suggerito un altro progetto di tipo”orologiaio”:UTFT_Analog_Clock reperibile sempre sul sito di Rinky-Dinky.

Ci sono andato e ho scaricato le librerie URTouch.zip,UTFT.zip ,DS1307.zip che ho inserito nell’IDE e naturalmente
il codice zippato UTFT_Analog_Clock.zip che ho estratto e da pde convertito in .ino come insegnatomi.

Ora arrivo al dunque.

Ho preso il mio Elegoo UNO R3 2.8 Inches TFT Touch Screen con SD Card Socket e l’ho inserito sul Mega nell’unico modo in cui i pin combaciavano esattamente.L’RTC 1307 l’ho collegato al Mega così: GND al GND del Mega
VCC al VCC del Mega
SDA al pin 20 del Mega
SCL al pin 21 del mega.

La scelta di questa configurazione può essere troppo semplicistica ma non me ne viene in mente un’altra.

In ogni caso la verifica va ok ,il caricamento si completa ma il display resta bianco.

Temo che il mio quesito sia pretenzioso ma ho sempre avuto trovato persone che hanno fatto il possibile per aiutarmi.

Grazie
P.S.Non invio il codice perchè ho provato a mandarlo ma il messaggio eccede i 9000 caratteri.
in caso lo mando poi.

Ma, ho capito male io, o ... sa stai cercando di usare lo stesso progetto fatto per il piccolo display OLED con un display TFT ? ? ? :o :o :o

Perché in tal caso ... NON va bene! La libreria di Rinky-Dink Electronics per l'OLED NON è adatta al display TFT che richiede tutt'altra libreria.

Guglielmo

Buon giornooo.
Sempre in sella! In effetti sì....
http://www.rinkydinkelectronics.com/p_utft_analog_clock.php

Required hardware:
Arduino Mega or Arduino Mega 2560
A display module compatible with UTFT like these, or some of these. You will need a display with a minimum resolution of 320x240.
A shield or something similar to connect the display module to the Arduino
A DS1307 module
I would highly recommend using the Arduino Mega / Chipkit MAX32 Screw Shield with TFT and RTC from AquaLEDsource for this project as it makes it easy to connect your display module to the Arduino, and it already has a DS1307 on board. In addition you also have all the unused pins broken out to easy-to-use screw terminals.
Required software:
UTFT library
URTouch library
DS1307 library

Questo è quello che ho scaricato.

Si, scaricato va bene, ma ti sei studiato la documentazione della libreria UTFT (si trova all'interno della catella della libreria)?

Quella libreria supporta decine di display diversi e, per ciscuno, occorre cambiare delle impostazioni! Devi quindi conoscere l'uso dei pin del tuo display e trovarne poi la giusta configurazione per la libreria.

I display TFT e la UTFU sono delle "brutte bestie" e richiedono parecchio studio ed attenzione ... tutto sono meno che plug-and-play :smiley: :smiley: :smiley:

Guglielmo

P.S.: Il display della ELOGO ti è arrivato con la sua documentazione? Puoi trovare il suo pin-out?

Ahi ,ahi....mi sembrava troppo facile!

Allora il datasheet ce l'ho sul cd che era allegato al display e si riferisce al ILI9441 ma in quelle 249 pagine non so cosa mi è utile e cosa no.

Sempre sul cd ho trovato queste immagini che allego

Per quanto riguarda la libreria UTFTcpp ho trovato questo:

#endif
#ifndef DISABLE_ILI9341_S4P
#include "tft_drivers/ili9341/s4p/initlcd.h"
#endif
#ifndef DISABLE_ILI9341_S5P
#include "tft_drivers/ili9341/s5p/initlcd.h"
#endif
#ifndef DISABLE_ILI9341_8
#include "tft_drivers/ili9341/8/initlcd.h"
#endif
#ifndef DISABLE_ILI9341_16
#include "tft_drivers/ili9341/16/initlcd.h"

che si riferisce al mio display.

Guarda che ti mando queste informazioni, senza tuo impegno,solo così per curiosità sapendo che nessun santo potrebbe aiutarmi.

Comunque sentite grazie
Fulvio
P.S: avevo inviato un'altra immagine ma non so perchè sembra esserci verificato un errore nell'upload?
Magari dopo ci riprovo

Se guardi nella documentazione della UTFT, nel manualetto "UTFT_Supported_display_modules_&_controllers.pdf" trovi anche il tuo controllere e le relative note.

Guglielmo

There was a problem during the uploading of TFT 2.PNG.
Your post has been made, however the above attachment was not attached. Please use the Back button to edit your post and submit any required changes.
Your attachment has failed security checks and cannot be uploaded. Please consult the forum administrator.

karafasta:
There was a problem during the uploading of TFT 2.PNG. ...

Con certe immagini succede ... NON chiedermi perché ... ::slight_smile:

Guglielmo

Si lo so:«Se qualcosa può andar male, andrà male.»Legge di Murphy.

Comunque sono andato sul manuale dei display supportati e ho trovato questo che devo,spero,mandarti in allegato.
Ma la cosa diventa sempre più complicata per me.

Ancora una cosa ....se non ce la fai a starmi dietro fatti dare il cambio. :slight_smile:

Catturadisplay.PNG

Hai trovato la giusta pagina .... ora ... non ti resta che studiare e capire le impostazioni per far funzionare quel display :slight_smile:

Quindi, guardare come è fatto il "costruttore" della classe UTFT, vedere che parametri vuole, capire cosa passargli e così via ...

Se vuoi coltivare questa passione, purtroppo devi studiare un sacco di cose perché, contrariamente a quello che si dice in giro, con il copia/incolla al massimo di fa lampeggiare un LED, per tutto il resto ... bisogna dedicare un sacco di tempo a studiare e capire :slight_smile:

Guglielmo

Ancora una cosa cosa intendi per Costruttore?

karafasta:
Ancora una cosa cosa intendi per Costruttore?

... terminologia del C++ ... quando "istanzi" una classe e crei un "oggetto" ... non per nulla ti dicevo che tocca studiare ... un buon manuale di C/C++ :smiley:

Nel tuo caso quando nel codice, ad esempio, scrivi ...

UTFT myGLCD(ITDB32S,38,39,40,41);

... viene "istanziata" la classe UTFT e creato l' "oggetto" myGLCD ed automaticamente chiamto il suo "costruttore".

Guglielmo

P.S.: ... io ODIO il C++ ed al 90% scrivo solo codice 'C', ma ... alcune basi tocca saperle :wink:

dove posso trovare un testo o un sito o altro per il C++
Grazie.
Hai notato la mia età....prima di imparare 'ste cose sarò morto!

... ce n'è veramente un'infinità, testi, corsi on-line, tutorials, ecc. ecc.

Prova a cercare con Google "Corsi C++" o "Introduzione al C++" ... e così via ...

Guglielmo

P.S.: Ma intanto perché non ti studi le basi sia di Arduno che della sua programmazione? QUESTO è un buon testo !

Diciamo che definisci una serie di variabili che ti servono per un certo scopo.
Prevedi una serie di funzioni (che nel mondo ad oggetti si chiamano metodi perchè fa figo dare sempre nomi diversi alle stesse cose per far intendere che siano cose totalmente diverse anche se non lo sono :wink: ) che lavorano principalmente su queste variabili e che saranno l'unico modo per manipolare queste variabili così da evitare tutto sotto controllo.
Metti tutto assieme in un file per avere tutto assieme e non disperso in giro per l'intero programma.
Ecco che hai usato un approccio ad oggetti.
A questo sono state teorizzate e implementate regole e sintassi in modo da automatizzare tutta una serie di funzionalità aggiuntive su cui per ora soprassediamo ed ecco che si ottiene la programmazione ad oggetti.
Si tratta, supersemplificando, di una struttura dati con funzioni di manipolazione annesse.
Ora, quando vuoi creare una di queste strutture la istanzi (altro termine nuovo che fa figo per dire "crei").
Una delle regole su cui abbiamo soprasseduto prima è che quando crei una di queste strutture (che sempre per lo stesso motivo hanno chiamato "oggetti"), viene richiamato in automatico un metodo con un nome standard su cui è comodo mettere tutta la logica di inizializzazione della struttura dati. Questo metodo o funzione che dir si voglia, si chiama "costruttore" appunto perchè è funzionale alla costruzione iniziale dell'oggetto.

Questo modo di strutturare il codice in variabili e metodi specializzati è il sunto della programmazione ad oggetti a cui sono state aggiunte tutta una serie di astrazioni per "facilitare" (in teoria) tutta una serie di compiti come l'ereditarietà, le interfacce, l'overloading, ecc. ecc. ecc. tutti nomi da fighetti :wink: per definire cose tipiche della programmazione ad oggetti.

Ora, si possono ottenere risultati simili con la normale programmazione, perchè alla fine si tratta solo di un modo differente di riorganizzare il codice automatizzandone alcuni aspetti, per cui certi "puristi" lo considerano un inutile appesantimento, mentre altri lo considerano come una evoluzione fondamentale...
A ognuno le proprie opinioni.

Io ho super-semplificato la cosa commettendo sicuramente qualche errore o imprecisione. Il mio scopo era di far capire il concetto più che di dare una visione dettagliata e precisa.
Spero di non averti tediato troppo e di averti dato qualche informazione utile.

Maubarzi ti ringrazio ma tutto questo è al di sopra delle mie possibilità.

Il linguaggio C++ o simili (ho provato a guardare qualcosa su google) per me rimane un pianeta inospitale.
Certe cose non potranno mai essere alla mia portata.Inutile insistere e non è vero che volere è potere.
Uno deve sapere quando ha raggiunto il proprio livello di incompetenza.
Questo non vuol dire che abbandono ma volerò un po' più basso.

Ave

La mia voleva solo essere una introduzione ai termini, giusto per far capire di cosa si parla.
Una sorta di prima versione del google translator :wink: che rendeva gli ideogrammi cinesi comprensibili traducendoli in un linguaggio analogo a quello usato da tarzan.

Si usano tanti paroloni ma sotto sotto le cose non cambiano di molto per un uso da utente finale se poi uno vuole diventare uno sviluppatore di librerie è ovviamente un'altra storia.

Io non mi sento di consigliarti libri su C++, ma se trovi termini che non capisci chiedi direttamente qui, eviti di entrare nella giungla e qualcosa ne dovresti cavare lo stesso per la sopravvivenza.

Ti ringrazio dell'incoraggiamento ma penso che oltre certi ostacoli non posso andare.
Se guardi poco più su i consigli di gbp01 ti puoi rendere conto che non ce la posso fare.

Chiedere ,certo, ma non posso mica pretendere che mi si tenga un corso di programmazione per ogni problema che incontro.
E come dicevo non mi ci metto neanche a iniziare lo studio di C++ o similari.
Alla prossima.
Grazie