📣ความรู้ไปประยุกต์ใช้อุปกรณ์อิเล็กทรอนิกส์เพื่อสร้างสรรค์เป็นโครงงานตามที่โจทย์กำหนดได้ คำสั่งเขียน
#include<LiquidCrystal.h>
LiquidCrystal lcd(13, 7, 6, 5, 4, 3);
int capteurGaz = A0;
int capteurTemp = A1;
int buzzer = 2;
int photoresistance = A2;
int del = 8;
int del_manuel = 9;
int btn_gaz_pin = 10;
int btn_lumi_pin = 11;
int manuel_pin = 12;
int molette = A3;
int manuel;
int btn_gaz;
int btn_lumi;
int btn_manuel;
void setup() {
pinMode(13, OUTPUT);
for (int i = 3; i < 7; i++){ // l'écran LCD
pinMode(i, OUTPUT);
}
for (int y = 10; y < 12; y++){ // les boutons
pinMode(y, INPUT);
}
pinMode(8, OUTPUT);
pinMode(buzzer, OUTPUT);
Serial.begin(9600);
}
void loop() {
// PARTIE CAPTEUR GAZ
int seuilGaz = 150;
float gaz = analogRead(capteurGaz); // récupère le taux de gaz
if(gaz >= seuilGaz){tone(buzzer, 900, 750);}
// PARTIE CAPTEUR TEMPÉRATURE
float temp = analogRead(capteurTemp);
float volt = (temp/1024.0)*5.0;
float temperature= (volt-0.5)*100;
// vérifie la température et allume le buzzer si elle dépasse un seuil
if(temperature >31)
{tone(buzzer, 500, 500);}
else if(temperature >30)
{tone(buzzer, 400, 500);}
else if(temperature >29.5)
{tone(buzzer, 300, 500);}
else if(temperature >29)
{tone(buzzer, 250, 500);}
else if(temperature >28.5)
{tone(buzzer, 200, 500);}
else if(temperature >28)
{tone(buzzer, 150, 500);}
if (temperature < -11)
{tone(buzzer, 500, 500);}
else if(temperature <-10)
{tone(buzzer, 400, 500);}
else if(temperature <-9.5)
{tone(buzzer, 300, 500);}
else if(temperature <-9)
{tone(buzzer, 250, 500);}
else if(temperature <-8.5)
{tone(buzzer, 200, 500);}
else if(temperature <-8)
{tone(buzzer, 150, 500);}
// PARTIE PHOTORESISTANCE
int luminosite = analogRead(photoresistance); //capture la luminosité
int val = map(luminosite, 100, 997, 0, 255);
if(manuel==1){val = map(analogRead(molette), 0, 1023, 0, 255);}
analogWrite(del, val); // allume les leds
int luminosite_del = map(val, 0, 255, 0, 100); //TODO
// PARTIE ECRAN LCD
btn_gaz = digitalRead(btn_gaz_pin);
btn_lumi = digitalRead(btn_lumi_pin);
manuel = digitalRead(manuel_pin);
lcd.clear();
lcd.setCursor(0,0); //reset l'écran
if(manuel==1){
lcd.print("manuel: = "); lcd.print(luminosite_del); //affiche la luminosité.
delay(500);
}
else if(btn_gaz == LOW){
lcd.print("GAZ = "); lcd.print(gaz); //affiche la quantité de gaz.
delay(500);
}
else if(btn_lumi == LOW){
lcd.print("lumi% = "); lcd.print(luminosite_del); //affiche la luminosité.
delay(500);
}
else {
lcd.print("temp = "); lcd.print(temperature); //affiche la quantité de gaz.
lcd.print("°C");
delay(500);
}
//MONITEUR SÉRIE
Serial.println(manuel);
Serial.print("temperature: ");
Serial.println(temperature);
Serial.print("gaz: ");
Serial.println(gaz);
Serial.print("luminosite DEL: ");
Serial.print(luminosite_del);Serial.println("%");
Serial.println(""); //saut de ligne
}

ไม่มีความคิดเห็น:
แสดงความคิดเห็น
ครูเต้ง เทคโนฯ