Array
Gli array in C/C++ sono contenitori di dati primitivi (built-in) a stretto contatto con la memoria ram. Ogni linguaggio implementa il contenitore teorico in questione in modo differente. In C/C++ l'array è implementato in modo minimale, nudo e crudo come accedere in modo diretto alla memoria RAM, senza chiedere permesso. Sei tu che comandi e non esiste nessuno al di sopra di te che possa dirti che non ti è permesso fare ciò che vuoi. Tu, il C è l'hardware; non serve altro per fare l'impossibile e renderlo possibile.
Come visualizzare le C string sul display
Un array passato come argomento di funzione decade a puntatore
Orologio di sistema
Il tempo scorre e il mio programma non percepisce il tempo che scorre; come faccio a scrivere un algoritmo che reagisce in modo differente in relazione al tempo che scorre?
Appuntati il tempo in una variabile, controllo ripetutamente se il tempo corrente meno il tempo appuntato è uguale o maggiore all'intervallo di tempo prestabilito e agisci. Più facile a farsi che a dirsi. Per guardare l'orologio di sistema usa la funzione millis() che ti restituisce un numero che rappresenta quanti millesimi di secondo sono trascorsi da quando hai alimentato arduino.
Un semplice esempio non banale su come usare la funzione millis()
Applicazioni al simulatore
Wokwi è un simulatore online (direttamente sul tuo browser), gratuito e non serve iscrizione. Wokwi funziona anche sullo smartphone, almeno su android ho verificato funzionare alla perfezione.
Le applicazioni qui elencate non sono pensate per essere copiate e usate. L'obbiettivi di queste applicazione è quello di mostrare come ho ottenuto certi risultati e quale codice me lo ha consentito, di modo che possiate fare come ho fatto io all'interno della vostra applicazione. La funzione millis() è usata ampiamente è pertanto trovate diversi modi di usare millis() che poi acquisirete e userete nella vostra applicazione.
Il termostato ON/OFF contiene codice utile per qualsiasi termostato voi state realiazzandoIl termostato con display LCD, relay e sonda NTC
Quasi lo stesso codice ma il termostato usa una sonda DHT22
Una applicazione di automazione per plastici e modelli
Automazione per plastici e modelli: approfondimento
Uno strano montacarichi teorico. Un visualizzatore di posizione con 3 moduli 8x8 max7219
Wokwi Custom chip
Wokwi è il simulatore online più flessibile su cui io abbia mai messo le mani. Le sue potenzialità non si fermano di fronte alla mancanza di device da collegare ad arduino, infatti è possibile crearsi il proprio device, programmarne il comportamento e collegarlo ad arduino. Il device che crei e programmi potrebbe non esistere ancora, potresti anche inventarlo per poi realizzarlo tramite la MCU ATmega328P o altre più potenti. Tutto ciò lo fai sempre allo stesso modo con qualunque scheda simulabile.
Due articoli introduttivi per iniziare a prendere confidenza con le Custom Chip API, occhio che devi scrivere in C (no C++).
Raspberry PI-PICO RP2040
Primi passi con pi-pico la sua SDK in C (no C++)
Alla scoperta di:
Arduino Uno: Introduzione hardware e software
La pinout di Arduino Uno e le principali informazioni da tenere sempre a mente
Una piccola classe C++ per i moduli relay LLT e HLT
Come usare arduino IDE per sfruttare al meglio le compile-unit C++
Quali sono i pin PWM di ESP32 e come usarli
Come funzionano i module relay optoisolati LLT più diffusi.