Go Down

Topic: arduino nano timer (Read 606 times) previous topic - next topic

TDSgame

Sep 27, 2017, 07:12 pm Last Edit: Sep 28, 2017, 08:02 pm by TDSgame
hallo

ik heb een vraag ik moet voor school iets maken zodat alles in een keer uitgaat.(led strip en radio)
ik zou dit doen met een relai en een arduino nano maar ik snap niet hoe ik hem om het kwartier alles laat afgaan en dat de arduino minder verbruikt. ik heb al deze code en trouwens ik moet het werkende hebben tegen 2oktober 2017


const int buttonPin = 2;
const int ledPin =  13;

int ledState = HIGH;
int buttonState;
int lastButtonState = LOW;

long lastDebounceTime = 0;
long debounceDelay = 50;

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

void loop() {
  int reading = digitalRead(buttonPin);


  if (reading != lastButtonState) {

    lastDebounceTime = millis();

    if (buttonState == HIGH) {
      ledState = !ledState;
      Serial.println(ledState);
    }
  }

  if ((millis() - lastDebounceTime) > debounceDelay) {
    buttonState = reading;
  }

 


  digitalWrite(ledPin, ledState);


  lastButtonState = reading;


 
}

vriendelijke groet thomas

donnyrijken

wat is de draad input voor iets ?
je hebt 1 button die beide functies ledstrip en radio tegelijk moeten besturen of apart met 2 relays

als je ze beide wil laten schakelen met wacht tijd van 15 min kan je dit bijvoorbeeld gebruiken

const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  13;      // the number of the LED pin

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status

void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);
}

void loop() {
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

  // check if the pushbutton is pressed. If it is, the buttonState is HIGH:
  if (buttonState == HIGH) {
 
    digitalWrite(ledPin, HIGH);
    delay(900);
  } else {
    digitalWrite(ledPin, LOW);
  }
}


de delay is de wacht voor 15 min in seconden

donnyrijken

sorry de delay moet zijn

delay(900000);

dit is 15 minuten

nicoverduin

Ik zou toch zweren dat ik net een bericht hier had neergezet?? Nogmaals:
Het is volgens mij de bedoeling van het onderwijs dat studenten opdrachten zelf uitvoeren en niet anderen het laten oplossen. Anders leren ze niets....
Zo nu weet ik het dat het erop staat
Met vriendelijke groet / kindest regards
Nico Verduin
www.verelec.nl
Do not PM me for personal consultancy unless you are willing to pay for it.

MAS3

Dag Thomas,

Die code ziet er een beetje uit als verschillende bij elkaar geveegde stukjes code.
Er worden pogingen gedaan om dingen te doen volgens de blink without delay methode, maar dan ineens gaan er weer zee├źn van tijd over de balk.
Das een beetje jammer.
Gebruik dan het blink without delay voorbeeld voor alles.
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

shooter

gebruik een timer met millis en als timer gedaan is na 900000 seconden dan zet relais aan
paul deelen
shooter@home.nl
making controls with codesys PLC and arduino

Go Up