« เมื่อ: มิถุนายน 04, 2016, 12:47:08 PM »
การแสดงผล 7-segment 8 digit Max7219 ด้วยไลบรารี่ HCMAX7219
วงจรที่ใช้ทดลอง.
กรณีใช้บอร์ดรุ่น NodeMCU
กรณีใช้บอร์ดรุ่น WeMos D1 mini
ข้อดีของไลบรารี่ HCMAX7219
1. มีฟังก์ชั่นพิมพ์ข้อความให้ใช้งาน
2. มีฟังก์ชั่นแสดงตัวเลข(หลายหลักได้) ทั้งเลขจำนวนบวก/ลบ และแสดงทศนิยมได้
ข้อเสียของไลบรารี่ HCMAX7219
1. เนื่องจากใช้การสื่อสารด้วย SPI ดังนั้นขาเชื่อมต่อที่เป็น MOSI,SCLK จึงเปลี่ยนเป็นขาอื่นไม่ได้
2. การสร้างรูปแบบการติดสว่างของแต่ละเซกเมนต์ต้องเข้าไปแก้ในไลบรารี่
ไลบารี่ที่ใช้งาน
-SPI.h (มีมาพร้อมแล้วไม่ต้องหาดาวน์โหลดเพื่อติดตั้งเพิ่มเติม)
-HCMAX7219.h ดาวน์โหลดได้ที่ https://github.com/HobbyComponents/HCMAX7219
การเพิ่มไลบารี่ลงในโปรแกรม Arduino IDE จากไฟล์ Zip
1. ดาวน์โหลดไฟล์ Zip ดังรูป
2. ทำการเพิ่มไลบรารี่ลงในโปรแกรม Arduino IDE โดยการเพิ่มจากไฟล์ zip แล้วทำการหาไฟล์ zip ที่ได้จากการดาวน์โหลดในข้อ 1
ฟังก์ชั่นในไลบารี่ HCMAX7219.h
-HCMAX7219.Intensity(Level, Driver) //level 0-15
-HCMAX7219.Clear() //Clears the contents of the output buffer.
-HCMAX7219.Refresh() //Update all connected drivers with the contents of the output buffer.
-HCMAX7219.print7Seg("TEXT STRING", Offset)
-HCMAX7219.print7Seg(Value, Offset)
-HCMAX7219.print7Seg(Value, Decimal_Position, Offset)
รายละเอียดเพิ่มเติมของไลบารี่
http://forum.hobbycomponents.com/viewtopic.php?f=58&t=1794
วงจรที่ใช้ทดลอง
ตัวอย่างโปรแกรม
/*
PINOUT:
MODULE.....NodeMCU/WeMos D1 mini
VCC.............+5V
GND.............GND
DIN.............GPIO13(D7)(MOSI)
CS (LOAD).......GPIO12(D6)
CLK.............GPIO14(D5)(SCLK)
*/
#include <HCMAX7219.h>
#include "SPI.h"
#define LOAD 12 /* Set the LOAD (CS) GPIO12=D6 */
HCMAX7219 HCMAX7219(LOAD);
void setup()
{
HCMAX7219.Intensity(4, 0); /*Sets the intensity of the LED 0 to 15 */
}
void loop()
{
HCMAX7219.Clear(); /* Clear the output buffer */
HCMAX7219.print7Seg("ABCD",8);/* Write some text to the output buffer */
HCMAX7219.print7Seg(123,2,3); /* Write value to the output buffer */
HCMAX7219.Refresh(); /* Send the output buffer to the display */
while(1);
}
*เฉพาะขา CS สามารถเปลี่ยนไปใช้ขาอื่น ๆ ได้รูปแบบการแสดงผล (จากโปรแกรมตัวอย่างข้างบน)
ผลการรัน
« แก้ไขครั้งสุดท้าย: กันยายน 04, 2019, 01:40:49 PM โดย admin »
บันทึกการเข้า