// Realizzazione di un Voltmetro con Arduino // Progetto realizzato da Elia Fucili e Amadori Federico // dell'Istituto Tecnico Industriale Enrico Mattei di Urbino // 7 Maggio 2021 int pinAI = 2; int pinBI = 3; int pinCI = 4; int pinDI = 5; int pinEI = 6; int pinFI = 7; int pinGI = 8; int pinAD = 10; int pinBD = 11; int pinCD = 12; int pinDD = 13; int pinED = 15; int pinFD = 16; int pinGD = 17; void stampa0I() { digitalWrite(pinAI, LOW); digitalWrite(pinBI, LOW); digitalWrite(pinCI, LOW); digitalWrite(pinDI, LOW); digitalWrite(pinEI, LOW); digitalWrite(pinFI, LOW); digitalWrite(pinGI, HIGH); } void stampa0D() { digitalWrite(pinAD, LOW); digitalWrite(pinBD, LOW); digitalWrite(pinCD, LOW); digitalWrite(pinDD, LOW); digitalWrite(pinED, LOW); digitalWrite(pinFD, LOW); digitalWrite(pinGD, HIGH); } void stampa1I() { digitalWrite(pinAI, HIGH); digitalWrite(pinBI, LOW); digitalWrite(pinCI, LOW); digitalWrite(pinDI, HIGH); digitalWrite(pinEI, HIGH); digitalWrite(pinFI, HIGH); digitalWrite(pinGI, HIGH); } void stampa1D() { digitalWrite(pinAD, HIGH); digitalWrite(pinBD, LOW); digitalWrite(pinCD, LOW); digitalWrite(pinDD, HIGH); digitalWrite(pinED, HIGH); digitalWrite(pinFD, HIGH); digitalWrite(pinGD, HIGH); } void stampa2I() { digitalWrite(pinAI, LOW); digitalWrite(pinBI, LOW); digitalWrite(pinCI, HIGH); digitalWrite(pinDI, LOW); digitalWrite(pinEI, LOW); digitalWrite(pinFI, HIGH); digitalWrite(pinGI, LOW); } void stampa2D() { digitalWrite(pinAD, LOW); digitalWrite(pinBD, LOW); digitalWrite(pinCD, HIGH); digitalWrite(pinDD, LOW); digitalWrite(pinED, LOW); digitalWrite(pinFD, HIGH); digitalWrite(pinGD, LOW); } void stampa3I() { digitalWrite(pinAI, LOW); digitalWrite(pinBI, LOW); digitalWrite(pinCI, LOW); digitalWrite(pinDI, LOW); digitalWrite(pinEI, HIGH); digitalWrite(pinFI, HIGH); digitalWrite(pinGI, LOW); } void stampa3D() { digitalWrite(pinAD, LOW); digitalWrite(pinBD, LOW); digitalWrite(pinCD, LOW); digitalWrite(pinDD, LOW); digitalWrite(pinED, HIGH); digitalWrite(pinFD, HIGH); digitalWrite(pinGD, LOW); } void stampa4I() { digitalWrite(pinAI, HIGH); digitalWrite(pinBI, LOW); digitalWrite(pinCI, LOW); digitalWrite(pinDI, HIGH); digitalWrite(pinEI, HIGH); digitalWrite(pinFI, LOW); digitalWrite(pinGI, LOW); } void stampa4D() { digitalWrite(pinAD, HIGH); digitalWrite(pinBD, LOW); digitalWrite(pinCD, LOW); digitalWrite(pinDD, HIGH); digitalWrite(pinED, HIGH); digitalWrite(pinFD, LOW); digitalWrite(pinGD, LOW); } void stampa5I() { digitalWrite(pinAI, LOW); digitalWrite(pinBI, HIGH); digitalWrite(pinCI, LOW); digitalWrite(pinDI, LOW); digitalWrite(pinEI, HIGH); digitalWrite(pinFI, LOW); digitalWrite(pinGI, LOW); } void stampa5D() { digitalWrite(pinAD, LOW); digitalWrite(pinBD, HIGH); digitalWrite(pinCD, LOW); digitalWrite(pinDD, LOW); digitalWrite(pinED, HIGH); digitalWrite(pinFD, LOW); digitalWrite(pinGD, LOW); } void stampa6I() { digitalWrite(pinAI, LOW); digitalWrite(pinBI, HIGH); digitalWrite(pinCI, LOW); digitalWrite(pinDI, LOW); digitalWrite(pinEI, LOW); digitalWrite(pinFI, LOW); digitalWrite(pinGI, LOW); } void stampa6D() { digitalWrite(pinAD, LOW); digitalWrite(pinBD, HIGH); digitalWrite(pinCD, LOW); digitalWrite(pinDD, LOW); digitalWrite(pinED, LOW); digitalWrite(pinFD, LOW); digitalWrite(pinGD, LOW); } void stampa7I() { digitalWrite(pinAI, LOW); digitalWrite(pinBI, LOW); digitalWrite(pinCI, LOW); digitalWrite(pinDI, HIGH); digitalWrite(pinEI, HIGH); digitalWrite(pinFI, HIGH); digitalWrite(pinGI, HIGH); } void stampa7D() { digitalWrite(pinAD, LOW); digitalWrite(pinBD, LOW); digitalWrite(pinCD, LOW); digitalWrite(pinDD, HIGH); digitalWrite(pinED, HIGH); digitalWrite(pinFD, HIGH); digitalWrite(pinGD, HIGH); } void stampa8I() { digitalWrite(pinAI, LOW); digitalWrite(pinBI, LOW); digitalWrite(pinCI, LOW); digitalWrite(pinDI, LOW); digitalWrite(pinEI, LOW); digitalWrite(pinFI, LOW); digitalWrite(pinGI, LOW); } void stampa8D() { digitalWrite(pinAD, LOW); digitalWrite(pinBD, LOW); digitalWrite(pinCD, LOW); digitalWrite(pinDD, LOW); digitalWrite(pinED, LOW); digitalWrite(pinFD, LOW); digitalWrite(pinGD, LOW); } void stampa9I() { digitalWrite(pinAI, LOW); digitalWrite(pinBI, LOW); digitalWrite(pinCI, LOW); digitalWrite(pinDI, LOW); digitalWrite(pinEI, HIGH); digitalWrite(pinFI, LOW); digitalWrite(pinGI, LOW); } void stampa9D() { digitalWrite(pinAD, LOW); digitalWrite(pinBD, LOW); digitalWrite(pinCD, LOW); digitalWrite(pinDD, LOW); digitalWrite(pinED, HIGH); digitalWrite(pinFD, LOW); digitalWrite(pinGD, LOW); } void setup() { pinMode(pinAI, OUTPUT); pinMode(pinBI, OUTPUT); pinMode(pinCI, OUTPUT); pinMode(pinDI, OUTPUT); pinMode(pinEI, OUTPUT); pinMode(pinFI, OUTPUT); pinMode(pinGI, OUTPUT); pinMode(pinAD, OUTPUT); pinMode(pinBD, OUTPUT); pinMode(pinCD, OUTPUT); pinMode(pinDD, OUTPUT); pinMode(pinED, OUTPUT); pinMode(pinFD, OUTPUT); pinMode(pinGD, OUTPUT); digitalWrite(pinAI, HIGH); digitalWrite(pinBI, HIGH); digitalWrite(pinCI, HIGH); digitalWrite(pinDI, HIGH); digitalWrite(pinEI, HIGH); digitalWrite(pinFI, HIGH); digitalWrite(pinGI, HIGH); digitalWrite(pinAD, HIGH); digitalWrite(pinBD, HIGH); digitalWrite(pinCD, HIGH); digitalWrite(pinDD, HIGH); digitalWrite(pinED, HIGH); digitalWrite(pinFD, HIGH); digitalWrite(pinGD, HIGH); Serial.begin(9600) ; } void loop() { int valpot = analogRead(A0); float volt = (valpot * 5.0) / 1023.0; int i = (int) volt; int D = (int) ((int)(volt * 10) - (i * 10)); //Serial.println(i); //Serial.println(D); if (i == 0) stampa0I(); else if (i == 1) stampa1I(); else if (i == 2) stampa2I(); else if (i == 3) stampa3I(); else if (i == 4) stampa4I(); else if (i == 5) stampa5I(); if (D == 0) stampa0D(); else if (D == 1) stampa1D(); else if (D == 2) stampa2D(); else if (D == 3) stampa3D(); else if (D == 4) stampa4D(); else if (D == 5) stampa5D(); else if (D == 6) stampa6D(); else if (D == 7) stampa7D(); else if (D == 8) stampa8D(); else if (D == 9) stampa9D(); }