Arduino Bluetooth (HC-05) Wireless Notice Board using LCD
การพิมพ์ข้อความผ่านสมาร์ทโฟน: บอร์ดประกาศ Bluetooth 16x2
จอ LCD ทั่วไปไม่สามารถเปลี่ยนข้อความได้แบบไดนามิก โดยที่โปรแกรมเมอร์ไม่ต้องเขียนโค้ด C++ ใหม่บนแล็ปท็อป บอร์ดประกาศไร้สาย Bluetooth โดยใช้ LCD จะเปลี่ยนหน้าจอที่อยู่นิ่งให้เป็นตัวรับข้อความ IoT แบบเรียลไทม์ ด้วยการเชื่อมต่อ HC-05 Radio เข้ากับแอปสมาร์ทโฟน คุณสามารถส่งคำเตือนฉุกเฉิน (Evacuate Area!) หรือการแจ้งเตือนประจำวันแบบไร้สายไปยังทั่วทั้งอาคารได้

การวิเคราะห์และจัดเก็บ Buffer
ข้อผิดพลาดที่ใหญ่ที่สุดที่ผู้เริ่มต้นมักทำคือการสมมติว่า Serial.read() จะอ่านมาทั้งคำ แต่ความจริงแล้วมันอ่านได้แค่หนึ่ง char ('E', 'v', 'a')
- SoftwareSerial Bus: HC-05 เชื่อมต่อกับ
Pin 10 (RX), Pin 11 (TX) - ผู้ใช้พิมพ์
ROOM LOCKED\nบนโทรศัพท์ของตน - โค้ด C++ ใช้ลูป
while()สำหรับ buffer:
String inData = "";
while (bluetooth.available() > 0) {
char incoming = bluetooth.read();
if (incoming == '\n') { // ตัวกระตุ้นการสิ้นสุดที่แน่นอน!
processData(inData);
inData = ""; // ล้าง buffer!
break;
}
inData += incoming;
delay(3); // สำคัญมาก: เพื่อป้องกันไม่ให้ Arduino ตรวจสอบ buffer เร็วกว่าที่ Bluetooth สามารถส่งข้อมูลได้!
}
การคำนวณการแบ่งหน้าจอ (16 ตัวอักษร)
หน้าจอ LCD มีขนาดเล็กมาก หากสตริงข้อความเป็น WELCOME TO THE MEETING ROOM EARLY มันจะแสดงผลล้นขอบด้านขวาของ LCD ไปเลย!
- Uno ต้องคำนวณทางกายภาพว่า
inData.length() > 16หรือไม่ - หากสตริงมีขนาดใหญ่ โค้ด C++ ต้องแบ่งมันออกเป็นส่วนๆ!
lcd.setCursor(0, 0); lcd.print(inData.substring(0, 16));(บรรทัดแรก)lcd.setCursor(0, 1); lcd.print(inData.substring(16, 32));(บรรทัดที่สอง)- buzzer ทางกายภาพทำหน้าที่เป็นชั้นการแจ้งเตือน โดยจะส่งเสียง "BEEP-BEEP!" ที่ดังชัดเจนเพื่อเตือนผู้ที่อยู่ในห้องทันทีที่มีข้อความใหม่มาถึง!
ข้อกำหนดสำหรับเอาต์พุตไร้สาย
- Arduino Uno/Nano (สถาปัตยกรรมมาตรฐาน)
- HC-05 หรือ HC-06 Bluetooth Slave Module (ต้องใช้ Resistor Voltage Divider ขนาด 1k/2k เพื่อลดแรงดันไฟจากขา TX 5V ของ Uno เพื่อไม่ให้วงจรตรรกะ RX 3.3V ที่ละเอียดอ่อนของ HC-05 เสียหาย!)
- 16x2 I2C Character Display Module (I2C ช่วยประหยัดสายไปได้ 10 เส้น!)
- Standard Active Piezo Buzzer สำหรับระบบแจ้งเตือนด้วยเสียง