
MicroPython จอแสดงผล ตอนที่ 1 (i2c LCD)
MicroPython เราได้ทำความรู้จักการใช้ในในส่วนของ Input/Output ไปแล้ว และได้ทำการติดตั้ง AMPY พร้อที่จะใช้งานเพราะว่าต้องมีการ upload file script ที่ะต้องใช้งานเพราะในส่วนการแสดงผล character lcd นั้น MicroPython ไม่มี buildin driver ให้เราใช้งานเราจะต้องเขียน script drviver กันขึ้นมาเอง แต่ในที่นี้ไม่ต้องเขียนเพราะได้เตรียม file script ไว้ให้เรียบร้อยแล้ว สามารถโหลด esp8266_i2c_lcd.py และ
lcd_api.py มาเก็บไว้ที่เครื่องกันก่อน
หลังจากโหลดท้งสอง file มาเรียบร้อยแล้วเราต้องทำการ upload ทั้งสอง file ไปเก็บไว้ใน file system ของบอร์ดโดยให้เราเปิด command line ขึ้นมาเพื่อเช็คดูว่าใน file system ของบอร์ดเรามีอะไรอยู่บ้างด้วยคำสั่ง ampy -p {COMPORT} ls
COMPORT คือ Port ที่ใช้ติดต่อกับบอร์ดของแต่ละท่านอาจจะไม่เหมือนกัน
ampy -p COM11 ls

อย่างน้อยที่สุดจะต้องมี file boot.py เพราะจะเป็น script ที่ถูกเรียกใช้งานเป็นอันดับแรกเมื่อระบบเริ่มทำงาน ส่วน webrepl_cfg.py ได้จากการที่เราเปิดใช้งาน WebRepl มาถึงตอนนี้แสดงว่าเราพร้อมที่จะทำการ upload file ต่าง ๆ ไปยังบอร์ดได้แล้ว
การ upload file ไปยังบอร์ดใช้คำสั่ง
ampy -p {COMPORT} put {SOURCE_FILE} {DESTINATION_FILE}
SOURCE_FILE คือ file ที่เราต้องการ upload ไปยังบอร์ด
DESTINATION_FILE คือ ชื่อ file ปลายทาง ถ้าไมใส่ชื่อ file ปลายทางจะใช้เป็นช่อเดียวกับ file ต้นทาง
เตรียม file ที่ต้องการ upload

upload file esp8266_i2c_lcd.py
ampy -p COM11 put esp8266_i2c_lcd.py

หลังจากกด enter จะใช้เวลา upload พอประมาณถ้าทำสำเร็จจะไม่มีการแสดง error ใด ๆ
upload file lcd_api.py
ampy -p COM11 put lcd_api.py

หลังจาก upload ทั้งสอง file เรียบร้อยแล้วก็ทำการตรวจสอบว่าในระบบ file system ของบอร์ดมี file ทั้งสองอยู่จริง ๆ
ampy -p COM11 ls

เป็นอันเรียบร้อยโรงเรียน MicroPython ต่อไปเราจะมาทำการทดสอบ file script ทั้งสองด้วยการเขียนโปรแกรมติดต่อกับ character lcd
character lcd ที่เราจะใช้จะเป็นแบบ i2c 16 ตัวอักษร 2 แถว ก่อนที่จะใช้งาน i2c ได้นั้นเราต้องทำการ import module i2c ที่อยู่ใน package machine เข้ามาเสียก่อน
from machine import I2C
import module Pin
from machine import Pin
กำหนดขาที่ใช้เชื่อมต่อกับระบบบัส I2C โดยให้ SCL = GPIO2, SDA = GPIO0
scl = Pin(2)
sda = Pin(0)
สร้าง object I2C โดยใช้ชื่อตัวแปรเป็น i2c
i2c = I2C(scl=scl, sda=sda, freq=100000)

ทำการต่ออปกรณ์เข้ากับบอร์ดและทดสอบว่าใช้งานได้หรือไม โดยจะทำการแสกนอุปกร์ที่อู่บนบัส
i2c.scan()

จะ return ค่าออกมาเป็น address ของอุปกรณ์ในรูปแบบของ array ในที่นี้ 39 = 0x27 เป็น address ของ i2c Lcd
import module I2cLcd ที่อยู่ใน package esp8266_i2c_lcd
from esp8266_i2c_lcd import I2cLcd
สร้าง object I2cLcd โดยใช้ชื่อตัวแปรเป็น lcd
lcd = I2cLcd(i2c, 0x27, 2, 16)

ล้าหน้าจอ
lcd.clear()
แสดงผลโดยใช้คำสั่ง putstr()
lcd.putstr(“ESP8266\nMicroPython”)
จะทำการแสดงผลเป็นแบบ 2 แถว ซึ่งตัดแถวโดยใช้เครื่องหมาย \n

กำหนดการแสดงผลด้วยการย้าย cursor
lcd.clear()
lcd.move_to(3, 0)
lcd.putstr(“ESP8266”)
lcd.move_to(3, 1)
lcd.putstr(“MicroPython”)

เพียงเท่านี้เราก็สามารถทำการแสดงผลด้วยการใช้ 12c Lcd ได้แล้วด้วย code Python