37款傳感器與執行器的提法,在網絡上廣泛流傳,其實Arduino能夠兼容的傳感器模塊肯定是不止這37種的。鑒於本人手頭積累了一些傳感器和執行器模塊,依照實踐出真知(一定要動手做)的理念,以學習和交流為目的,這里准備逐一動手嘗試系列實驗,不管成功(程序走通)與否,都會記錄下來---小小的進步或是搞不掂的問題,希望能夠拋磚引玉。
【Arduino】168種傳感器模塊系列實驗(資料代碼+圖形編程+仿真編程)
實驗七十三:4位LED數碼管顯示模塊0.36英寸亮度可調帶時鍾點( TM1637)

TM1637
天微 LED數碼管驅動芯片,是一種帶鍵盤掃描接口的LED(發光二極管顯示器)驅動控制專用電路,內部集成有MCU 數字接口、數據鎖存器、LED 高壓驅動、鍵盤掃描等電路。性能優良,質量可靠。主要應用於電磁爐、微波爐及小家電產品的顯示屏驅動。采用DIP/SOP20的封裝形式。


TM1637 特性
1、采用功率CMOS 工藝
2、顯示模式(8 段×6 位),支持共陽數碼管輸出
3、鍵掃描(8×2bit),增強型抗干擾按鍵識別電路
4、輝度調節電路(占空比 8 級可調)
5、兩線串行接口(CLK,DIO)
6、振盪方式:內置RC 振盪(450KHz+5%)
7、內置上電復位電路
8、內置自動消隱電路
9、封裝形式:DIP20/SOP20






LED數碼管
led數碼管(LED Segment Displays)由多個發光二極管封裝在一起組成“8”字型的器件,引線已在內部連接完成,只需引出它們的各個筆划,公共電極。數碼管實際上是由七個發光管組成8字形構成的,加上小數點就是8個。這些段分別由字母a,b,c,d,e,f,g,dp來表示。當數碼管特定的段加上電壓后,這些特定的段就會發亮,以形成我們眼睛看到的字樣了。如:顯示一個“2”字,那么應當是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。LED數碼管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸數碼管的顯示筆畫常用一個發光二極管組成,而大尺寸的數碼管由二個或多個發光二極管組成,一般情況下,單個發光二極管的管壓降為1.8V左右,電流不超過30mA。發光二極管的陽極連接到一起連接到電源正極的稱為共陽數碼管,發光二極管的陰極連接到一起連接到電源負極的稱為共陰數碼管。常用LED數碼管顯示的數字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。


TM1637 4位數碼管顯示模塊是一個12腳的帶時鍾點的4位共陽數碼管(0.36英寸)的顯示模塊,驅動芯片為TM1637,只需2根信號線即可使單片機控制4位8段數碼管。其主要特點有:
1、 顯示器件為4位共陽紅字數碼管
2、數碼管8級灰度可調
3、 控制接口電平可為5V或3.3V
4、4個M2螺絲定位孔,便於安裝


TM1637 4位數碼管顯示模塊電原理圖

TM1637 4位數碼管顯示模塊實驗開源代碼
/*
【Arduino】168種傳感器模塊系列實驗(資料代碼+圖形編程+仿真編程)
實驗七十三:4位LED數碼管顯示模塊0.36英寸亮度可調帶時鍾點( TM1637)
*/
#include <Arduino.h>
#include <TM1637Display.h>
#define CLK 2
#define DIO 3
#define TEST_DELAY 2000
const uint8_t SEG_DONE[] = {
SEG_B | SEG_C | SEG_D | SEG_E | SEG_G, // d
SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F, // O
SEG_C | SEG_E | SEG_G, // n
SEG_A | SEG_D | SEG_E | SEG_F | SEG_G // E
};
TM1637Display display(CLK, DIO);
void setup()
{
}
void loop()
{
int k;
uint8_t data[] = { 0xff, 0xff, 0xff, 0xff };
uint8_t blank[] = { 0x00, 0x00, 0x00, 0x00 };
display.setBrightness(0x0f);
display.setSegments(data);
delay(TEST_DELAY);
data[0] = display.encodeDigit(0);
data[1] = display.encodeDigit(1);
data[2] = display.encodeDigit(2);
data[3] = display.encodeDigit(3);
display.setSegments(data);
delay(TEST_DELAY);
display.clear();
display.setSegments(data+2, 2, 2);
delay(TEST_DELAY);
display.clear();
display.setSegments(data+2, 2, 1);
delay(TEST_DELAY);
display.clear();
display.setSegments(data+1, 3, 1);
delay(TEST_DELAY);
display.showNumberDec(0, false); // Expect: ___0
delay(TEST_DELAY);
display.showNumberDec(0, true); // Expect: 0000
delay(TEST_DELAY);
display.showNumberDec(1, false); // Expect: ___1
delay(TEST_DELAY);
display.showNumberDec(1, true); // Expect: 0001
delay(TEST_DELAY);
display.showNumberDec(301, false); // Expect: _301
delay(TEST_DELAY);
display.showNumberDec(301, true); // Expect: 0301
delay(TEST_DELAY);
display.clear();
display.showNumberDec(14, false, 2, 1); // Expect: _14_
delay(TEST_DELAY);
display.clear();
display.showNumberDec(4, true, 2, 2); // Expect: 04__
delay(TEST_DELAY);
display.showNumberDec(-1, false); // Expect: __-1
delay(TEST_DELAY);
display.showNumberDec(-12); // Expect: _-12
delay(TEST_DELAY);
display.showNumberDec(-999); // Expect: -999
delay(TEST_DELAY);
display.clear();
display.showNumberDec(-5, false, 3, 0); // Expect: _-5_
delay(TEST_DELAY);
display.showNumberHexEx(0xf1af); // Expect: f1Af
delay(TEST_DELAY);
display.showNumberHexEx(0x2c); // Expect: __2C
delay(TEST_DELAY);
display.showNumberHexEx(0xd1, 0, true); // Expect: 00d1
delay(TEST_DELAY);
display.clear();
display.showNumberHexEx(0xd1, 0, true, 2); // Expect: d1__
delay(TEST_DELAY);
for(k=0; k <= 4; k++) {
display.showNumberDecEx(0, (0x80 >> k), true);
delay(TEST_DELAY);
}
for(k = 0; k < 4; k++)
data[k] = 0xff;
for(k = 0; k < 7; k++) {
display.setBrightness(k);
display.setSegments(data);
delay(TEST_DELAY);
}
for(k = 0; k < 4; k++) {
display.setBrightness(7, false);
display.setSegments(data);
delay(TEST_DELAY);
display.setBrightness(7, true);
display.setSegments(data);
delay(TEST_DELAY);
}
display.setSegments(SEG_DONE);
while(1);
}
實驗開源圖形編程(Mind+、編玩邊學)

實驗開源仿真編程(linkboy4.2)



TM1637 4位數碼管顯示模塊實驗場景圖

TM1637 4位數碼管顯示模塊的應用案例——使用國產仿真編程軟件Linkboy, 超聲波智能控制測距儀


【花雕動手做】超聲波測距儀,設定20厘米聲光提示(視頻)
https://v.youku.com/v_show/id_XNDk5NDQzNzk5Ng==.html
