Raspberry Pi 3 [Writing Text to 16×2 LCD]
จากตอนที่แล้วเราได้ทำการเชื่อมต่อ hardware ซึ่งได้แก่ จอ LCD ขนาด 16×2 ผ่าน I2C Module ไปเรียบร้อยแล้วนั้น เราจะเริ่มทำการ Config I2C และเขียน Python เพื่อแสดงข้อความตัวอักษรอย่างง่าย Enable I2C Module เริ่มด้วยการ login เข้าสู่ Raspberry Pi และใช้คำสั่ง sudo raspi-config บนหน้าจอ Terminal จากนั้นเลือก 5 Interfacing Option และเลือก P5 I2C (Enable/Disable automatic loading…) ทำการคอนเฟิร์ม ด้วยการตอบ YES จากนั้น Reboot จากนั้นทำการอัพเดทไฟล์ /boot/config.txt ด้วยคำสั่ง sudo nano /boot/config.txt ใส่ข้อความ (หรือ uncomment) ต่อไปนี้ dtparam=i2c1=on dtparam=i2c_arm=on จากนั้นทำการ reboot ครับ ลองใช้คำสั่ง sudo i2cdetect -y 1 เพื่อดูว่าเจอ I2C Module หรือไม่ ซึ่งผลที่ได้คือ address ของอุปกรณ์ (อาจแตกต่างกันไปในแต่ละเครื่อง ซึ่งในที่นี้คือ address 0x3f นั่นเอง) จากนั้นทำการตรวจสอบว่ามีการติดตั้ง Python ไว้หรือยัง ด้วยการทดลองเรียกใช้ซะเลย ด้วยคำสั่ง python3 จะพบกับหน้าจอดังนี้ (ใช้คำสั่ง exit() เพื่อออกกลับไปยัง prompt เดิม) แต่ถ้าหากยังไม่เคยติดตั้ง ให้ติดตั้งด้วยคำสั่ง sudo apt-get install python ครับ เริ่มเขียน Python เพื่อแสดงตัวอักษรบน LCD กันเลย เนื่องจากเราไม่ใช่คนแรกในโลกที่ใช้งานส่วนนี้ เพื่อเป็นการประหยัดเวลา เราจะทำการดาวน์โหลด library มาใช้งาน ซึ่ง ดาวน์โหลดได้ที่นี่ (ต้อง Extract Zip จะเจอไฟล์ RPi_I2C_Driver.py) โดยจะต้องทำการแก้ไข บันทัดที่ 54 ADDRESS = 0x3f ให้เป็น Address ของเราเอง (ต้นฉบับจากที่นี่ https://gist.github.com/DenisFromHR/cc863375a6e19dce359d) จากนั้นลองทำการเขียนกันดูครับ import RPi_I2C_Driver from time import * mylcd = RPi_I2C_Driver.lcd() mylcd.lcd_display_string(“Hello PSU !”, 1) เซฟไฟล์ชื่อ hello.py จากนั้นสั่งรันด้วยคำสั่ง python hello.py จะพบว่า LCD สามารถแสดงข้อความได้แล้ว คำสั่งพื้นฐานอื่นๆ ที่อาจต้องใช้ได้แก่ mylcd.lcd_display_string(“Hello PSU !”, 2, 3) แสดงข้อความที่ row 2, column 3 mylcd.lcd_clear() เพื่อเคลียร์หน้าจอ เป็นต้นครับ สำหรับตอนหน้า จะเป็นเรื่องของการแสดงข้อความอื่นๆ ในระบบ เช่น วัน/เวลา, IP Address, CPU/Memory/Disk Usage ครับ ผิดพลาดประการใด ขออภัยมา ณ โอกาสนี้ครับ