ARDUINO 101 - Tutorial n°3: Analog input e fading di un LED

metallo97

Utente Èlite
3,530
1,200
Hardware Utente
CPU
Intel Core i7 930 @ 4GHz
Scheda Madre
ASUS Rampage II Gene
Hard Disk
Crucial M500 120GB
RAM
OCZ Platinum 9-9-9-28 @ 1866MHz
Scheda Video
MSI Radeon HD7950
Scheda Audio
Creative X-Fi
Monitor
HP 22xi
Alimentatore
Nilox SRM850
Case
Project: Black Side of The Modding
Sistema Operativo
Windows 7 64 Bit
Ciao a tutti ragazzi, mi scuso per il grande ritardo nel pubblicare i vari tutorial ma purtroppo la scuola occupava buona parte della giornata e finalmente sono riuscito a ritagliarmi un po di tempo per continuare questa saga.

Comincia oggi la terza puntata di:
ARDUINO 101

Molto brevemente, oggi andremo a vedere cosa significa Analog Input e in secondo momento a programmare il fading di un LED.

Premettiamo che tutto quello che mettete nei pin da A0 ad A5 deve provenire da sorgenti analogiche, quali potenziometri, fotoresistori ecc.
Il segnale analogico genera una variabile il cui valore arriva fino a 1023 e con questo possiamo comandare molte cose, per esempio un servo, un led, qualsiasi cosa voi vogliate, il limite in Arduino è solo la vostra immaginazione!

Comunque, dopo questa brevissima spiegazione andiamo a fare il programma.

Allora per fare il tutto vi serve:


  • Arduino;
  • un potenziometro;
  • un LED;
  • breadboard;
  • cavi di collegamento.

Inserite il potenziometro nella breadboard, inserite il pin 1 o counterclockwise (ccw) del vostro potenziometro al GND di Arduino, collegate il pin 2 o wiper all'entrata A0 in Arduino e collegate il pin 3 o clockwise (cw) ai 5v.
Prendete il vostro LED e collegatelo alla breadboard, il negativo al GND e il positivo ad una delle porte PWM di Arduino, nel mio caso la porta 11.

Il codice è molto semplice:

Codice:
int pote=0;
int pwm=0;

void setup (){
  pinMode(11, OUTPUT);
}

void loop (){
pote=analogRead(0);
pwm= (pote/4);
analogWrite(11, pwm);
}
Vengono create due variabili chiamate pote e pwm per facilitarmi il lavoro successivamente.
Viene dichiarato il pin 11 come output.

Il pin A0 viene dichiarato come pin di lettura. Nella variabile pwm faccio il calcolo pote/4, questo perchè il potenziometro mi dava 1024 valori, mentre il PWM accetta solo 256 valori, quindi per fare ciò mi è semplicemente bastato dividere 1024 per 4, ricavando così 256 valori diversi, che verranno digeriti dal PWM.
Successivamente dico di scrivere in segnale PWM nel pin 11 con valore pwm definito dalla precedente operazione.

Molto semplice come potete vedere.

Qui ho fatto una foto (sfuocata ma si vede dai):



E qui ecco un video del funzionamento (anche qui perdonate ma la fotocamera fa schifo e non avevo voglia di tirare fuori la telecamera per una cosa del genere...):

Guarda il video

Finisce qui questa lezione di oggi, come sempre se avete domande o chiarimenti da fare, io qui sono sempre, sia sul thread che su PM. ;)
 

Entra

oppure Accedi utilizzando