Spiegazione progetto trovato su internet

Salve a tutti,
per puro svago ho iniziato a usare arduino e con l’aiuto di qualche amico e genitore ho imparato un po’ ad usarlo, ora però mi volevo dilettare in qualche progetto più complesso e navigando su internet ho trovato questo progetto di cui vi posterò il software e l’immagine dell’hardware, è già tutto fatto io devo solo comprare i pezzi montare il semplice circuito ed è fatta, solo che io sono uno molto curioso e volevo sapere se mi potete spiegare la funzione soprattutto di alcune istruzioni utilizzate nel programma per l’arduino dato che io non ci ho capito più di tanto.
Vi spiego velocemente ci cosa tratta questo progetto: una scatola con dentro degli oggetti, un numero di pulsanti uguale al numero di utenti che volete. Con il tuo pulsante apri la scatola e puoi prelevare un oggetto, puoi eseguire l’operazione 2 volte ed alla terza la scatola non si apre e lo schermo lcd ti manda un messaggio con scritto che non puoi più effettuare l’operazione per un tempo stabilito.
Grazie in anticipo!

cookies_box.ino (5.14 KB)

Benvenuto. :) Ti invitiamo a presentarti qui: http://forum.arduino.cc/index.php?topic=113640.0 e a leggere il regolamento: http://forum.arduino.cc/index.php?topic=149082.0 - qui una serie di schede by xxxPighi per i collegamenti elettronici vari: http://forum.arduino.cc/index.php?topic=146152.0 - qui le pinout delle varie schede by xxxPighi: http://forum.arduino.cc/index.php?topic=151646.0 - qui una serie di link generici utili: http://forum.arduino.cc/index.php?topic=126861.0

Beh, sono 176 righe, commentiamo riga per riga? :grin:

Ahahahah non ti chiederei mai di commentare riga per riga! Mi basta una spiegazione generale, grazie per avermi risposto prontamente!

Giacas:
…e volevo sapere se mi potete spiegare la funzione soprattutto di alcune istruzioni utilizzate nel programma per l’arduino dato che io non ci ho capito più di tanto.

Devi essere più specifico. Per me che sono programmatore di professione in quel codice non c’e’ nulla di particolare.
Una loop() che richiama le due funzioni buttons() e door() e poi un ciclo infinito se hai terminato i “cookies”.
Per il resto ci sono comandi lcd per stampare su LCD, alcuni comandi del servo, comandi per leggere stato dei vari bottoni e poi un pò di comandi per pilotare i led.
Il tutto è suddiviso in più funzioni e non è un codice unico dentro la loop().