国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Arduino控制板的多功能數(shù)字萬年歷設(shè)計(jì)

2016-02-23 01:54:08孫一帆厲復(fù)新趙睿哲袁麗丹程靜
電氣自動化 2016年5期
關(guān)鍵詞:鬧鈴控制板液晶

孫一帆, 厲復(fù)新, 趙睿哲, 袁麗丹, 程靜

(河南森源電氣股份有限公司,河南 長葛 461500)

基于Arduino控制板的多功能數(shù)字萬年歷設(shè)計(jì)

孫一帆, 厲復(fù)新, 趙睿哲, 袁麗丹, 程靜

(河南森源電氣股份有限公司,河南 長葛 461500)

針對當(dāng)今社會對時間信息的要求不斷豐富,設(shè)計(jì)了一種具有多功能的數(shù)字萬年歷。系統(tǒng)以Arduino 控制板為主控芯片,由時鐘芯片DS1302實(shí)現(xiàn)時鐘計(jì)數(shù)功能,溫度傳感器DS18B20實(shí)現(xiàn)溫度信號的采集功能,最后通過液晶LCD1602對所需信息進(jìn)行顯示,包括時間、溫度、節(jié)日、鬧鈴等,并且具有時間校準(zhǔn)等功能。軟件利用Arduino編程語言實(shí)現(xiàn)Arduino 控制板的程序控制。整套系統(tǒng)的電路設(shè)計(jì)具有掉電保護(hù)功能,可長時間的穩(wěn)定工作,有效的防止時間等信息的丟失。

Arduino控制板;DS1302;DS18B20;液晶LCD1602;仿真

0 引 言

隨著現(xiàn)代社會的不斷發(fā)展,產(chǎn)品的數(shù)字化是必然的趨勢。微電子和集成電路技術(shù),使得家用電子產(chǎn)品能夠方便的數(shù)字化,并且產(chǎn)品的種類也日益豐富[1]。LCD數(shù)字顯示的萬年歷走時準(zhǔn)確、顯示清晰直觀,并且還具有夜視等多種功能,是當(dāng)今廣泛應(yīng)用的一種計(jì)時工具。但通過對目前市場上時鐘的調(diào)查,發(fā)現(xiàn)大多數(shù)時鐘都會存在著某些不足之處,比如:走時不精確、無陰陽歷變換顯示、無節(jié)日的顯示等等,給人們的日常使用帶來了很大的不便。

為此設(shè)計(jì)了一種計(jì)時準(zhǔn)確、功能全面的基于Arduino控制板的多功能數(shù)字萬年歷。本系統(tǒng)通過Arduino控制板對DS1302獲取的時間數(shù)據(jù)和DS18B20采集的溫度數(shù)據(jù)進(jìn)行處理,然后由LCD1602顯示出時間、星期、陽歷、陰歷、溫度、二十四節(jié)氣、節(jié)日和鬧鈴等信息。

1 系統(tǒng)總體設(shè)計(jì)

系統(tǒng)主要利用Arduino控制板完成對時鐘芯片的時間信號的控制與傳輸,對溫度傳感器傳送的溫度信號的調(diào)理和傳輸,最終在液晶LCD上對采集信號的顯示,并且實(shí)現(xiàn)掉電保持功能。系統(tǒng)設(shè)計(jì)四個按鍵對輸入接口進(jìn)行實(shí)現(xiàn),通過四個按鍵的不同結(jié)合對時間進(jìn)行調(diào)整,以及對鬧鈴音樂的開關(guān)和鬧鈴時間的設(shè)置。由揚(yáng)聲器來實(shí)現(xiàn)鬧鈴和音樂的播放。最后由軟件控制程序?qū)λ泄δ艿膶?shí)現(xiàn)。

圖1 系統(tǒng)結(jié)構(gòu)框圖

系統(tǒng)由Arduino控制板模塊、時鐘模塊、溫度傳感器模塊、鍵盤接口模塊、顯示模塊和鬧鈴音樂模塊6個模塊組成,系統(tǒng)整體結(jié)構(gòu)框圖如圖1所示。

2 系統(tǒng)硬件設(shè)計(jì)

