float volts = 0; //spremenljivka z decimalkami za volte void setup() { pinMode(0, 1); //nastavi pine za LED kot outpute pinMode(1, 1); pinMode(2, 1); pinMode(A2, 0); //nastavi pin za testiranje baterij kot input } void loop() { int val = analogRead(A2); //preberi pin za testiranje (0-1023) volts = val * (5.0 / 1023.0); //pretvori v volte //primerjanje -> zaznavanje baterije if(volts > 0.1 && volts < 1.7) { V1_5(); } else if (volts > 2 && volts < 3.2) { V3(); } else if (volts > 3.5 && volts < 5) { V4_5(); } else if (volts == 0) { off(); } else { off(); } } void V1_5() { //funkcija za 1,5V baterijo //primerja napetosti in izvede ustrzno funkcijo if (volts >= 1.45) { green(1); } else if (volts >= 1.3 && volts <= 1.44) { yellow(1); } else if (volts >= 1 && volts <= 1.29) { red(1); } else { red(1); delay(100); red(0); delay(100); } } void V3() { //funkcija za 3V baterijo //primerja napetosti in izvede ustrzno funkcijo if (volts >= 2.75) { green(1); } else if (volts >= 2.5 && volts <= 2.74) { yellow(1); } else if (volts >= 2 && volts <= 2.49) { red(1); } else { red(1); delay(100); red(0); delay(100); } } void V4_5() { //funkcija za 4,5V baterijo //primerja napetosti in izvede ustrzno funkcijo if (volts >= 4) { green(1); } else if (volts >= 3.5 && volts <= 3.9) { yellow(1); } else if (volts >= 3 && volts <= 3.49) { red(1); } else { red(1); delay(100); red(0); delay(100); } } void green(int gstate) { //funkcija za posodablanje stanja zelene lučke digitalWrite(2, gstate); } void yellow(int ystate) { //funkcija za posodablanje stanja rumene lučke digitalWrite(1, ystate); } void red(int rstate) { //funkcija za posodablanje stanja rdeče lučke digitalWrite(0, rstate); } void off() { //funkcija ki ugasne vse lučke green(0); yellow(0); red(0); }