Pages: [1]   Go Down
Author Topic: Nybegynder har brug for hjælp...  (Read 1043 times)
0 Members and 1 Guest are viewing this topic.
Aalborg, Denmark
Offline Offline
Newbie
*
Karma: 0
Posts: 33
Learning by burning
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Lidt arduino haløj på http://dequete.dk

Norway
Offline Offline
Sr. Member
****
Karma: 0
Posts: 344
Just dip it in mercury and power it up
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Aalborg, Denmark
Offline Offline
Newbie
*
Karma: 0
Posts: 33
Learning by burning
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes.. Det var lige den der skulle bruge og kombineres smiley

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

Lidt arduino haløj på http://dequete.dk

Pages: [1]   Go Up
Jump to: