跳到主要內容

【Tutorial】利用LinkIt 7697和Robot Shield來改造遙控車

作者:Felix Lin
當前坊間市售的遙控玩具車因成本考量幾乎都是世界工廠中國所製造生產,也因此在價格競爭之下,造成各類玩具遙控車良莠不齊的情況。本篇文章是使用遙控器已損壞的低價玩具遙控車來進行改造,搭配聯發科的LinkIt 7697及MiniPlan的Robot Shield擴充板(介紹資料連結),改造為可以透過手機以及行動裝置進行控制的BLE遙控車。

Robot Shield的馬達控制

首先來介紹今日的主角LinkIt 7697與Robot Shield。對於LinkIt 7697這顆聯發科在物聯網中屬於殺手級微控制器的介紹在MakerPRO上已經有不少了,這裡就不再做贅述。如果不清楚可以參考【LinkIt 7697比拼ESP 32,誰能勝出?】與【LinkIt 7697三種開發環境,輕鬆上手!】這兩篇很詳實的說明文章。
LinkIt 7697與Robot Shield結合
Robot Shield則是不久前MiniPlan針對7697所做的擴充板,其包含了以下特點:
  • 引出10組PWM控制伺服馬達或一般GPIO用途
  • 提供兩組直流馬達驅動IC
  • 內建兩顆超級電容,容量相當於250mA
  • 專為LinkIt 7697所設計
如此一來方便使用LinkIt 7697控制直流馬達,不需要再額外使用馬達驅動擴充板與電池。
Robot Shield接腳圖(取自MediaTek Labs網站)
這次我們的遙控車改造,就會使用到Robot Shield來驅動直流馬達,上面的馬達驅動IC是使用普誠科技所出產的PT5126A。根據其datasheet所顯示的方塊圖可以得知,內部使用了一組H橋來控制直流馬達的正逆轉,而控制邏輯有兩個輸入腳INA與INB,控制的方式整理如下表:
普誠科技PT5126A方塊圖
如此一來便可得知,分別設定P10/P12與P13/P17給予不同的電壓準位,即得以控制馬達的正反轉了!

玩具遙控車的拆解與改造

為了要進行遙控車的改造,勢必得先將遙控車拆解一下,並且了解其內部結構與電路構造才能加以改裝,所以接著就是要將遙控車進行『真﹡開箱』。
本日將接受改造的苦主主角
遙控車底部構造
首先我們先看一下遙控車底部的組件,中央的部分一個方形蓋子其上方邊緣處有兩個卡榫與螺絲,明顯是安裝遙控車電池的部分。這裡我們先將電池取出,除了因為改造後用不著外,還可以做到輕量化配置;在電池盒右側有個圓形小孔,如果是使用充電電池還考可以給予電池充電的外接電源,而另一側則是電池盒的開關了;在上方前輪中間處則是前輪偏移的定位校準,再來將底盤周圍八顆螺絲鬆開後即可打開看到內部構造了。
遙控車內部接線
打開後看到有前後兩個直流馬達,只有一個小電路板做控制。電路板除了連接到兩個直流馬達外,還有連接到兩顆車燈,以及一個鐵絲型天線用來接收27MHz頻率遙控器的訊號;靠近後輪的直流馬達底部有個齒輪箱,並且連接到後輪作動力輸出。而前輪則是控制前輪往左或往右的轉向,因為底部有個機構做限位,所以最大的轉向角度大約只有左右各45度而已,不至於導致轉向過度。
接著,我們將控制板取下,同時將其上方的線路解焊完全移除,保留兩個直流馬達的引線,並且將馬達引線焊接上Robot Shield附贈的2.5mm JST連接線;焊接完成後將遙控車後輪馬達接到擴充板的Motor A,前輪馬達接到擴充板的Motor B。
完成馬達引線之底盤
於此,同時我們將車殼上半部駕駛艙的模型也拆除,方便我們將LinkIt 7697與擴充板塞入車內;再把其餘線路整理一下,將車蓋蓋回後鎖上螺絲,遙控車的硬體改造即完成啦!
將座艙從車殼分離
LinkIt 7697與Robot Shield已置入遙控車中

LinkIt 7697程式碼

本篇改造遙控車的專案程式為開放原始碼,有興趣的Maker皆可以在Github上取得。裡面用了LinkIt Remote的函式庫,可以在Arduino的程式碼中繪製好行動裝置APP的介面,省去很多開發應用程式的功夫。本段落將針對程式碼內容做逐一說明。
  • 行號#4~#8:宣告BLE Remote物件,分別建立了前後左右的按鈕與車燈的開關。
  • 行號#11~#17:LinkIt 7697的PIN腳定義,根據前面硬體的接線,定義了兩顆馬達的控制接腳。
  • 行號#20:藍芽BLE的名稱,若有多組LinkIt 7697同時開啟,務必修改此處。
  • 行號#22~#84:setup()初始化函式。初始化後續會使用到的幾個腳位,同時設定各個BLE Remote物件的屬性,包括顯示的文字、顏色、大小與位置等。
  • 行號#86~#124:這裡實作了forward()、backward()、turn_right()、light_on()等馬達控制與車燈控制函式,方便後面主迴圈去做呼叫。
  • 行號#126~#129:程式的主迴圈,前面幾行在做等待連線的判斷,以及#142是在處理與手機端的資料交換。其餘的部分則是在判斷手機遙控端有觸發了那些按鈕事件,並依據不同的按鈕去執行各種遙控車的動作。

行動裝置BLE遙控器

開啟行動裝置到Play商店(Android)或是APP store(iOS),搜尋LinkIt Remote應用程式,下載並且執行。在連結到LinkIt 7697後即可使用剛剛所撰寫好的介面進行操作了!
LinkIt Remote連結後介面

實際操作遙控車影片

小結
本身物聯網功能就很強大的LinkIt 7697開發板,在遇到馬達控制擴充板Robot Shield後,等同是如虎添翼了!除了把眾多IO延伸出來方便接線以外,還有附帶兩個直流馬達驅動IC以及二次電池的供電,省下很多連接不同種類擴充板的接線工作。
日後我們會繼續發掘LinkIt 7697相關的應用與專案,也請有興趣的Maker朋友們持續關注並且給予指教!
(本文同步發表於亞堤教育Attic Education,文章連結;責任編輯:葉于甄。)

留言

這個網誌中的熱門文章

2017通訊大賽「聯發科技物聯網開發競賽」決賽團隊29強出爐!作品都在11月24日頒獎典禮進行展示

