和12歲小同志搞創(chuàng)客開發(fā):手撕代碼,點(diǎn)亮LED燈
本篇博文將在Arduino IDE軟件中手寫第一個小Demo,點(diǎn)亮LED燈。
1
Arduino編程架構(gòu)
在Arduino中,標(biāo)準(zhǔn)的程序入口main函數(shù)在內(nèi)部被定義, 用戶只需要關(guān)心以下兩個函數(shù):setup()函數(shù)和loop()函數(shù)。
當(dāng)Arduino板啟動時setup()函數(shù)會被調(diào)用。用它來初始化變量,引腳模式,開始使用某個庫,等等。該函數(shù)在Arduino板的每次上電和復(fù)位時只運(yùn)行一次。
在創(chuàng)建setup函數(shù),該函數(shù)初始化和設(shè)置初始值,loop()函數(shù)所做事的正如其名,連續(xù)循環(huán),允許你的程序改變狀態(tài)和響應(yīng)事件??梢杂盟鼇韺?shí)時控制arduino板。
// 主程序開始void setup() {//寫入setup代碼,只運(yùn)行一次}void loop() {//寫入main代碼,重復(fù)運(yùn)行}
2
點(diǎn)亮LED燈
點(diǎn)亮LED燈實(shí)現(xiàn)代碼如下所示:
void setup() {pinMode(13, OUTPUT);}// the loop function runs over and over again forevervoid loop() {digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)delay(1000); // wait for a seconddigitalWrite(13, LOW); // turn the LED off by making the voltage LOWdelay(1000); // wait for a second}
由于LED是輸出設(shè)備,所以在setup()函數(shù)中先初始化LED為輸出模式,實(shí)現(xiàn)函數(shù)如下所示:
pinMode(pin, mode);這個函數(shù)是用來設(shè)置Arduino數(shù)字引腳的模式的,只用于數(shù)字引腳定義是輸入(INPUT)還是輸出(OUTPUT)。pin指數(shù)字引腳號,mode指引腳模式(OUTPUT/INPUT)。
loop函數(shù)中就只用到了一個函數(shù)digitalrite()。
digitalWrite(pin,value)這個函數(shù)的意義是:引腳pin在pinMode()的中被設(shè)置為OUTPUT模式時,其電壓將被設(shè)置為相應(yīng)的值,HIGH:輸出高電平,為5V(3.3V控制板上為3.3V),LOW:輸出低電平,為OV。
delay是延時的意思。括號中寫入的是毫秒(ms)。所以,delay(1000)就是延時1s的意思。最后實(shí)現(xiàn)的就是LED亮一秒,滅一秒,一直無限循環(huán)。
新手創(chuàng)客從Mind+編程軟件過渡到Arduino IDE軟件,可以結(jié)合兩款軟件優(yōu)點(diǎn),比如Mind+可以通過拖拉控件生成代碼,直接復(fù)制代碼到Arduino IDE中修改也是便捷的開發(fā)小技巧。
往期推薦

