#define PIN_BUTON 5 #define LED_VERDE 4 #define LED_GALBEN 3 #define LED_ROSU 2 #define NIVEL_ALCOOL_VERDE 355 #define NIVEL_ALCOOL_GALBEN 500 #define NIVEL_ALCOOL_ROSU 700 int nivelAlcoolMaxim; void setup() { Serial.begin(9600); pinMode(LED_VERDE, OUTPUT); pinMode(LED_GALBEN, OUTPUT); pinMode(LED_ROSU, OUTPUT); pinMode(PIN_BUTON, INPUT); digitalWrite(LED_VERDE, LOW); digitalWrite(LED_GALBEN, LOW); digitalWrite(LED_ROSU, LOW); } void loop() { int nivelAlcool = analogRead(0); if (nivelAlcool > nivelAlcoolMaxim) { nivelAlcoolMaxim = nivelAlcool; } //resetare masuratoare int buton = digitalRead(5); if (buton == 1){ nivelAlcoolMaxim = 0; //delay vreme de 7 secunde pentru a da timp senzorului sa revina la normal for (int i=0;i<10;i++){ digitalWrite(LED_VERDE, HIGH); digitalWrite(LED_GALBEN, HIGH); digitalWrite(LED_ROSU, HIGH); delay(700); digitalWrite(LED_VERDE, LOW); digitalWrite(LED_GALBEN, LOW); digitalWrite(LED_ROSU, LOW); delay(700); } } if (nivelAlcoolMaxim > NIVEL_ALCOOL_VERDE){ digitalWrite(LED_VERDE, HIGH); } if (nivelAlcoolMaxim > NIVEL_ALCOOL_GALBEN){ digitalWrite(LED_GALBEN, HIGH); } if (nivelAlcoolMaxim > NIVEL_ALCOOL_ROSU){ digitalWrite(LED_ROSU, HIGH); } Serial.print(nivelAlcool); Serial.print(","); }