系統(tǒng)的硬件設(shè)計(jì)主要是時鐘模塊、溫度傳感器模塊、鍵盤接口模塊、顯示模塊和鬧鈴音樂模塊五部分與主控芯片Arduino控制板之間控制方式的設(shè)計(jì)。

圖2 DS1302電路連接圖

時鐘芯片DS1302是DALLAS公司推出的支持為后備電池涓流充電,具有低功耗的時鐘模塊,并支持各種時間的顯示[2]。其與Arduino控制板之間的連接只需三條數(shù)據(jù)連接線,具有簡單穩(wěn)定的特點(diǎn)。連接方式如圖2所示。

圖3 DS18B20電路連接圖

溫度傳感器DS18B20是由DALLAS公司推出的支持A/D轉(zhuǎn)換的單線數(shù)字溫度傳感器,其測量范圍可由 -55 ℃到+125 ℃,其中在-10 ℃與+85 ℃之間的精度是±0.5 ℃,在眾多溫度傳感器中具有較高的性價比,因而被廣泛應(yīng)用到現(xiàn)場[3]。此處采用DS18B20還有另外一重要原因就是其可以直接讀出溫度的數(shù)值,避免了復(fù)雜的換算過程,簡化了開發(fā)過程。DS18B20與Arduino控制板的連接方式如圖3所示。

鍵盤接口模塊是由4個微動開關(guān)連接Arduino控制板P1.0-P1.3口構(gòu)成,為了形成電壓差,開關(guān)的另一端需要連接地線。當(dāng)有按鍵按下時,P1.0-P1.3口將由高電平輸入轉(zhuǎn)變?yōu)榈碗娖捷斎?,不同的改變信號分別對應(yīng)時間的調(diào)整和退出以及音樂和鬧鈴播放的開關(guān)等功能。

液晶LCD1602的主要功能就是顯示點(diǎn)陣型的符號,包括字母、數(shù)字等[4]。其具有功耗極低、豐富的內(nèi)容顯示和超薄輕巧方便安裝等優(yōu)點(diǎn)。采用字母的顯示方法,LCD1602即可滿足系統(tǒng)的要求[5]。其可以直接與Arduino通信,二者之間的接線一種是8位連接法,另一種是4位連接法,由于8位連接法對接口的占用比較多,所以此處選用了4位連接法進(jìn)行連接,節(jié)約接口的占用。

3 系統(tǒng)軟件設(shè)計(jì)

圖4 數(shù)字萬年歷軟件設(shè)計(jì)圖

數(shù)字多功能萬年歷的軟件設(shè)計(jì)圖如圖4所示。 首先對主程序按照模塊化的設(shè)計(jì)思想進(jìn)行確定,然后再根據(jù)不同硬件的功能不同分別設(shè)計(jì)其子程序模塊,以利用程序語言的描述算法來實(shí)現(xiàn)其功能,最后再在主程序中嵌入各模塊的子程序。

圖5 系統(tǒng)主程序流程圖

系統(tǒng)的工作主要由Arduino控制板進(jìn)行控制,在軟件的設(shè)計(jì)上可劃分為系統(tǒng)的初始化和主體的循環(huán)兩部分。系統(tǒng)的初始化部分主要包括系統(tǒng)的時鐘芯片、四個按鍵值、液晶LCD的初始化以及其他的模塊內(nèi)部函數(shù)中的初始化。系統(tǒng)的主體循環(huán)部分又可分為外循環(huán)部分和內(nèi)循環(huán)部分。在外循環(huán)部分中主要是對時間和鬧鈴音樂播放的設(shè)置。在內(nèi)循環(huán)部分中主要是對溫度、時間以及其對應(yīng)的節(jié)假日的數(shù)據(jù)實(shí)時采集和日期的轉(zhuǎn)換。系統(tǒng)主程序流程如圖5所示。

針對讀取溫度傳感器DS18B20的溫度數(shù)據(jù)的程序進(jìn)行重點(diǎn)設(shè)計(jì)說明[6]。由于DS18B20采用的是由單根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸?shù)膮f(xié)議方式,即1-Wire總線[7],而普通的單片機(jī)在硬件的設(shè)計(jì)上并不支持這種傳輸協(xié)議,而在Arduino控制板上已經(jīng)采用了軟件模擬單總線協(xié)議時序的方法實(shí)現(xiàn)其對DS18B20芯片的訪問,并封裝成了可以用來直接讀出DS18B20的數(shù)據(jù)的庫,可以直接調(diào)取使用,這就使得系統(tǒng)的開發(fā)簡化,無形中加快了系統(tǒng)的開發(fā)速度,縮短了軟件的開發(fā)周期。以下為部分測試程序列表:

