Pages: [1]   Go Down
Author Topic: presunto problema led L  (Read 2027 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 1
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

buon giorno,
mi è arrivata da poco il mio primo arduino, è un arduino UNO rev3.
Vi espongo subito quel è la mia perplessità: il led L (quello collegato al pin 13) resta acceso sempre, con qualsiasi programma caricato, anche se nel programma non ho scritto nulla in merito a tale led(o meglio niente in riferimento al pin 13)... l'unico modo per spegnerlo e mandare esplicitamente in low la tensione a tale pin...
è normale che faccia così? ho visto alcuni video su you tube dove su queste il led 13 resta accesso come il mio anche se non cè connesso niente al pin 13 e altre che invece funzionano tranquillamente con tale led spento.
ho cercato nel forum e letto la documentazione ma mi sa che mi è sfuggito qualcosa...
che ne pensate?
mi viene spontanea la domanda, questo led ha qualche funzione particolare?
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 479
Posts: 12285
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Il Led 13 dovrebbe essere spento, il primo esperimento che ti si consiglia con Arduino è il blink, il cui scopo è quello di farlo lampeggiare ad intervalli di un secondo.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Offline Offline
Newbie
*
Karma: 1
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

lho fatto già il blink che tra l'altro era, com'è risaputo, già caricato dal momento in cui l'ho aperto.
col blink si accende e spegne senza problemi. quando carico un programma diverso dal blink e non interpello minimamente il pin 13 nel programma (intendo non scrivo niente che gli riguardi) il led rimane acceso  smiley-eek-blue
apparte questa cosa non sembra dar segni di malfunzionamento
Logged

Rome
Offline Offline
Newbie
*
Karma: 1
Posts: 9
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao Tonino, sicuramente Michele é più esperto di me.

In ogni caso il led é collegato attraverso adeguata resistenza al piedino 19 dell microcontrollore che é direttamente collegata all'uscita 13.
(almeno questo risulta dal mio schema elettronico)
Pertanto lo stato On/Off del led rispecchia indubbiamente lo stato HI/LOW dell'uscita/entrata 13.
Nel mio arduino uno il led lampeggia brevemente all'inizializzazione e poi rimane acceso a meno che non gli cambio di stato.
In realtà se lo imposto come OUTPUT lo stato iniziale é LOW anche se non ci scrivo nulla, ma questo é irrilevante perchè l'uscita deve essere inizializzata con un valore di partenza.
Se lo imposto come input lo stato iniziale é HIGH, ossia sono presenti 5v, ma il sistema é predisposto alla lettura, questo é normale, infatti un piedino in input é come controllare la base di un transistor MOS, ossia non c'è corrente che fluisce dentro il microcontrollore. Se i piedini fossero lasciati in input si comporterebbero come delle antenne e avrebbero stati HIGH/LOW imprevedibili. Pertanto tutte (non sono certo) le entrate sono messe su LOW a meno che non siano fisicamente portate in una posizione HI/LOW da un circuito esterno alla scheda, fa eccezzione il piedino 19 (I/O 13) che in assenza di segnale é su high come indicato dal led acceso.

quindi funziona bene!
« Last Edit: October 15, 2012, 04:22:07 pm by paopaolo » Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

mai avuto risposta più confortante e illuminante, ti ringrazio!
ringrazio anche il prof. Menniti per il consiglio di prima  smiley
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 479
Posts: 12285
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Caro Paolo, io non sono affatto più esperto di te, ho solo più post, e ciò non significa nulla smiley-wink
Sinceramente non faccio caso al led sul 13 quando uso Arduino (e comunque io ho una versione r1) però posso dirti che ho programmato centinaia di volte gli ATmega328P, e nelle prove fatte per scrivere la mia Guida ho sempre (o quasi) montato un led sul pin 19 (che poi sarebbe il 13 di Arduino), verso massa, esattamente come quello di Arduino, e non l'ho mai visto acceso finché non ho messo il pin su HIGH, quindi il comportamento del led montato su Arduino, dando ovviamente per certo che il led sia sempre acceso, è diverso dallo stand-alone, quindi la giustificazione NON può essere nel micro ma nella circuiteria esterna ad esso, forse dipende da quell'operazionale che vedo nello schema a monte del led, e che ha in ingresso appunto il segnale sck, quello che è collegato proprio al pin 13(19), non so dirti. Oppure potrebbe essere la presenza del bootloader che pone quel pin su HIGH, contrariamente a tutti gli altri, anche questa sarebbe una differenza rispetto allo stand-alone.
L'importante alla fine è che sia di norma acceso che che le chede non abbiano problemi, volevo solo puntualizzare che forse manca un passaggio nella tua eccellente spiegazione teorica. smiley
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 109
Posts: 6970
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tonino, per curiosità, la tua scheda è una UNO ufficiale? Se l'hai comprata online puoi dirci dove?
Te lo chiedo perché ultimamente si vedono in giro un bel po' di cloni.
Però potrebbe essere anche un diverso bootloader che lascia su HIGH il pin 13.
Nella mia R3, ad esempio, non succede.
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

BZ (I)
Online Online
Brattain Member
*****
Karma: 248
Posts: 21154
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I pin senza esplicita programmazione con pinMode sono messi come entrate senza Pullup attivate.
Sul Arduino UNO R3 c'é sul pin 13 il U5B, un LMV358 in modalita inseguitore di tensione. Questo circuito ha una impedenza del entrata del operazionale molto alta. Il datasheet specifica la corrente parrasita dell'entrata é tipicamente di 15nA. La corrente parasita di un entrata di Arduino é intorno al µA. Questa corrente basta puó avere un potenziale alto e che riesce a polarizzare l' entrata del operazionale e fargli leggere un H che esso porta sull uscita e accende il LED.
http://arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf

Percui é possibile e normale che il LED L di un Arduino UNO R3 o ARDUINO MEGA 2560 o Arduino Leonardo sia acceso. Potrebbe anche essere spento se il pin 13 ha un potenziale basso dato dalle correnti parasitarie che in questo caso sono maggiore verso massa. Dipende dalle toleleranze di costruzione quale caso é presente nel Tuo Arduino.
Le altre versioni di Arduino non hanno l' operazioale ma messo il led con una resistenza direttamente sul pin. La eventuale corrente parasitaria dall'alimentazione non é abbastanza grande da far accendere il LED.

Per togliere il dubbio che non sia il Bootloader che fa casino basta mettere una resistenza alta (sopra 100kOhm o quella piú alta che hai a disposizione) dal pin 13 a massa e il LED L si spegne. Se sono solo correnti parasitarie vengono cortocirquitate dalla resistenza verso massa. Se il Pin é programmato come uscita la resistenza non influisce sul livello del uscita e il LED L resta acceso..

Dubito che chi copia (falsifica) l' arduino si faccia il lavoro di modificare il Bootloader, ma mette quello originale disponibile nel IDE.

Ciao Uwe
« Last Edit: October 15, 2012, 05:09:02 pm by uwefed » Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@paopaolo:
la UNO R3 non ha più il led in parallelo alla linea del pin D13 ma è pilotato da un op-amp in modalità inseguitore di tensione.

@tonino:
io ho comprato la scheda 2 anni fa ormai ma non mi ricordo che avesse il Blink precaricato in memoria.
E mi accodo alla richiesta di paolop: la tua UNO è originale?
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 479
Posts: 12285
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quindi è come pensavo io, dipende dall'op amp collegato al pin 13(19 fisico), ma il comportamento può essere random smiley
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Offline Offline
Newbie
*
Karma: 1
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

la mia scheda è originale e comprata da un fornitore ufficiale (robot italy)
« Last Edit: October 15, 2012, 08:40:06 pm by tonino91 » Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9158
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ha ragione Uwe, con il pin 13 in condizione di input il potenziale in ingresso al opamp può essere visto sia come 0 che 1 logico, dipende da fattori ambientali, e il led può risultare sia acceso che spento, infatti, sulla R3, basta sfiorare con un dito il pin 13 per vedere il led lampeggiare all'impazzata.
Sarebbe auspicabile che nella prossima R4 venga introdotta una pull down da 100k in modo da eliminare questo "difetto" che comunque non crea nessun problema al normale funzionamento di Arduino.
Logged

Pages: [1]   Go Up
Jump to: