Go Down

Topic: [Solved] Arduino is traag (Read 663 times) previous topic - next topic

Citystars

Dec 16, 2013, 09:41 pm Last Edit: Dec 22, 2013, 08:05 pm by Citystars Reason: 1
Geachte,

Ik heb ook een arduino uno aangekocht, maar het enige probleem is dat deze nogal traag is.
Met traag bedoel ik, als ik een led laat aan gaan wanneer hij spanning krijgt op een pin en uitgaat wanneer de spanning wegvalt dan duurd het soms tot 5sec wanneer ik spanning weg haal dat de led dan pas maar uitgaat.

Code: [Select]
const int AANZETTENPin = 2;    
const int ledaan = 12;

int AANZETTEN = 1;

void setup() {

   pinMode(AANZETTENPin, INPUT);
   pinMode(ledaan, OUTPUT);
}

void loop(){

    AANZETTEN=digitalRead(AANZETTENPin);

   if (AANZETTEN == HIGH)
   {
    digitalWrite(ledaan,HIGH);
   }
   else
   {
    digitalWrite(ledaan,LOW);
   }
}


Programmeer ik soms verkeerd of ligt het aan iets anders?

CrossRoads

pinMode(AANZETTENPin, INPUT); --> pinMode(AANZETTENPin, INPUT_PULLUP);

or:
pinMode(AANZETTENPin, INPUT);
digitalWrite(AANZETTENPin, HIGH); // enable pullup resistor

if (AANZETTEN == LOW) // button connects to Gnd
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Citystars

pinMode(AANZETTENPin, INPUT); --> pinMode(AANZETTENPin, INPUT_PULLUP);

Werkt niet?

MAS3

#3
Dec 16, 2013, 11:40 pm Last Edit: Dec 16, 2013, 11:41 pm by MAS3 Reason: 1
Snap je dan wat CrossRoads daarmee bedoelt ?

CrossRoads is Amerikaan en zal niet zo eenvoudig in het Nederlands kunnen antwoorden.
Vertaalmachines zijn het meestal net niet, waardoor je wel kunt begrijpen wat er staat als iemand iets in een andere taal heeft geschreven, maar een antwoord schrijven en die dan door een vertaalmachine halen levert grote problemen op.
Wat CrossRoads dus bedoelt is dat je " pinMode(AANZETTENPin, INPUT); " moet veranderen in:
pinMode(AANZETTENPin, INPUT_PULLUP);
Hij kan dat zeggen omdat de programmeer taal er niet in verschillende landstalen is, en dus zonder problemen kan begrijpen wat er fout gaat, en hij bovendien erg veel ervaring heeft.

Wat je met deze wijziging doet, is de ingang van je knop naar een waarde dwingen.
Als je zoiets niet doet, dan zweeft ie langzaam naar een waarde waarbij de controller ziet dat ie dus van hoog naar laag gegaan is.
Zoals CrossRoads ook vertelt, dien je dan niet te controleren of de pin HIGH word, maar of ie LOW word, en moet je de schakelaar aan de andere kant dan ook met de GND verbinden.
Dit laatste is omdat je met die pullup dus de pin naar HIGH trekt, en je m dan met je knop naar LOW moet trekken want HIGH was ie al.

Thanks CrossRoads, for participating (<- a big word in the Netherlands these days) in the Dutch section.
Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

Citystars

#4
Dec 16, 2013, 11:49 pm Last Edit: Dec 16, 2013, 11:54 pm by Citystars Reason: 1
Het werkt!
Kan je dit met elke input doen?

MAS3

#5
Dec 16, 2013, 11:59 pm Last Edit: Dec 17, 2013, 12:02 am by MAS3 Reason: 1
Mooi zo, binnen 2 uur en 8 minuten je probleem opgelost.

Ja dat kan.
Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

CrossRoads

Thank you for the further explanation MAS3.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Go Up