#include

#include

#define ONE_WIRE_BUS 2

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

void setup(void)

{

Serial.begin(9600);

tempSensor.begin(12); // DS18B20接在數(shù)字I/O第12號引腳上

}

void loop(void)

{

//檢查溫度傳感器工作是否正常

switch(tempSensor.isValid())

{

case 1:

Serial.println("Invalid CRC");

tempSensor.reset(); //重置溫度傳感器

return;

case 2:

Serial.println("Not a valid device");

tempSensor.reset(); //重置溫度傳感器

return;

}

//從DS18B20中讀取溫度值

Serial.print(tempSensor.getTemperature());

Serial.print("C");

Serial.println();

}

4 仿真調(diào)試

圖6 Atmega328P與 ArduinoUNO端口引腳對應(yīng)圖

圖7 液晶LCD1602仿真接線圖

單片機(jī)芯片,在相應(yīng)的存儲位置加入Hex文件,并對其工作狀態(tài)進(jìn)行參數(shù)設(shè)置,最后進(jìn)行播放選擇,就可以在Proteus的仿真環(huán)境里看到Arduino控制板的運(yùn)行狀態(tài)。其中液晶LCD1602仿真接線如圖7所示。

系統(tǒng)程序采用模塊化的方式進(jìn)行調(diào)試,首先是針對各模塊的子程序?qū)崿F(xiàn)功能的不同進(jìn)行單獨(dú)調(diào)試,使得最終實(shí)現(xiàn)其相應(yīng)的所需功能。其次是對各模塊子程序和主程序進(jìn)行合理的融合,能夠?qū)崿F(xiàn)總調(diào),其中總調(diào)試特別需要注意的是各部分程序模塊之間的參數(shù)傳遞的實(shí)現(xiàn)。最后在調(diào)試期間注意各模塊子程序的現(xiàn)場保護(hù)與恢復(fù),防止程序運(yùn)行出錯。

調(diào)試結(jié)果表明時間和溫度的誤差很小,基本符合設(shè)計(jì)要求。各個按鍵都能實(shí)現(xiàn)其相應(yīng)的基本功能,通過按鍵之間的不同組合可以設(shè)定當(dāng)前的時間和鬧鈴時間,當(dāng)定時時間到,小喇叭就發(fā)出音樂響聲,直到播放完自動停止。

5 結(jié)束語

本系統(tǒng)充分利用Arduino控制板的系統(tǒng)資源,結(jié)合DS1302和DS18B20兩種高精度芯片,使得所檢測和顯示的數(shù)據(jù)優(yōu)于市場上的萬年歷,并且實(shí)現(xiàn)了陽陰歷之間的轉(zhuǎn)換和節(jié)日顯示的功能,以及加入的鬧鈴音樂等功能,使得本萬年歷的設(shè)計(jì)更加人性化、智能化。

本系統(tǒng)具有開發(fā)周期短,設(shè)計(jì)結(jié)構(gòu)簡單、調(diào)試方便、功耗低、性價比高和穩(wěn)定性好等優(yōu)點(diǎn)。符合多功能數(shù)字萬年歷的發(fā)展方向,具有一定的市場價值。

[1] 紀(jì)欣然. 基于Arduino開發(fā)環(huán)境的智能尋光小車設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,35(15): 161-163.

[2] 李偉躍. 基于時鐘芯片 DS1302 的萬年歷的設(shè)計(jì)[J].科技創(chuàng)新導(dǎo)報,2012,9(9): 20-21.

[3] 段波. 基于RS-485,1-Wire總線的遠(yuǎn)程多點(diǎn)溫度采集系統(tǒng)解決方案[J]. 制造業(yè)自動化, 2010,32(2).43-45.

[4] BAI SHI,WANG YANFENG,HUANG MIN,et al. Trend of LCD touch sensor technology[J]. 液晶與顯示, 2010,25(4): 572-575.

