Visualizzazione post con etichetta Arduino. Mostra tutti i post
Visualizzazione post con etichetta Arduino. Mostra tutti i post

giovedì 26 giugno 2014

Come programmare Arduino Pro Mini cinese

Dopo solo 11 giorni mi è arrivato l'Arduino Pro Mini dalla Cina al fantastico prezzo di 2€! (LINK ACQUISTO)
Viene venduto con gli header maschi inclusi, ma da saldare.
Con gli header ancora da saldare
L'Arduino Pro Mini non è dotato di ports USB, oggi vediamo come programmarlo usando un convertitore FT232.
Su Ebay ci sono molti tipi di convertitori USB-seriale, ma prima di acquistarlo dovete verificare se è presente il pin DTR che ha lo scopo di resettare il nostro Arduino, altrimenti non può essere programmato.
L'adattatore che ho usato io è questo, e costa circa 5€ da Ebay: (LINK ACQUISTO)
Scaricate i driver da: QUI


Riguardo al Pin-Out dell'Arduino Pro Mini, su internet su trovano molti immagini errate, quello corretto lo trovate qui di seguito:

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;
}

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:
  

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.

lunedì 9 settembre 2013

Progress bar orizzontale LCD con caratteri personalizzati Arduino

Con Arduino si possono creare dei caratteri personalizzati per il display LCD.
Il display LCD ha 16 colonne per ogni riga, ma non sono sufficienti per rappresentare una percentuale.
Ogni carattere è formato da 5 x 8 pixel, 5 x 16 = 80 passi.
I caratteri personalizzati sono così:

Circuito da realizzare:
Programma per Arduino:

sabato 7 settembre 2013

Controllo colore LED RGB con potenziometri.

Oggi vediamo come controllare il colore di un led rgb.
Con soli 3 colori si possono creare diverse sfumature.

Colori RGB

Ogni potenziometro controllerà un colore, il rosso, il verde e il blu.

Realizziamo il seguente circuito sulla breadboard come ne seguente schema:
Schema circuito

Il pin-out dei led rgb è questo:

Led catodo comune
Il led rgb che ho usato è a catodo comune (negativo)
Questo è il codice di Arduino:

venerdì 6 settembre 2013

Termometro con Arduino, TMP36 e LCD

In questo post vi spiegherò come costruire un termometro con Arduino.

Questo è il circuito che bisogna realizzare:

Schema del circuito

Questo è invece il codice di Arduino



Il sensore di temperatura che ho utilizzato è un TMP36, è incluso nello starter kit Ufficiale di Arduino.
Il sensore va collegato al pin analogico A0.
Pin-out del sensore di temperatura TMP36

martedì 3 settembre 2013

Usare pin analogici Arduino come digitali.

Forse non tutti lo sanno ma i pin analogici di Arduino (nel mio caso l'UNO) possono essere usati come I/O digitali.

Per usare questi pin come digitali bisogna numerati in un modo diverso:


  • PIN A0 --------> 14
  • PIN A1 --------> 15
  • PIN A2 --------> 16
  • PIN A3 --------> 17
  • PIN A4 --------> 18
  • PIN A5 --------> 19

  • Per dichiarare ad esempio il pin A0 come digitale basterà scrivere nel void setup:
    pinMode(14,OUTPUT);
    o come input: pinMode(14,INPUT);
    Usare i pin analogici come digitali può essere utile nel caso bisogna collegare molti pulsanti, led o sensori vari al nostro Arduino.