วิธีใช้งาน Arduino LCD Keypad Shield จอแสดงผลพร้อมปุ่มกด
วิธีใช้งาน Arduino LCD Keypad Shield จอแสดงผลพร้อมปุ่มกด
บอร์ด LCD Keypad Shield เป็นอุปกรณ์เสริมสำหรับ Arduino UNO ที่รวมจอแสดงผล LCD ขนาด 16 ตัวอักษร 2 บรรทัด (16x2) เข้ากับปุ่มกด 6 ปุ่มไว้ในบอร์ดเดียว ช่วยให้แสดงข้อมูลและรับคำสั่งจากผู้ใช้ได้โดยไม่ต้องต่อสายเพิ่ม
![Arduino LCD Keypad Shield ติดบน Arduino UNO พร้อมจอแสดงผลข้อความเริ่มต้น]
อุปกรณ์ที่ต้องใช้
- Arduino UNO R3
- สาย USB สำหรับอัปโหลดโค้ด
- 1602 LCD 16x2 Keypad Shield (เลือกสีจอ Blue หรือ Yellow ตามต้องการ)
- Power Adapter 9V 2A (ถ้าต้องการใช้งานแบบไม่ต่อ USB)
การต่ออุปกรณ์
ขั้นตอนการติดตั้งฮาร์ดแวร์มีดังนี้
- วาง Arduino UNO R3 บนพื้นผิวที่ราบเรียบ
- จัดตำแหน่งขาของ LCD Keypad Shield ให้ตรงกับ header บน Arduino UNO
- กด Shield ลงจนขาทั้งหมดเข้าแน่นใน header
[วาดภาพแผนผังการเสียบ Shield บน Arduino UNO พร้อมใส่ลูกศรชี้ตำแหน่งขาที่ตรงกัน]
โค้ดสำหรับแสดงผลและอ่านค่าปุ่มกด
เนื่องจากแหล่งที่มาของบทความไม่มีโค้ดตัวอย่าง เราจึงเขียนโค้ดที่ใช้งานได้จริงตามหลักการทำงานของ LCD Keypad Shield มาให้
// Arduino LCD Keypad Shield - แสดงผล LCD และอ่านค่าปุ่มกด
#include <LiquidCrystal.h>
// กำหนดขาที่ใช้งาน LCD (RS, E, D4, D5, D6, D7)
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
// กำหนดขาที่อ่านปุ่มกด
const int buttonPin = A0;
void setup() {
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("LCD Keypad Shield");
lcd.setCursor(0, 1);
lcd.print("Press any button");
}
void loop() {
int buttonValue = analogRead(buttonPin);
String buttonName = getButtonName(buttonValue);
lcd.setCursor(0, 1);
lcd.print(" "); // ล้างบรรทัดที่แสดงชื่อปุ่ม
lcd.setCursor(0, 1);
lcd.print(buttonName);
delay(100);
}
String getButtonName(int value) {
// ค่า ADC ของแต่ละปุ่ม (อาจต้องปรับค่าตามบอร์ดจริง)
if (value < 100) {
return "Right ";
} else if (value < 200) {
return "Up ";
} else if (value < 400) {
return "Down ";
} else if (value < 600) {
return "Left ";
} else if (value < 800) {
return "Select";
} else {
return "None ";
}
}
จุดที่ต้องปรับ: ค่า threshold ของแต่ละปุ่มในฟังก์ชัน getButtonName() อาจไม่ตรงกับ Shield ที่ใช้งาน ให้เปิด Serial Monitor แล้วสังเกตค่าที่แสดงตอนกดแต่ละปุ่ม แล้วปรับตัวเลขในเงื่อนไข if ให้เหมาะสม
ขั้นตอนการอัปโหลดโค้ด
- เปิด Arduino IDE แล้วคัดลอกโค้ดด้านบนไปวาง
- ไปที่ Tools -> Port เลือกพอร์ตที่เชื่อมต่อกับ Arduino UNO
- ไปที่ Tools -> Board เลือก Arduino UNO
- กดปุ่ม Upload (ลูกศรขวา)
- รอจนขึ้นข้อความ “Upload complete” ที่ด้านล่างของหน้าต่าง
[วาดภาพหน้าต่าง Arduino IDE แสดงขั้นตอนเลือก Port และ Board พร้อมลูกศรชี้เมนู]
ผลลัพธ์หลังอัปโหลด
เมื่ออัปโหลดสำเร็จ จอ LCD จะแสดงข้อความ “LCD Keypad Shield” ที่บรรทัดบน และ “Press any button” ที่บรรทัดล่าง เมื่อกดปุ่มใดๆ บรรทัดล่างจะเปลี่ยนเป็นชื่อปุ่มที่กด ได้แก่ Right, Up, Down, Left, Select หรือ None (ไม่มีปุ่มกด)
[วาดภาพจอ LCD Keypad Shield แสดงสถานะ 2 กรณี - บรรทัดบนแสดงชื่อโปรเจกต์ บรรทัดล่างแสดงชื่อปุ่มที่กด]
สรุป
LCD Keypad Shield เหมาะสำหรับงานที่ต้องการแสดงผลข้อมูลสถานะและรับคำสั่งจากผู้ใช้ เช่น เมนูเลือกโหมด หรือแสดงค่าอุณหภูมิแล้วให้กดปุ่มยืนยัน ข้อดีคือติดตั้งง่าย ไม่ต้องต่อสายเพิ่ม และ Shield มีขาเสียบซ้อนได้เลยโดยไม่รบกวนขา Digital ส่วนใหญ่ของ Arduino ทำให้ใช้งานร่วมกับเซ็นเซอร์หรือมอเตอร์เพิ่มเติมได้สะดวก
วิดีโออ้างอิง
อยากทำโปรเจคแบบนี้?
รับทำโปรเจค Arduino / IoT จบงานไว ส่งงานครบ พร้อมสอน
หากต้องการ รับทำโปรเจคอาดูโน่ หรือระบบ IoT แบบเร่งด่วน สามารถดูรายละเอียดบริการได้ที่หน้าแรก
จ้างทำโปรเจคเลย