Comandare ventola 12v con arduino

Come da titolo avrei bisogno di un aiuto per comandare una ventola 12v, ho gia l'arduino con collegato con un sensore lm35 e una serie di led che mi indicano la temperatura, l' arduino è alimentato con la porta usb.
Vorrei aggiungerci una ventola che si accendi ad una certa temperatura .Come faccio per l'alimentazione 12v? ( la ventola non deve girare per forza a piena potenza) .

una batteria da 12v (non fare i miei stessi errori, collega il gnd all'arduino, ci casco sempre io!!! :blush:)
cmq penso che potresti far girare il motore anche più lentamente (io dei motori a 5v li mandavo a 9v... per poco tempo, ma dovevi vedere come correvano :smiley: )
per implementarlo userei un mosfet... ma sicuramente i veterani hanno consigli migliori :wink:
Marbi

Ti rigrazio della rispsta , ma vorrei inforamzioni piu dettagliate , se hai qualche link da postarmi ...

transistor NPN, base colelgata al pin di arduino digitale, emettitore a massa e collettore al negativo della ventola (o era il contrario :fearful:), positivo della ventola collegato a +12V.

non ci hai detto amperaggio assorbito di norma dalla ventola, basta che l'alimenti e leggi con un multimetro..

La ventola assorbe 0.12A ,la massa dell'alimentatore 12v dove la collego? Intanto sto anche scrivendo qualche riga di codice , come si dichiare una ventola?

non serve una dichiarazione strana:
imposti il pin ad high e la ventola gira, lo imposti a low e non gira, facile :grin:

per la dicitura del transistor aspetta qualcuno di più esperto che di sigle non ne ho :roll_eyes:

la massa la colleghi a GND e all'emettitore del transistor.

un BC337-25 o BC337-40 va bene.
Ciao Uwe

Grazie delle risposte :slight_smile: non potevate essere piu chiari, domani compro i componenti e provo .

il Dio uwe ha sempre la risposta XD

ma posso fare un piccolo ot? a che serve solitamente la resistenza sulla base dei transistor?

Scusate ancora ma vi volevo chiedere un'altra cosa vorre icollegarci anche un segnalatore acustico tipo un beep. Come potrei fare?

un semplice cicalino da 1€ che trovi in tutti i negozi di elettronica, non richiedono nemmeno un transistor molti, basta che colleghi il positivo al pin di arduino e il negativo a massa :wink:

superlol:
ma posso fare un piccolo ot? a che serve solitamente la resistenza sulla base dei transistor?

In attesa che Uwe abbia pietà di quanto scriverò, ti illustro a cosa serve la resistenza (stanotte ho studiato un po' i transistor).
Il pin di base (B) di un transistor è collegato con quello strato interno che separa gli strati collegati al collettore (C) ed all'emettitore (E).
In un transistor NPN C ed E sono gli strati esterni "N" mentre B è lo strato interno P. Per permettere il passaggio di corrente tra C ed E, B deve essere portato a saturazione, ossia gli deve essere fornita una quantità di corrente tale che lo strato P permetta la conduzione fra i 2 strati N. Per far ciò serve la cosiddetta corrente di saturazione, che deve essere di una certa intensità. La resistenza serve proprio a limitare la corrente in modo che tale valore sia il più prossimo a quello di saturazione: se è troppo poca il transistor non si satura a sufficienza (e la conduzione fra C ed E è limitata: ecco come il transistor può funzionare come un regolatore. In base a quanta corrente c'è sulla B, passa una corrispondente corrente fra C ed E), se è troppa può danneggiare il transistor perché lo surriscalda troppo.

quindi la resistenza in questo caso fa da limitazione di corrente...

ma tutte le diciture sui transistor nel datasheet tipo collector-emitter voltage, collector-base voltage, emiotter-base voltage cosa indicano effettivamente?
emitter-base è la tensione necessaria per mandarlo in saturazione?

non avete un bel libro da consigliarmi? XD

(si stiamo andando OT ma ci vorrebbe un bel topic stickato che spieghi rapidamente l'elettronica base, del tipo appunto una veloce cosa sui transistor, resistenze, led e condensatori che sono i più usati...)

Quelle diciture indicano le specifiche del transistor: come tutti i componenti, anch'essi hanno delle diversità fra modelli e modelli. Quai valori ti indicano le massime correnti che possono transitare sui diversi pin.

La corrente di saturazione che deve arrivare su B dipende da una formula. Non la so a mente, ma trovi un sacco di esempi in rete

superlol:
quindi la resistenza in questo caso fa da limitazione di corrente...

ma tutte le diciture sui transistor nel datasheet tipo collector-emitter voltage, collector-base voltage, emiotter-base voltage cosa indicano effettivamente?
emitter-base è la tensione necessaria per mandarlo in saturazione?

non avete un bel libro da consigliarmi? XD

(si stiamo andando OT ma ci vorrebbe un bel topic stickato che spieghi rapidamente l'elettronica base, del tipo appunto una veloce cosa sui transistor, resistenze, led e condensatori che sono i più usati...)

si, e casomai che spieghi anche quanto resiste una resistenza (con degli esempi XD)

superlol:
il Dio uwe ha sempre la risposta XD

ma posso fare un piccolo ot? a che serve solitamente la resistenza sulla base dei transistor?

Vado a mangiare una Pizza (quella da Zio Alfonso con attestato "Vera Pizza Napoletana" perché nessuno mi crede che qua al nord si fanno buone pizze) e voi riempite questa discussione di risposte.

Tra base e emettitore ci si trova un diodo (che viene anche rapresentato dalla frecetta del simbolo del transistore. Percui se si mette l' emettitore a massa e si da una corrente di base la tensione tra base e massa sará di 0,7V. La resistenza serve per limitare la corrente che sarebbe grandissima se si colegassero direttamente i 5V del uscita Arduino.
La resistenza deve essere abbastanza grande da limitare la corrent a valore sostenibili per l' uscita Arduino e non troppo grande per poter portare il transistore in saturazione. La corrente minima per portarlo in saturazione é Ib = Ic/Hfe, dove Ic é la corrente attraverso l'utenza collegata e Hfe il guadagno. se non si raggiunge un guadagno abbastanza alto il transistore resta in zona proporzionale e deve dissipare parecchia calore dato dal prodotto Ic * Uec.

Un valore di 1kOhm va bene.

Ciao Uwe

Grazie a tutti ho assemblato il tutto e funziona tutto alla perfezione :grin: .

Avevo un altro quesito da porvi, ho realizzato un programma in visual basic che invia un valore all' arduino. In un ciclo loop riceve il valore e lo inserisce in una variabile che dopo confra con la temperatura per far accende o meno la ventola. Il problema secondo me sta nel fatto che la lettura del pacchetto ricevuto dalla seriale e il caricamento dello stesso nella variabile sta in un ciclo loop quindi al momento della lettura la variabile non sempre viene caricata del valore ricevuto. Mi sapreste dire come risolvere questo problema?

leggi questo:

Ciao Uwe

Ho provato ma non funziona, rispiego quello che voglio fare. Invio un numero tramite seriale all'arduino, lui dovrebbe recepire il valore e inserirlo in una variabile. Per ora so che arduino riceve il valore poiche il led rx si accende ma non inserisce il valore nella variabile. C'è qualcuno hce lo ha gia fatto ? vi ringrazio ancora per la pazienza :sweat_smile:

mandaci il Tuo codice.
Il codice che ti avevo linkato mi funzionava.
Che problemi o errori Ti da?
Ciao Uwe