📣ความรู้ไปประยุกต์ใช้อุปกรณ์อิเล็กทรอนิกส์เพื่อสร้างสรรค์เป็นโครงงานตามที่โจทย์กำหนดได้ คำสั่งเขียน
int gas = 0;
int temperatura = 0;
int sensorValue = 0;
long cm = 0;
int LED1 = 10;
int LED2 = 11;
int LED3 = 12;
int LED4 = 13;
int Sw1 = 2;
int Sw2 = 3;
int Sw3 = 4;
int Sw4 = 5;
int Sw5 = 9;
int Sw6 = A0;
int Sw7 = A3;
int Sw8 = A4;
int p = A1;
int d = 200;
long readUltrasonicDistance(int triggerPin, int echoPin) //ตรวจจับความเคลื่อนไหว
{
pinMode(triggerPin, OUTPUT); // Clear the trigger
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
// Sets the trigger pin to HIGH state for 10 microseconds
digitalWrite(triggerPin, 1);
delayMicroseconds(10);
digitalWrite(triggerPin, 0);
pinMode(echoPin, INPUT);
// Reads the echo pin, and returns the sound wave travel time in microseconds *0.01723
return (pulseIn(echoPin, 1)*0.01723);
}
void setup()
{
Serial.begin(115200);
pinMode(Sw1, INPUT);
pinMode(Sw2, INPUT);
pinMode(Sw3, INPUT);
pinMode(Sw4, INPUT);
pinMode(Sw5, INPUT);
pinMode(Sw6, INPUT);
pinMode(Sw7, INPUT);
pinMode(Sw8, INPUT);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(p, INPUT);
pinMode(A5, INPUT);
pinMode(A2, INPUT);
pinMode(8, OUTPUT);
}
void photoresistor(){ //ฟังชั่นที่ 1
sensorValue = analogRead(p);
Serial.println(sensorValue);
analogWrite(LED1, map(sensorValue, 0, 1023, 0, 255));
analogWrite(LED2, map(sensorValue, 0, 1023, 0, 255));
analogWrite(LED3, map(sensorValue, 0, 1023, 0, 255));
analogWrite(LED4, map(sensorValue, 0, 1023, 0, 255));
}
void Ultrasonic (){ //ฟังชั่นที่ 2
cm =readUltrasonicDistance(7, 6);
Serial.print(cm);
Serial.println("cm");
if (cm > 250) {
digitalWrite(LED1, 0);
digitalWrite(LED2, 0);
digitalWrite(LED3, 0);
digitalWrite(LED4, 0);
}
if (cm <= 250 && cm > 175) {
digitalWrite(LED1, 1);
digitalWrite(LED2, 1);
digitalWrite(LED3, 0);
digitalWrite(LED4, 0);
}
if (cm <= 175 && cm > 100) {
digitalWrite(LED1, 1);
digitalWrite(LED2, 1);
digitalWrite(LED3, 1);
digitalWrite(LED4, 0);
}
if (cm <= 100) {
digitalWrite(LED1, 1);
digitalWrite(LED2, 1);
digitalWrite(LED3, 1);
digitalWrite(LED4, 1);
}
}
void Temperature(){ //ฟังชั่นที่ 3
gas = analogRead(A5);
temperatura = analogRead(A2);
Serial.println(gas);
Serial.println(temperatura);
if ((gas <= 709 && gas >= 400) && (temperatura <= 150 && temperatura >= 50)) {
digitalWrite(LED1, 1);
digitalWrite(LED2, 1);
digitalWrite(LED3, 1);
digitalWrite(LED4, 1);
delay(100);
digitalWrite(LED1, 0);
digitalWrite(LED2, 0);
digitalWrite(LED3, 0);
digitalWrite(LED4, 0);
} else {
digitalWrite(LED1, 0);
digitalWrite(LED2, 0);
digitalWrite(LED3, 0);
digitalWrite(LED4, 0);
}
if ((gas <= 709 && gas >= 400) && (temperatura <= 150 && temperatura >= 50)) { //ฟังชั่นที่ 4
tone(8, 262, 1000); // play tone 48 (C4 = 262 Hz)
delay(100); //
tone(8, 440, 1000); // play tone 57 (A4 = 440 Hz)
} else {
noTone(8);
}
}
void menal(){ //เปิดปิดไฟด้วยมือ
int StatusSw5;
int StatusSw6;
int StatusSw7;
int StatusSw8;
StatusSw5 = digitalRead(Sw5);
StatusSw6 = digitalRead(Sw6);
StatusSw7 = digitalRead(Sw7);
StatusSw8 = digitalRead(Sw8);
if(StatusSw5 == 0)
digitalWrite(LED1, 1);
if(StatusSw6 == 0)
digitalWrite(LED2, 1);
if(StatusSw7 == 0)
digitalWrite(LED3, 1);
if(StatusSw8 == 0)
digitalWrite(LED4, 1);
if(StatusSw5 == 1)
digitalWrite(LED1, 0);
if(StatusSw6 == 1)
digitalWrite(LED2, 0);
if(StatusSw7 == 1)
digitalWrite(LED3, 0);
if(StatusSw8 == 1)
digitalWrite(LED4, 0);
}
void loop()
{
int StatusSw1;
int StatusSw2;
int StatusSw3;
int StatusSw4;
StatusSw1 = digitalRead(Sw1);
StatusSw2 = digitalRead(Sw2);
StatusSw3 = digitalRead(Sw3);
StatusSw4 = digitalRead(Sw4);
Serial.print(StatusSw1);
Serial.print(":");
Serial.print(StatusSw2);
Serial.print(":");
Serial.print(StatusSw3);
Serial.print(":");
Serial.println(StatusSw4);
if(StatusSw1 == 0&&StatusSw2 == 1&&StatusSw3 == 1&&StatusSw4 == 1){
photoresistor();
delay(500);
}
else if(StatusSw2 == 0&&StatusSw1 == 1&&StatusSw3 == 1&&StatusSw4 == 1){
Ultrasonic ();
}
else if(StatusSw3 == 0&&StatusSw1 == 1&&StatusSw2 == 1&&StatusSw4 == 1){
Temperature();
}
else if(StatusSw4 == 0&&StatusSw1 == 1&&StatusSw2 == 1&&StatusSw3 == 1){
menal();
delay(50);
}
else {
digitalWrite(LED1, 0);
digitalWrite(LED2, 0);
digitalWrite(LED3, 0);
digitalWrite(LED4, 0);
delay(500);
}
}
ไม่มีความคิดเห็น:
แสดงความคิดเห็น
ครูเต้ง เทคโนฯ