Ho un problema abbastanza complesso. Sul mio arduino utilizzo quasi tutte le uscite digitali con collegamenti a diversi led. Quando un pin da corrente la serie di led si accende.
CASO 1 PC FISSO
Mando sulla seriale usb le giuste combinazioni di lettere (esempio "a" --> pin13 ; "b"--> pin12 ecc..) è attiva correttamente il tutto.
CASO 2 PC PORTATILE
Testato con 2 computer aventi stesso e diverso sistema operativo del pc fisso.
Mando sulla seriale le lettere per attivare i pin:
"a"--> corrente pin13 si accende correttamente
"b"--> corrente pin12 MA NELLO STESSO ISTANTE CORRENTE ANCHE AL PIN13
"c"--> corrente pin11 MA NELLO STESSO ISTANTE CORRENTE ANCHE AL PIN13
è una situazione abbastanza strana perchè sul pc fisso S.O. windows xp funziona correttamente, e il programma scritto in Arduino è uguale!
Aspetto importanti soluzioni e consigli grazie tante a chiunque può darmi una mano
non è buona cosa usare tante uscite dell'Arduino per piltoare componenti che assorbono abbastanza corrente. Al max si parla di 100/150 mA per porta logica del microcontrollore, 200 mA per tutte le uscite. Fai un pò di conti.
più che di un limite software, credo che nel caso dei portatili si tratti di un limite hardware imposto dai controller della scheda madre. Non credo tu possa farci nulla. Rivedi il tuo circuito prevedendo un driver per led oppure uno shift register o qualche altro tipo di sistema di pilotaggio ma con alimentazione esterna.
Alimenta Arduino con un alimentatore esterno (io uso sempre 9 volt e finora mi sono trovato bene, ma se ne hai uno da 12 volt funziona ugualmente).
Prendi anche in considerazione le modifiche al circuito che ti hanno proposto.
Arduino è alimentato sempre tramite i 12 V esterni, se ho capito bene.
In questo caso sarà il fantasma del pin13 che si manifesta.
Cambia pin, quello è funesto ]
Tornando seri... ho letto in giro di vari strani comportamenti del pin13 forse legati al LED se ho correttamente interpretato le notizie. Cambia pin, magari usa il 13 per altro.
Evita anche pin0 e pin1. Su questa ultima frase chiedo conforto ai più esperti di Arduino.
Ho cambiato il pin del13 con un altro analogico come uscita, i pin 0-1-2 non li sto utilizzando. Ho notato una cosa, ho disattivato il pin12 come uscita e quando attivo gli altri pin, il pin12 eroga corrente (pur non dichiarandolo nel programma)
Qui siamo a livelli di fantascienza, dai
Non è che semplicemente hai delle impostazioni sul monitor seriale per cui non trasmetti il carattere che il codice si aspetta? Ad esempio, controlla nel monitor seriale dall'apposito menu a tendina il carattere di fine riga.
Fai un altro test veloce. Prova con lo sketch Blink.
Ma il "malfunzionamento" sul led 13 lo hai con il tuo circuito oppure anche il semplice Blink? Era la prova che ti avevo chiesto di fare. Se staccando tutto e facendo girare il solo sketch Blink il led 13 ti funziona correttamente, è un problema del tuo circuito.
Ho inserito lo sketch "blick" identica situazione:
Attacco il cavo usb al pc fisso il circuito funziona e il led lampeggia
Attacco il cavo usb al portatile il led situato sull'arduino (arancione) lampeggia correttamente, nella situazione esterna cio è il led fisico nulla.. non si accende
GioJoker:
Arduino lo alimento con la porta seriale, ma ho provato anche con un hub USB, collegato al portatile ed alimentato
Utilizzo normali resistenze da 2K all'uscita dei pin, prima dei transistor
Prova ad alimentarlo dal suo spinotto, con un alimentatore da 9 V (o da 12 va bene anche, personalmente preferisco 9).
Intendevo resistori fra la base del transistor e GND, solitamente da 20 k ma bisognerebbe conoscere il circuito. Servono a dare un LOW fisso alla base (presumo siano transistor NPN) quando l'uscita del pin corrispondente è "indefinita".
GioJoker:
Ho inserito lo sketch "blick" identica situazione:
Attacco il cavo usb al pc fisso il circuito funziona e il led lampeggia
Scusa, GioJoker, ti ho detto di fare un test SENZA circuito, altrimenti non capiamo se è la tua scheda che ha dei problemi oppure se è il tuo circuito.. Devi far lampeggiare il led integrato sull'Arduino.
Ho fatto altre prove con lo sketch "blink" e con il circuito attaccato
da fisso funziona, dal portatile no.. attaccando l'arduino al hub USB collegato a sua volta alla presa di corrente (nessun pc collegato) il led si accende in piccola intensità e brevi attimi