Go Down

Topic: Problema con button (Read 893 times) previous topic - next topic

Subsea

Ciao a tutti. ho da poco ricevuto il mio arduino uno, ed ho subito provato ad caricarci sopra uqalche esempio. quando sono arrivato all'esempio "Button", è successo qualcosa di molto strano: il led si accende quando mi avvicino al'arduino, e non risente per niente dell'input ricevuto dal pulsantino. Cosa devo fare? Farmelo sostituire?

ratto93

Hai collegato correttamente bottone e resistenza all'arduino ?
Se corri veloce come un fulmine, ti schianterai come un tuono.

Subsea

#2
Aug 30, 2011, 03:26 pm Last Edit: Aug 30, 2011, 03:31 pm by SUBSEA Reason: 1
Perchè ci voleva anche la resistenza? :smiley-red: :smiley-red: :smiley-red:

ratto93

Si da 10Kohm :)
guarda qui.....
http://arduino.cc/en/Tutorial/Button

;)
Se corri veloce come un fulmine, ti schianterai come un tuono.

Subsea

e se non ce la ho messa cosa succede?

Subsea


lesto

si, corri il rischio, anche se in pratica l'arduino può reggere per breve tempo anche cacchiate peggiori (parlo per esperienza :smiley-mr-green:).
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

leo72

Intanto pubblica lo schema di come hai collegato il pulsantino e del codice che hai usato.
Fatto questo, la resistenza da 10K non serve a proteggere dalla fusione l'Arduino o il pulsantino ma a dare uno stato preciso (HIGH o LOW, a seconda) al pulsantino non premuto perché altrimenti l'Arduino legge anche le minime fluttuazioni elettromagnetiche indotte da corpi (compresi quello umano...  :smiley-eek: ) nelle vicinanze.  XD

Subsea

#8
Aug 30, 2011, 03:51 pm Last Edit: Aug 30, 2011, 03:55 pm by SUBSEA Reason: 1
è vero, LEO 72, è proprio quello che mi era successo!!! Appena avvicinavo la mano  si accendeva il led. Quindi non si è fuso? Anche se all'inizio avevo messo il più nel pin 2al posto del meno???

leo72

Se si parla di 5V non è successo nulla. I pin di Arduino sono strutturati per accettare in ingresso fino a 6V.
Cmq... segui lo schema del link che ti hanno postato. Quella è una configurazione con resistenza di PULL-DOWN. La pressione dà un segnale HIGH mentre quando il pulsantino è libero avrai un LOW fisso e stabile.

BrainBooster

a pulsante aperto l'entrata resta fluttuate senza resistenza di pull e il software legge quello che c'è :)

leo72


a pulsante aperto l'entrata resta fluttuate senza resistenza di pull e il software legge quello che c'è :)


E io che ho detto?  XD
Quote
la resistenza da 10K non serve (...) a dare uno stato preciso (HIGH o LOW, a seconda) al pulsantino non premuto perché altrimenti l'Arduino legge anche le minime fluttuazioni elettromagnetiche

Subsea

Grazie mille a tutti! Ho risolto il problema con la resistenza. Ora rimane però il dilemma più grande: Come imparare la programmazione di arduino?  :smiley-mr-green: XD avete qualche link, guide o toutorial per un neofita molto interessato?
p.s. se per voi è meglio aprire un nuovo topic scrivetelo, non esiterò a farlo.
Grazie

leo72

Consiglio n° 1: leggiti tutto il Reference sul sito principale di Arduino.
Consiglio n° 2: fatto questo, guarda gli esempi disponibili con l'IDE
Consiglio n° 3: inzia a scrivere.  XD Nulla insegna meglio della pratica  ;)

uwefed

#14
Aug 31, 2011, 12:29 am Last Edit: Aug 31, 2011, 09:59 am by uwefed Reason: 1
Per imparare:
* Un libro su Arduino
* oppure il tutorial: http://arduino.cc/en/Tutorial/HomePage
e con l' aiuto di http://arduino.cc/en/Reference/HomePage (come dice leo72) e http://arduino.cc/en/Reference/Libraries per le librerie.
Trovi anche dei tutorial su Youtube con Massimo Banzi.
http://www.youtube.com/watch?v=L7WppPbaOSw&playnext=1&list=PLADBA1D53A358D570
http://www.youtube.com/watch?v=_GWaKpUHB7s

Poi qualche tutorial su C per controllare alcune funzioni e sopratutto capire BENE i puntatori.

Informazione addizinale riguardante il pulsante.
Il controller del Arduino ha delle resistenze integrate (che portano l' uscita a +5V)
si attivano scrivendo su un pin che era messo come uscita entrata
pinMode(pin Input);
un valore H
digitalWrite(pin, HIGH);
per spegnerla:
digitalWrite(pin, LOW);

Ciao Uwe

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy