I am writing a code to turn on an led when I press a button if it has been five seconds since the button was clicked last. I have done what it says but The compiler says this still:
Arduino: 1.8.9 (Windows 10), Board: "Arduino/Genuino Uno"
C:\Users\noodl\Documents\Arduino\sketch_sep23a\sketch_sep23a.ino: In function 'void loop()':
C:\Users\noodl\Documents\Arduino\sketch_sep23a\sketch_sep23a.ino:28:26: warning: invalid conversion from 'long unsigned int (*)()' to 'uint8_t {aka unsigned char}' [-fpermissive]
digitalWrite(millis,0);
^
In file included from sketch\sketch_sep23a.ino.cpp:1:0:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:134:6: note: initializing argument 1 of 'void digitalWrite(uint8_t, uint8_t)'
void digitalWrite(uint8_t, uint8_t);
^
sketch_sep23a:30:3: error: expected '}' before 'else'
}else{digitalWrite(led, LOW);
^
exit status 1
expected '}' before 'else'
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
the code:
// try two of making a led button limited to 5 seconds
int led = 8;
int push = 1;
unsigned long currentMillis = millis ();
int pushState = 0;
void setup() {
// put your setup code here, to run once:
pinMode(led, OUTPUT);
pinMode(push, INPUT);
}
void loop() {
pushState = digitalRead(push);
digitalWrite(led,LOW);
if (pushState == HIGH){
if (5000>currentMillis){
digitalWrite(led, HIGH);
digitalWrite(millis,0);
}else{digitalWrite(led, LOW);
}else{digitalWrite(led, LOW);
}
}