Advertisement
TolentinoCotesta

Contatore_ok

Sep 6th, 2018
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.97 KB | None | 0 0
  1. #define START 2
  2. #define RELAY 3
  3. #define MAIN_ON 4
  4. #define HEAT_ON 5
  5.  
  6. unsigned long timeOn = millis(), startTime = 1000;
  7.  
  8. void setup() {
  9.   Serial.begin(9600);
  10.   Serial.println("START");
  11.   pinMode(START, INPUT_PULLUP);
  12.   pinMode(RELAY, OUTPUT);  
  13.   pinMode(MAIN_ON, OUTPUT);  
  14.   pinMode(HEAT_ON, OUTPUT);  
  15.   digitalWrite(HEAT_ON, LOW);
  16.   digitalWrite(MAIN_ON, HIGH);  
  17. }
  18.  
  19. void loop() {
  20.   if(digitalRead(START) == LOW){  
  21.     // Con il potenziometro imposti un tempo compreso tra 2 e 20 secondi
  22.     timeOn = map(analogRead(A0), 0, 1023, 2000, 20000);  
  23.     delay(100);               // Semplice antirimbalzo dello switch
  24.     startTime = millis();
  25.     Serial.print("Start delay timer of ");
  26.     Serial.print(timeOn/1000);
  27.     Serial.println(" seconds.");    
  28.   }
  29.  
  30.   if(millis() - startTime <= timeOn){
  31.     digitalWrite(RELAY, HIGH);    
  32.     digitalWrite(HEAT_ON, HIGH);  
  33.   }
  34.   else{
  35.     digitalWrite(RELAY, LOW);
  36.     digitalWrite(HEAT_ON, LOW);
  37.   }
  38.  
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement