กลับหน้าหลัก
views
วิธีใช้งาน Arduino LCD Keypad Shield จอแสดงผลพร้อมปุ่มกด
Last updated on

วิธีใช้งาน 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)

การต่ออุปกรณ์

ขั้นตอนการติดตั้งฮาร์ดแวร์มีดังนี้

  1. วาง Arduino UNO R3 บนพื้นผิวที่ราบเรียบ
  2. จัดตำแหน่งขาของ LCD Keypad Shield ให้ตรงกับ header บน Arduino UNO
  3. กด 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 ให้เหมาะสม


ขั้นตอนการอัปโหลดโค้ด

  1. เปิด Arduino IDE แล้วคัดลอกโค้ดด้านบนไปวาง
  2. ไปที่ Tools -> Port เลือกพอร์ตที่เชื่อมต่อกับ Arduino UNO
  3. ไปที่ Tools -> Board เลือก Arduino UNO
  4. กดปุ่ม Upload (ลูกศรขวา)
  5. รอจนขึ้นข้อความ “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 แบบเร่งด่วน สามารถดูรายละเอียดบริการได้ที่หน้าแรก

จ้างทำโปรเจคเลย

ความคิดเห็น