Nybegynder har brug for hjælp...

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:

/* 
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

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

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

David

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

Tak for hjælpen. Det hjalp lige at få et skub i den rigtig retning.