หน้าแรก ดูโปรเจกต์ทั้งหมด
Hard

โปรเจกต์ Voltage Led ALERT ⚠️

ตรวจสอบว่ากระแสไฟปลอดภัยหรือไม่จากระยะไกลด้วยความช่วยเหลือของ Led โดยพิจารณาจาก Voltage ที่จ่ายเข้ามา

โปรเจกต์ Voltage Led ALERT ⚠️

รายการอุปกรณ์และเครื่องมือ

1x 5 mm LED: Red
-
1x Rotary Potentiometer, 10 kohm
-
1x 5 mm LED: Yellow
-
3x Resistor 330 ohm
-
1x Solderless Breadboard Full Size
-
1x Arduino UNO
-
1x Male/Male Jumper Wires
-
1x 5 mm LED: Green
-

รายละเอียดและวิธีทำ

ความเป็นมา

ตีหนึ่งในคืนช่วงวันหยุดฤดูร้อน เบื่อสุดๆ จนไม่มีอะไรทำ และไม่อยู่ในอารมณ์ที่จะสร้างอะไรที่ไม่มี LED และแสงไฟ

ส่วนประกอบของโปรเจกต์นี้ประกอบด้วย:

  • LED 3 ดวง (สีแดง, สีเหลือง, สีเขียว)
  • Resistor 330 Ohm x 3 ตัว
  • Potentiometer 1 ตัว
  • Jumper cable แบบ M-M สองสามเส้น

การทำงาน:

Potentiometer ถูกใช้เพื่อควบคุมปริมาณ Voltage และ LED แต่ละสีจะสว่างขึ้นตามปริมาณนั้นๆ

ถ้า Voltage < หรือ = 3 Volts; Green LED จะสว่างขึ้น

ถ้า Voltage < 4 Volts และ > 3 Volts; Yellow LED จะสว่างขึ้น

ถ้า Voltage < หรือ = 5 Volts และ > 4 Volts; Red LED จะสว่างขึ้น

การประยุกต์ใช้งานในชีวิตจริง

สร้างระบบแจ้งเตือนสำหรับกระแสไฟฟ้าเฉพาะจุด ซึ่งหาก Voltage สูงกว่าค่าที่กำหนด อุปกรณ์อาจเสียหายได้ ในโปรเจกต์นี้ เมื่อ Voltage เกินกำหนด Red LED จะสว่างขึ้น และหากใกล้ถึงระดับอันตรายแต่สูงกว่าค่าเฉลี่ย Yellow LED จะสว่างขึ้น และเมื่อกระแสไฟฟ้าอยู่ในระดับที่เหมาะสม Green LED จะสว่างขึ้น

อธิบาย CODE

int rPin = 11 ;
int yPin = 12 ;
int gPin = 13 ;

กำหนดค่าตัวแปรเหล่านี้สำหรับ Digital Pin ให้ตรงกับค่า Digital Pin บนบอร์ด

คุณสามารถใช้ Digital Pin ไหนก็ได้ตามที่คุณสะดวก
int readPin = A0;
float Val ;
float readVal ;

ตั้งค่าตัวแปรใหม่ **readPin** สำหรับค่า Analog Pin ที่จะใช้ร่วมกับคำสั่ง analogRead() ในภายหลัง

กำหนดค่าว่าง (Null) ให้กับตัวแปร Val และ readVal เพื่อให้เราสามารถกำหนดค่าให้พวกมันได้ในภายหลัง

String myString = "The Potentiometer Voltage is : " ;
int wait = 1000;

ตั้งค่าตัวแปร String ใหม่ชื่อ myString ซึ่งจะใช้ในการจัดรูปแบบการแสดงผลของ Serial.print() ในภายหลัง

นอกจากนี้ยังสร้างตัวแปร wait สำหรับ Delay โดยมีค่า 1000 Milliseconds หรือ 1 วินาที

