dopo varie prove con il partitore resistivo ho scoperto che probabilmente il pin 1 si è bruciato :-[
Legge sempre 1024, anche senza carico e anche se si connette a una resistenza pull down.
Gli altri piedini sembrano funzionanti.
Secondo voi si può recuperare?
La scheda, per il resto è ancora affidabile?
Arduino è un oggetto davvero incredibile.
Io ho bruciato il 9V dell'arduino mini (con tanto di fumata) ma il sistema funziona egregiamente in tutte le sue parti
Quindi per rispondere alla domanda se il sistema è affidabile mi sento di dirti che penso sicuramente di si.
Per quanto riguarda il PIN 1 non penso si possa fare molto.
Prima di darlo per spacciato prova a collegarlo a massa con una resistenza e guarda cosa rileva.
Se invece di 1024 rileva qualcosa di molto basso allora funziona
non e' che hai attivato la resistenza di pull-up su quel piedino? comunque metti il pin 13 come input (fallo esplicitamente con una digitalWrite() poi attacca il pin danneggiato al pin 13, se il led si accende significa che qualcosa non va molto bene, comunque prova a cortocircuitarlo direttamente a massa (come input la resistenza e' altissima) e leggi il valore
per nathanvi
è vero, Arduino è veramente robusto, in effetti tutto il resto sembra funzionare, mettendo a massa il piedino con in mezzo una resistenza leggo 993, lasciandolo libero leggo 1019
per matteo
come posso aver attivato la resistenza? E come faccio a disattivarla? se connetto il piedino 1 al 13 in INPUT in effetti il led si accende... cortocircuitando sulla massa invece leggo 0.
grazie a tutti e due
prova qualcosa del genere:
collega una resistenza di pull down
void setup(){
int pinBruciato = 0; //il pin analogico che vuoi, da 0 a 5
pinMode(14+pinBruciato, INPUT);
digitalWrite(14+pinBruciato,LOW);
Serial.begin(9600);
}
void loop(){
Serial.println(analogRead(14+pinBruciato));
delay(1000);
}
il pinBruciato è l'1 quindi viene
void setup(){
int pinBruciato = 0; //il pin analogico che vuoi, da 0 a 5
pinMode(15, INPUT);
digitalWrite(15,LOW);
Serial.begin(9600);
}
void loop(){
Serial.println(analogRead(15));
delay(1000);
}
se metto il pin 1 con una resistenza di pull down leggo 0, ma non ho capito cosa ho fatto :-/
Il pin 15 che pin è?
dopo questa operazione se leggo il pin 1
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.println(analogRead(1));
delay(1000);
}
leggo 1019 se lo lascio 'appeso' e 115 se gli metto la solita resistenza di pull down
i pin dal 14 in poi sono i pin analogici trattati come pin digitali, il tuo arduino non e' rotto, ma il chip si e' inceppato e mette la resistenza di pull up all'avvio. si potrebbe risolvere reinstallando il bootloader.
dovrai manualmente dichiarare il pin come input low per usarlo
grazie Matteo
ho ordinato un nuovo chip dato che mi manca l'hardware per reinstallare il bootloader.
poi ti dico se ha funzionato...
cambiando il chip adesso la scheda funziona, ma ho lo stesso problema su un arduino mega.
Tutti i pin 8 - 15 danno 1023 costante in analogRead e senza niente collegato! Non funzionano nemmeno con la procedura precedente, però se connessi al pin 13 non si accende il led. Anche a massa danno 1023
Ma come succede una cosa del genere? E, più importante: come si può ovviare?