การใช้งาน 4-Digit LED Display กับ Arduino
โมดูลแสดงผลตัวเลข 4 หลัก แบบมีจุดนาฬิกาคั่น หน้าจอ 0.36″ ใช้ไฟ 5 โวลต์ ใช้ IC TM1637 เป็นตัวขับ การเชื่อมต่อแบบอินเตอร์เฟส I2C ใช้สายสัญญาณพียง 2 เส้น ใช้ง่าย มีไลบารีมาให้พร้อมใช้งาน สำหรับงานแสดงผลตัวเลขที่มีเวลาเช่น นาฬิกา , แสดงผลการจับเวลา และอื่น ๆ
รายการอุปกรณ์
- 1. Arduino UNO R3 รุ่น Keyestudio PLUS
- 2. Keyestudio 4-Digit LED Display Module
- 3. Jumper (F2F) cable 20cm Female to Female
ขั้นตอนการทํางาน
1 : โปรแกรมแรก กับ Arduino Keyestudio PLUS
สวัสดีชาวโลก (Hello World) คือ คำง่าย ๆ สำหรับการเขียนโปรแกรมแรกของโปรแกรมเมอร์ เป็นโปรแกรมคอมพิวเตอร์พื้นฐานที่ทำการแสดงผลคำว่า “Hello world” บนอุปกรณ์แสดงผล ซึ่งเป็นหนึ่งในโปรแกรมที่ง่ายที่สุดเท่าที่จะเป็นไปได้ในการเขียนภาษาโปรแกรมต่างๆ ตามขั้นตอนลิงค์ด้านล่าง
2 : เชื่อมต่อ โมดูล 4-Digit LED Display
โมดูลแสดงผลนี้ใช้ไอซี TM1637 ในการขับ 4-Digit LED Display ดังนั้นจึงต้องไปโหลดไลบารี่ DigitalTube มาลงก่อน
ขาของโมดูลจะมีทั้งหมด 4 ขา ดังนี้
- VCC สำหรับจ่ายไฟแรงดัน 3.3V – 5V
- GND
- CLK สำหรับสร้างความถี่กำหนดจังหวะการส่งข้อมูล
- DIO สำหรับส่งข้อมูล
สำหรับการต่อขาใช้งานตามโค้ด จะกำหนดไว้ดังนี้
ต่อขา VCC ของโมดูล 4-Digit LED Display เข้ากับขา 5V ของบอร์ด Keyestudio PLUS
ต่อขา GND ของโมดูล 4-Digit LED Display เข้ากับขา G ของบอร์ด Keyestudio PLUS
ต่อขา CLK ของโมดูล 4-Digit LED Display เข้ากับขา D5 ของบอร์ด Keyestudio PLUS
ต่อขา DIO ของโมดูล 4-Digit LED Display เข้ากับขา D3 ของบอร์ด Keyestudio PLUS
3 : ติดตั้งไลบรารี DigitalTube
สำหรับการใช้งานโมดูล 4-Digit LED Display ต้องติดตั้งไลบรารี DigitalTube เพิ่มเข้าไปที่ Arduino IDE
ดาวน์โหลดไลบรารีได้ที่ : http://www.lungmaker.com/libraries/DigitalTube.zip
เปิดโปรแกรม Arduino IDE ไปที่ Sketch -> Include Library -> Add .ZIP Library…
ไปที่ ไฟล์ DigitalTube.zip ที่เรา ดาวน์โหลด มา -> Open
ตรวจสอบที่ Sketch -> Include Library จะพบ ไลบรารี DigitalTube เพิ่มเข้ามาใน Arduino IDE ของเรา
4 : อัพโหลดโค้ดให้กับ Arduino Keyestudio PLUS
เชื่อมต่อสาย USB จาก คอมพิวเตอร์ ไปที่บอร์ด Arduino Keyestudio PLUS
เขียนโปรแกรม หรือ Sketch ตามโค้ดด้านล่างนี้
#include "TM1637.h"
#define CLK 5 //pins definitions for TM1637 and can be changed to other ports
#define DIO 3
TM1637 tm1637(CLK,DIO);
void setup()
{
tm1637.init();
tm1637.set(BRIGHT_TYPICAL);//BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7;
}
void loop()
{
//int8_t NumTab[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};//0~9,A,b,C,d,E,F
int8_t NumTab[] = {0,1,2,3,4,5,6,7,8,9};//0~9,A,b,C,d,E,F
int8_t ListDisp[4];
unsigned char i = 0;
unsigned char count = 0;
delay(150);
while(1)
{
i = count;
count ++;
if(count == sizeof(NumTab)) count = 0;
for(unsigned char BitSelect = 0;BitSelect < 4;BitSelect ++)
{
ListDisp[BitSelect] = NumTab[i];
i ++;
if(i == sizeof(NumTab)) i = 0;
tm1637.display(0,ListDisp[0]);
tm1637.display(1,ListDisp[0]);
tm1637.display(2,ListDisp[0]);
tm1637.display(3,ListDisp[0]);
tm1637.point(POINT_ON);
delay(100);
}
}
}
คลิกที่ Upload -> รอจนกระทั่งขึ้น Done uploading. ที่แถบด้านล่าง แสดงว่าเราอัพโหลดโปรแกรมลงบอร์ดได้สำเร็จแล้ว
5 : ผลลัพธ์การทำงาน
ที่ 4-Digit LED Display แสดง 00:00 ถึง 99:99 แสดงว่า 4-Digit LED Display พร้อมใช้งานแล้ว