基于51單片機(jī)的遙控智能小車實(shí)作心得
兩年前學(xué)習(xí)51單片機(jī)時(shí),買了51hei單片機(jī)開發(fā)板?,F(xiàn)在正在學(xué)習(xí)基于STM32嵌入式系統(tǒng)的FAT32,UGUI和UCOSII操作系統(tǒng)。幾乎很少去看51單片機(jī)開發(fā)板了。某天,寶貝突然說要我給她買一個(gè)遙控小車,說別人都有。俺查了一下網(wǎng)上性能好點(diǎn)的小車價(jià)格不菲,我突然想起自己不是還有一塊閑置的51hei單片機(jī)開發(fā)板嗎?何不自己動手給寶寶做一個(gè)智能小車呢?閑話少說,付諸行動吧。
本文引用地址:http://www.ex-cimer.com/article/201612/324396.htm經(jīng)過近一個(gè)星期的行動,小車終于完成了,雖然說樣子是丑了一點(diǎn),但是性能不弱。主要功能:1,紅外遙控器遙控,小車同步前進(jìn),小車同步后退,左轉(zhuǎn)彎,右轉(zhuǎn)彎,左倒車,右倒車;2,行進(jìn)中自動壁障。其實(shí)功能可以隨便加,只要舍得花銀子。
程序是在 51hei單片機(jī)開發(fā)板紅外實(shí)驗(yàn)的源碼基礎(chǔ)上修改的,程序很簡單用的是中斷工作方式。電源是從收廢舊手機(jī)的人哪兒淘換來的,雖然是舊的,但經(jīng)過我充電實(shí)驗(yàn)性能依然很好;車架和電機(jī)以及紅外探頭是網(wǎng)上買的。電機(jī)驅(qū)動電路是本人自己單獨(dú)設(shè)計(jì),可以說是針對51hei單片機(jī)開發(fā)板的外圍電路量身定做,為了這電機(jī)驅(qū)動電路還真費(fèi)了我不少心思,下了血本了---用了4個(gè)DC型固態(tài)繼電器(當(dāng)然也是不花錢的,是從單位混來的)。制作這臺小車最花心思和時(shí)間的是程序調(diào)試和電機(jī)驅(qū)動電路設(shè)計(jì)。不管怎么說,小車是“聽話”的跑起來了。
單片機(jī)是一門實(shí)踐性很強(qiáng)的科學(xué),假如單純的去學(xué)習(xí)理論知識,而不實(shí)踐,是很難完全把握單片機(jī)的。單片機(jī)雖然是一個(gè)智能化的集成芯片,其本質(zhì)上還是一個(gè)電子元件。既然是電子元件,那么,就必須在一定的電路中才能運(yùn)行起來,才能實(shí)現(xiàn)它的功能。這就像電阻一樣,如果把一個(gè)電阻獨(dú)立的放著,是沒有任何意義的,只有將電阻接在電路中,才能實(shí)現(xiàn)它的功能,究竟是分壓,分流,還是限流,還得看詳細(xì)電路。
通過自己調(diào)試程序,不斷反復(fù)修改代碼,其中也經(jīng)歷了很多意想不到的事情。例如,紅外探頭的信號線接在哪個(gè)IO口,要盡量考慮到紅外信號對單片機(jī)外圍系統(tǒng)的干擾,主循環(huán)與中斷如何配合等等。通過對這些意外事情的處理,深刻體會到一個(gè)道理:實(shí)踐出真知!當(dāng)然理論是實(shí)踐的基礎(chǔ)。通過自己動手制作小車,可以說也是對51單片機(jī)知識的一種溫故:對單片機(jī)的最小系統(tǒng),工作原理,MCU資源有了更深刻的認(rèn)識!
其實(shí)也可以把智能小車視為簡單的機(jī)器人,機(jī)器人功能越齊全,智能化程度越高對MCU的要求就越高。簡單的機(jī)器人最需要在主程序里以主循環(huán)或中斷方式工作就能完成機(jī)器人的智能控制;如果是非常復(fù)雜的運(yùn)動智能機(jī)器人(運(yùn)用了大量傳感器)就必須上操作系統(tǒng)了。由此可見,操作系統(tǒng)是多么的重要!而在工業(yè)領(lǐng)域易于移植的實(shí)惠型操作系統(tǒng)自然就是免費(fèi)開源的UCOSSII操作系統(tǒng)了!
知識是融會貫通的,當(dāng)年自學(xué)c語言時(shí)覺得枯燥無味;但是將c語言結(jié)合嵌入式系統(tǒng)邊用邊學(xué)感覺就不一樣了。感嘆時(shí)間有限,精力有限,要學(xué)的想學(xué)的東西太多了!不管怎樣一定要抓緊時(shí)間把性能強(qiáng)大的STM32學(xué)透;切記今年的任務(wù):必須掌握FAT32,UGUI和UCOSII操作系統(tǒng)這“三大件”。
評論