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