Controlli Digitali Semplici
Indice |
Materiale
Questo progetto necessita dell'utilizzo dei seguenti componenti
# una Scheda Arduino(es. UNO, MEGA o equivalenti) Vedi esempio: http://arduino.cc/en/Main/ArduinoBoardUno # pulsanti, led, resistenze da 10kohm e da 220ohm, condensatori da 1uF
Livello complessità: Semplice
Richieste: Conoscenza del Linguaggio C++
L'obbiettivo e le possibilità
Lo scopo di questi progetti è il prendere confidenza con Arduino, partedo da un progetto semplice e banale come il simulare un relè da abitazione, singolo o doppio o l'integrazione di entrambi.
Funzionamento
Alla scheda Arduino devono essere applicati 3 led e 2 pulsanti. Per i led è molto semplice, è sufficente una resistenza da 220ohm tra le uscite di Arduino e l'anodo(terminale lungo) del Led, ovviamente il catodo (terminale cordo) del Led và collegato al Negativo (Ground). Invece i punsanti vanno collegati a tra il positivo (+5V) e l'ingresso di Arduino, e dallo stesso ingresso và collegato una resistenza verso il Negativo (Ground), sistema detto anche "PULL DOWN" perchè fin tanto che il pulsante è aperto mantiene l'ingresso di Arduino a 0V. Al momento della pressione del pulsante l'ingresso avrà i 5V necessari a portare l'ingresso a 1.
Gli ingressi e le uscite necessarie per tutti e tre i programmi:
2 e 3 = Ingressi per i Pulsanti 5,6 e 7 = Uscite per i Led
Descrizione del Sorgente del Firmware
Anche se i sorgenti sono completi di commenti chiari sul funzionamento di ogni riga del listato, volevo aggiungere qualche informazione sul modo che ho usato.
Ho usato la creazione di costanti così const int buttonPinS = 3; per dare modo di scegliere quali ingressi o uscite usare, senza dover mettere mano a tutto il programma per sostituirle.
Lo scopo di sostituire un ingresso o una uscita sta nel fatto che il programma così com'è può essere intergato a qualsiasi altro, semplicemente copiandolo, il programma manterrà il suo funzionamento senza interferire con l'altra parte del programma, un esempio lo sia ha nell'ultimo sorgente che integra 2 funzionamenti contemporaneamente.
Per il momento non saprei cosa altro aggiungere, i listati che ho fatto sono affiancati da commenti step a step, quindi mi limito a farvi leggere i sorgenti e nel spronarvi a migliorarli, risparmiando byte preziosi e a riassumere il codice in meno righe possibile.
Questo modo di lavorare si chiama Hacking
Sorgenti
L'ultima versione aggiornata
PulsanteLed.ino PulsanteLed2.ino PulsanteLed_Led2.ino
Se volete seguire tutti i nostri progetti o partecipare al migliramento...
WebSVN oppure con SVN "svn co svn://blah.pizzahack.eu/arduino/Seppang arduino_web_controller"
Partecipanti
- Simone Agnolini (hardware & firmware developer)