การใช้งาน I2C 16x2 LCD บน Raspberry pi ด้วย Node js
วันนี้เราจะมาเรียนรู้การใช้งาน I2C LCD ขนาด 16x2 บน Raspberry pi กัน โดยจะใช้ Node js ในการเขียนโปรแกรมติดกับ LCD
ถ้ายังไม่ลง Node js ดูบทความ
ถ้ายังไม่เปิดใช้งาน I2C ดูบทความ
i2c คืออะไรI²C หรือที่รู้จักในชื่อ I2C หรือ IIC เป็นบัสการสื่อสารแบบอนุกรมแบบซิงโครนัส มัลติมาสเตอร์ มัลติทาส สวิตช์แพ็คเก็ต ปลายเดียว การสื่อสารอนุกรมที่คิดค้นในปี 1982 โดยฟิลิปส์ เซมิคอนดักเตอร์ มีการใช้กันอย่างแพร่หลายในการเชื่อมต่อ IC อุปกรณ์ต่อพ่วงความเร็วต่ำกับโปรเซสเซอร์และไมโครคอนโทรลเลอร์ในการสื่อสารภายในบอร์ดระยะสั้น wikipedia
มาติดตั้งใช้งานกัน
1. ต่อวงจร i2c ตามรูป LCD ใช้ไฟเลี้ยง 5 V นะครับ
LCD 16x2 คือ Liquid Crystal Display แบบ Character (ตัวอักษร) มีสองบรรทัด บรรทัดละ 16 ตัวอักษร ได้รับความนิยมจนถึงปัจจุบัน
i2cdetect -y 1
i2c lcd อยู่ที่ address 0x27 |
3. สร้างโฟลเดอร์ของโปรเจค จากนั้น init โปรเจค
mkdir i2c-lcd
cd i2c-lcd
npm init -y
npm add raspberrypi-liquid-crystal
5. สร้างไฟล์ app.js เพื่อเขียนโปรแกรม จากนั้นกด Save
// Import the module
const LCD = require('raspberrypi-liquid-crystal');
// Instantiate the LCD object on bus 1 address 3f with 16 chars width and 2 lines
const lcd = new LCD(1, 0x27, 16, 2);
// Init the lcd (must be done before calling any other methods)
lcd.beginSync();
// Clear any previously displayed content
lcd.clearSync();
// Display text multiline
lcd.printLineSync(0, 'hello');
lcd.printLineSync(1, 'world!');
6. กลับไปที่ Terminal รันโปรแกรม พิมพ์คำสั่ง
node app.js
ใช้ได้แล้วครับ I2C Lcd แบบสองบรรทัด
มาดูการทำงานของโปรแกรมคร่าวๆ
- const LCD = require('raspberrypi-liquid-crystal'); //เรียกใช้งาน module
- const lcd = new LCD(1, 0x27, 16, 2); // ตั้งค่า i2c 1, address 0x27, lcd 16 อักษร 2 บรรทัด
- lcd.beginSync(); //เริ่มใช้งาน lcd
- lcd.clearSync(); // ลบหน้าจอ
- lcd.printLineSync(0, 'hello'); //แสดง hello ออกบรรทัดแรก
- lcd.printLineSync(1, 'world!');//แสดง world! ออกบรรทัดที่สอง
ง่ายใช่ไหมครับ นำไปประยุกต์ใช้งานกันนะ
ติดตามพูดคุยได้ที่ facebook: Bulantech
การใช้งาน I2C 16x2 LCD บน Raspberry pi ด้วย Node js
Reviewed by amaloma
on
ตุลาคม 07, 2564
Rating:
ไม่มีความคิดเห็น