ciao a tutti , come da presentazione ricordo che in eletronica sono a zero, quindi ringrazio anticipatamente chi avrà la pazienza di insegnarmi qualcosa in modo semplice e compresibile a persone come me, anche se ho consultato internet ma non mi sono chiare tante cose , detto questo passiamo al progetto,
ho acquistato tempo fà un start kit di arduino uno e vorrei realizzare qualcosa con un transistor per capire bene la sua funzione in modo pratico come ad esempio accendere tre led o altro a vostro piacere , l'importate è la chiarezza dei collegamenti e il codice software per il funzionamento ,vi faro altre domande in seguito , grazie di nuovo.
Ciao,
di solito in elettronica "digitale", come hai accennato, i transistor servono per accendere o spegnere "a comando" dei dispositivi che assorbono più corrente di quella fornibile dal microcontrollore tramite l'impostazione HIGH o LOW di un pin. In pratica vengono utlizzati come interruttori comandati.
Il modo più semplice è mettendo il pin interessato in output con il comando pinMode e lo stato a HIGH o LOW con digitalWrite:
void setup() //imposta il pin 5 in output
{
pinMode(5, OUTPUT);
}
void loop() // Alza e abbassa ciclicamente il pin 5 ogno secondo
{
digitalWrite(5, HIGH);
delay(1000);
digitalWrite(5, LOW);
delay(1000);
}
Hanno 3 piedini chiamati Base, Emettitore e Collettore (quale piedino corrisponde a cosa si trova sui datasheets del componente) e si collegano in questo modo: l'emettitore va a GND, la base, attraverso una apposita resistenza, al pin di controllo di Arduino, il collettore al negativo del carico (il dispositivo da accendere/spegnere) che vuoi alimentare. Ovviamente il positivo del dispositivo da alimentare sarà collegato al positivo dell'alimentazione.
Facendo scorrere una corrente sufficiente tra base e emettitore (cioè pin dell'Arduino inpostato a HIGH), il carico sarà acceso. Viceversa sarà spento.
Per approfondire ti lascio un link proprio sul 2N2222: Plotare dispositivi di potenza con Arduino
Spero ti sia utile! Ciao.
grazie sisuino, molto utile, chiedo ulteriore conferma prima di bruciare arduino ,quindi :
utilizzando il codice software fornito qui sopra, devo accendere un led bianco tensione assorbita credo 3,2 volt , corrente 20 ma, collego la base al pin di arduino il quale eroga 4,5/5 volt e una corrente massima di 40 ma , non so calcolare la resistenza che viene messa alla base , emettitore alla Gnd di arduino , il collettore al GND del led e il positivo del led al 5 volt di arduino con il codice indicato il led si accende e si spegne ogni 5 secondi
Dunque, per il led è necessaria una resistenza per limitare la corrente nel led stesso
R = (Vcc - Vcesat - Vled) / Iled
dove Vcc è la tensione di alimentazione (+5v), Vcesat è la tensione tra emettitore e collettare quando il transistor è in saturazione e vale circa 0.3V e Vled dipende dal tuo LED (tu indichi 3,2V).
Per completare il calcolo lato carico è necessario il dato Iled, che è la corrente che serve al led per funzionare al meglio. Dovresti trovarla su datasheets del led (non ho capito se i 20mA che indichi sono effettivamente quelli giusti per il led).
Nel caso la R da mettere al Led sarebbe 1,5V/0,02A = 75 ohm
Quindi una resistenza della serie E12 da 68 ohm o 82 ohm.
Per la resistenza di base puoi fare il calcolo preciso della resistenza massima da utilizzare con le formule:
Rb(min) = (Vpin - Vbe) / Ib(max) dove Ib(max) = Ic(max) / hfe
Io personalmente sul 2n2222 metto una resistenza da 220Ohm che determina una corrente di 20mA sulla base e mi sembra che vada bene sia per l'Arduino sia per il transistor
Controlla comunque i calcoli e soprattutto i datasheets per verifiacre che i valori che hai indicato siano correti, non si sa mai!