คุณสามารถตั้งชื่อตัวแปรเหล่านี้เป็นอะไรก็ได้ตามที่คุณต้องการ แต่ควรเป็นชื่อที่ทำให้คุณเข้าใจได้ง่าย
pinMode(rPin,OUTPUT);
pinMode(yPin,OUTPUT);
pinMode(gPin,OUTPUT);

ประกาศตัวแปรสำหรับ Digital Pin ที่เราสร้างขึ้นก่อนหน้านี้ให้เป็น Output

pinMode(readPin,INPUT);
Serial.begin(9600);
}

ประกาศว่าจะใช้งาน Analog Pin พร้อมกับตัวแปร readPin เป็น INPUT

นอกจากนี้เรายังตั้งค่า Baud rate ของ Serial Monitor เป็น 9600

readVal = analogRead(readPin);
Val = (5./1023.)*readVal;

กำหนดค่าให้ readVal คือค่าที่อ่านได้จาก analogRead() ของ Analog Pin readPin ที่เราตั้งไว้

เราจะอ่านค่าได้ในช่วง 0 ถึง 1023 หรือ 1024 ระดับ

0 = 0 Volts

1023 = 5 Volts

เนื่องจากเป็นค่าแบบ 10 bit (2^10)

ในการอ่านค่านี้เป็น Volts เราจะใช้ตัวแปร Val ที่เราตั้งไว้ เนื่องจากเรารู้ว่า 5 Volts = 1023 ดังนั้น 1 Volt = 5/1023

เมื่อเราทราบค่าของ 1V แล้ว เราต้องนำไปคูณกับค่า readVal ที่ได้รับมาเพื่อให้ได้ค่า Voltage ออกมา

if (Val <= 3.00) {

digitalWrite(gPin,HIGH);

digitalWrite(yPin,LOW);

digitalWrite(rPin,LOW);

}

ตรงนี้เรากำลังใช้งานคำสั่งเงื่อนไข (Condition statements)

ถ้า Val น้อยกว่าหรือเท่ากับ 3, gPin หรือ Green Pin จะสว่างขึ้น

if (Val < 4.00 && Val > 3.00) {

digitalWrite(gPin,LOW);

digitalWrite(yPin,HIGH);

digitalWrite(rPin,LOW);

}

ตรงนี้ถ้า Val น้อยกว่า 4 และมากกว่า 3, yPin หรือ Yellow Pin จะสว่างขึ้น

if (Val > 4.00 && Val<= 5.00) {

digitalWrite(gPin,LOW);

digitalWrite(yPin,LOW);

digitalWrite(rPin,HIGH);

}

ตรงนี้ถ้า Val > 4 และ < หรือ = 5 แล้ว rPin หรือ Red Pin จะสว่างขึ้น

Serial.print(myString);

Serial.println(Val);

delay(wait);

}

ตรงนี้เราสั่ง Print ข้อความ String ที่เราตั้งไว้ก่อนหน้านี้ลงบน Serial Monitor เพื่อจัดรูปแบบการแสดงผล เพราะความเป็นระเบียบคือสิ่งสำคัญ (OCD)

หลังจากนั้นเราสั่ง Print ค่า Val เพื่อตรวจสอบความถูกต้องของโปรแกรมเทียบกับ LED

สุดท้าย เราใช้คำสั่ง Delay แบบเดิมๆ เพื่อพักสายตาบ้าง!!!!

โปรแกรมช่วงสุดท้ายไม่มี Inline Cause ด้วยเหตุผลบางอย่าง มิฉะนั้นมันจะทำงานไม่ได้ ขออภัยในความไม่สะดวกมา ณ ที่นี้

SERIAL MONITOR

ค่าของ Voltage เปลี่ยนแปลงไปเมื่อผมหมุน Rotor ของ Potentiometer จากซ้ายไปขวา และจากขวากลับมาซ้าย

รูปภาพ LED

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: voltage-led-alert-78c134
299 บาท
PromptPay QR Code