Arduino數碼管計時
數碼管計時功能實現
1、IDE
米思齊(Mixly)官網:http://maker.bnu.edu.cn/ http://mixly.org/創客教育不斷普及,以Arduino爲基礎的創意電子類創客教育課程正逐步在中小學中推廣開來。然而,由於受到其本身技術門檻的限制,創意電子類課程的開設給廣大師生提出了巨大的挑戰(Arduino需要通過C/C++語言編程實現創意,這對低年齡段的學生來說幾乎是不可能的)。創客教育需要更好的圖形化編程工具,Mixly(米思齊)因此應運而生。Mixly,中文名爲米思齊,全稱爲Mixly_Arduino,是一款由北京師範大學教育學部創客教育實驗室傅騫教授團隊開發的圖形化編程軟件。
米思齊軟件界面:
2、硬件
Arduino Uno和TM1637四位數碼管
Arduino是一塊基於開放原始代碼的Simple i/o平臺,並且具有開發語言和開發環境都很簡單、易理解的特點。讓您可以快速使用Arduino做出有趣的東西。它是一個能夠用來感應和控制現實物理世界的一套工具。 它由一個基於單片機並且開放源碼的硬件平臺,和一套爲Arduino板編寫程序 的開發環境組成。Arduino可以用來開發交互產品,比如它可以讀取大量的開關和傳感器信號,並且可以控制各式各樣的電燈、電機和其他物理設備。Arduino項目可以是單獨的,也可以在運行時和你電腦中運行的程序(例如:Flash,Processing,MaxMSP)進行通訊。
TM1637四位數碼管模塊是一個帶時鐘點的4位共陽數碼管(0.36英寸)的顯示模塊,驅動芯片爲TM1637,驅動方式爲IIC,因此只需2根信號線即可使單片機控制4位8段數碼管(數碼管8級灰度可調)。控制接口:共4個引腳(GND、VCC、DIO、CLK),GND爲地,VCC爲供電電源,DIO爲數據輸入輸出腳,CLK爲時鐘信號腳。
3、代碼
#include <SevenSegmentExtended.h>
#include <SevenSegmentTM1637.h>
SevenSegmentExtended display(7,8);
volatile int minute;//定義分
volatile int second;//定義秒
void setup(){
minute = 0;
second = 0;
display.begin();
}
void loop(){
display.printTime(minute,second,HIGH);
delayMicroseconds(1);
if (second == 59 && minute == 59) { //分和秒都達到59後歸0
second = 0;
minute = 0;
} else if (second == 59) {//秒達到59後歸0,分進1
second = 0;
minute = minute + 1;
} else {//秒進1
second = second + 1;
}
}
4、成果截圖
用到Aruino Uno的數字管腳7,8,DIO爲數據輸入輸出腳接8號管腳,CLK爲時鐘信號腳接7號管腳
5、相關鏈接:Github