2017通訊大賽「聯發科技物聯網開發競賽」決賽團隊29強出爐!作品都在11月24日頒獎典禮進行展示 LIS   發表於 2017年11月16日 10:31   收藏此文 2017通訊大賽「聯發科技物聯網開發競賽」決賽於11月4日在台北文創大樓舉行,共有29個隊伍進入決賽,角逐最後的大獎,並於11月24日進行頒獎,現場會有全部進入決賽團隊的展示攤位,總計約為100個,各種創意作品琳琅滿目,非常值得一看,這次錯過就要等一年。 「聯發科技物聯網開發競賽」決賽持續一整天,每個團隊都有15分鐘面對評審團做簡報與展示,並接受評審們的詢問。在所有團隊完成簡報與展示後,主辦單位便統計所有評審的分數,並由評審們進行審慎的討論,決定冠亞季軍及其他各獎項得主,結果將於11月24日的「2017通訊大賽頒獎典禮暨成果展」現場公佈並頒獎。 在「2017通訊大賽頒獎典禮暨成果展」現場,所有入圍決賽的團隊會設置攤位,總計約為100個,展示他們辛苦研發並實作的作品,無論是想觀摩別人的成品、了解物聯網應用有那些新的創意、尋找投資標的、尋找人才、尋求合作機會或是單純有興趣,都很適合花點時間到現場看看。 頒獎典禮暨成果展資訊如下: 日期:2017年11月24日(星期五) 地點:中油大樓國光廳(台北市信義區松仁路3號) 我要報名參加「2017通訊大賽頒獎典禮暨成果展」>>> 在參加「2017通訊大賽頒獎典禮暨成果展」之前,可以先在本文觀看各團隊的作品介紹。 決賽29強團隊如下: 長者安全救星 可隨意描繪或書寫之電子筆記系統 微觀天下 體適能訓練管理裝置 肌少症之行走速率檢測系統 Sugar Robot 賽亞人的飛機維修輔助器 iTemp你的溫度個人化管家 語音行動冰箱 MR模擬飛行 智慧防盜自行車 跨平台X-Y視覺馬達控制 Ironmet 菸消雲散 無人小艇 (Mini-USV) 救OK-緊急救援小幫手 穿戴式長照輔助系統 應用於教育之模組機器人教具 這味兒很台味 Aquarium Hub 發展遲緩兒童之擴增實境學習系統 蚊房四寶 車輛相控陣列聲納環境偵測系統 戶外團隊運動管理裝置 懷舊治療數位桌曆 SeeM智能眼罩 觸...
你掛65號,到醫院發現才看到7號怎麼辦?這家公司想出好方法,現值50億美金 創新拿鐵   2018-12-19 17:00 209801   人氣       現正熱映中 熱門文章 你掛65號,到醫院發現才看到7號怎麼辦?這家公司想出好方法,現值50億美金 創新拿鐵 2018-12-19 17:00 防堵非洲豬瘟的大功臣!超萌檢疫犬敬業值班「精彩故事多」,奇葩陸客最令人哭笑不得… 中央社 2018-12-17 11:41 機票錢根本花的冤枉⋯又貴、又擠、又騙!世界「六大最雷景點」,不要再輕信網路「照騙」了! 周佳萱 2018-12-14 13:58 活活燒死193人!列車駕駛叫大家「坐好別動」卻拔鑰匙逃跑…韓「大邱地鐵縱火案」離譜內幕 黃瑜敏 2018-12-18 12:34 火鍋的靈魂:湯底的秘密⋯國宴名廚:只要「這樣做」,清湯白水也能煮出好滋味! 食力foodNEXT 2018-12-16 10:00 駭人實驗!失散19年三胞胎感人重逢,意外揭穿「失散真相」是一樁慘無人道的心理實驗… 黃瑜敏 2018-12-17 15:04 誰理你們!從SARS爆發冷血嗆聲,到非洲豬瘟疫情不通報…看見「兩岸一家親」不過是場笑話 潘渝霈   蔡佳妘 2018-12-18 17:47 向老闆提升遷遭拒!3年後他當上主管才看透真相:太認真、太專業、太忠誠都是升遷阻礙... 洪雪珍 2018-12-19 14:34 醫院藥師月薪5萬起跳、只要包藥發藥很好賺?過來人痛揭醫院「領藥得來速」的黑暗真相 時報出版 2018-12-17 14:19 男孩與美洲豹玩耍照片竄紅網絡引發深思 BBC中文網 2018-12-17 12:24 更多文章   熱門分享 你掛65號,到醫院發現才看到7號怎麼辦?這家公司想出好方法,現值50億美金 創新拿鐵 2018-12-19 17:00 ...

HTTP headers設置,讓網站更安全避免淪為挖礦機

https://meet.bnext.com.tw/articles/view/42595?utm_campaign=5741400&utm_source=SendPulse&utm_medium=push HTTP headers設置,讓網站更安全避免淪為挖礦機 梅干 2018/04/17 最近一位工程師好友,突然丟一個檢測平台的分數,起初梅干以為是SSL檢測,就進入測試一下,卻發現到,怎分數相當的低,最後研究了一下,原來網站不是有加入SSL憑證就代表安全無誤,就在今年的六月KeyCDN在官方部落格,發表了一篇關於站點HTTP headers配置,分別為X-XSS-Protection、X-Frame-Options、X-Content-Type-Options Content-Security-Policy、Strict-Transport-Security、Public-Key-Pins這六項進行安全的設定,讓網站更加的安全,不會淪為挖礦主機。 而要修正這個HTTP headers的配置,一點也不難,只需將設定參數加入.htaccess文件後,立即就可讓網站更加的安全,並且也可遠離挖礦惡意程式入侵主機,因此身為網站管理員,這個絕不容輕乎,因此也趕快來檢測看看,你的網站是否安全,以及要如何將網站進行修正。 HTTP headers檢測網站 網站名稱: securityheaders.io  網站連結: https://securityheaders.io Step1 首先,開啟.htaccess檔案後,並加入下方的參數設定。 # HTTP security settings start Header set Strict-Transport-Security: max-age=2592000; Header set X-Frame-Options: SAMEORIGIN Header set Referrer-Policy: no-referrer Header set X-XSS-Protection: "1; mode=block" Header set X-Content-Type-Options: nosniff # HTTP security settings end ...