Etape 24 : Télécharger le Code
Retirez l’arduino du bouclier ou enlever les fils rx et tx du module bluetooth. Copiez le code ci-dessous et collez-le dans votre ide arduino. Télécharger le code de votre arduino.
/ * La boîte d’automatisation de chambre fabriqué par Saiaym amine * / #include « DHT.h » / / ajouter toutes les bibliothèques #include < LiquidCrystal.h >< br > #include < NewPing.h > État de chaîne = « OFF » ; initialiser toutes le valeurs int temppin = A0 ; pir int = A1 ; int mic = A5 ; ldr int = A6 ; entrant int = 0 ; int count = 1 ; int thres1 = 0 ; int thres2 = 0 ; int thres3 = 0 ; int thres4 = 0 ; int thres5 = 0 ; int state1 = 0 ; int state2 = 0 ; Etat3 int = 0 ; lumière d’int = 0 ; distance de l’int = 0 ; son int = 0 ; minute d’int = 0 ; heure d’int = 0 ; temp de flotteur = 1 ; flotteur d’humidité = 0 ; DHT dht (A4, DHT11) ; dire la broche de dht et le type de capteur innovente lcd (8, 7, 6, 5, 4, 3) ; dire les broches lc NewPing sonar (A2, A3, 400) ; dire le capteur goupilles et la distance maximale < /p >< p > void setup() {pinMode (sortie 13); / / définir les broches comme sortie pinMode (sortie 12,); lcd.begin(16,2); / / commence vers le haut de l’écran lcd dht.begin() ; Serial.Begin(9600) ; Serial.println (« Bedroom Home Automation ») ; LCD.Clear() ; LCD.Print (« chambre Home") ; lcd.setCursor(0,1) ; LCD.Print (« automatisation ») ; Delay(3000) ; } < /p >< p > void loop() {lcd.clear() ; lcd.print ("sélectionner un Mode") ; Serial.println ("sélectionner un mode par le biais de boutons") ; Delay(2000) ; while(digitalRead(11) == faible) / / quitter la boucle lorsque le deuxième touche {if(digitalRead(10) == HIGH) {delay(500) ; count ++; / / compter le nombre de fois que vous appuyez sur le bouton} lcd.clear() ; lcd.print("Choice:") ; LCD.Print(Count) ; Delay(100) ; } switch(count) < /p >< p > / / selon le numéro sélectionné précédemment en mode {< /p >< p > cas 1: / / activer/désactiver mode {delay(1000) ; Serial.println ("activer/désactiver mode sélectionné") ; Serial.println ("Appuyez sur le bouton pour basculer la sortie marche/arrêt") ; a8 int = 0 ; while(A8 == 0) {lcd.clear() ; lcd.print ("Curr. État: ") ; LCD.Print(State) ; lcd.setCursor(0,1) ; LCD.Print ("Appuyez sur le bouton") ; if(digitalRead(10) == HIGH & & Etat3 == 0) / / si la touche enfoncée et prise de courant est éteint, allumez-le {digitalWrite (13, HIGH); État = "ON"; Etat3 ++ ; Serial.println ("allumé") ; Delay(1000) ; } if(digitalRead(10) == HIGH & & Etat3 == 1) / / si bouton enfoncé et sortie est activée, désactivez-la {digitalWrite (13, LOW); État = "OFF"; Etat3--; Serial.println ("éteint") ; Delay(1000) ; } delay(100) ; }} case 2: / / mode de détection de température {delay(1000) ; Serial.println "(température mode sélectionné") ; Serial.println (« seuil réglé") ; LCD.Clear() ; LCD.Print ("Set seuil") ; Delay(2000) ; while(digitalRead(11) == faible) / / set seuil par le biais de boutons {if(digitalRead(10) == HIGH) {delay(500) ; thres1 ++;} lcd.clear() ; lcd.print("Threshold:") ; LCD.Print(thres1) ; Delay(100) ; } Serial.print("Threshold Temperature:") ; Serial.Print(thres1) ; int a = 0 ; while(a == 0) {temp = analogRead(temppin) ; temp = temp * 0.48828125 ; lcd.clear() ; lcd.print ("Curr. État: ") ; LCD.Print(State) ; lcd.setCursor(0,1) ; LCD.Print("Temp:") ; LCD.Print(temp) ; LCD.Print("*C") ; Si (temp > = thres1) {digitalWrite (13, HIGH); état = « ON »;} if(temp < thres1) {digitalWrite (13, LOW); État = "OFF";} delay(1000) ; rupture}} ; case 3: / / humidité capteur mode delay(1000) ; Serial.println "(humidité capteur mode sélectionné") ; Serial.println (« seuil réglé") ; LCD.Clear() ; LCD.Print ("Set seuil") ; {while(digitalRead(11) == faible) {if(digitalRead(10) == HIGH) {delay(500) ; thres2 ++;} lcd.clear() ; lcd.print("Threshold:") ; LCD.Print(thres2) ; Delay(100) ; } Serial.print("Threshold Humidity %:") ; Serial.Print(thres2) ; Serial.Print("%") ; int a1 = 0 ; while(a1 == 0) {humidité = dht.readHumidity() ; lcd.clear() ; lcd.print ("Curr. État: ") ; LCD.Print(State) ; lcd.setCursor(0,1) ; LCD.Print("Humid:") ; LCD.Print(Humidity) ; LCD.Print("%") ; Si (humidité < = thres2) {digitalWrite (13, HIGH); état = « ON »;} if(humidity > thres2) {digitalWrite (13, LOW); État = "OFF";} delay(1000) ; rupture}} ; case 4: / / light mode détection {delay(1000) ; Serial.println ("capteur de lumière sélectionné") ; Serial.println (« seuil réglé") ; LCD.Clear() ; LCD.Print ("Set seuil") ; while(digitalRead(11) == faible) {if(digitalRead(10) == HIGH) {delay(500) ; thres3 += 10;} lcd.clear() ; lcd.print("Threshold:") ; LCD.Print(thres3) ; Delay(100) ; } Serial.print("Threshold intensity:") ; Serial.Print(thres3) ; Serial.Print ("unités de 999") ; a2 int = 0 ; while(a2 == 0) {lumière = analogRead(ldr) ; lumière = carte (lumière, 0, 1023, 999, 0); lcd.clear() ; lcd.print ("Curr. État: ") ; LCD.Print(State) ; lcd.setCursor(0,1) ; LCD.Print("Light:") ; LCD.Print(Light) ; LCD.Print("un.") ; Si (lumière < = thres3) {digitalWrite (13, HIGH); état = « ON »;} if(light > thres3) {digitalWrite (13, LOW); État = "OFF";} delay(1000) ; }} break ; < /p >< p > cas 5: / / clap mode détection {Serial.println ("Clap capteur mode sélectionné") ; Serial.println ("Clap pour allumer/éteindre") ; a3 int = 0 ; while(a3 == 0) {lcd.clear() ; lcd.print ("Curr. État: ") ; LCD.Print(State) ; lcd.setCursor(0,1) ; LCD.Print ("Clap Clap!"); if(analogRead(MIC) > 5 & & state1 == 0) {digitalWrite (13, HIGH); État = "ON"; state1 ++; delay(1000);} if(analogRead(mic) > 5 & & state1 == 1) {digitalWrite (13, LOW); État = "OFF"; state1--; delay(1000);} delay(100) ; rupture}} ; case 6: / / mode détection de mouvement {Serial.println ("Motion sensor mode sélectionné"); pour (int b = 30; b > 0; b--) {Serial.println ("préparation capteur...") ; LCD.Clear() ; LCD.Print("Preparing") ; lcd.setCursor(0,1) ; LCD.Print("Sensor...") ; LCD.Print(b) ; Delay(1000) ; } int a4 = 0 ; while(A4 == 0) {lcd.clear() ; lcd.print ("Curr. État: ") ; LCD.Print(State) ; lcd.setCursor(0,1) ; LCD.Print ("Motion Sensor") ; if(digitalRead(PIR) == HIGH & & state2 == 0) {digitalWrite (13, HIGH); État = "ON"; state2 ++; delay(4100);} if(digitalRead(pir) == HIGH & & state2 == 1) {digitalWrite (13, LOW); État = "OFF"; state2--; delay(4100);} delay(100) ; }} break ; case < /p >< p > 7: / / mode de détection de présence {delay(1000) ; Serial.println ("présence capteur mode sélectionné") ; Serial.println (« seuil réglé") ; LCD.Clear() ; LCD.Print ("Set seuil") ; while(digitalRead(11) == faible) {if(digitalRead(10) == HIGH) {delay(500) ; thres4 += 10;} lcd.clear() ; lcd.print("Threshold:") ; LCD.Print(thres4) ; Delay(100) ; } int a5 = 0 ; while(A5 == 0) {delay(50) ; distance = sonar.ping() ; distance = distance / US_ROUNDTRIP_CM ; lcd.clear() ; lcd.print ("Curr. État: ") ; LCD.Print(State) ; lcd.setCursor(0,1) ; LCD.Print("dist.") ; LCD.Print(distance) ; LCD.Print("cm") ; Si (distance < = thres4) {digitalWrite (13, HIGH); état = « ON »;} if(distance > thres4) {digitalWrite (13, LOW); État = "OFF";} delay(1000) ; }} break ; < /p >< p > cas 8: / / mode de sécurité {Serial.println ("Security mode sélectionné") ; Serial.println ("Preparing capteur...") ; Delay(1000) ; pour (int d = 30; d > 0; d--) {lcd.clear() ; lcd.print("Preparing") ; lcd.setCursor(0,1) ; lcd.print("Sensor...") ; LCD.Print(d) ; Delay(1000) ; } lcd.clear() ; LCD.Print ("Mode sécurité") ; Delay(10000) ; a6 int = 0 ; while(A6 == 0) {if(digitalRead(pir) == HIGH) {digitalWrite (13, HIGH) ; Serial.println ("voleur détecté") ; LCD.Clear() ; LCD.Print ("voleur detecte") ; lcd.setCursor(0,1) ; LCD.Print("!!!") ; int c = 0 ; while(c == 0) {digitalWrite (12, HIGH); delay(1000) ; digitalWrite (12, LOW); delay(1000);}} Delay(1000) ; rupture}} ; < /p >< p > cas 9: / / mode minuterie {delay(1000) ; Serial.println ("Timer Mode sélectionné") ; LCD.Clear() ; LCD.Print ("Enter heures") ; Delay(2000) ; while(digitalRead(11) == faible) {if(digitalRead(10) == HIGH) {delay(500) ; heure ++;} lcd.clear() ; lcd.print(hour) ; delay(100);} lcd.clear() ; LCD.Print ("Enter Minutes ») ; Delay(2000) ; while(digitalRead(11) == faible) {if(digitalRead(10) == HIGH) {delay(500) ; minute ++;} lcd.clear() ; lcd.print(minute) ; delay(100);} delay(1000) ; int e2 = minute ; e3 int = 0 ; pour (int e1 = heure ; e1 > = 0; e1--) {pour (e2 ; e2 > = 0; e2--) {pour (e3 ; e3 > = 0; e3--) {digitalWrite (13, HIGH); lcd.clear() ; lcd.print ("temps laissé:") ; lcd.setCursor(0,1) ; LCD.Print(E1) ; LCD.Print(":") ; LCD.Print(E2) ; LCD.Print(":") ; LCD.Print(E3) ; Delay(1000) ; } e3 = 59 ; } e2 = 59 ; } int a9 = 0 ; while(A9 == 0) {digitalWrite (13, LOW); lcd.print ("temps terminé"); lcd.clear() ; delay(100);}} rupture ; 10-affaire: / / météo mode d’affichage {int a7 = 0; while(a7 == 0) {float t = dht.readTemperature() ; float f = dht.readTemperature(true) ; humidité = dht.readHumidity() ; Serial.Print ("température:") ; Serial.Print(t) ; Serial.Print("*C") ; Serial.Print("") ; Serial.Print(f) ; Serial.Print("*F") ; Serial.println() ; Serial.Print ("humidité:") ; Serial.Print(Humidity) ; Serial.Print("%") ; Serial.println() ; LCD.Clear() ; LCD.Print("T:") ; LCD.Print(t) ; LCD.Print ("C") ; LCD.Print(f) ; LCD.Print("F") ; lcd.setCursor(0,1) ; LCD.Print("H:") ; LCD.Print(Humidity) ; LCD.Print("%") ; Delay(1000) ; rupture}} ; }} < /p >