文/孫浩文
Arduino是一款便捷靈活、方便上手的開源電子原型平臺。包含硬件(各種型號的Arduino板)和軟件(Arduino IDE)。Arduino能實(shí)現(xiàn)各種傳感器感知,其中包括控制燈光、馬達(dá)等裝置影響周圍的環(huán)境。板子上的自帶的微控制器可以通過Arduino的編程語言來實(shí)現(xiàn)程序加載,同時編譯成二進(jìn)制文件,燒錄進(jìn)微控制器。
流水燈控制技術(shù)的應(yīng)用已經(jīng)在霓虹燈廣告宣傳、智能照明、小區(qū)燈飾、舞臺設(shè)計的燈光和音響控制等諸多領(lǐng)域得到了廣泛應(yīng)用,使得人們的生活與工作環(huán)境得到質(zhì)量的提升。本文以Arduino平臺為基礎(chǔ),通過對I/O口的實(shí)時信號控制輸出來實(shí)現(xiàn)對6位LED流水燈在6種狀態(tài)之間任意切換的效果。
表1:元器件清單
圖1:基于Arduino的花式流水燈的硬件電路原理圖
圖2
流水燈是指一組在Arduino平臺的控制下,按照設(shè)定的規(guī)則和延時來實(shí)現(xiàn)對LED發(fā)光二級管的亮和滅控制。本文以Arduino平臺為依據(jù),控制各個數(shù)字I/O所接的LED發(fā)光二極管的狀態(tài)。本文共設(shè)定了6種對LED發(fā)光二級管的控制方法。
花樣子程序一:控制LED燈從左向右依次延時400ms點(diǎn)亮,再從右向左依次延時400ms熄滅,最后控制所有LED燈延時400ms閃爍兩次。
花樣子程序二:控制LED燈從左向右點(diǎn)亮第3、5位號燈亮,延時400ms后點(diǎn)亮第2、6位號燈亮,延時400ms后一號燈亮,延時400ms后一號燈熄滅,延時400ms后熄滅2、6號燈,延時400ms后熄滅3、5位號燈,延時400ms后控制所有LED燈閃爍兩次。
花樣子程序三:LED燈從左向右點(diǎn)亮1、5位號燈亮,延時400ms后燈亮2、4位號燈,同時熄滅1、5位號燈,延時400ms后點(diǎn)亮3號等,同時2、4號燈熄滅,延時400ms后3號燈亮,同時熄滅2、4號燈,延時400ms后點(diǎn)亮1、5位號燈,同時熄滅2、4號燈,延時400ms后點(diǎn)亮6號燈,延時400ms后點(diǎn)亮3號燈,延時400ms后點(diǎn)亮2號燈,同時熄滅3、6號燈,延時400ms后點(diǎn)亮1號燈,同時熄滅2號燈,延時400ms后所有LED燈閃爍兩次。
花樣子程序四: LED燈從右向左依次點(diǎn)亮,延時400ms后(從左向右數(shù))熄滅1、5號燈,延時400ms后熄滅2號燈,延時400ms后熄滅3號燈,延時400ms后熄滅4號燈,延時400ms后熄滅6號燈,延時400ms后所有LED燈閃爍兩次。
花樣子程序五:LED燈從右向左依次點(diǎn)亮,延時400ms后(從左向右數(shù))熄滅1、3號燈,延時400ms后熄滅2號燈,延時400ms后依次熄滅4、5、6號燈,延時400ms后所有LED燈閃爍兩次。
花樣子程序六:LED燈從右向左依次點(diǎn)亮,延時400ms后(從左向右數(shù))熄滅1、6號燈,延時400ms后熄滅2、4號燈,延時400ms后熄滅3號燈,延時400ms后熄滅5號燈,延時400ms后所有LED燈閃爍兩次。
基于Arduino平臺的流水燈的硬件電路由三部分組成,第一部分是Arduino開發(fā)系統(tǒng)、第二部分是輸出模塊6個發(fā)光二極管和電阻構(gòu)成的負(fù)載電路,第三部分是電源電路(本次使用USB供電模式)。在該本項目中,共用到表1所列的元器件。
通過Fritzing(圖形化Arduino電路開發(fā)軟件)。硬件設(shè)計的電路圖如圖1示。
電路輸出部分電路:6個發(fā)光二極管采用共陰極接法,陰極通過限流電阻R與Arduino開發(fā)系統(tǒng)電源地連接,陰極連接到開發(fā)系統(tǒng)的數(shù)字I/O口上,通過I/O輸出高低電平驅(qū)動LED發(fā)光二級管的熄滅和點(diǎn)亮。
本文設(shè)計了6種流水燈控制子程序,LED發(fā)光二極管可以根據(jù)控制程序?qū)崿F(xiàn)不同狀態(tài)的轉(zhuǎn)換。具體設(shè)計的子程序如圖2所示。
本論文以arduino開發(fā)系統(tǒng)為平臺,利用arduino系統(tǒng)的數(shù)字I/O實(shí)現(xiàn)對6個LED發(fā)光二極管的實(shí)時控制,同時設(shè)計了流水燈的硬件電路和軟件程序,通過arduino硬件平臺對結(jié)果進(jìn)行了驗證,達(dá)到了預(yù)期的效果。