本系列文章為作者原創(chuàng)驹沿,未經(jīng)作者書面同意艘策,不得轉(zhuǎn)載!
第二個(gè)項(xiàng)目渊季,我們來(lái)做一個(gè)交通燈朋蔫。在第一個(gè)項(xiàng)目中,我們點(diǎn)亮了板載LED燈却汉,可能很多盆友還是不過(guò)癮驯妄,我們既沒(méi)有動(dòng)手設(shè)計(jì)電路圖,連接元器件合砂,也沒(méi)有敲代碼青扔,這樣就OK了,是不是感覺(jué)成功的喜悅來(lái)得有點(diǎn)太突然了?
沒(méi)關(guān)系翩伪,第二個(gè)項(xiàng)目能夠滿足您以上的所有需求微猖,呵呵!不過(guò)啊缘屹,咱們學(xué)習(xí)還得一步一步來(lái)凛剥,千萬(wàn)不要小看控制一盞LED燈,其實(shí)轻姿,您能夠控制一盞LED燈犁珠,您就能控制一部馬達(dá)(加一個(gè)繼電器),既然能夠控制一部馬達(dá)了互亮,您就能創(chuàng)作出很多東西犁享。所以,最關(guān)鍵的是我們的想象力和我們運(yùn)用知識(shí)的能力胳挎。說(shuō)得有點(diǎn)多了饼疙,我們開(kāi)始今天的項(xiàng)目吧溺森!
1 項(xiàng)目背景
我想大家都看見(jiàn)過(guò)交通燈慕爬,就是馬路上十字路口的紅綠燈窑眯。如果您開(kāi)過(guò)車,我想您一定仔細(xì)觀察過(guò)交通燈医窿,如果您還沒(méi)有駕駛過(guò)車磅甩,您是否仔細(xì)觀察過(guò)交通燈呢?交通燈包括三種個(gè)不同顏色的燈:紅燈姥卢、黃燈和綠燈卷要。
每個(gè)路口的紅綠燈切換的時(shí)間并不是相同,這個(gè)是根據(jù)不同路口的車流情況來(lái)設(shè)定的独榴,我們假設(shè)紅綠燈切換的時(shí)長(zhǎng)是30秒僧叉,那么三盞燈的閃動(dòng)情況是這樣的:紅燈常亮30秒,紅燈熄滅棺榔,綠燈常亮27秒瓶堕,然后按照1秒1次的頻率閃動(dòng)3次(時(shí)長(zhǎng)為3秒),綠燈熄滅症歇,黃燈按照1秒一次的頻率閃動(dòng)3次(時(shí)長(zhǎng)為3秒)郎笆,黃燈熄滅,如此重復(fù)忘晤,見(jiàn)下面的時(shí)序表:
燈 | 狀態(tài) | 時(shí)長(zhǎng)(秒) |
---|---|---|
紅燈 | 常亮 | 30 |
綠燈 | 常亮 | 27 |
綠燈 | 閃爍 | 3 |
黃燈 | 閃爍 | 3 |
2 所需元器件
元器件 | 型號(hào) | 數(shù)量 | 備注 |
---|---|---|---|
主控板 | arduino Uno | 1 | |
LED燈 | 3 | 紅黃綠各一個(gè) | |
電阻 | 220歐姆 | 3 | |
面包板 | 1 | ||
杜邦線 | 7 | ||
數(shù)據(jù)線 | Uno數(shù)據(jù)線 | 1 |
3 電路圖
根據(jù)交通燈的項(xiàng)目需求宛蚓,我們需要按照上面的時(shí)序表控制三個(gè)不同顏色的LED燈的開(kāi)關(guān),我們分別將LED燈的正極(較長(zhǎng)一些的引腳设塔,后面我們還會(huì)詳細(xì)介紹一下LED燈)接入U(xiǎn)no的2凄吏、7、12引腳(當(dāng)然您也可以接入其它數(shù)字引腳)闰蛔,LED燈的負(fù)極引腳串聯(lián)一個(gè)220歐姆的限流電阻后接地(Uno上的GND引腳)竞思,由于Uno上面GND引腳有限,同時(shí)也是為了簡(jiǎn)化接線钞护,我們使用了面包板上的電源軌來(lái)同時(shí)接入三個(gè)LED燈的負(fù)極盖喷。
由于這是我們第一個(gè)電路圖,所以本章對(duì)電路的基本組成部分做一個(gè)較為詳細(xì)的介紹(這也是本系列文章的寫作風(fēng)格难咕,那就是盡量不脫離項(xiàng)目來(lái)介紹某個(gè)知識(shí)點(diǎn)课梳,而是將知識(shí)點(diǎn)放在項(xiàng)目中講解,這樣能夠讓那些剛剛?cè)腴T的朋友能夠在項(xiàng)目的實(shí)踐過(guò)程中構(gòu)建較為全面的知識(shí)體系余佃,這也是本人對(duì)教育家杜威先生的“從做中學(xué)”教育理念的一種實(shí)踐吧D喝小),如果您確認(rèn)對(duì)這部分內(nèi)容已經(jīng)很熟悉爆土,您可以跳過(guò)這一節(jié)椭懊。
約翰·杜威(John Dewey,1859-1952):“所有的學(xué)習(xí)都是行動(dòng)的副產(chǎn)品步势,所以教師要通過(guò)“做”氧猬,促使學(xué)生思考背犯,從而學(xué)得知識(shí)≈迅В”
3.1 面包板
當(dāng)您開(kāi)始搭建一個(gè)電路時(shí)漠魏,面包板是最基本、最簡(jiǎn)單的元件之一妄均。由于面包板上有很多小插孔柱锹,各種電子元器件可根據(jù)需要任意插入或拔出,免去了焊接的工序丰包,節(jié)省了電路的組裝時(shí)間禁熏,且元件可以重復(fù)使用,非常適合電路的組裝邑彪、調(diào)試和學(xué)習(xí)匹层。
面包板是這個(gè)樣子的:
面包板這個(gè)名稱聽(tīng)起來(lái)有點(diǎn)奇怪,電路跟面包有關(guān)系嗎锌蓄?您別不信升筏,還真有關(guān)系。面包板的得名可以追溯到真空管電路的年代瘸爽,當(dāng)時(shí)的電路元器件大都體積較大您访, 人們通常通過(guò)螺絲和釘子將他們固定在一塊切面包用的木板上進(jìn)行連接,后來(lái)電路元器件體積越來(lái)越小剪决,但面包板的名稱沿用了下來(lái)灵汪。
3.1.1 面包板的規(guī)格
面包板有不同的規(guī)格,如170孔(3547mm)柑潦,400孔(8555mm)享言,800孔(165*55mm)等。如下圖渗鬼,從上到下依次為170孔览露、400孔和800孔面包板:
每塊面包板的四邊都有凸起和凹槽,使同一大小規(guī)格的面包板可以進(jìn)行拼接譬胎,可用空間變大差牛。面包板背面一般都有不干貼,方便其粘貼固定在物體上堰乔。
3.1.2 結(jié)構(gòu)以及內(nèi)部構(gòu)造
面包板使用熱固性酚醛樹(shù)脂制造偏化,板底有金屬條,在板上對(duì)應(yīng)位置打孔使得元件插入孔中時(shí)能夠與金屬條接觸镐侯,從而達(dá)到導(dǎo)電目的侦讨,一般將每5個(gè)孔用一條金屬條連接。板子中央一般有一條凹槽,這是針對(duì)需要集成電路韵卤、芯片試驗(yàn)而設(shè)計(jì)的骗污。板子兩側(cè)有兩排豎著的插孔(電源軌),也是5個(gè)一組怜俐,為板子上的元件提供電源。
3.1.2.1 電源軌
在面包板的上下兩側(cè)分別有兩列插孔邓尤,一般是作為電源引入的通路拍鲤。上方第一行標(biāo)有“+”的一列有5組插孔,每組5個(gè)(內(nèi)部5個(gè)孔連通)汞扎,均為正極季稳。上方第二行標(biāo)有“-”的一列有5組插孔,每組5個(gè)(內(nèi)部5個(gè)孔連通)澈魄,均為接地景鼠。面包板下方第一行與第二行結(jié)構(gòu)同上。如需用到整個(gè)面包板痹扇,通常將“+”與“+”用導(dǎo)線連接起來(lái)铛漓,“-”與“-”用導(dǎo)線連接起來(lái)。
800孔的電源板電源軌有兩種類型鲫构,一種是整個(gè)電源軌全連通浓恶,面包板上的紅藍(lán)標(biāo)識(shí)線為:一整條線,另一種是電源軌分為兩部分结笨,中間斷開(kāi)包晰,我們?cè)诖罱娐窌r(shí)一定注意,如下圖:
3.1.2.2 接線軌
連接孔分為上下兩部分炕吸,是我們的主工作區(qū)伐憾,用來(lái)插接原件和跳線。在同一列中的5個(gè)插孔(在面包板的兩端有字母標(biāo)識(shí)赫模,即a-b-c-d-e树肃,f-g-h-i-j)是互相連通的;列和列(在面包板的上下兩側(cè)有數(shù)字標(biāo)識(shí)瀑罗,即1-30)之間以及凹槽上下部分(即e-f)是不連通的扫外。
3.1.2.3 凹槽
在面包板的中間有一個(gè)長(zhǎng)長(zhǎng)的凹槽,其作用如下:
表示上下兩部分是斷開(kāi)的廓脆。
-
凹槽中間距離為7.26mm筛谚,剛好插入標(biāo)準(zhǔn)窄體的DIP引腳集成電路芯片。
-
由于集成電路芯片引腳很多停忿,一般不易取下來(lái)驾讲,如果暴力拔出很容易弄彎引腳,甚至折斷引腳,這個(gè)凹槽剛好可以用鑷子之類東西伸到集成電路下面吮铭,方便取出集成電路时迫。
3.1.3 如何在面包板上搭建電路
3.1.3.1 串聯(lián)電路
串聯(lián)電路圖:
我們?cè)诿姘迳系倪B線:
3.1.3.2 并聯(lián)電路
并聯(lián)電路圖:
我們?cè)诿姘迳系倪B線:
實(shí)際運(yùn)行效果:
3.1.4 面包板使用及注意事項(xiàng)
- 安裝分立元件時(shí),應(yīng)便于看到其極性和標(biāo)志谓晌,將元件引腳理直后掠拳,在需要的地方折彎。為了防止裸露的引線短路纸肉,必須使用帶套管的導(dǎo)線溺欧,一般不剪斷元件引腳,以便于重復(fù)使用柏肪。一般不要插入引腳直徑大于0.8mm的元器件姐刁,以免破壞插座內(nèi)部接觸片的彈性。
- 對(duì)多次使用過(guò)的集成電路的引腳烦味,必須修理整齊聂使,引腳不能彎曲,所有的引腳應(yīng)稍向外偏谬俄,這樣能使引角與插孔可靠接觸柏靶。要根據(jù)電路圖確定元器件在面包板上的排列方式,目的是走線方便溃论。為了能夠正確布線并便于查線宿礁,所有集成電路的插入方向要保持一致,不能為了臨時(shí)走線方便或縮短導(dǎo)線長(zhǎng)度而把集成電路倒插蔬芥。
- 根據(jù)信號(hào)流程的順序梆靖,采用邊安裝邊調(diào)試的方法。元器件安裝之后笔诵,先連接電源線和地線返吻。為了查線方便,連線盡量采用不同顏色乎婿。例如:正電源一般采用紅色絕緣皮導(dǎo)線面包板的使用負(fù)電源用藍(lán)色测僵,地線用黑線,信號(hào)線用黃色谢翎,也可根據(jù)條件選用其它顏色捍靠。
- 面包板宜使用直徑為0.6mm左右的單股導(dǎo)線。根據(jù)導(dǎo)線的距離以及插孔的長(zhǎng)度剪斷導(dǎo)線森逮,要求線頭剪成45斜口榨婆,線頭剝離長(zhǎng)度約為6mm左右,要求全部插入底板以保證接觸良好褒侧。裸線不宜露在外面良风,防止與其它導(dǎo)線斷路谊迄。
- 連線要求緊貼在面包板上,以免碰撞彈出面包板烟央,造成接觸不良统诺。必須使連線在集成電路周圍通過(guò),不允許跨接在集成電路上疑俭,也不得使導(dǎo)線互相重疊在一起粮呢,盡量做到橫平豎直,這樣有利于查線钞艇,更換元器件及連線啄寡。
- 最好在各電源的輸入端和地之間并聯(lián)一個(gè)容量為幾十微法的電容,這樣可以減少瞬變過(guò)程中電流的影響香璃。為了更好地抑制電源中的高頻分量这难,應(yīng)該在該電容兩端再并聯(lián)一個(gè)高頻去耦電容舟误,一般取0.01 ~ 0.047μf的獨(dú)石電容葡秒。
- 在布線過(guò)程中,要求把各元器件放置在面包板上的相應(yīng)位置以及所用的引腳號(hào)標(biāo)在電路圖上嵌溢,保證調(diào)試和查找故障的順利進(jìn)行眯牧。
- 所有的地線必須連接在一起,形成一個(gè)公共參考點(diǎn)赖草。
3.1.5 布線原則
- 盡量減少連接點(diǎn)学少。增加一個(gè)連接點(diǎn),相當(dāng)于人為地增加了故障概率秧骑。
- 盡量避免立交橋版确。所謂的“立交橋”就是元器件或者導(dǎo)線騎跨在別的元器件或者導(dǎo)線上。初學(xué)者最容易犯這樣的錯(cuò)誤乎折。這樣做绒疗,一方面給后期更換元器件帶來(lái)麻煩,另一方面骂澄,在出現(xiàn)故障時(shí)吓蘑,零亂的導(dǎo)線很容易使人失去信心。
- 盡量牢靠坟冲。有兩種現(xiàn)象需要注意:第一磨镶、集成電路很容易松動(dòng),因此健提,對(duì)于運(yùn)放等集成電路琳猫,需要用力下壓,一旦不牢靠私痹,需要更換位置沸移。第二痪伦、有些元器件管腳太細(xì),要注意輕輕撥動(dòng)一下雹锣,如果發(fā)現(xiàn)不牢靠网沾,需要更換位置。
- 方便測(cè)試蕊爵。5孔孤島一般不要占滿辉哥,至少留出一個(gè)孔,用于測(cè)試攒射。
- 布局盡量緊湊醋旦,信號(hào)流向盡量合理。
- 布局盡量與原理圖近似会放。這樣有助于同學(xué)們?cè)诓檎夜收蠒r(shí)饲齐,盡快找到元器件位置。
- 電源區(qū)使用盡量清晰咧最。在搭接電路之前捂人,首先將電源區(qū)劃分成正電源、地矢沿、負(fù)電源3個(gè)區(qū)域滥搭,并用導(dǎo)線完成連接。
3.1.6 保護(hù)
- 盡量避免進(jìn)水捣鲸、碎屑以及粉狀物進(jìn)入插孔瑟匆。
- 避免集成電路的粗暴插拔,以免管腳折在插孔內(nèi)栽惶;不要將金屬線折斷在插孔內(nèi)愁溜。
- 不要將太粗的導(dǎo)線、探針外厂、管腳插入孔內(nèi)冕象。
(面包板介紹這部分內(nèi)容參考了鏈接地址,在此對(duì)原作者表示感謝酣衷!)
3.2 LED燈
百度百科:
發(fā)光二極管簡(jiǎn)稱為L(zhǎng)ED交惯。由含鎵(Ga)、砷(As)穿仪、磷(P)席爽、氮(N)等的化合物制成。當(dāng)電子與空穴復(fù)合時(shí)能輻射出可見(jiàn)光啊片,因而可以用來(lái)制成發(fā)光二極管只锻。在電路及儀器中作為指示燈,或者組成文字或數(shù)字顯示紫谷。砷化鎵二極管發(fā)紅光齐饮,磷化鎵二極管發(fā)綠光捐寥,碳化硅二極管發(fā)黃光,氮化鎵二極管發(fā)藍(lán)光祖驱。因化學(xué)性質(zhì)又分有機(jī)發(fā)光二極管OLED和無(wú)機(jī)發(fā)光二極管LED握恳。
3.2.1 原理
它是半導(dǎo)體二極管的一種,可以把電能轉(zhuǎn)化成光能捺僻。
3.2.2 極性
發(fā)光二極管的兩根引線中較長(zhǎng)的一根為正極乡洼,應(yīng)接電源正極。
3.2.3 LED單向?qū)ㄐ?/h3>
LED只能往一個(gè)方向?qū)ǎㄍ姡┴芭鳎泳€時(shí)一定要注意束昵,否則有可能擊穿LED,永久損壞LED葛峻。
3.2.4 應(yīng)用
LED燈的應(yīng)用非常廣泛,如:汽車信號(hào)燈锹雏、交通信號(hào)燈、室外全色大型顯示屏以及特殊的照明光源术奖,下圖是北京奧運(yùn)會(huì)開(kāi)幕式上LED的應(yīng)用效果礁遵。
3.3 電阻
電阻器(Resistor)在日常生活中一般直接稱為電阻。是一個(gè)限流元件,將電阻接在電路中后盐类,電阻器的阻值是固定的一般是兩個(gè)引腳,它可限制通過(guò)它所連支路的電流大小。
阻值不能改變的稱為固定電阻器病附。阻值可變的稱為電位器或可變電阻器。
電阻在電路圖中用字母R來(lái)表示绕沈,單位為歐姆Ω良蛮。
3.4 杜邦線
杜邦線可用于不同元器件間的連接,可以非常牢靠地和插針連接然走,無(wú)需焊接援制,可以快速進(jìn)行搭建電路。
杜邦線根據(jù)兩端的接口類型芍瑞,分為三種:
-
公對(duì)公
-
公對(duì)母
-
母對(duì)母
在選擇杜邦線時(shí)請(qǐng)根據(jù)元器件引腳的類型進(jìn)行選擇晨仑,購(gòu)買時(shí),最好每種都買一些拆檬,方便使用洪己。
4 程序代碼
/*
*名稱:有趣的交通燈實(shí)驗(yàn)
*
*功能:紅燈常亮30秒,紅燈熄滅竟贯,綠燈常亮27秒答捕,然后按照1秒1次的頻率閃動(dòng)3次,綠燈熄滅屑那,黃燈按照1秒一次的頻率閃動(dòng)3次拱镐,黃燈熄滅艘款,如此重復(fù)。
*
*作者:YXK
*
*時(shí)間:2018.5.24
*
*/
//setup函數(shù)在重新上電或按了復(fù)位后只運(yùn)行一次
void setup() {
// 初始化2沃琅、7哗咆、12引腳,并將其定義為輸出引腳益眉。
pinMode(2, OUTPUT); //綠燈
pinMode(7, OUTPUT); //黃燈
pinMode(12, OUTPUT); //紅燈
}
// loop函數(shù)永遠(yuǎn)地循環(huán)重復(fù)執(zhí)行
void loop() {
digitalWrite(12, HIGH); //將紅燈點(diǎn)亮(HIGH代表高電壓)
delay(30000); //保持30秒
digitalWrite(12, LOW); //將紅燈熄滅(LOW代表低壓)
digitalWrite(2, HIGH); //將綠燈點(diǎn)亮
delay(27000); //保持27秒鐘
digitalWrite(2, LOW); //將綠燈熄滅并開(kāi)始閃爍,頻率為1秒
delay(500);
digitalWrite(2, HIGH);
delay(500);
digitalWrite(2, LOW);
delay(500);
digitalWrite(2, HIGH);
delay(500);
digitalWrite(2, LOW);
delay(500);
digitalWrite(2, HIGH);
delay(500);
digitalWrite(2, LOW); //綠燈熄滅岳枷,閃爍結(jié)束
digitalWrite(7, HIGH); //黃燈點(diǎn)亮,并開(kāi)始閃爍呜叫,頻率為1秒
delay(500);
digitalWrite(7, LOW);
delay(500);
digitalWrite(7, HIGH);
delay(500);
digitalWrite(7, LOW);
delay(500);
digitalWrite(7, HIGH);
delay(500);
digitalWrite(7, LOW); //黃燈熄滅空繁,閃爍結(jié)束,開(kāi)始下一個(gè)循環(huán)
delay(500);
}
4.1 代碼講解
交通燈項(xiàng)目的程序看起來(lái)比上一個(gè)項(xiàng)目的程序長(zhǎng)了很多朱庆,但實(shí)際上并沒(méi)有新的函數(shù)盛泡,都是我們上一個(gè)項(xiàng)目運(yùn)用過(guò)的三個(gè)函數(shù),分別是:
- 配置引腳輸入輸出狀態(tài)函數(shù):
pinMode(2, OUTPUT); //括號(hào)里面為函數(shù)參數(shù)
- 引腳輸出函數(shù):
digitalWrite(2, LOW); //向數(shù)字2引腳寫入LOW值娱颊,其電壓將設(shè)定為低電平0V
digitalWrite(7, HIGH); //向數(shù)字7引腳寫入HIGH值傲诵,其電壓將設(shè)定為高電平5V
- 時(shí)間延遲函數(shù):
delay(500); //參數(shù)為毫秒,500毫秒為0.5秒
結(jié)合程序中的注釋箱硕,您是不是很容易的理解這段代碼拴竹。
下面我們看看程序的執(zhí)行效果吧!
5 執(zhí)行效果
我們按照第三節(jié)的電路圖搭建好實(shí)際電路剧罩,然后我們將Arduino Uno電路板連接好電腦栓拜,將程序上傳到Uno上。
觀察三個(gè)LED燈是不是按照我們的設(shè)計(jì)閃動(dòng)的惠昔。
6 擴(kuò)展任務(wù)
我們今天做的交通燈只有一組(紅黃綠)幕与,但實(shí)際上馬路上的交通燈都是兩組,控制兩個(gè)方向镇防,當(dāng)一組的紅燈亮?xí)r啦鸣,另一組的綠燈亮,您是不是可以根據(jù)實(shí)際情況来氧,設(shè)計(jì)兩組交通燈诫给,然后用Uno控制它們呢!
如果您喜歡本文啦扬,您可以點(diǎn)擊一下下面的喜歡按鈕中狂,您也可以關(guān)注我,謝謝您的支持考传!