Nel blog di oggi vogliamo programmare il modulo AZ-Touch in modo che possa essere utilizzato come calendario dell'Avvento con detti o barzellette quotidiane per rendere più vario il vostro periodo prenatalizio.
In questo caso il contenuto dietro ogni “portina” non è di cioccolato, ma può essere personalizzato da voi a vostro piacimento creando un personale calendario dell'Avvento.
Hardware
Tutto ciò di cui hai bisogno è:
un Set AZ Touch (2,8" consigliato)
e un ESP32 DevKit C
Affinché tu possa implementare con successo il progetto, ora devi solo utilizzare l'AZ-Touch, come nel Istruzioni descritto, assemblare e collegare la scheda del microcontrollore alle prese multiple.
Software
Il calendario dell'Avvento dovrebbe visualizzare prima il numero della porta e poi il testo memorizzato dopo aver toccato lo schermo.
Dal momento che ESP32Wroom32 circa 4 MB Se dispone di memoria flash, i 24 testi possono essere memorizzati direttamente nel programma.
Autista
Se è la prima volta che programmi un ESP32 nell'IDE di Arduino, copia il seguente collegamento nell'IDE di Arduino all'indirizzo:
File->Preferenze->URL di gestione schede aggiuntive: https://dl.espressif.com/dl/package_esp32_index.json
e installa il pacchetto ESP32 nell'amministrazione della scheda.
Il driver (CP2102) per questa scheda è già installato dal sistema operativo.
Biblioteche
Successivamente è necessario installare le librerie richieste:
TFTeSPI è necessario per controllare il display.
Cliente NTP fornisce sempre la data corrente tramite un server ntp.
Le librerie possono essere scaricate come .zip utilizzando i collegamenti sopra e aggiunte nell'IDE di Arduino in Sketch>Includi libreria>Aggiungi libreria .ZIP…. In alternativa, questo può essere fatto facilmente utilizzando il gestore della libreria integrato nell'IDE di Arduino.
Codice
Poi arriva la programmazione passo passo del microcontrollore.
Per iniziare abbiamo bisogno di un programma che mostri il numero della porta corrente al centro del display.
Affinché la libreria possa comunicare con il display è necessaria una configurazione nella libreria.
La libreria TFTeSPI ha la particolarità che l'intera configurazione viene eseguita in un unico file. Questo file UserSetup.h deve avere la seguente configurazione per l'AZ-Touch Set:
|
#define USER_SETUP_INFO "User_Setup" |
Per non dover copiare completamente il contenuto, puoi anche farlo qui scaricare.
Passiamo ora al metodo vero e proprio, che dovrebbe visualizzare il numero al centro del display:
(Negli esempi seguenti mancano l'integrazione della libreria e la creazione dell'oggetto tramite il costruttore. Queste sono state omesse per maggiore chiarezza. Utilizzare il programma finale per i test!)
|
void showNumber(int number) { |
Spiegazione:
Inizialmente il numero passato al programma viene convertito in una stringa di caratteri (stringa) convertito (fusione).
Il display viene quindi preparato impostando i pixel su nero, il colore del carattere su rosso e il carattere su 8.
Quindi vengono calcolate le coordinate. La coordinata X è costituita dalla differenza tra metà larghezza del display e metà larghezza del testo. La posizione y è descritta dalla differenza tra metà dell'altezza dello schermo e metà dell'altezza del carattere.
Infine, il numero viene posizionato nella posizione calcolata tramite il stampaln() comando visualizzato.
Il numero della porta può ora essere visualizzato in grande sul display. Successivamente vogliamo determinare la data tramite il programma in modo da poter sempre visualizzare la porta attuale.
Un modulo RTC offre un'opzione diffusa in questo caso. Questi però devono essere impostati manualmente tramite il software e col tempo possono presentare imprecisioni.
Poiché nel progetto utilizziamo un ESP32, la funzione WLAN può essere facilmente utilizzata per interrogare l'ora e la data attuali tramite un cosiddetto server NTP. Questo Server del protocollo temporale di rete si basano su orologi in tempo reale, come gli orologi atomici.
Per la query semplificata il Cliente NTP È possibile utilizzare la biblioteca.
|
int day, mon; |
Spiegazione:
Innanzitutto l'ora viene aggiornata dal server. Dopo questo tempo Oggetto letto e inserito Struttura convertito.
Il giorno e il mese vengono quindi letti da questa struttura e memorizzati nelle variabili globali corrispondenti.
Adesso seguono configurazione() funzione e il ciclo() Routine:
|
void setup() { |
Spiegazione:
Dentro configurazione() avviene l'inizializzazione interfaccia seriale, des Visualizza, des Wi-Fi e des timeClient (NTP).
Nel ciclo() Come routine, viene prima richiesta la data e, in base alla distinzione dei casi, viene visualizzato un conto alla rovescia fino all'Avvento oppure, se il mese corrisponde a dicembre e il giorno è compreso tra 1 e 24, viene visualizzato il numero della porta corrispondente. mostraNumero() Funzione.
Il touchscreen è dotato di un pin di interruzione, che passa a BASSO quando viene premuto. Ciò significa che toccare lo schermo può essere fatto facilmente con uno senza software aggiuntivo lettura digitale() è possibile verificare la query.
Dopo aver toccato, il contenuto sul display sarà con il testo di un array Elementi di stringa riempito. Qui, per poter visualizzare testi più lunghi, il punto di partenza è stato impostato su 0:0, cioè sull'angolo in alto a sinistra. L'interruzione di riga prosegue poi automaticamente nella riga successiva.
Puoi realizzare l'intero progetto qui scaricare.
Per caricarlo sul microcontrollore, nell'IDE di Arduino selezionare:
Strumenti > Scheda > esp32 > Moduli di sviluppo ESP32
e poi quello giusto porta seriale.
Se compaiono più porte, scollega il microcontrollore e ricollegalo, la nuova porta che appare è quella del microcontrollore.
Per utenti avanzati:
È possibile ottenere il generatore di segnale preinstallato nell'AZ-Touch per riprodurre musica natalizia mentre si attende che venga toccato un display?
SUGGERIMENTO: usali Comandi di tono al pin 21. [tone(21, 1000, 100);]
Per melodie complesse il Piccola libreria RTTTL una soluzione semplice.
Conclusione:
In questo progetto hai creato un calendario dell'Avvento da un modulo AZ-Touch, che può mostrarti detti natalizi, barzellette o testi personalizzati ogni giorno.
Ora è il momento di raccogliere contenuti per ogni giorno!
Naturalmente avete ancora ulteriore spazio per modifiche creative al software, che renderanno il calendario dell'Avvento ancora più personale! :)
Divertitevi a replicarlo :)






