
Bref Descriptif:
Leds reliés à un potentiomètre afin de moduler les lumières en fonction d’événements donnés.
Schéma:

Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | int potentiometre_entree = A0; // selectionner le pin d'entrée du potentiometre int lumiere_minuit = 12; // déclarer chaque sortie led pour chaque heure int lumiere_22h = 11; int lumiere_20h = 10; int lumiere_18h = 9; int lumiere_16h = 8; int lumiere_14h = 7; int lumiere_12h = 6; int lumiere_10h = 5; int lumiere_8h = 4; int lumiere_6h = 3; int lumiere_4h = 2; int lumiere_2h = 13; int potentiometre = 0; // variable pour stocker la valeur du potentiomètre int horaire = 0; // variable pour stocker la valeur une fois arrondie en 24 heures void setup() { Serial.begin(9600); pinMode(lumiere_minuit, OUTPUT); pinMode(lumiere_22h, OUTPUT); pinMode(lumiere_20h, OUTPUT); pinMode(lumiere_18h, OUTPUT); pinMode(lumiere_16h, OUTPUT); pinMode(lumiere_14h, OUTPUT); pinMode(lumiere_12h, OUTPUT); pinMode(lumiere_10h, OUTPUT); pinMode(lumiere_8h, OUTPUT); pinMode(lumiere_6h, OUTPUT); pinMode(lumiere_4h, OUTPUT); pinMode(lumiere_2h, OUTPUT); } void loop() { potentiometre = analogRead(potentiometre_entree); // lit la valeur du potentiometre //horaire = potentiometre/42; // pour branchement 5V : la valeur est divisée sur une echelle de 24 heures (1024/24 = 42) horaire = potentiometre/28; // pour branchement 3.3V : la valeur est divisée sur une echelle de 24 heures (672/24 = 28) switch (horaire) { case 0: case 1: case 2: digitalWrite(lumiere_2h, HIGH); //lumière de l'heure correspondante s'allume digitalWrite(lumiere_4h, LOW); //lumières précédemment allumées s'éteignent break ; case 3: case 4: digitalWrite(lumiere_4h, HIGH); digitalWrite(lumiere_2h, LOW); digitalWrite(lumiere_6h, LOW); break ; case 5: case 6: digitalWrite(lumiere_6h, HIGH); digitalWrite(lumiere_4h, LOW); digitalWrite(lumiere_8h, LOW); break ; case 7: case 8: digitalWrite(lumiere_8h, HIGH); digitalWrite(lumiere_6h, LOW); digitalWrite(lumiere_10h, LOW); break ; case 9: case 10: digitalWrite(lumiere_10h, HIGH); digitalWrite(lumiere_8h, LOW); digitalWrite(lumiere_12h, LOW); break ; case 11: case 12: digitalWrite(lumiere_12h, HIGH); digitalWrite(lumiere_10h, LOW); digitalWrite(lumiere_14h, LOW); break ; case 13: case 14: digitalWrite(lumiere_14h, HIGH); digitalWrite(lumiere_12h, LOW); digitalWrite(lumiere_16h, LOW); break ; case 15: case 16: digitalWrite(lumiere_16h, HIGH); digitalWrite(lumiere_14h, LOW); digitalWrite(lumiere_18h, LOW); break ; case 17: case 18: digitalWrite(lumiere_18h, HIGH); digitalWrite(lumiere_16h, LOW); digitalWrite(lumiere_20h, LOW); break ; case 19: case 20: digitalWrite(lumiere_20h, HIGH); digitalWrite(lumiere_18h, LOW); digitalWrite(lumiere_22h, LOW); break ; case 21: case 22: digitalWrite(lumiere_22h, HIGH); digitalWrite(lumiere_20h, LOW); digitalWrite(lumiere_minuit, LOW); break ; case 23: case 24: digitalWrite(lumiere_minuit, HIGH); digitalWrite(lumiere_22h, LOW); break ; //default : //digitalWrite(lumiere_minuit, HIGH); //digitalWrite(lumiere_12h, HIGH); break ; } delay(10); Serial.println(horaire); } |



Final:
