簡(jiǎn)單穩定地感應你——紅外感應開(kāi)關(guān)的創(chuàng )新制作
我們家族八輩貧農,生活在一個(gè)東北的小山村,雖然說(shuō)沒(méi)見(jiàn)過(guò)什么大場(chǎng)面,可是好山好水的,生活倒也不錯。從小對電子制作的著(zhù)迷也受到了環(huán)境的限制,很難去一趟城市,也沒(méi)見(jiàn)過(guò)什么新奇玩意兒。話(huà)說(shuō),在我13歲的那年,老爸朋友的兒子結婚,在城里置辦了酒席,請我們一家三口過(guò)去。人家的婚禮真是氣派,就在鐵力市中心最豪華的大酒店舉行。酒店里金碧輝煌,地面光得照人,墻上貼著(zhù)大大的“喜”字。年頭久遠,記不清更多的細節,唯有一件事讓我印象深刻。菜上來(lái)了,有我最?lèi)?ài)吃的大蝦,配上大瓶的可樂(lè ),兩眼一閉、大嘴一張,吃它個(gè)天翻地覆、死去活來(lái)。吃飽喝足,來(lái)到豪華酒店的廁所門(mén)前。廁所里也金碧輝煌,地面也光得照人,墻上貼著(zhù)大大的“男”字。沒(méi)錯,就是這里了。走進(jìn)去看到一排小便池,小便池并不稀奇,之前也有見(jiàn)過(guò),稀奇的是小便池上面貼著(zhù)標語(yǔ),上寫(xiě)“向前一小步,文明一大步”。更稀奇的是標語(yǔ)的下面有一個(gè)方形的金屬板,金屬板中間有一個(gè)黑色方形的玻璃。我一邊小便一邊研究著(zhù),我發(fā)現時(shí)不時(shí)地從黑色玻璃里面會(huì )亮起一個(gè)小紅燈。我把身體前后移動(dòng),小紅燈也跟著(zhù)閃爍。當我轉身離開(kāi)的時(shí)候,突然聽(tīng)到“嘩嘩”的沖水聲。我馬上回來(lái)看,小紅燈又開(kāi)始閃爍,我一走開(kāi)它又沖水。難道黑色玻璃后面有人在看?我有點(diǎn)害羞,沒(méi)敢再過(guò)去研究。來(lái)到洗手臺,發(fā)現一排水龍頭竟然都沒(méi)有閥門(mén)開(kāi)關(guān),我拍了拍出水口,沒(méi)有反應。忽然發(fā)現出水口下面也有一個(gè)黑色玻璃,我把手伸過(guò)去,水就自然地流了出來(lái)。我確定黑玻璃的后面沒(méi)有人,這應該是一種感應裝置,可以感應到我的手??伤降资侨绾胃袘哪??洗完了手,正準備出門(mén),又發(fā)現門(mén)旁邊的干手機。干手機的底部也有一片黑玻璃,當我把手放在下面時(shí),一股暖風(fēng)出現了。
這次豪華酒店的廁所之旅把我給震撼了,原來(lái)電器的開(kāi)關(guān)可以這么智能,不用我們觸碰到它,它就可以感應到我。我的腦子開(kāi)始高速運轉,想象著(zhù)這項技術(shù)應用到自己家中的情景。媽媽洗菜可以不用開(kāi)水龍頭,家里的電燈不用出力按就可以開(kāi)關(guān),還有家里的電視機、電風(fēng)扇、奶奶的收音機都可以放上這種感應開(kāi)關(guān)。把它裝在大門(mén)上,和門(mén)鈴連接,只要有人站在門(mén)口,門(mén)鈴就會(huì )響。我的小伙伴來(lái)家里找我,一定會(huì )把他們嚇一跳的。想著(zhù)想著(zhù),忍不住笑出聲來(lái)。
從數字電路到單片機
上了大學(xué)后,學(xué)校里有很多書(shū)店。在沒(méi)有發(fā)現單片機之前,我一直在書(shū)店的電子技術(shù)專(zhuān)區里徘徊。那里有好多關(guān)于電子制作的書(shū),都是我喜愛(ài)的。我最?lèi)?ài)看的就是電子制作500例之類(lèi)的書(shū),里面的好多制作簡(jiǎn)單又實(shí)用。某天,我突然在書(shū)中發(fā)現了紅外線(xiàn)感應干手機的制作實(shí)例。一下把我帶回到那一次難忘經(jīng)歷——豪華酒店的廁所之旅。我要實(shí)現我少年的夢(mèng)想,我要實(shí)現這個(gè)制作。接下來(lái)的日子里,我就開(kāi)始研究紅外線(xiàn)感應干手機的原理和電路。
原來(lái),所謂的感應開(kāi)關(guān),只是利用了人眼看不到的紅外線(xiàn)來(lái)感應物體。感應開(kāi)關(guān)的核心元器件就是紅外反射傳感器。紅外反射傳感器包括一個(gè)紅外線(xiàn)發(fā)光二極管和一個(gè)紅外線(xiàn)光敏二極管,它們兩個(gè)都朝著(zhù)一個(gè)方向,被封裝在一個(gè)塑料外殼里。使用時(shí),紅外線(xiàn)發(fā)光二極管點(diǎn)亮,并發(fā)出一道人眼看不見(jiàn)的紅外光。如果傳感器的前方?jīng)]有物體,那么這道紅外光就以299792458m/s的速度(光速)消散在宇宙中。
但如果傳感器前方有不透明的物體時(shí),紅外光就會(huì )被反射回來(lái),會(huì )照在旁邊的紅外線(xiàn)光敏二極管上。紅外線(xiàn)光敏二極管接收到紅外光后,其輸出引腳的電阻值就會(huì )產(chǎn)生變化。通過(guò)判斷這個(gè)阻值的變化,它就可以感應到前方的物體,進(jìn)而控制電器開(kāi)關(guān)了。
了解了原理,又看到了書(shū)中的電路原理圖后,我卻產(chǎn)生了新的疑惑。紅外線(xiàn)發(fā)光二極管應該和普通二極管的驅動(dòng)電路一樣,用紅外線(xiàn)光敏二極管加一個(gè)三極管放大接收信號來(lái)驅動(dòng)繼電器不就可以了嗎?為什么還要加NE555和CD4069兩個(gè)芯片,把簡(jiǎn)單的事情搞復雜了呢?看了后面的文章介紹才知道,原來(lái)這樣做的目的是為了防止環(huán)境光的干擾。在我們生活的環(huán)境里,處處都暗藏著(zhù)紅外線(xiàn)。太陽(yáng)是最常見(jiàn)的紅外線(xiàn)發(fā)光體,還有火光、燈光、紅外線(xiàn)遙控器和一些不可預知的光源。問(wèn)題來(lái)了,身邊這么多紅外線(xiàn)光源,傳感器里的紅外線(xiàn)光敏二極管怎么知道哪些光是環(huán)境里的紅外光,哪些光是它鄰居發(fā)出來(lái)的紅外光呢?于是天才的工程師想到了調制解調的辦法。他們把紅外線(xiàn)發(fā)光二極管以某一頻率進(jìn)行調制,即讓它以一定的頻率閃爍。在紅外線(xiàn)光敏二極管一端則設計一個(gè)電路,讓接收端可以篩選出這一頻率的紅外光源。像收音機一樣,傳感器只要以自己的頻率發(fā)射,再以自己的頻率接收就可以過(guò)濾掉其他頻率光源的干擾了。
哈哈,看過(guò)原理之后,心中暗自生起了一團烈火。然后以70km/h的速度(坐車(chē))奔向電子市場(chǎng)。備齊了元器件,照著(zhù)原理圖制作出了實(shí)物。不得不佩服我當時(shí)的焊接水平,用了一片小小的洞洞板,把電路制作得小巧、緊湊。不過(guò)接上電源之后,問(wèn)題就來(lái)了,當我把手放在感應區域時(shí),指示燈并沒(méi)有亮。后來(lái)發(fā)現,這是發(fā)射頻率和接收頻率不匹配導致的,因為采用的是RC電路產(chǎn)生頻率,簡(jiǎn)單地說(shuō)就是靠電容的充放電周期產(chǎn)生頻率,所以頻率很容易隨溫度變化而變化。電路的調試花了我許多時(shí)間,在沒(méi)有示波器的幫助下,光靠反復修改電阻值和電容值的測試來(lái)達到成功是多么困難的事情呀!當同學(xué)把手放在感應區,指示燈亮起的那一刻,所有調試的困苦都轉化為成就感,在同學(xué)們贊嘆的話(huà)語(yǔ)中成幾何性倍增了。
像電影一樣,故事到了高潮,接下來(lái)的每一步都是墜落。同學(xué)們只看到了光彩的一面,背地里它悄悄出現的問(wèn)題,都成為我們私下獨處時(shí)的傷痛。在一個(gè)陽(yáng)光明媚的下午,強光照進(jìn)室內,感應開(kāi)關(guān)受強光的影響而處在不穩定的狀態(tài),它不斷地自行開(kāi)關(guān),而且對反射物體沒(méi)有反應。家里常用的電視機紅外線(xiàn)遙控器也會(huì )讓感應開(kāi)關(guān)失靈。即使把它放在陰暗的角落也會(huì )出現一個(gè)討厭的問(wèn)題,即當反射物就會(huì )不斷地開(kāi)關(guān),繼電器的吸合很快,好像一臺電報機。這是因為反射物體正好處在了感應區的臨界點(diǎn)上,也就是“感應到”和“感應不到”的分界線(xiàn)上,物體微微靠近或離開(kāi)就會(huì )產(chǎn)生開(kāi)關(guān)狀態(tài)的改變。沒(méi)有人會(huì )希望自己家的電燈像閃電、水龍頭像音樂(lè )噴泉吧。這些問(wèn)題加在一起,讓感應開(kāi)關(guān)的應用很不理想,辛辛苦苦把家里所有的電燈開(kāi)關(guān)都改裝成感應的,不到一個(gè)月又被爸爸改回了傳統開(kāi)關(guān)。慢慢的,對感應開(kāi)關(guān)的興趣就被音控開(kāi)關(guān)、延時(shí)開(kāi)關(guān)的制作熱情所取代。幾星期后,我和紅外線(xiàn)感應開(kāi)關(guān)徹底分手了。
從那之后的某一天,我開(kāi)始學(xué)習單片機。幾個(gè)月前我對單片機內置的模數轉換器(ADC)產(chǎn)生了興趣,不斷地探索它的妙用,DIS.MUSIC3炫彩音樂(lè )顯示器就是利用ADC來(lái)采集音頻信號的。突然有一天,我想,利用帶有ADC功能的單片機可不可以取代傳統的數字電路,而讓紅外線(xiàn)感應開(kāi)關(guān)變得更穩定呢?在網(wǎng)上搜索了半天,沒(méi)有找到基于單片機的紅外線(xiàn)傳感器的制作。這個(gè)情況對我來(lái)說(shuō)亦好亦壞,好的是如果制作成功,這將又會(huì )是我的一項創(chuàng )新制作;壞的是我沒(méi)有任何可以參考的資料,甚至都不能保證我的想法是否可行。我學(xué)習單片機的過(guò)程好像是一條正弦波,從基礎開(kāi)始學(xué)習,然后開(kāi)發(fā)應用程序,再后來(lái)獨立完成創(chuàng )新制作,到最后又回到了基礎技術(shù)問(wèn)題的研究。接下來(lái)的日子里,我做得最多的事是研究紅外線(xiàn)的知識。做了N多次實(shí)驗,用不同的紅外線(xiàn)發(fā)光源來(lái)做研究,找到它們的特性和區別。之后開(kāi)始研究電路制作簡(jiǎn)單、同時(shí)又具備高穩定性的紅外感應開(kāi)關(guān)。研究到最后,我自己都驚訝了,原來(lái)硬件電路可以如此簡(jiǎn)單,簡(jiǎn)單到?jīng)]有任何多余的元器件——單片機、紅外反射傳感器、LED指示燈和電源。在之前的版本里,硬件電路上還需要加一條導線(xiàn),但是后來(lái)我修改了程序算法,這條導線(xiàn)便光榮下崗了。
是的,程序算法——一種殺人于無(wú)形的利器。如果人類(lèi)和動(dòng)物的區別是人類(lèi)具有理性和智慧的話(huà),那么單片機與數模電路的區別就是單片機具有程序控制。單片機程序精確地處理著(zhù)時(shí)間和狀態(tài),軟件的強大把硬件成本降到最低,并可以零成本復制。我熱愛(ài)編程,它給了我無(wú)窮的樂(lè )趣和超乎想象的創(chuàng )新可能。如果我是即將畢業(yè)的大學(xué)生,我會(huì )把這個(gè)創(chuàng )新制作寫(xiě)成論文,讓導師喜笑顏開(kāi);如果我是專(zhuān)注科普的《無(wú)線(xiàn)電》雜志的作者,我就只能用微小的篇章簡(jiǎn)單地說(shuō)一說(shuō)這款制作的基本原理了。但在此之前,先讓我們趁著(zhù)熱情未減,親手制作一下這款基于單片機的紅外感應開(kāi)關(guān),體驗它的精巧構思,檢驗它的抗干擾能力吧。
我是在面包板上搭建的電路,電源采用的是3節5號電池所組成的4.5V直流電源。因為電路非常簡(jiǎn)單,我還特意為了面包板上的接插布局而定義了IO接口。所以我們連導線(xiàn)都不需要,只要把單片機、紅外反射傳感器和LED指示燈插在指定的孔洞里就行了。值得注意的問(wèn)題有:?jiǎn)纹瑱C需要使用帶有ADC功能的STC12C2052AD系列;燒寫(xiě)程序時(shí),選擇使用內部RC振蕩器;紅外反射傳感器沒(méi)有特定的型號,我使用的是RPR220,你也可以使用其他型號的產(chǎn)品。
在面包板搭建的實(shí)驗電路上測試,有沒(méi)有感覺(jué)到它的精簡(jiǎn)和穩定呢?把LED指示燈接在P1.7接口上時(shí),它是無(wú)鎖存的感應開(kāi)關(guān),即有反射物體時(shí)LED燈亮,物體離開(kāi)就熄滅,適用于感應式水龍燈。把LED指示燈接在P1.6接口上時(shí),它
是鎖存感應開(kāi)關(guān),即感應開(kāi)關(guān)觸發(fā)1次LED燈亮,2次觸發(fā)時(shí)LED燈滅,適用于感應式電燈開(kāi)關(guān)。如果把LED指示燈改換成繼電器,就可以用來(lái)控制其他電器了。電器可以是任何你想得到的東西,相信你和我一樣,早就有過(guò)這樣的夢(mèng)想?,F在是實(shí)現它的時(shí)候了。
除了實(shí)用的開(kāi)關(guān)改裝計劃,紅外感應開(kāi)關(guān)還可以把家居生活變成科幻電影。一張可以感應你的桌子會(huì )不會(huì )震驚四座呢?普通桌子的上表面嵌著(zhù)一塊磨砂玻璃板,當桌面空空的時(shí)候,桌子沒(méi)有什么特別??墒钱斘覀儼咽?、杯子或報紙放在上面時(shí),相應的位置就會(huì )發(fā)出光來(lái)。原來(lái),玻璃下面安裝了數百個(gè)LED燈和感應裝置,只要桌子感應到有東西放在上面,就會(huì )讓單片機控制對應位置的LED燈點(diǎn)亮。變換單片機的程序還可以玩出更多的花樣呢。
如果用我的這款紅外感應開(kāi)關(guān)是不是也可以實(shí)現這部科幻作品呢?在撰寫(xiě)本文的時(shí)候,我也同時(shí)在研究這項技術(shù),希望可以用我們常用的單片機來(lái)實(shí)現,如果真能實(shí)現,我再另寫(xiě)文章與各位分享。那桌子、那感應式電燈都將成為你的作品、你的精心之作。
關(guān)鍵問(wèn)題與解決之道
從年少時(shí)廁所里紅外感應開(kāi)關(guān)初體驗,到傳統電路制作的原理及問(wèn)題,再到用單片機實(shí)現更穩定的感應開(kāi)關(guān)設計,直至感應開(kāi)關(guān)在電器開(kāi)關(guān)和感應桌面上的應用。紅外感應開(kāi)關(guān)已經(jīng)逐漸從廁所走向了客廳,從復雜走向了精簡(jiǎn),從波動(dòng)走向了穩定。那么有誰(shuí)想知道單片機是怎么做到穩定感應的呢?其中的奧秘又是什么呢?這里就把一些技術(shù)實(shí)現的基本原理與諸位分享。如果你有更好的方案和改進(jìn)意見(jiàn),或者你是這方面資深的專(zhuān)家,歡迎各路英豪與我交流。閑話(huà)少說(shuō),小弟這里獻丑了哈!
1.如何去除環(huán)境光的干擾?
與之前的調制解調的方式不同,在使用ADC功能之后,另一種解決方案會(huì )讓測試更有效率。那就是使用雙重檢測方法。前提條件是,單片機可以控制紅外發(fā)光二極管的開(kāi)關(guān)。首先,要使用ADC功能讀出接在A(yíng)DC接口上電壓的模擬量,數值從0到255(十進(jìn)制)。紅外光敏二極管接收的紅外光線(xiàn)強時(shí),ADC讀出的數值就大,反之就小。我們要做的就是,控制紅外發(fā)光二極管在發(fā)光時(shí)讀一次ADC的數值,然后再讓紅外發(fā)光二極管熄滅,再讀一次ADC的數值。我們先假設沒(méi)有其他紅外光源的干擾,當紅外發(fā)光二極管熄滅時(shí),紅外光敏二極管應該檢測不到光源,ADC讀出的數值也應該為0;當紅外發(fā)光二極管點(diǎn)亮,且沒(méi)有反射物體時(shí),ADC讀出的值也應該很小,接近于為0;當有反射物體時(shí),紅外光敏二極管檢測到光源,ADC讀出的數值會(huì )變大。如果存在其他光源的干擾,那么當紅外發(fā)光二極管熄滅時(shí),也會(huì )讀到較大的數值。雙重檢測讀出的數值的差距越大,表示干擾光源越弱,反之則越強。我們通過(guò)這種雙重檢測,就可以判斷接收到的紅外光是不是發(fā)射端發(fā)出來(lái)的了,兩次檢測的數值之差就是我們需要的最終數值。最終數值將參與下面的算法處理,也是我們判斷和處理的關(guān)鍵數據。單片機需要控制紅外發(fā)光二極管高速開(kāi)關(guān),以便更快地采集數據。
最終數值=紅外發(fā)光二極管點(diǎn)亮時(shí)ADC讀出的數值-紅外發(fā)光二極管熄滅時(shí)ADC讀出的數值
2.如何解決臨界點(diǎn)的感應波動(dòng)問(wèn)題?
微微向前一點(diǎn)就觸發(fā),微微向后一點(diǎn)就關(guān)斷,這是臨界點(diǎn)問(wèn)題的困擾。問(wèn)題的根源在于,觸發(fā)的臨界點(diǎn)和關(guān)斷的臨界點(diǎn)是同一個(gè)距離。只要在基于單片機系統中把這兩個(gè)臨界點(diǎn)分開(kāi),這個(gè)問(wèn)題就可迎刃而解。我們知道,單片機需要處理的數據是“最終數值”,它是紅外發(fā)光二極管開(kāi)、關(guān)狀態(tài)時(shí)ADC讀出的數值之差。最終數值也是一個(gè)從0到255之間不斷變化的變量。反射物理離傳感器越近,“最終數值”就越大。如果我們在程序里設置,當“最終數值”大于某一值時(shí)(例如200)就觸發(fā)開(kāi)關(guān),小于這一值時(shí)就關(guān)斷開(kāi)關(guān),那么這樣編程的效果就是單一臨界點(diǎn)的不穩定開(kāi)關(guān)。單片機既然都可以模仿不穩定的開(kāi)關(guān),自然也很容易創(chuàng )造穩定的開(kāi)關(guān)了!只要寫(xiě)一下程序的設置就可以很輕松地讓它變得穩定。雙臨界點(diǎn)的設計只需要兩個(gè)數值的條件判斷:當“最終數值”大于某一值時(shí)(例如200)就觸發(fā)開(kāi)關(guān),當“最終數值”小于另一個(gè)數值時(shí)(例如150)就關(guān)斷開(kāi)關(guān)。這樣一來(lái),在150和200之間就會(huì )創(chuàng )建一塊中間區域。當反射物理在這個(gè)區域前后移動(dòng)時(shí),開(kāi)關(guān)仍保持其原來(lái)的狀態(tài),或判斷、或觸發(fā)。這種雙臨界點(diǎn)的設計,其實(shí)是給反射物體一個(gè)活動(dòng)空間,對反射物體的穩定性要求降低了,系統狀態(tài)就自然穩定了下來(lái)。在實(shí)際調試過(guò)程中,可以根據應用的需要修改雙臨界點(diǎn)的兩個(gè)數值。比如做自動(dòng)水龍頭時(shí),手的移動(dòng)范圍較大,所以應該留出較大的活動(dòng)區域。如果是做自動(dòng)尋跡小車(chē)的傳感器,則可以用較小的活動(dòng)區域,甚至改用單臨界點(diǎn)來(lái)實(shí)現。雙臨界點(diǎn)的設計是有啟發(fā)性的,你可以利用此設計來(lái)做更多的事情,或者用在其他傳感器的穩定性設計之中。
3.如何增加感應的成功率和可靠性?
“最終數值”處理和雙臨界點(diǎn)設計都可以增加系統的穩定性。在多次數據采集中,出現幾次失敗和誤差是很正常的事情。但如果這些誤差左右了開(kāi)關(guān)的狀態(tài),那么這種失敗又由誰(shuí)來(lái)負責呢?我寫(xiě)的文章錯別字很多,雜志社的編輯老師都說(shuō)我無(wú)藥可救了。當你看到本文時(shí),你要知道一件事,那就是已經(jīng)有好幾位編輯老師瞪大眼睛幫我改掉了文中的錯別字。最后大家看到的才是精美而通順的文章。在感謝編輯老師的同時(shí),我也要為我們的紅外感應開(kāi)關(guān)配備幾位“編輯老師”,給采集到的數據把關(guān)。一旦出現錯誤,就放棄當前的數據,重新采集,這種設計其實(shí)就是一種冗余。我在程序中設計了一段循環(huán)檢測語(yǔ)句,連續20次檢測和判斷采集到的數據,如果20次中有1次誤差就馬上放棄當前的所有數據,重新檢測。連續20次檢測已經(jīng)算是很穩定的了,當然你也可以為了更穩定而改用連續50次、100次的檢測,但是系統的反應速度會(huì )變慢,靈敏度也會(huì )下降。靈敏度和穩定度之間的矛盾是剛性的,在實(shí)際測試中找到適合目標系統的檢測次數就可以了?!白罱K數值”、雙臨界點(diǎn)和20次連續檢測聽(tīng)上去好像是很復雜的事情,可是在程序里只是很簡(jiǎn)單的幾條語(yǔ)句。設計的重點(diǎn)不在于程序的復雜性,而是整個(gè)系統的設計思路。下面列出一段關(guān)鍵程序部分與大家分享,這個(gè)簡(jiǎn)單的程序包含了上述的3種抗干擾設計。
4.如何增大感應距離?
經(jīng)過(guò)實(shí)驗證明,基于單片機的紅外傳感器的感應距離和單片機的ADC精度、雙臨界點(diǎn)數值、紅外發(fā)光二極管的功率、紅外光敏二極管的靈敏度,均和反射物理的反光效果有關(guān),一般的感應距離不會(huì )超過(guò)20cm。不過(guò),對于開(kāi)關(guān)感應開(kāi)關(guān)的設計已經(jīng)足夠了。要想增加感應距離,可以對以下幾方面進(jìn)行改進(jìn)。只是,更遠的感應距離反而會(huì )讓系統產(chǎn)生許多
RAM_H=Read_ADC;//讀出LED亮時(shí)ADC端口的值
RAM_L=Read_ADC;//讀出LED滅時(shí)ADC端口的值
RAM_H=RAM_H-RAM_L;//取2次檢測值之差,避開(kāi)環(huán)境光干擾if(RAM_H>0x06){//開(kāi)啟時(shí)的距離(應該小于關(guān)閉時(shí)的距離)CON++;//計數加1
CON2=0;
if(CON>20){//連續20次檢測,以避開(kāi)干擾
CON=0;
LED_Y=0;//LED指示燈點(diǎn)亮
}
}
if(RAM_H0x03){//關(guān)閉時(shí)的距離
CON2++;CON=0;if(CON2>20){CON2=0;
LED_Y=1;//LED指示燈熄滅
}
}
“最終數值”、雙臨界點(diǎn)和20次連續檢測的程序部分
不確定因素,效果反而不佳。如果在某些特殊情況還需要更遠的傳送距離,我們就要用新的軟硬件方案來(lái)應對了。
☆提高ADC精度,例如將8位ADC換成10位或12位ADC。
☆將雙臨界點(diǎn)的數值設置得更小。
☆用LED驅動(dòng)電路提高紅外發(fā)光二極管的功率(即提高亮度)。
☆為紅外光敏二極管一端加裝信號放大電路。
☆盡量使用反光效果好的反射物體(如白紙、鏡面)。
5.如何進(jìn)一步提升抗干擾能力?
最后一個(gè)問(wèn)題,是同頻環(huán)境光的干擾。在我的實(shí)驗中,還沒(méi)有出現過(guò)這樣的問(wèn)題,它只存在于理論推理中。但這種干擾的可能性并不為0,所以有必須說(shuō)明一下。所謂的同頻干擾,就是假設紅外感應開(kāi)關(guān)的周?chē)么嬖谶@么一個(gè)紅外光源,它也按一定的頻率點(diǎn)亮和熄滅,而這一頻率正好和紅外感應開(kāi)關(guān)中紅外發(fā)光二極管的亮、滅頻率一致,且周期相同。這種巧合并不只是彩票頭獎的幸運觀(guān)眾才能遇見(jiàn)的,當多個(gè)紅外感應開(kāi)關(guān)在較近的距離內同時(shí)使用時(shí),問(wèn)題就自然會(huì )出現。如果它們之間的距離不能改變,那就只有用跳頻的方法來(lái)解決了。跳頻技術(shù)在移動(dòng)電話(huà)和無(wú)繩電話(huà)機上已經(jīng)成為必備的功能,為了防止竊聽(tīng)或當某一頻道被占用時(shí),電話(huà)機會(huì )自動(dòng)切換到別的頻道,讓通信更穩定、可靠。對于紅外感應開(kāi)關(guān)來(lái)說(shuō),跳頻并沒(méi)有那么復雜,只要在程序中不斷改變紅外發(fā)光二極管的亮、滅時(shí)間,用不同的頻率去檢測,其他干擾光源也以相同頻率跳變的機會(huì )就少之又少了,再加上前面介紹的20次連續檢測功能,再遇見(jiàn)干擾的可能性就幾乎為0了。
增加以上5項功能,系統的穩定性達到了巔峰,而如此穩定的設計卻絲毫沒(méi)有改變硬件制作。仍然是那幾種元器件,穩定與否全看程序的設計。單片機就是這么神奇,創(chuàng )造優(yōu)良性能于無(wú)形之中,帶你體驗精簡(jiǎn)設計的內在之力。
更遠距離的對射傳感器方案
還有一種情況,是應用上的需要。如果使用紅外感應開(kāi)關(guān)來(lái)制作賽跑的電子終點(diǎn)線(xiàn),將紅外發(fā)射管和接收管分別安裝在跑道的兩端會(huì )是更好的解決方案。平時(shí)終點(diǎn)線(xiàn)上沒(méi)有障礙物,發(fā)射的紅外信號輕松地被接收。當有人通過(guò)終點(diǎn)線(xiàn)時(shí),人的身體擋住了紅外光的路線(xiàn),接收端收不到信號而觸發(fā)開(kāi)關(guān),完成比賽的計時(shí)。同樣的設計還可以用作防盜報警器。這種對射式的傳感器需要很遠的傳送距離,一般需要2~5m。如果是這種應用,就需要改變軟硬件方案,38kHz調制紅外線(xiàn)不是很好的解決方案。利用單片機產(chǎn)生38kHz的調制紅外線(xiàn)信號,接收端使用具有集信號解調、放大和輸出于一體的紅外傳感器TSOP1838。電路設計同樣精簡(jiǎn),而對射有效距離可以達到7~10m。相關(guān)的技術(shù)正在被我研究著(zhù),這里算是拋磚引玉,希望給正在研究此技術(shù)的朋友一點(diǎn)幫助。發(fā)揮你的才能,把這項技術(shù)運用到生活之中。制作自動(dòng)干手機、感應水龍頭、感應電燈開(kāi)關(guān)、智能尋跡小車(chē)、防盜報警器、感應桌面、比賽計時(shí)器等?;趩纹瑱C的紅外感應開(kāi)關(guān)將成為你電子競賽、產(chǎn)品設計、趣味DIY的必備佳品。這就是紅外感應開(kāi)關(guān)的創(chuàng )新制作,可以簡(jiǎn)單穩定地感應你。
萬(wàn)能遙控器相關(guān)文章:萬(wàn)能遙控器代碼
手機電池相關(guān)文章:手機電池修復
51單片機相關(guān)文章:51單片機教程
模數轉換器相關(guān)文章:模數轉換器工作原理
燃氣報警器相關(guān)文章:燃氣報警器原理
評論