mBlock & Arduino(25)實(shí)作超音波感應(yīng)器雷達(dá)

小小云提示:教程作者caterpillar是來自臺灣的programmer榄融,所以在一些專有名詞的使用上會和我們這邊使用的不太一樣啦,不過作者也有標(biāo)注出英文名稱志衍,大家自行轉(zhuǎn)換喲(?????????)


在〈mBlock & Arduino(20)探討 Me-Baseboard 與各模組相容性〉中崭倘,已經(jīng)看過 Me 超音波感應(yīng)器了,如果使用 Makeblock Baseboard Orion悦析,那么只要通過RJ25寿桨,連接 Me 超音波感應(yīng)器,就可以開始使用了强戴。

Me 七段顯示器與超音波感應(yīng)器

例如亭螟,將 Me 七段顯示器接至端口?3,將 Me 超音波感應(yīng)器接至端口?4骑歹,然后撰寫以下程式:

執(zhí)行程式预烙,你就可以看到七段顯示器不斷顯示超音波感應(yīng)器量得的距離了。

連接線路如此之方便道媚,目的是為了讓我們可以集中心力在想法的實(shí)現(xiàn)與程式的撰寫上扁掸,作些有趣或?qū)嶋H的應(yīng)用。

雷達(dá)繪圖 API

既然沒有連接線路的困擾了最域,那么谴分,就來做些數(shù)學(xué)應(yīng)用吧!使用舵機(jī)轉(zhuǎn)動超音波感應(yīng)器镀脂,將量得的距離資訊畫成以下的雷達(dá)圖如何呢牺蹄?

這時,超音波感應(yīng)器或者是舵機(jī)如何連接與控制薄翅,在這個應(yīng)用當(dāng)中并不是重點(diǎn)钞馁,重點(diǎn)是如何畫出雷達(dá)圖了虑省,我們需要有那半圓形的雷達(dá)圖,每個半圓的間距表示是 50 公分僧凰,不用急著打開繪圖軟體開始畫,我們要使用 mBlock 來畫熟丸!

首先训措,建立繪圖 API!我們要能畫直線光羞,因此绩鸣,我建立了一個“畫線”的自訂方塊,可以指定座標(biāo) (x1, y1) 至 (x2, y2) 來畫線:

接著纱兑,要能指定圓心座標(biāo)呀闻、半徑與角度畫圓弧,方式是從 0 度開始潜慎,每走一小段長度捡多,就轉(zhuǎn)一個角度,直到指定的角度為止铐炫,每次要走的長度就是半徑乘上tan(旋轉(zhuǎn)角度)垒手,這個過程,我定義為“畫圓弧”自訂方塊:

基本上倒信,應(yīng)該是轉(zhuǎn)一度就劃一次直線科贬,不過這樣速度會很慢,因此鳖悠,圖中我設(shè)定為轉(zhuǎn) 3 度就劃一次直線榜掌,效果也還不錯。

接下來就是“畫雷達(dá)底圖”自訂方塊了乘综,我們的圓心設(shè)定在座標(biāo) (0, -150):

后面會看到憎账,每次跑完 180 度的掃描后,會清除整個畫面瘾带,你可以每次重清之后鼠哥,再跑一次“畫雷達(dá)底圖”自訂方塊,不過看政,你可以直接將畫出來的雷達(dá)底圖存為圖檔朴恳,再上傳至 mBlock 直接設(shè)為場景的背景圖,這樣允蚣,就可以省去每次畫雷達(dá)圖的時間:

我們還剩一個繪圖 API于颖,將反彈超音波的點(diǎn)以不同顏色畫出,這很簡單:

Makeblock 舵機(jī)與超音波感應(yīng)器

接下來嚷兔,就是使用舵機(jī)來轉(zhuǎn)動超音波感應(yīng)器了森渐,Makeblock 本身提供有舵機(jī)做入,你可以直接將之連接至 Me RJ25 轉(zhuǎn)接器的 S1 或 S2 插頭:

可以看到,Makeblock 舵機(jī)跟 SG90 舵機(jī)是一樣的同衣,你也可以使用 SG90竟块,注意 VCC 與 GND 對應(yīng)好就可以了,搭配 Me RJ25 轉(zhuǎn)接器耐齐,Makeblock 的“設(shè)置舵機(jī)”方塊可以指定連接端口與插頭:

你可以將舵機(jī)接至端口?3浪秘,超音波感應(yīng)器接至端口?4,接下來埠况,設(shè)計一個“設(shè)定回波 XY 座標(biāo)”自訂方塊:

每次量得的距離耸携,乘上cos(轉(zhuǎn)動角度),就是 X 座標(biāo)辕翰,因?yàn)槲覀兊膱A心要設(shè)置在 (0, -150)夺衍,因此,每次量得的距離喜命,乘上sin(轉(zhuǎn)動角度)再減去 150沟沙,就是 Y 座標(biāo)。

接著渊抄,就是不斷地轉(zhuǎn)動舵機(jī)尝胆,并進(jìn)行繪圖處理了,我們每一次轉(zhuǎn)動 2 度:

因?yàn)槲覀儾恍枰@示貓咪护桦,因此一開始將之隱藏起來了含衔!這個程式每 180 度會重新回到 0 度開始掃描,你也可以修改一下二庵,讓它能從 180 度倒回來掃描贪染!


感謝CodeData用戶:caterpillar的貢獻(xiàn) 著作權(quán)歸作者所有

整理:寧波家電物聯(lián)網(wǎng)云平臺,中科極動云

CONTACT US: http://www.iot-jd.com/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末催享,一起剝皮案震驚了整個濱河市杭隙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌因妙,老刑警劉巖痰憎,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異攀涵,居然都是意外死亡铣耘,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門以故,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蜗细,“玉大人,你說我怎么就攤上這事÷剑” “怎么了踪区?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長吊骤。 經(jīng)常有香客問我缎岗,道長,這世上最難降的妖魔是什么白粉? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任密强,我火速辦了婚禮,結(jié)果婚禮上蜗元,老公的妹妹穿的比我還像新娘。我一直安慰自己系冗,他們只是感情好奕扣,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著掌敬,像睡著了一般惯豆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奔害,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天楷兽,我揣著相機(jī)與錄音,去河邊找鬼华临。 笑死芯杀,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的雅潭。 我是一名探鬼主播揭厚,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼扶供!你這毒婦竟也來了筛圆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤椿浓,失蹤者是張志新(化名)和其女友劉穎太援,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扳碍,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡提岔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了左腔。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片唧垦。...
    茶點(diǎn)故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖液样,靈堂內(nèi)的尸體忽然破棺而出振亮,到底是詐尸還是另有隱情巧还,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布坊秸,位于F島的核電站麸祷,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏褒搔。R本人自食惡果不足惜阶牍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望星瘾。 院中可真熱鬧走孽,春花似錦、人聲如沸琳状。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽念逞。三九已至困食,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間翎承,已是汗流浹背硕盹。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留叨咖,地道東北人瘩例。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像芒澜,于是被迫代替她去往敵國和親仰剿。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容