[5] 莫禾勝,唐曉輝. 基于LCD液晶顯示器的時間顯示系統(tǒng)設(shè)計(jì)與制作[J]. 科技信息, 2010,27(21): 106-107.

[6] 李鋼,趙彥峰. 1-Wire總線數(shù)字溫度傳感器DS18B20原理及應(yīng)用[J]. 現(xiàn)代電子技術(shù), 2005,28(21): 77-79.

[7] 左現(xiàn)剛,劉艷昌.基于1-wire總線的溫度數(shù)據(jù)采集與硬件設(shè)計(jì)[J].制造業(yè)自動化, 2012,34(14):128-131,134.

[8] 謝龍漢,莫衍. Protues電子電路設(shè)計(jì)及仿真[M].北京:電子工業(yè)出版社,2012.

Arduino的Proteus仿真建立,首先由編程軟件Arduino IDE進(jìn)行程序的編寫,通過選擇其菜單欄中的Tools菜單項(xiàng),找到其中Board中的Arduino Uno進(jìn)行編譯,得到相應(yīng)的Hex文件,即二進(jìn)制機(jī)器碼文件[8]。其次是在軟件模塊Proteus ISIS中繪制所需的電氣原理圖。其中在Proteus ISIS繪圖時是由Atmega328P單片機(jī)代替Arduino UNO,其中Atmega328P引腳與Arduino UNO端口對應(yīng)圖如圖6所示。雙擊圖中的Atmega328P

Design of Multi-function Digital Calendar Based on Arduino Control Board

Sun Yifan, Li Fuxin, Zhao Ruizhe, Yuan Lidan, Cheng Jing

(Henan Senyuan Electric Co.,Ltd., Changge Henan 461500, China)

Aiming at the constantly enriched time information requirements in today's society a multi-function digital calendar has been designed. This system uses Arduino control board as the main control chip, to realize the clock counting function with clock chip DS1302 and realize temperature signal acquisition function by the temperature sensor DS18B20, and finally display the required information including time, temperature, festival, alarms, etc. via LCD1602 while the time can be calibrated. In software side, Arduino programming language is used to achieve programmable control of Arduino control board. The whole design of the system circuit with the function of power-fail protection can work stably for a long time and prevent effectively the loss of time and other information.

Arduino control board; DS1302; DS18B20; LCD1602; simulation

10.3969/j.issn.1000-3886.2016.05.009

TP273

A

1000-3886(2016)05-0029-02

孫一帆(1986-)男,河南輝縣人,碩士生,2014年畢業(yè)于河南理工大學(xué),研究方向:電氣工程、自動化控制。

定稿日期: 2016-01-04

猜你喜歡
鬧鈴控制板液晶
有效鬧鈴
意林(2023年18期)2023-11-05 10:45:10
關(guān)于某家用電器靜電彈簧控制板一拖多自動檢測裝置的研究與應(yīng)用
日用電器(2023年7期)2023-09-07 00:41:56
日出
不可壓液晶方程組的Serrin解
一種橡膠減震裝置
《液晶與顯示》征稿簡則
液晶與顯示(2020年8期)2020-08-08 07:01:46
軌道交通AFC導(dǎo)向標(biāo)識控制板設(shè)計(jì)
電子制作(2019年23期)2019-02-23 13:21:22
一種機(jī)載SAR中心控制板的設(shè)計(jì)
麻辣戰(zhàn)國
液晶與顯示2015年第30卷第1期 目錄
液晶與顯示(2015年1期)2015-02-28 21:15:54
长顺县| 安国市| 神农架林区| 沁水县| 巨鹿县| 丰宁| 湘乡市| 汝阳县| 桐梓县| 慈溪市| 修武县| 田林县| 武威市| 临汾市| 磐安县| 湖口县| 罗田县| 潮州市| 麦盖提县| 大名县| 中卫市| 镇巴县| 新邵县| 苏尼特左旗| 井研县| 婺源县| 安阳市| 阿拉善盟| 霍林郭勒市| 大庆市| 大厂| 铁岭县| 昭觉县| 交口县| 化州市| 丹东市| 武宁县| 澄城县| 平昌县| 忻城县| 安远县|