บทความประกอบการเรียนรู้ => ไมโครคอนโทรลเลอร์ (Arduino) => ข้อความที่เริ่มโดย: admin ที่ กุมภาพันธ์ 20, 2015, 11:44:12 AM

หัวข้อ: งานครั้งที่ 32 เขียนโปรแกรมแสดงผล LCD 16x2
เริ่มหัวข้อโดย: admin ที่ กุมภาพันธ์ 20, 2015, 11:44:12 AM
เขียนโปรแกรมแสดงผล LCD 16x2
ฟังก์ชั่นที่ใช้ในกลุ่ม LCD http://arduino.cc/en/Tutorial/LiquidCrystal (http://arduino.cc/en/Tutorial/LiquidCrystal)
-lcd.begin()http://arduino.cc/en/Reference/LiquidCrystalBegin (http://arduino.cc/en/Reference/LiquidCrystalBegin)
-lcd.print() http://arduino.cc/en/Reference/LiquidCrystalPrint (http://arduino.cc/en/Reference/LiquidCrystalPrint)
-lcd.setCursor() http://arduino.cc/en/Reference/LiquidCrystalSetCursor (http://arduino.cc/en/Reference/LiquidCrystalSetCursor)
-lcd.clear() https://www.arduino.cc/en/Reference/LiquidCrystalClear (https://www.arduino.cc/en/Reference/LiquidCrystalClear)
-Liquid Crystal Library (ฟังก์ชั่นอื่น ๆ ที่มีให้ใช้งาน) http://arduino.cc/en/Reference/LiquidCrystal (http://arduino.cc/en/Reference/LiquidCrystal)
*ไลบารี่ LiquidCrystal.h มีมาให้แล้วพร้อมโปรแกรม Arduino IDE ไม่ต้องติดตั้งเพิ่ม

ฟังก์ชั่นทั่วไป
-delay() http://arduino.cc/en/Reference/Delay (http://arduino.cc/en/Reference/Delay)
-delayMicroseconds() http://arduino.cc/en/Reference/DelayMicroseconds (http://arduino.cc/en/Reference/DelayMicroseconds)

การสร้างตัวอักษรหรือสัญลักษณ์ขึ้นใช้เอง
LCD ชนิดตัวอักษรผู้ใช้งานสามารถสร้างตัวอักษรหรือสัญลักษณ์ขึ้นใช้เองซึ่งสามารถสร้างได้สูงสุด 8 ตัว โดยมีฟังก์ชั่นที่เกี่ยวข้องกับการสร้างและใช้งานดังนี้
-lcd.createChar() https://www.arduino.cc/en/Reference/LiquidCrystalCreateChar (https://www.arduino.cc/en/Reference/LiquidCrystalCreateChar)
-lcd.write() https://www.arduino.cc/en/Reference/LiquidCrystalWrite (https://www.arduino.cc/en/Reference/LiquidCrystalWrite)

เวปเครื่องมือสำหรับสร้างตัวอักษรหรือสัญลักษณ์ขึ้นใช้เอง
https://omerk.github.io/lcdchargen/ (https://omerk.github.io/lcdchargen/)
(http://www.praphas.com/PhotoForum/arduino/Lab-32-a.png)

โจทย์โปรแกรม
-เขียนโปรแกรมแสดงข้อความ, ตัวเลข โดยระบุตำแหน่งการแสดงผลบน LCD
-โปรแกรมรายละเอียดพิเศษรายกลุ่ม (แจ้งให้ทราบเมื่อถึงชั่วโมงเรียน)

วงจรที่ใช้ในการทดลองสำหรับผู้ที่ใช้บอร์ด Arduino
(http://www.praphas.com/PhotoForum/arduino/Lab-32-01.png)

วงจรที่ใช้ในการทดลองสำหรับผู้ที่ใช้ไอซี ATmega328 (ที่มี Boot Loader Arduino)
(http://www.praphas.com/PhotoForum/arduino/Lab-32-02.png)

บริเวณใช้งานบอร์ดทดลอง
(http://www.praphas.com/PhotoForum/arduino/Lab-32-03.png)

โปรแกรมตัวอย่างการแสดงผลจอ LCD
โค๊ด: [Select]
#include <LiquidCrystal.h>
/* The circuit:
 * LCD RS pin to digital pin 7
 * LCD E  pin to digital pin 6
 * LCD D4 pin to digital pin 5
 * LCD D5 pin to digital pin 4
 * LCD D6 pin to digital pin 3
 * LCD D7 pin to digital pin 2
 * LCD R/W pin to ground
*/
LiquidCrystal lcd(7,6,5,4,3,2);       // set up the LCD's connection pins
void setup()
{
  lcd.begin(16, 2);       // set up the LCD's number of columns and rows:
  lcd.print("hello, world!");
}
void loop() {}