จอภาพที่ใช้กับอุปกรณ์ไมโครคอนโทลเลอร์ในรูปแบบของ I2C เป็นที่นิยมมากขึ้น เนื่องจากจำนวนสายสัญญาณที่มีเพียง 4 เส้น คือ SCL SDA Vcc และ GND ทำให้ง่ายต่อการใช้งาน และในปัจจุบันมีจอภาพแบบ OLED (Organic Light Emitting Diodes) ซึ่งมีขนาดบางกว่าจอ LCD เนื่องจากไม่มีเลเยอร์ของวงจรแบล็คไลท์ (Black Light) แต่ใช้กระบวนการ อิเล็กโทรลูมิเนเซนส์ (Electroluminescence) ซึ่งก็คือกระบวนการเปล่งแสงได้เองเมื่อมีกระแสไฟฟ้าไหลผ่านจุดนั้นๆ จึงทำให้จอ OLED มีขนาดบางและเบา ใช้กำลังไฟฟ้าต่ำ และบริเวณจุดที่ไม่ต้องการให้เปล่งแสงก็จะเป็นสีดำสนิทด้วย
โมดูลจอ OLED ที่เราจะนำมาทดสอบเป็นแบบสีเดียว (Monochrome) ขนาด 0.96 นิ้วและมีจำนวนจุดอยู่ที่ 128x64 พิกเซล โดยสามารถใช้แรงดันไฟฟ้าได้ทั้ง 3.3V และ 5V และใช้การสื่อสารแบบ I2C ที่ใช้สายไฟเพียง 4 เส้น
สำหรับการต่อวงจรโมดูลจอ OLED กับ Arduino Uno จะใช้สายต่อระหว่าง SDA กับ A4 และ SDL กับ A5 ส่วนแรงดันไฟฟ้าของจอ OLED จะใช้ 3.3V หรือ 5V ก็ได้ และอย่าลืมเชื่อมต่อสาย GND ระหว่างกันด้วย
การเขียนโปรแกรมควบคุมจอ OLED โดยซอฟต์แวร์ Arrow Control จะใช้บล็อกกลุ่ม I/O (สีแดง) ที่มีรูปจอภาพแบบต่างๆ ซึ่งมีคำสั่งแตกต่างกันไปดังนี้
บล็อกคำสั่งแรกเป็นการแสดงภาพโลโก้ AtRobt บนจอภาพ OLED สามารถทดสอบอัพโหลดโปรแกรมได้ง่ายๆดังนี้
สำหรับบล็อกคำสั่งแสดงตัวอักษร เมื่อคลิ้กขวาที่บล็อกนี้จะมีค่าตัวแปรอยู่ 2 แถวคือ LCD Line 1 และ LCD Line 2 เมื่อนำมาใช้กับจอภาพ OLED จอจะถูกแบ่งเป็น 4 บรรทัด โดยมีเงื่อนไขดังนี้
- บรรทัด 1 และ 2 ของจอ OLED จะแสดงตัวอักษรต่อเนื่องกันจากตัวแปร LCD Line 1
- บรรทัด 3 และ 4 ของจอ OLED จะแสดงตัวอักษรต่อเนื่องกันจากตัวแปร LCD Line 2
ทดลองอัพโหลดแผนภาพดังต่อไปนี้ และดูผลลัพธ์บนจอภาพ OLED
นอกจากนั้นยังสามารถใช้บล็อก แสดงค่าเซ็นเซอร์แบบดิจิตอล และ แสดงค่าเซ็นเซอร์แบบอนาล็อก เพื่อแสดงค่าที่อ่านได้จากพอร์ต A0 A1 A2 และ A3 โดยแบบดิจิตอลค่าที่อ่านได้จะเป็นค่า 0 และ 1 ส่วนแบบอนาล็อกค่าที่อ่านได้จะถูกปรับขนาดให้เป็นจำนวนเต็ม 0 ถึง 100
ทดสอบอัพโหลดโปรแกรมตามตัวอย่างแผนภาพต่อไปนี้ แล้วดูผลลัพธ์ที่แสดงบนจอภาพ OLED
การแสดงค่าเซ็นเซอร์แบบดิจิตอล
การแสดงค่าเซ็นเซอร์แบบอนาล็อก
นอกจากนั้นเรายังสามารถนำค่าเซ็นเซอร์ที่อ่านได้ไปใช้ในการเขียนโปรแกรมเงื่อนไขต่างๆ ซึ่งจะกล่าวถึงในตอนถัดไป ขอขอบคุณทุกคนที่ติดตามบทความนี้จนจบครับ (^:
0 comments:
Post a Comment