Go Down

Topic: Nybegynder har brug for hjælp... (Read 1 time) previous topic - next topic

DKMVang

Jeg fik i går min Arduino, og er lige så stille gået igang med at lege med den..

Men er løbet ind i et lille problem..

Jeg har en diode der blinker, med frekvensen fra et potmeter..
Det i sig selv virker helt som det skal. Jeg har så sat en en knap på, som jeg vil kunne tænde og slukke på..
Det virker fint nok med at tænde, men jeg skal ramme det rigtige tidspunkt i loop'et for at slukke den..

Her er min kode:
Code: [Select]

/*
Styr blink af diode med potmeter
*/

int sensorPin = 0;      //Senser på potmeter
int ledPin = 13;        // Led pin igen
int buttonPin = 2;      // Knap
int sensorValue = 0;    // Variabel med sensor reading
int buttonState = 0;    //Knap stadie
int buttonCode = 0;  // Sidste knap stadie

void setup() {
 pinMode(ledPin, OUTPUT);
 pinMode(buttonPin, INPUT);
 Serial.begin(9600);
}

void loop () {
 //Læs værdi fra potmeter og put det i variablen sensotValue
 sensorValue = analogRead(sensorPin);
 buttonState = digitalRead(buttonPin);
 
 if (buttonState == LOW) {
   if (buttonCode == 0) {
     buttonCode = 1;          //Starter blink
     Serial.println("on");
   }
   else {
     buttonCode = 0;          //Stopper blink
     Serial.println("off");
   }
 }


 if (buttonCode == 1) {  
   //Tænd diode
   digitalWrite(ledPin, HIGH);
   //Sluk dioden i den periode som potmeteret angiver
   delay(sensorValue);
   digitalWrite(ledPin, LOW);
   //Vent igen med periode fra potmeter med at tænde igen
   delay(sensorValue);
 }
}


Tænder og slukker jeg på en ordenlig måde? eller kan det skrives bedre??

På forhånd tak
Mads
Lidt arduino haløj på http://dequete.dk

ArduinoM

Når du bruker delay() så stopper hele programmet
gå inn i IDE en og se på sketsj som heter Blink without delay.
Den skal være i demoene.
der brukes teknikk som gjør at loopen kjører uten delay
http://arduino.cc/en/Tutorial/BlinkWithoutDelay

Så hvis delay kjører når du presser knappen, så skjer ingenting.

David

DKMVang

Yes.. Det var lige den der skulle bruge og kombineres :)

Tak for hjælpen. Det hjalp lige at få et skub i den rigtig retning.
Lidt arduino haløj på http://dequete.dk

Go Up