sabato 16 novembre 2013

Pilotare relè 5V con Arduino

Ho recuperato un piccolo relè da 5VDC da una vecchia scheda e li ho saldato 4 fili.


Il relè non può essere direttamente alimentato da uu pin di Arduino perchè può fornire al max 40mA, quindi bisogna amplificare il segnale usando un transistor (BC547 o altri) e un diodo (1N4007) per proteggere l'Arduino dalle alte tensioni che la bobina del relè genera quando viene scollegata.

domenica 3 novembre 2013

Semplice Vu . meter con Arduino

Oggi vediamo come costruire un vu-meter con Arduino e 12 led.
Il VU meter è uno strumento di misura dell'intensità del segnale negli apparecchi audio.
Vu meter analogico

Ho collegato 12 led dal pin 13 al pin 2 di Arduino uno, 4 verdi, 4 gialli e 4 rossi.
L'ingresso audio l'ho collegato con una resistenza da 10K al potenziometro analogico 0 di Arduino mentre la massa l'ho collegata al gnd di Arduino.
Vediamo subito lo schema del circuito:

sabato 19 ottobre 2013

Pianola con buzzer, telecomando infrarossi e arduino

Grazie all'aiuto del forum di Arduino sono riuscito a risolvere un problema durante la compilazione del mio sketch della pianola ad infrarossi.
Con il telecomado della mia tv con codifica RC5 posso riprodurre le 7 note su Arduino (si può usare qualsiasi telecomando, basta sostituire i codici!).
Ho collegato il sensore ad infrarossi TSOP4838 al pin 11 e il buzzer al pin 8.
I suono vengono riprodotti con la funzione tone().
La libreria IrRemote e tone() usano lo stesso timer e quindi ho spostato il timer 2 della IrRemote sul timer 1.
// Arduino Duemilanove, Diecimila, LilyPad, Mini, Fio, etc
#else
  #define IR_USE_TIMER1   // tx = pin 9
  //#define IR_USE_TIMER2     // tx = pin 3
#endif

Prima di tutto dovete aggiungere questa libreria, modificata da me.
Con la mia libreria modificata il led IR per trasmettere va connesso al pin 9.
Vediamo subito lo schema del circuito:
Lo sketch è il seguente:

venerdì 18 ottobre 2013

Trasmettere comando infrarossi con funzione sendRaw libreria IrRemote

Dopo numerosi tentativi, sono riuscito a ri-trasmettere il codice del mio telecomando samsung con Arduino e la libreria IrRemote (da copiare - incollare dentro la cartella programmi --> arduino--> libraries.
Sono riuscito grazie all'aiuto del forum di Arduino, potete leggere qui e qui.
Per ottenere i valori RAW basta caricare lo sketch "IRrecvDump" inclusso negli esempi della libreria e vedere i codici dal monitor seriale.
Io ho utilizzato un sensore IR TSOP4838 collegato al PIN 11 di Arduino UNO.
Pin - out sensore TSOP4838


Il codice RAW del mio telecomando (non samsung) è il seguente:
Unknown encoding: E0984BB6 (32 bits)
Raw (24): -8386 1300 -400 1300 -350 450 -1200 1300 -400 1300 -350 450 -1200 450 -1250 450 -1200 1300 -350 450 -1200 500 -1200 450 

Per poter trasmetterlo bisogna seguire questi passaggi:
  1. Eliminare tutti i "-" meno (usate la funzione sostituisci del notepad)
  2. Sostituite tutti gli spazi con delle virgole ","
  3. Eliminate il primo valore
  4. E poi create un array.
Dovrete ottenere qualcosa del genere:
unsigned int Signal[] = {1300,400,1300,350,450,1200,1300,400,1300,350,450,1200,450,1250,450,1200,1300,350,450,1200,500,1200,450,1000};

Lo sketch per trasmettere è il seguente:
  

domenica 22 settembre 2013

Pilotare led bipolare bicolore con Arduino

Ho trovato nella mia scatola dove tengo i componenti recuperati un bel led bipolare verde - rosso.

Il led bicolore è formato da 2 led rosso e verde disposti in antiparallelo, questo componente ha 2 fili.

Il led bipolare che ho utilizzato io ha già la resistenza cablata.

Schema pratico del circuito:

venerdì 20 settembre 2013

Pilotare motore stepper bipolare con Arduino


Ho recuperato da una vecchia stampante un motore stepper bipolare a 4 fili.
Ecco il motore

Per trovare qli avvolgimenti basta usare un multimetro con la funzione "prova continuità" (la funzione con il beep).
I motori bipolari sono formati da 2 bobine, con una resistenza nel mio caso di 37ohm.
Le bobine del motore non si possono pilotare direttamente con Arduino perchè ogni pin può fornire al max 40mA.

lunedì 16 settembre 2013

Scrivere Bootloader ATmega328p con arduino su BreadBoard con e senza quazo.

In questo tutorial vediamo come scrivere il bootloader su un ATmega328 usando l'Arduino UNO.

Scrivere il bootloader su atmega 328p a 16mhz
Ci servirà:
  • Una breadboard
  • Un Arduino UNO
  • 2 condensatori da 18 o 22pf
  • Un cristallo da 16 MHz
  • Una resistenza da 10K
  1. Selezionare il modello di Arduino che si sta utilizzando dal menu: strumenti --> tipo di Arduino.
  2. Fare l'upload dello sketch "Arduino ISP" (negli esempi) sull'Arduino da usare come programmatore.
  3. Collegare l'Arduino e l'ATmega 328 come nel seguente schema, (nello schema non è indicato ma bisogna aggiungere un condensatore da 10uF tra il pin reset e 3,3V di Arduino, con Arduino r3 non è necessario).
  4. Selezionare "Arduino UNO" dal menù strumenti, tipo di Arduino.
  5. Poi menù strumenti --> Programmatore--> Arduino as ISP
  6. E infine menù --> Strumenti --> Scrivi il bootloader

Circuito minimale con quarzo interno 8mhz
Con questa configurazione non sono necessari i 2 condensatori da 18 - 22pf, il quarzo e la resistenza da 10K.