อยากให้โปรเจกต์ของเราสื่อสารได้ เริ่มยังไงดี?
สมมติว่าคุณกำลังทำเครื่องวัดอุณหภูมิ หรือสร้างหุ่นยนต์สักตัว คงจะดีไม่น้อยถ้ามันสามารถแสดงค่าตัวเลข หรือส่งข้อความทักทายเราออกมาเป็นตัวหนังสือได้เลย โดยที่เราไม่ต้องคอยเสียบสาย USB ต่อเข้าคอมพิวเตอร์เพื่อดูผลลัพธ์ตลอดเวลา
บทความนี้จะพาคุณมาลุยโปรเจกต์เบสิกที่คลาสสิกที่สุด นั่นคือการเชื่อมต่อจอ LCD 16x2 เข้ากับบอร์ด Arduino Uno เพื่อแสดงข้อความบนหน้าจอครับ ถือเป็นพื้นฐานสำคัญที่นำไปต่อยอดกับโปรเจกต์อิเล็กทรอนิกส์และหุ่นยนต์ได้อีกเพียบ!
อุปกรณ์ที่ต้องใช้ (Supplies)
หาของมาวางบนโต๊ะให้พร้อมตามลิสต์นี้เลยครับ:
- บอร์ดไมโครคอนโทรลเลอร์ Arduino Uno
- หน้าจอ LCD ขนาด 16x2
- เบรดบอร์ด (Breadboard) สำหรับต่อวงจร
- สายจัมเปอร์ (Jumper wires)
- ตัวต้านทานปรับค่าได้ (Potentiometer) สำหรับปรับความสว่าง/ความคมชัดของจอ
- ตัวต้านทานขนาด 100 Ohm (ในต้นฉบับระบุ 1k Resistor ในลิสต์อุปกรณ์ แต่ตอนต่อวงจรไฟแบคไลท์ใช้ 100 Ohm ครับ)
View more (ดูรูปอุปกรณ์เพิ่มเติม)
Step 1-3: การเตรียมบอร์ดและต่อไฟเลี้ยง (Power & Backlight)
เริ่มต้นจากการต่อไฟเลี้ยงเข้าเบรดบอร์ด เพื่อกระจายไฟไปให้อุปกรณ์ตัวอื่นๆ ครับ:
- วางบอร์ด Arduino และ Breadboard ไว้คู่กัน
- นำสายจัมเปอร์ต่อจากขา 5V ของบอร์ด Arduino ไปที่แถบขั้วบวก (Positive rail) ของ Breadboard และต่อขา GND ไปที่แถบขั้วลบ (Negative rail)
- เสียบหน้าจอ LCD ลงบน Breadboard (สมมติว่าครอบคลุมช่วงขา a15 ถึง a30)
-
ต่อไฟแบคไลท์ (Backlight): ลากสายจากแถบขั้วบวกมาใกล้ๆ ขาของจอ นำตัวต้านทาน 100 Ohm มาต่อเข้าที่ขา 15 ของ LCD (เพื่อจ่ายไฟให้แบคไลท์) จากนั้นต่อสายจากขั้วลบ (GND) เข้าที่ขา 16 ของ LCD ให้ครบวงจร
View more (ดูรูปการต่อไฟแบคไลท์)
Step 4-7: การเชื่อมต่อสายสัญญาณและตัวปรับความสว่าง
ขั้นตอนนี้เราจะโยงสายข้อมูล (Data Pins) เพื่อให้บอร์ดส่งข้อความไปหาจอได้ และต่อตัวปรับความคมชัด (Potentiometer) ครับ:
-
สายสัญญาณข้อมูล (Data Pins): ต่อขา 14 ของ LCD ไปที่ขา Digital 2 บนบอร์ด Arduino, ขา 13 ไปที่ D3, ขา 12 ไปที่ D4, และขา 11 ไปที่ D5
-
ต่อ Potentiometer: นำตัวต้านทานปรับค่าได้เสียบลง Breadboard ต่อขาหนึ่งเข้าขั้วบวก อีกขาเข้าขั้วลบ ส่วน "ขาตรงกลาง (Wiper)" ให้ต่อเข้าที่ขา 3 ของ LCD เพื่อเอาไว้หมุนปรับความคมชัดของตัวหนังสือ
-
สายควบคุม (Control Pins): ต่อขา 1 ของ LCD ลง GND (ขั้วลบ) / ต่อขา 2 ของ LCD เข้า VCC (ขั้วบวก) / ต่อขา 4 (RS) เข้า D12 / ต่อขา 5 (R/W) ลง GND เพื่อให้จออยู่ในโหมดเขียนเสมอ / และต่อขา 6 (Enable) เข้าที่ขา D11 ของบอร์ด
View more (ดูรูปการต่อสายสัญญาณและ Potentiometer)
Step 8-10: โครงสร้างโค้ดและการอัปโหลดเพื่อดูผลลัพธ์
เมื่อฮาร์ดแวร์พร้อมแล้ว ต่อมาคือการเขียนโค้ดสั่งงานบนโปรแกรม Arduino IDE โครงสร้างหลักๆ จะมีการเรียกใช้ไลบรารี LiquidCrystal กำหนดขาเชื่อมต่อให้ตรงกับที่เราต่อสายไว้ และสั่งพิมพ์ข้อความลงไป
ไปที่เมนู Tools > Board เลือกเป็น Arduino Uno และเลือก Port ให้ถูกต้อง จากนั้นกดปุ่มเครื่องหมายถูก (Verify) เพื่อเช็คความถูกต้องของโค้ด และกดปุ่มลูกศรขวา (Upload) เพื่อส่งโปรแกรมลงบอร์ด
View more (ดูตัวอย่าง Code และการกดอัปโหลด / Copy Code)
นำโค้ดภาษา C++ ด้านล่างนี้ไปวางใน Arduino IDE ของคุณได้เลยครับ:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("hello");
lcd.setCursor(0, 1);
lcd.print("world");
}
void loop() {
}
แท่นแท้นนน! ถ้าทำทุกอย่างถูกต้อง หน้าจอจะสว่างขึ้นมา (ถ้าตัวหนังสือไม่ชัด ให้ลองใช้ไขควงหมุนปรับที่ตัว Potentiometer) และแสดงคำว่า Hello ในบรรทัดแรก และ World!! ในบรรทัดที่สอง ถือเป็นการจบโปรเจกต์จอ LCD อย่างสวยงามครับ!
เริ่มโปรเจกต์หุ่นยนต์ของคุณเองได้แล้ววันนี้!
อยากลองทำโปรเจกต์เจ๋งๆ หรือกำลังตามหาบอร์ด Arduino และเซ็นเซอร์ไปประกอบร่างอยู่ใช่ไหม? เข้ามาดูอุปกรณ์และทริคดีๆ กับเราได้เลย:
คำเตือน: เนื้อหานี้เป็นการสรุปและเรียบเรียงจากบทความต้นฉบับภาษาอังกฤษ ข้อมูลฉบับภาษาไทยอาจมีความคลาดเคลื่อนบางประการจากการตีความหรือย่อเนื้อหา โปรดอ้างอิงและตรวจสอบการต่อวงจรโดยละเอียดจากต้นฉบับ