martedì 29 aprile 2014

Misurare la velocità di una ventola per PC a 3 fili con Arduino

Oggi vediamo un programma che ho scritto io semplificandolo e prendendo spunto da questo progetto, lo sketch misura la velocità di una classica ventola da PC a tre PIN come quella in figura:


Il pin-out del connettore della ventola è questo:



Per contare i giri della ventola ho utilizzato gli interrupt, collegando in led tra VCC 9V e il filo giallo tachimetrico con resistenza da 1K ho verificato che il led si spegne e si accende 4 volte in ogni giro che fa la ventola.
Video:



Oppure potete usare questo semplice sketch come test: 
int pin = 13;
volatile int state = LOW;
void setup()
{
  pinMode(pin, OUTPUT);
  attachInterrupt(0, blink, CHANGE);
}
void loop()
{
  digitalWrite(pin, state);
}
void blink()
{
  state = !state;
}

domenica 2 febbraio 2014

Amplificatore a transistor TIP41 - TIP42

Ho realizzato su breadboard questo amplificatore a BJT preso da digilander.
E' un amplificatore molto semplice con 3 transistor, con una qualità audio abbastanza buona.
Lo schema è il seguente, l'ho modificato e ho aggiunto i nomi dei componenti.
Questo amplificatore funziona i Push - Pull (spingi e tira) , grazie ai 2 transistor complementari fra di loro.
Le 2 resistenze da 1ohm servono a proteggere i transistor.
Il condensatore all'entrata audio è necessario per adattare il livello di impedenza senza modificare la polarizzazione del transistor.
Il condensatore in serie all'altoparlante serve a generare la corrente alternata necessaria per il correttetto funzionamento dell'altoparlante.
Il circuito come dice nel sito va alimentato a 6 / 9V, io l'ho alimentato a 12V e con 2 casse da 8ohm 2W collegate in serie i 2 transistor di potenza non erano per niente caldi.
Aggiungendo un banco di condensatori in parallelo all'alimentazione, la qualità audio migliora notevolmente se alimentato da un alimentatore da rete, io ho aggiunto un banco di condensatori da 9000uF.

lunedì 30 dicembre 2013

Detonatore per petardi a infrarossi con Arduino

Con il mio Arduino ho costruito questo detonatore per petardi comandato da un comune telecomando ad infrarossi.

Materiale necessario
  • Un Arduino (va bene uno qualsiasi, io ho usato l'UNO).
  • Un ricevitore infrarossi (io ho usato un TSOP4838).
  • Un telecomando a infrarossi.
  • Un Relè (io ho usato questa scheda).
  • Una batteria da 9V per alimentare Arduino e Relè
  • Una batteria da 12V per l'innesco
Collegamenti
  1. Il sensore infrarossi l'ho collegato al pin 11 di Arduino.
  2. La scheda a Relè l'ho collegata al pin 2.
  3. La scheda a Relè e il sensore IR sono alimementati da 5V di Arduino.
  4. Il filo che va ai contati per l'innesco è collegato tra il contatto COM e NA (normalmente aperto) del Relè.
Volendo si può usare solo la batteria da 12V per alimentare l'Arduino ma io per sicurezza ho preferito usarne 2.

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: