上個(gè)學(xué)期做的一個(gè)的小小玩意兒!初衷:自學(xué)VB做上位機(jī)和單片機(jī)通信,順便把多年以前買的無(wú)線遙控模塊給用了!
315M超再生接收模塊------市場(chǎng)上最便宜的一種無(wú)線模塊(315M超再生接收模塊+315M發(fā)送模塊)。
小車前不久給掛taobao上低價(jià)賣了,照片也沒拍,所以這個(gè)帖子就顯得很不好,所以只能展示下其他的部分了!
超再生接收(發(fā)送)模塊:
就是這種模塊。
發(fā)送模塊SO EASY!------發(fā)送信號(hào)是ASK調(diào)制(我理解就像紅外38KHz調(diào)制一樣),就是要么“振蕩”,要么“不振蕩”。。。
接收模塊,相信很多朋友用過(guò),優(yōu)點(diǎn):便宜!控制簡(jiǎn)單到爆。。不像24L01呀需要SPI接口,還有各種時(shí)序才能發(fā)送接收。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
下面說(shuō)說(shuō)缺點(diǎn):由于超再生接收這種“神奇”的電路,在接收不到信號(hào)時(shí)自己本身就是個(gè)振蕩器,而接收電路從接收不到信號(hào)到接收到信號(hào)有個(gè)不穩(wěn)定的過(guò)程,所以數(shù)據(jù)在剛接收到那會(huì)兒基本都是錯(cuò)誤的,需要延時(shí)一段時(shí)間,丟掉之前的多個(gè)數(shù)據(jù),而且就算這樣,在連續(xù)的傳輸一些數(shù)據(jù)時(shí),隨著模塊間距離的拉大,誤碼率也隨之升高!
結(jié)論1:一分錢一分貨!
結(jié)論2:。。。。
VB 這個(gè)軟件大家應(yīng)該很熟悉,面向?qū)ο髨D形化編程,雖然很老的軟件,但有一個(gè)優(yōu)點(diǎn):好上手!
上圖:
百度了3天,才大體會(huì)用一些VB簡(jiǎn)單的控件,寫了這個(gè)上位機(jī)程序!默認(rèn)了串口號(hào)及波特率(這里波特率不能太高也不能太低,我選在1200bps,數(shù)據(jù)8位模式,1位停止位)
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
整個(gè)構(gòu)思是這樣的,上、下位機(jī)各一塊51單片機(jī)(型號(hào)不限,只要有一個(gè)串口就行?。?,上位單片機(jī)通過(guò)串口連接電腦,當(dāng)電腦WASD這四個(gè)按鍵來(lái)發(fā)送前后左右四個(gè)方向的控制數(shù)據(jù),“空格”鍵是控制小車停止!“方向鍵”是為了讓文本框顯示當(dāng)前狀況設(shè)計(jì)的。
發(fā)送模塊發(fā)送的數(shù)據(jù)就是串口數(shù)據(jù),只是增加了若干個(gè)校驗(yàn)碼防止干擾,實(shí)踐效果還不錯(cuò)!
這里解釋下為什么會(huì)有“空格”讓小車停止,是因?yàn)楸救藢W(xué)藝不精,VB不會(huì)控制讓它連續(xù)發(fā)送數(shù)據(jù),而且還有一個(gè)就是超再生接收電路的缺點(diǎn)里的誤碼率較高問題,而且這也是為什么上位也加了一片單片機(jī)來(lái)不停地發(fā)送數(shù)據(jù)的原因,我索性讓單片機(jī)檢測(cè)到幾個(gè)相同的數(shù)據(jù)就讓小車一直運(yùn)動(dòng),所以當(dāng)按了前進(jìn),小車在接收到下一條不為前進(jìn)的指令前就一直前進(jìn),所以增加了一個(gè)停止信號(hào),雖然操作感有些問題,不過(guò)在我的履帶小車上,由于速度不快,顯得相得益彰!
上操作界面。
前進(jìn):
后退:
左轉(zhuǎn):
右轉(zhuǎn):
停止:
界面可以說(shuō)是十分簡(jiǎn)單(其實(shí)是能力有限+精力有限)。
分享下代碼啥的:VB遙控所有資料.zip
今天就發(fā)到這,大家感興趣的話,我以后慢慢給大家講。。。。