Offline
Newbie
Karma: 0
Posts: 5
|
 |
« on: October 15, 2012, 03:30:31 pm » |
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
Shannon Member
Karma: 386
Posts: 10228
Le domande di chi vuol imparare rappresentano la sua sete di sapere
|
 |
« Reply #1 on: October 15, 2012, 03:34:34 pm » |
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
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 5
|
 |
« Reply #2 on: October 15, 2012, 03:43:29 pm » |
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  apparte questa cosa non sembra dar segni di malfunzionamento
|
|
|
|
|
Logged
|
|
|
|
|
Rome
Offline
Newbie
Karma: 0
Posts: 9
|
 |
« Reply #3 on: October 15, 2012, 04:19:39 pm » |
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
Newbie
Karma: 0
Posts: 5
|
 |
« Reply #4 on: October 15, 2012, 04:25:10 pm » |
mai avuto risposta più confortante e illuminante, ti ringrazio! ringrazio anche il prof. Menniti per il consiglio di prima 
|
|
|
|
|
Logged
|
|
|
|
|
Lamezia Terme
Offline
Shannon Member
Karma: 386
Posts: 10228
Le domande di chi vuol imparare rappresentano la sua sete di sapere
|
 |
« Reply #5 on: October 15, 2012, 04:37:55 pm » |
Caro Paolo, io non sono affatto più esperto di te, ho solo più post, e ciò non significa nulla  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. 
|
|
|
|
|
Logged
|
|
|
|
|
Cagliari
Offline
Faraday Member
Karma: 49
Posts: 3000
|
 |
« Reply #6 on: October 15, 2012, 04:59:05 pm » |
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
|
IDE 1.0.4 - Arduino UNO R3 - Ethernet Shield R3 - DCF77 Module - Adafruit Data Loggin Shield - LCD 16x2 RGB positive backlight - i2c LCD backpack - RTC 1307 Board - Saleae Compatibile Logic Analyzer 8ch 24Mhz - ATtiny2313 ProtoBoard - Xino Board - ATtiny 4313 - Arduino 2009 - Arduino USB Serial Ligth - DS18B20 - LM35DZ - ShiftRegister - TL431 - ATtiny 85 Ultimi acquisti: CodeBender: http://codebender.cc/register/?referrer=PaoloP
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 160
Posts: 15605
+39 349 2158303
|
 |
« Reply #7 on: October 15, 2012, 05:03:00 pm » |
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.pdfPercui é 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
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16431
Don't know what I do
|
 |
« Reply #8 on: October 15, 2012, 05:04:03 pm » |
@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
Shannon Member
Karma: 386
Posts: 10228
Le domande di chi vuol imparare rappresentano la sua sete di sapere
|
 |
« Reply #9 on: October 15, 2012, 05:05:39 pm » |
Quindi è come pensavo io, dipende dall'op amp collegato al pin 13(19 fisico), ma il comportamento può essere random 
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 5
|
 |
« Reply #10 on: October 15, 2012, 08:33:29 pm » |
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
Tesla Member
Karma: 74
Posts: 7340
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
|
 |
« Reply #11 on: October 16, 2012, 12:29:55 am » |
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
|
|
|
|
|
|