Category Archives: 作品展示

[ 翻譯 ] 2018.12.3- TensorFlow Lite專案分享:Jrobot無人四輪車

翻譯

宗諭

審閱

Joe Chen、CAVEDU教育團隊

專案作者

Joe Chen

感謝作者Joe Chen授權翻譯文字內容,以及播放影片,特此致謝!

主題圖片

Designed by Freepik,特此致謝!

 

Jrobot Self-Drive Powered by TensorFlow Lite

Jrobot無人四輪車的運作核心是TensorFlow Lite。

 

Previously, we used J-control to drive the Jrobot remotely, and this time we get rid of J-control and let Jrobot to do self-drive.

先前,我們運用J-control遠距驅動Jrobot,但這次我們不使用J-control,而讓Jrobot自行駕駛。

 

Jrobot Self Drive is another self-drive experiment based on machine learning, it is not a simulator, it is not a road vehicle, it is a footpath traveler. We built NVIDIA CNN self-drive model using Keras, collected training data, trained the model, and converted the trained model to TensorFlow Lite.

Jrobot無人四輪車是一項建基於機器學習的無人車實驗。Jrobot不是模擬器,也不是道路用車輛,而是一台小型的四輪車。我們運用Keras建構NVIDIA CNN自駕模型,然後收集訓練資料,訓練模型,最後將訓練好的模型轉換至TensorFlow Lite上。

 

TensorFlow Lite allows us to do inference on a mobile device and is the key part of this project. We added TensorFlow Lite to Jrobot Android app. When running, TensorFlow Lite is able to load the trained model, take a camera image as input and give a steering angle as output. Jrobot app runs on an Android phone (Xiaomi Mi5) sitting in the phone box on Jrobot car and control the movement of the Jrobot car through bluetooth connection with Arduino on the car.

運用TensorFlow Lite使我們可以在行動裝置上進行推論,所以TensorFlow Lite可說是這個專案的核心。我們把TensorFlow Lite加至Jrobot Android app中,當運作時,TensorFlow Lite能夠載入訓練好的模型,然後以照相機的圖像作輸入,並給出一個轉向角作輸出。Jrobot app在Android手機上運作,在下面的影片中,我們使用的手機是小米Mi5。當Jrobot準備行駛前,我們把手機放入Jrobot無人四輪車上的手機盒,並透過手機上的藍牙裝置連接四輪車上的Arduino開發板,以控制四輪車的行駛。

 

We did road test in 2 places in the neighborhood and the results show us the trained model works well. Even though it is not full self-drive, it makes human control so much easier, and opens up so many new options, which means there is so much more to do. Thank you!

我們在社區中的兩處地方進行道路測試,結果顯示訓練模型運作的相當好。即便Jrobot目前還不是完全自駕,卻使得人為控制容易許多,並且開啟了許多新選項,這也意味我們還有許多部分需要努力,謝謝。

 

接下來,請讀者們觀賞Jrobot無人四輪車的介紹影片,當中包括了兩次的道路測試(如果讀者想直接看道路測試,第一次道路測試從8:25開始,第二次道路測試從21:30開始):

 

備註:如果想要購買AI人工智慧相關產品,歡迎洽詢機器人王國商城

 

相關文章

 

[ 介紹文 ] 2018.11.28- 進擊的Tank-Go!! V5.3 紅外線對戰坦克

撰文

Niko Yang

圖片

Niko Yang

說明

感謝網友Niko Yang撰稿,特此致謝!

 

玩坦克大戰是許多朋友年輕時期經歷過的美好回憶,無論是從任天堂紅白機或後續的電視遊樂器,坦克大戰皆是熱門的題材之一,也是與朋友或家人共享歡樂的好遊戲。在電視遊樂器之外,至各電商賣場搜尋「對戰坦克」,也有許多遙控坦克販賣,可見坦克類遊戲受歡迎的程度。

 

緣由

欣逢南科AI_ROBOT自造基地交流平台,於6月份在台南舉辦「自造機器人的一百種樣貌」研討會,由KEVIN WANG 對整個MINI-PLAN的進化與發展歷史進行分享。筆者也從研討會認識當前機器人的種類,以及對聯發科技的LinkIt 7697開發板有了第一次接觸。在那麼多的機器人中,最吸引筆者的莫過於TANK GO系列了。

圖1

 

令人驚喜的寶物

目前各種相容於Arduino 的開發板如雨後春筍般出現,有點讓人難以選擇,各家開發板各有千秋。研究各類開發板後,筆者選擇了LinkIt 76XX系列,除了它支援BLE藍芽外,也支援Wi-Fi控制,再加上由MINI-PLAN演進的ROBOT-SHIELD V2 擴充板於2017年10月開始販售,使LinkIt 7697如虎添翼,整體元件結合支援10組PWM及兩組DC馬達同時控制,也支援I2C介面擴充,並由兩顆 270F 2.7V 260mah電容器(Lithium Capacitor)提供電力,不需擔心電源過充或過放電力的問題。也因為是電容器,官方規格的深度循環可達3000次,相對於手機鋰電池的500次循環,連續使用多達六倍以上的時間,也不需擔心起火或爆炸問題。運用在坦克製作上,自然被筆者列為優先考慮的組合。

 

參考文章:

CAVEDU [LinkIt 7697] 認識LinkIt 7697,你會需要這一篇!

圖2

 

資源分享

得到第一把鑰匙後,從網站https://www.thingiverse.com/,看到SMARTS 系列的3D列印件有很大發展空間,同時在YouTube上看見由Chiou ShinWei(George)大神,分享3D列印件和完整的安裝流程,以及零件表和程式碼的分享,皆讓筆者在坦克製作上節省相當多時間。從3D列印領域至控制板,乃至於學生時代學習的知識都要一併用上。在聯發科技網頁上,有很詳細的介紹,以及工程師的技術問題回覆和支援。

 

ShinWei Chiou(George)

V4 版程式和3D模型檔案和零件清單

https://github.com/GeorgeChiou/Robot-Shield-V2.0

 

安裝說明和零件清單

https://youtu.be/rpaQaJ1GmJE

圖3

 

魔鬼藏在細節裡

筆者原以為萬事俱備,結果發現有些事情仍是要嘗試過才能瞭解箇中奧妙。第一個問題是戰車鋁帶元件使用PLA當承軸,但PLA遇到濕氣經過一至二星期後,有30%的PLA承軸斷裂,想拿金屬螺絲取代卻又太重。所以,最後筆者使用木質牙籤,並點上微量的瞬間接著劑在鋁帶元件內側稍做固定。或是由Mike Tsai 網友所建議,用PEG的3D線材取代也可以。

 

在砲台旋轉上,原本使用24AWG線材,但其表皮太硬,導致戰車砲塔旋轉會因線材而上下晃動,馬上更換舵機專用線給紅外線IRDA和紅外線接收IRM-3638N3連接線使用,解決了問題。

 

不用熱熔膠而使用UHU透明膠連接,避免3D列印零件因高溫而變形,以及日後需修改的拆裝;在N20馬達的齒輪本體也塗上田宮齒輪油,塗上後N20馬達瞬間耗電流下降許多,齒輪轉動聲音也慢慢變小。自造的迷人之處,就在於不斷有新挑戰出現,卻總能一一克服。

圖4

 

性能再強化

在筆者與家人玩TANK-GO一段時間後,收集了大家的建議進行一次修改及強化性能,於是便著手發展V5.3版的程式碼。首先在手機操控介面上,針對按鈕位置重新編列,以及針對功能進行調整,不僅操作便利更適合長時間使用。可惜聯發科技的 LRCONTROL 目前暫時只支援六種顏色(RC_ORANGE, RC_BLUE, RC_GREEN, RC_PINK, RC_GREY, RC_YELLOW)。

https://docs.labs.mediatek.com/resource/linkit7697-arduino/en/developer-guide/using-linkit-remote/lremote-control-classes

 

同時戰車砲塔旋轉角度的左右方向,也進行一致性調整;在MPFPLAYER 聲音按鍵上,也更改為每階2格度調整,並限制最大至28 (MAX:30),避免小的喇叭單體破音,以及夜間播放音樂聲量的細部調整。

 

朋友建議加上兩顆燈光(LED)做為彈藥用盡或生命值歸零的提醒,也避免因緊張一直按鈕卻無動作對應。經筆者考慮,除了LED作為狀態顯示外,也加入兩段系統語音,例如:補彈藥和修理進行提示。其他細節可參考GITHUB上的README完整說明。

 

Niko Yang V5.3 版修改軟體和電子零件焊接圖片

https://github.com/yangniko137/Tank-Go-V5?fbclid=IwAR0NseA_2R2cRFvZRvyqWwNXehPig6qMT5wTly-tnJPS84LIOpKXyL0n61k

圖5

 

未來發展

科技發展鮮少有停頓的時刻,在筆者看過「少女與戰車(GIRLS und PANZER)」影片後,發覺還有許多功能值得更新,例如生命值歸0後,升起投降用的白色旗子⋯⋯等等。

 

兩顆超大電容提供激烈對戰達40分鐘左右,但把戰車當成MP3播放器聽CD書,這時便需要插5V市電供應,也考慮以14650或18650電池和保護板供電,省去電線纏繞的困擾。

 

對戰時的遮蔽建築物連同戰車收納的盒子,也可考慮製做成組合式,並且各戰車語音可以男女分開⋯⋯等等。這些都是很好的建議,以及下一步更新的方向。

圖6

 

結論

舉一反三,除了坦克外也順便發展FPV加上攝像頭及圖傳,加上接收和螢幕就可在家中探險。自造除了腦力激盪外,也藉由製作過程認識新的學問及志同道合的朋友。因此,謹藉由本篇文章,感謝無私分享的Maker們。

圖7

 

備註:如果您想要購買 LinkIt 7697Robot Shield,歡迎洽詢機器人王國商城,謝謝。

 

相關文章

[ 採訪 ] 2018.11.23- 真・創客無雙!!MoMaker放大絕 揉合彈珠檯、遊樂園、奇幻等元素 打造飛龍與騎士的彈珠檯

採訪/撰文

宗諭

攝影

宗諭

受訪者

MoMaker的David與Clement

說明

文中影片的版權屬於MoMaker,感謝授權使用,特此致謝!除了第一部是影片外,其它都是音訊,特此跟讀者們說明。

 

猶記得在Maker Faire Taipei 2018中,這個令人超級驚豔的作品嗎?

 

這個作品是由MoMaker兩位創辦人David與Clement精心打造,名叫「飛龍與騎士的奇幻冒險彈珠檯」。小編相信讀者們大概會認為,能夠打造出這麼厲害的作品,兩位大大若不是武功高強、技能滿點,至少也是本職學能充足吧???來聽聽兩位大大怎麼說:

 

什麼!原來他們也是一步步摸索出來的!那我,豈不是也有機會做出這麼厲害的作品?沒錯,這也正是他們想要傳遞的訊息:

 

是不是!有沒有很勵志!!那麼究竟他們是如何想出讓彈珠檯結合飛龍與騎士的元素呢?是不是看了《冰與火之歌》或《魔戒》啊?

 

原來兩位大大是奇幻迷啊!難怪能做出如此有味道的作品。而小編在準備這次採訪時,因為有在Facebook粉絲團上發佈消息,有網友因感到好奇而留言詢問:「未來有考慮與政府機關或民間單位進一步合作,把這個作品擺在合適地點,使它成為一個景點嗎?」關於這個問題,David與Clement如此回覆:

 

有沒有聽到關鍵字「第二版」呢?小編便替大家問問,究竟第二版彈珠檯與第一版有何不同?

 

圖1 第二版改為金屬製的齒輪

 

看、聽至此,讀者們應該會想跟兩位MoMakers見見面吧?不過先聲明,這可不是美圖秀秀,而是硬派創客照喔,請看:

via GIPHY

 

不好意思,不好意思,應該是這一張才對:

圖2 兩位MoMaker,左為David,右是Clement。

 

今天的報導就到這邊,下次有機會再為讀者們採訪。如果您有希望我們去採訪的Maker領域的人選,歡迎留言,我們會斟酌納入考量,謝謝。

 

備註:如果您想要購買Maker相關產品、器材,歡迎洽詢機器人王國商城,謝謝。

 

相關文章

[ 影片 ] 2018.11.05- 滿滿的Maker精神:Maker Faire Taipei 2018 只有不肯,沒有不能!

拍攝

宗諭

剪輯、後製

宗諭

 

各位夥伴是否對上週週六、日舉行的Maker Faire Taipei 2018充滿感動與回憶呢?

 

沒問題,就讓我們透過下面這段影片,

 

CAVEDU教育團隊一起重溫滿滿的Maker精神!!!

 

 

若想購買 Maker/創客 相關商品,請洽 機器人王國 商城,謝謝。

 

相關文章

[ 介紹文 ] 2018.11.02- 兒時夢想達成!!!四驅車GP晶片大改造

文字

建國中學生活科技科趙珩宇老師

照片、影片

建國中學生活科技科趙珩宇老師

 

身為七年級生,四驅車或爆走兄弟應該是引導大家成為Maker的第一個模型或動畫。製作四驅車除了可以針對外觀塗裝進行設計外,小時候也常將馬達拆開,自己重新纏線製作更強大的馬達;或透過增加配重,使車子跑起來更平穩。但在四驅迷心目中,最大的夢想還是能完成那神秘的GP晶片,而這夢想也深深埋藏於我心中,直到長大後才有機會實現。

 

GP晶片大改造

說是GP晶片,其實只是拿手上的Arduino板進行改裝而已。拿自造的Arduino板,結合自己做的線控自走車模組,加上藍牙晶片就完成改裝了。會採用這樣的方式整個重新製作,主要是因四驅車內的空間太小,但筆者不希望破壞四驅車的車殼,因此用自己的Arduino板重新製作比較快,能將整個晶片組的厚度降至9mm以下。

圖1

 

圖2

 

下圖是筆者自己製作的Arduino板搭配藍牙(個人覺得用ESP8266、nodmcu⋯⋯等板子製做,應該會更好。)

圖3

 

接下來便與讀者們分享幾張四驅車的相關照片:

圖4

 

圖5

 

圖6

 

圖7

 

至於,為什麼會有這組四驅車的軌道呢?原來是CAVEDU教育團隊的腦波弱老闆慷慨出借!這樣,讀者們終於知道他的家當有多豐富了吧!接著,請看以下兩部測試影片:

 

 

這週六、日,在華山文化創意產業園區舉行的Maker Faire Taipei 2018中,筆者會在線控機器人展攤,並由我所指導的社團學生帶大家一起玩四驅車,歡迎一起來同樂 :D!並歡迎讀者們關注「建中創造發明社社團 https://www.facebook.com/CKIC7th/)」,謝謝。

圖8

 

相關文章

[ 活動記錄 ] 2018.10.19- 一日導覽,市長為大家介紹AI桃園新創嘉年華!!

文字

宗諭

影片

宗諭

地點

桃園巨蛋

活動時間

2018/10/19-10/21

 

桃園也AI囉!!

 

原來是「2018 AI桃園新創嘉年華」,今天在桃園巨蛋盛大登場!

 

就讓相當重視新創、青創的鄭文燦市長,為讀者們介紹這場新創嘉年華的看點:

 

四大重點,分別是:

  • 機器人競賽

  • 觀光工廠

  • 新創團隊展覽

  • 萬人工作坊

 

我們也在參與第一天活動過程中,與來自美國紐約理工學院(NYIT)的VEX機器人團隊有所交流,一起來看這段互動、訪問:

 

至於什麼是VEX機器人?VEX機器人競賽又是什麼?請參考這裡

 

根據小編實際幫讀者們走透透這場新創嘉年華,光是機器人競賽就有好幾個項目,包括龍舟機器人、相撲機器人、VEX機器人、機器人格鬥賽⋯⋯等等;並且在新創團隊展覽區,也有許多有趣、有創意的產品。看點其實蠻多的,也不必擔心小朋友無聊,因有萬人工作坊可參與。

 

所以,如果讀者們這週末(10/20-21)尚未安排行程,可來桃園巨蛋走走、看看,說不定會有出人意外的驚喜喔!

 

註1:建議不要開車,因為週末人潮應不少!可搭火車至桃園,然後轉乘公車至桃園巨蛋站即可。

註2:如果讀者想要購買AI人工智慧相關教具,歡迎洽詢機器人王國商城,謝謝。

 

相關文章

[ 活動記錄 ] 2018.10.18- Maker Faire Taipei 2018 RS DesignSpark展品精心製作 Check it out!

文字

RS DesignSpark

圖片

RS DesignSpark

展出時間

2018/11/3(六) – 11/4(日)

 

再過半個多月,Maker Faire Taipei 2018即將盛大登場!屆時,將有許多參展廠商與創客夥伴們齊聚一堂,展出自己的精心之作。而RS DesignSpark也會參與今年的Maker Faire Taipei,並在活動中展出Arduino、Raspberry Pi、Intel Movidius⋯⋯等等應用,分別有盤旋小魚、小型的Pidentifier、Pi-Top物件識別器、Arduino空氣吉他及簡報訓練器。為讓讀者們嚐嚐鮮、過過癮、吃吃味(咦),小編先介紹其中一個作品,Check it out

via GIPHY

簡易款Pi-Top物件識別器

這款應用運用樹莓派和Intel Movidius NCS,並配合Pi-Top CEED Pro及網絡攝影機,將影像與識別結果,顯示於Pi-top螢幕的20級識別小工具。

主要構成硬體:

  1. Raspberry Pi Model B+ (811-1284)

  2. Intel Movidius Neural Network Compute Stick (139-3655)

  3. Pi-Top CEED Pro, Green(122-6547)

圖1

 

其它的作品就請讀者們前往RS官網瀏覽,上面有很詳盡的說明。網址:https://www.rs-online.com/designspark/article-41-cn

 

這次RS DesignSpark參加Maker Faire Taipei 2018,只有作品參展嗎?當然不是囉!RS DesignSpark看準當前邊緣運算的科技趨勢,為參加者舉辦了一場「邊緣運算AI智慧裝置」體驗工作坊!

 

參加體驗工作坊可學到什麼?工作坊將運用Raspberry Pi 加上隨身碟大小的神經運算模組Intel Movidius NCS,展示低功耗又能達到高度運算負載的裝置,盼望讓使用者在AI運算高畫質圖像處理機械視覺類神經網路等應用上,觸發出新的解決方案。

 

有工作坊當然有好康囉!好康就是:凡報名體驗工作坊的夥伴,即可得到Maker Faire Taipei 2018活動票券乙張。(聽說今年的Maker Faire Taipei要購買門票喔!)所以,對邊緣運算有興趣的讀者們,請趕快報名!報名請點這裡

 

 And one more thing⋯⋯

via GIPHY

 

活動現場還將有抽獎活動,會送出Movidius、Raspberry Pi套件、Digilent Analog Discovery 2、Pmod HAT⋯⋯等等豐富獎品。所以,Maker Faire Taipei 2018,我們不見不散喔!

 

相關文章

[ LinkIt 7697 ] 環保的錦囊妙計:如何用LinkIt 7697搭配聯發科技MCS,製作出魚菜共生裝置

現今,由於環保意識抬頭,社會各界紛紛意識到對環境友好的農耕方法,以及永續經營的重要性。所以,魚菜共生的高用水性,以及養魚、蝦所產生廢棄物的再生利用,是非常好永續利用環境、資源的一種耕種方式。這一篇文章,就是用手把手的方式,教大家如何自己做一個魚菜共生的裝置,一起來看看!

作者/攝影

CAVEDU教育團隊 薛皓云

文章分類教學技術文
時間2小時
成本3700+元
難度***
材料表1.LinkIt 7697開發板*1

(若欲購買,請洽機器人王國商城。)

2.RK IoT EXShield擴充板*1

(若欲購買,請洽機器人王國商城。)

3.5V1A變壓器*1

4.EIC 170孔麵包板*1

5.LED點矩陣 *1

6.土壤溼度感測器*1

7.繼電器模組*1

8.臥式有刷小水泵*1

9.Gravity:Waterproof DS18B20 Sensor Kit*1

(若欲購買,請洽機器人王國商城。)

10.Gravity:類比式酸鹼值感測器模組 *1

(若欲購買,請洽機器人王國商城。)

11.發泡煉石 60兩

12.SAMLA 11/22公升收納盒專用分隔板,透明 *1

13.SAMLA 收納盒 22公升 *1

14.跳線(母對母)10p

15.跳線(公對母)10p

16.塑膠軟管 45cm

 

需要的工具:

1.電工膠帶

2.熱熔膠槍

3.螺絲起子

硬體組裝:

1.將沉水馬達線透過杜邦線延長(紅正白負)

圖1

 

2.將沉水馬達利用熱融膠,黏至SAMLA收納盒 22公升底部角落。

圖2

 

3.將沉水馬達的線,利用熱融膠沿著箱子角落固定住。

圖3

 

4.接上塑膠軟管至沉水馬達上,並放著。

圖4

 

5.將RK IoT EXShield擴充板,利用熱融膠黏至SAMLA收納盒22公升側面(寬的那一面)。

圖5

 

圖6

 

6.在RK IoT EXShield擴充板上方,黏上繼電器。

圖7

 

7.將沉水馬達的白色電線接至繼電器上NO腳位

8.從繼電器COM腳位接一條跳線,至RK IoT EXShield的GND上。

圖8

 

9.繼電器上VCC、GND、IN,分別接上RK IoT EXShield的5V、GND、D8。

10.沉水馬達的正極,接於杜邦母頭左上角數來第4腳位。

圖9

 

11.將Waterproof感測器的水下感測器的黃、紅、黑線,分別接上Waterproof感測器轉接器的A、B、C。

圖10

 

12.將Waterproof感測器轉接器黏至外箱右上角上

圖11

 

13.將Waterproof感測器轉接器,接至RK IoT EXShield擴充版的D2。

14.將Waterproof感測器,放至SAMLA收納盒 22公升中。

圖12

 

15.裁切pH計的泡棉收納盒

圖13

 

圖14

 

16.將裁切完的泡棉,黏至SAMLA收納盒 22公升側面中間(窄的那一面)。

圖15

 

17.在SAMLA收納盒 22公升側面(窄的那一面),左下角黏上pH計轉接器。

18.接上pH計並放入泡棉收納盒中

圖16

 

19.將pH計轉接器,接至RK IoT EXShield擴充版的A1。

20.土壤感測器S、+、-,分別接至RK IoT EXShield擴充版的A0、5V、GND。

圖17

 

21.將發泡煉石,裝至SAMLA 11/22公升收納盒,專用分隔板中約5cm高。

圖18

 

22.將SAMLA 11/22公升收納盒專用分隔板,放至SAMLA 收納盒 22公升上,並將塑膠軟管從SAMLA 11/22公升收納盒專用分隔板中間穿出。

圖19

 

23.將土壤感測器置入發泡煉石中

圖20

 

24.將DHT11黏至RK IoT EXShield擴充板右下角

圖21

 

25.將DHT11的VCC、DATA、GND,分別接到RK IoT EXShield擴充版的VCC、A2(P16)、GND。

這樣硬體部分就大功告成囉!!

圖22

 

接下來是程式部分:

1.申請MCS(MediaTek Cloud Sandbox,簡稱MCS,由聯發科技所推出的雲端服務)帳號。

2.新增產品原型名稱設定如圖23

圖23

 

3.新增完畢後點選詳情

圖24

 

4.新增顯示通道酸鹼值——ID:ph;資料型態:浮點數;單位:N/A。

圖25

 

5.新增顯示通道水下溫度——ID:temp_wa;資料型態:浮點數;單位:攝氏。

圖26

 

6.新增顯示通道土壤溼度——ID:Mo;資料型態:分類Key1名稱:乾;Key1值:D;Key2名稱:濕;Key2值:W。

圖27

 

7.新增顯示通道室內溫度——ID:T;資料型態:整數;單位:攝氏。

圖28

 

8.新增顯示通道室內溼度——ID:H;資料型態:整數;單位:百分比。

圖29

 

9.新增測試裝置

圖30

 

10.完成後前往詳情

圖31

 

11.記下自己的 DeviceID 及 DeviceKey

圖32

 

12.開啟程式ino

13.將第7、8行的WiFi帳號密碼,更改成為自己的WiFi帳號密碼。

圖33

 

14.第10行中的MCS DeviceID及DeviceKey改成自己的ID及Key

圖34

 

15.將程式燒入至LinkIt 7697中,並將7697裝至RK IoT EXShield擴充板上。

16.接上5V1A電源等待7697連上網

 

這樣,我們自己的魚菜共生裝置就完成了!趕快動手嘗試一下喔!

 

相關文章

[新品開箱]micro:car來囉~~可結合 Grove Zero 套件的機器小車套件

作者/攝影

CAVEDU教育團隊 曾弘吉

文章分類

教學 (介紹性)

時間

1hr

成本

難度

** (1~10)

材料表

市面上搭配 micro:bit 的擴充板和機器人套件相當多,今天要介紹的是 SeeedStudio 的 micro:car。它有很方便的磁鐵接頭(絕對不會接錯!),還可以連接 Grove Zero 套件,感覺是相當好玩的套件。先來看看盒裝吧。

圖1

 

開盒之後,看到車體與循線用的光感測器,以及用來連接 micro:bit 的 Car shield。針對循跡車,也提供了三張場地紙及紅藍色筆,方便我們自行設計場地。

圖2

 

圖3

 

大家可以比較一下這些元件與micro:bit的大小,迷你、可愛應該是這款套件的亮點之一。

圖4

 

讓我們先把車體與循線感測器裝起來

圖5

 

再裝上 Car shield 和 micro:bit,馬上就成為一台循跡車囉!請讀者們注意上傳程式需將 micro usb 線接到 micro:bit,而 car shield 上的 micro usb 頭只用來供電。

圖6

 

另外,就是可以搭配 Grove Zero 套件,包含光、溫度、聲音及IMU感測器,還有LED陣列、按鈕及蜂鳴器⋯⋯等常用元件。這與 DFROBOT 的 BOSON 套件一樣,都是免寫程式,就可以讓小朋友體會輸入與輸出關係變化的簡易電子教學套件。有很多不同的變化,非常好玩!

圖7

 

不過,因為是磁力接頭的關係,所以無法同時接太多 zero 元件上去(會垂下來),可改成上下堆疊的方式來使用,在機構設計上更方便。例如,以下四種方式,皆可以讓聲音感測器的音量變化,反應於LED陣列的點亮顆數,相當直觀的應用。

 

以下四張做成 2 x 2 table:

圖8

 

圖9

 

圖10

 

圖11

 

相關文章

[介紹文]以LinkIt7697搭配LinkIt Remote打造智慧門禁系統 6項功能、6大特色一次帶您看!!

作者/攝影

智慧門禁系統作者:曾希哲老師

文字整理:CAVEDU 宗諭

圖片:曾希哲老師、pixabay

文章分類介紹文
時間

成本
難度
材料表
  • LinkIt 7697*1(若欲購買,請洽機器人王國商城)

  • RC522 RFID讀取器*1

  • 電磁鎖*1

  • LCD*1

  • 蜂鳴器*1

  • Mifare S50 Card*1

  • 智慧型手機*1

因長期致力於科技教育,CAVEDU團隊認識許多老師,但慢慢地我們才發現,教師當中真是人才濟濟,高手藏身於教育界。對科技、程式教育,有熱忱又富能力的老師其實相當多,例如熱衷於四軸飛行器教學的洪雅慧老師,還有對於Micro:bit深有研究的劉正吉老師⋯⋯等等,而花蓮的曾希哲老師也是其中之一。

圖1 各路高手在教師界

 

若仔細瞧瞧曾希哲老師的臉書頁面,上面幾乎都是他各種學習程式、物聯網、開發板的心得、照片及影片,例如,他最近就在玩LinkIt 7697的擴充板,不斷發出新的貼文,真感受到他的樂此不疲!為將所學得的技術充分教導給學生,曾老師也架設一個網站「曾希哲的學習天地」,上面有他學習物聯網、LinkIt 7697、Arduino⋯⋯等等心得,讀者們記得抽空去逛逛喔!

圖2 曾希哲老師的個人網站

 

本文的主角是曾希哲老師一手打造的「智慧門禁系統」。當初,曾老師有做過RFID的門禁系統,並於2017年以此系統參加過「花蓮創客賽物聯網組」,卻一直找不著適合的按鍵輸入方式。

 

因此,曾希哲老師便逐漸萌生以手機當作藍牙鍵盤的想法,並想透過LinkIt Remote實現。後來,他在手機上實做出藍牙鍵盤,並加入原有的門禁系統中,再把幾項一直想做出的功能實現,最後「智慧門禁系統」就大功告成。(噹啷~~)

圖3 智慧門禁系統

 

讓我們先看看曾希哲老師親自錄製的介紹影片:

 

這個「智慧門禁系統」包含哪些單元呢?請見下圖:

圖4

 

智慧門禁系統的功能與特色

系統是以LinkIt 7697為核心建立,有以下幾項功能:

  1. 可用RFID刷卡輸入

  2. 可以藍牙鍵盤輸入

  3. LCD顯示輸出

  4. 蜂鳴器輸出

  5. 若使用者兩次輸入錯誤,系統就會透過Line即時訊息通知屋主。

  6. 假設使用者受威脅必須開門,可輸入威脅密碼,門一樣會打開,但會在威脅者無法察覺情況下,以Line即時訊息通知屋主,使屋主能盡快報警。

 

這個系統又有哪些特色呢?

  1. 以手機作為藍牙鍵盤,使用起來相對方便。

  2. 使用者受威脅需開門時,可使用威脅密碼。

  3. 同時使用藍牙與WiFi功能,LinkIt 7697是以IFTTT網路服務,透過Wi-Fi傳送Line即時訊息。

  4. 不需使用App Inventor撰寫手機程式,只要撰寫7697程式即可。

  5. 使用LinkIt 7697 BlocklyDuino,程式撰寫比較容易。

圖5

 

圖6 圖5、6為曾希哲老師運用LinkIt 7697 BlocklyDuino,所撰寫的程式碼。

 

6.可透過這個系統,學習RFID的概念。

 

進一步交流

關於如何自造智慧門禁系統,應是因製作步驟較複雜,曾希哲老師只簡單提及,就是拆解系統各部分功能,然後進行各單元製作、測試,逐步組成為一個完整系統。若讀者閱畢本文,有興趣進一步了解此系統,歡迎直接至曾希哲老師的臉書頁面與他交流。

 

前文提及,曾老師設計、製作此系統很重要的原因,是為了實踐把手機當成藍牙鍵盤。而他是用BlocklyDuino撰寫藍牙鍵盤的程式,若讀者想更多了解,可點此下載原始程式碼。

 

結語

總之,曾希哲老師目前正積極測試LinkIt 7697擴充板的各式功能,若後續有任何消息、成果,CAVEDU教育團隊也會成為報馬仔,透過技術部落格或臉書粉絲專頁,跟讀者們分享,敬請期待!

 

附錄:

曾希哲老師以BlocklyDuino撰寫藍牙鍵盤的程式碼

/*
 * Generated using BlocklyDuino:
 *
 * https://github.com/MediaTek-Labs/BlocklyDuino-for-LinkIt
 *
 * Date: Wed, 27 Jun 2018 18:58:00 GMT
 */

#include <LRemote.h>

int SetPasswd;

int PhonePasswd;

int c;

String S1;

String S2;

String S3;

String S4;

String InputPsaawd;

String OpeningDoor;

String PasswdError;

LRemoteLabel label1;
LRemoteButton button7;
LRemoteButton button8;
LRemoteButton button9;
LRemoteButton button4;
LRemoteButton button5;
LRemoteButton button6;
LRemoteButton button1;
LRemoteButton button2;
LRemoteButton button3;
LRemoteButton button0;
LRemoteButton button10;

void setup()
{
  pinMode(LED_BUILTIN, OUTPUT);
  LRemote.setName("LinkIt 7697");
  LRemote.setOrientation(RC_PORTRAIT);
  LRemote.setGrid(3, 5);
    label1.setPos(0, 0);
    label1.setText("Input Password");
    label1.setSize(3, 1);
    label1.setColor(RC_ORANGE);
    LRemote.addControl(label1);

    button7.setPos(0, 1);
    button7.setText("7");
    button7.setSize(1, 1);
    button7.setColor(RC_BLUE);
    LRemote.addControl(button7);

    button8.setPos(1, 1);
    button8.setText("8");
    button8.setSize(1, 1);
    button8.setColor(RC_GREEN);
    LRemote.addControl(button8);

    button9.setPos(2, 1);
    button9.setText("9");
    button9.setSize(1, 1);
    button9.setColor(RC_BLUE);
    LRemote.addControl(button9);

    button4.setPos(0, 2);
    button4.setText("4");
    button4.setSize(1, 1);
    button4.setColor(RC_GREEN);
    LRemote.addControl(button4);

    button5.setPos(1, 2);
    button5.setText("5");
    button5.setSize(1, 1);
    button5.setColor(RC_BLUE);
    LRemote.addControl(button5);

    button6.setPos(2, 2);
    button6.setText("6");
    button6.setSize(1, 1);
    button6.setColor(RC_GREEN);
    LRemote.addControl(button6);

    button1.setPos(0, 3);
    button1.setText("1");
    button1.setSize(1, 1);
    button1.setColor(RC_BLUE);
    LRemote.addControl(button1);

    button2.setPos(1, 3);
    button2.setText("2");
    button2.setSize(1, 1);
    button2.setColor(RC_GREEN);
    LRemote.addControl(button2);

    button3.setPos(2, 3);
    button3.setText("3");
    button3.setSize(1, 1);
    button3.setColor(RC_BLUE);
    LRemote.addControl(button3);

    button0.setPos(0, 4);
    button0.setText("0");
    button0.setSize(1, 1);
    button0.setColor(RC_GREEN);
    LRemote.addControl(button0);

    button10.setPos(1, 4);
    button10.setText("Clear");
    button10.setSize(2, 1);
    button10.setColor(RC_ORANGE);
    LRemote.addControl(button10);
  LRemote.begin();
  SetPasswd = 10;
  PhonePasswd = 0;
  c = 0;
  digitalWrite(LED_BUILTIN, LOW);
  S1 = "*";
  S2 = "**";
  S3 = "***";
  S4 = "****";
  InputPsaawd = "Input Password";
  OpeningDoor = "Opening Door";
  PasswdError = "Password Error";
}


void loop()
{
  LRemote.process();
  if (button0.isValueChanged()) {
    if (button0.getValue() == 1) {
      c = c + 1;
      if (c == 1) {
        PhonePasswd = PhonePasswd + 1;

      }

    }

  } else if (button1.isValueChanged()) {
    if (button1.getValue() == 1) {
      c = c + 1;
      if (c == 2) {
        PhonePasswd = PhonePasswd + 2;

      }

    }
  } else if (button2.isValueChanged()) {
    if (button2.getValue() == 1) {
      c = c + 1;
      if (c == 3) {
        PhonePasswd = PhonePasswd + 3;

      }

    }
  } else if (button3.isValueChanged()) {
    if (button3.getValue() == 1) {
      c = c + 1;
      if (c == 4) {
        PhonePasswd = PhonePasswd + 4;

      }

    }
  } else if (button4.isValueChanged()) {
    if (button4.getValue() == 1) {
      c = c + 1;

    }
  } else if (button5.isValueChanged()) {
    if (button5.getValue() == 1) {
      c = c + 1;

    }
  } else if (button6.isValueChanged()) {
    if (button6.getValue() == 1) {
      c = c + 1;

    }
  } else if (button7.isValueChanged()) {
    if (button7.getValue() == 1) {
      c = c + 1;

    }
  } else if (button8.isValueChanged()) {
    if (button8.getValue() == 1) {
      c = c + 1;

    }
  } else if (button9.isValueChanged()) {
    if (button9.getValue() == 1) {
      c = c + 1;

    }
  } else if (button10.isValueChanged()) {
    if (button10.getValue() == 1) {
      label1.updateText(String(InputPsaawd));
      c = 0;
      PhonePasswd = 0;

    }
  }
  if (c == 1) {
    label1.updateText(String(S1));

  } else if (c == 2) {
    label1.updateText(String(S2));
  } else if (c == 3) {
    label1.updateText(String(S3));
  } else if (c == 4) {
    label1.updateText(String(S4));
    delay(500);
    if (SetPasswd == PhonePasswd) {
      label1.updateText(String(OpeningDoor));
      digitalWrite(LED_BUILTIN, HIGH);
      delay(5000);
      digitalWrite(LED_BUILTIN, LOW);

    } else {
      label1.updateText(String(PasswdError));
      delay(5000);

    }
    label1.updateText(String(InputPsaawd));
    c = 0;
    PhonePasswd = 0;
  }
  delay(100);
}

 

相關文章

[教學文]想自己動手做藍牙遙控車?就是這一篇了!

作者/攝影

CAVEDU教育團隊 鈺莨

文章分類教學技術文
時間

成本
難度
材料表
完整程式下載

BlocklyCar7697

導讀

 

本文重點

  我們將介紹馬達轉動原理,還有如何用藍牙裝置接收字元,也會把手機作為遙控車的方向盤,控制遙控車的方向。讓我們一起做出一台屬於自己的LinkIt 7697的藍牙遙控車吧!

圖1 藍牙遙控車,衝啊!

 

  LinkIt 7697的電流無法直接使兩顆直流馬達動起來,所以我們要使用馬達驅動板Robot Shield。

 

Step1:我們先用手機的藍牙裝置,試著控制一顆直流馬達,先接上一顆直流馬達。下面圖片是直流馬達接線圖:

圖2 一顆直流馬達連接Robot Shield

 

馬達的腳位

Robot Shield的腳位

113
217

 

藍牙遙控車程式

  程式部分,我們使用BlocklyDuino來寫程式。程式有分成車子的接收部分,以及手機的發送部分。我們先說明車子接收部分的程式,會用到藍牙的積木有下面幾種:

圖3 藍牙BlocklyDuino積木

 

Step2:打開【BLE周邊】(黃色標籤1)抽屜,可看見「建立藍牙週邊裝置」(黃色標籤2)、「新增藍牙屬性」(黃色標籤3)、「藍牙屬性已更新」(黃色標籤4)、「讀取藍牙屬性數值」(黃色標籤5)。這些是我們需要用到的積木,拼出來的積木如下圖:

圖4 BlocklyDuino藍牙裝置程式

 

Step3:我們要把BlocklyDuino藍牙初始化的裝置建立起來。請大家在「建立藍牙週邊裝置」的「顯示名稱」上改名字,在手機的那一端就會顯示出「顯示名稱」上的名字。

 

  此外,「服務UUID」和「新增藍牙屬性UUID」,只要和App Inventor上面的數值是一樣的,我們就可以讓LinkIt 7697和手機的藍牙裝置連線。

 

Step4:我們要寫出LinkIt 7697接收到字元後所要進行的動作,如下圖:

圖5 BlocklyDuino馬達轉動程式

 

Step5:寫完LinkIt 7697開發板接收到數字的程式後,接下來,我們要寫手機發送指令部分的程式。在此,我們繼續用App Inventor寫成手機的App程式。下圖是App Inventor的手機使用版面圖:

圖6 App Inventor的手機使用版面圖

 

  版面設計完成後,接下來進入App Inventor的程式設計介面,我們要來寫如何用手機傳送字元的程式。

 

Step6:下圖是手機和LinkIt 7697的藍牙裝置連線的積木:

圖7 LinkIt 7697開發板藍牙裝置的UUID

 

圖8 手機搜尋藍牙裝置的名字和名字欄位選擇

 

圖9用手機連上LinkIt 7697藍牙裝置的積木

 

Step7:當我們按下手機上的「搜尋」按鈕時,手機就會自動尋找附近有沒有LinkIt 7697的藍牙裝置。

 

Step8:若有的話,按下「名稱」按鈕,藍牙裝置的名稱就會顯示在選擇名單內,再按一次選擇名單內的藍牙裝置名稱就可進行連線。若連線成功,手機螢幕就會顯示出藍牙遙控車的名字。

 

Step9:按下斷線按鈕,手機就會和LinkIt 7697開發板的藍牙裝置斷線。

 

  接下來,我們要教大家寫如何控制一台藍牙遙控車的程式!

 

Step10:我們再將另一顆馬達接上馬達驅動板Robot Shield

圖10 兩顆馬達連接馬達驅動板Robot Shield

 

馬達的腳位

Robot Shield的腳位

113
217
312
410

 

  我們可以用程式的高電位或低電位,控制馬達的正方向轉或反方向轉。我們用兩顆馬達的正方向轉或反方向轉決定車子的行走方向,車子有下面四種走法:

圖11 車子有五種不同的運動方式

 

  程式部分,我們利用LinkIt 7697開發板的高電位或低電位,控制馬達的正方向轉或反方向轉。就如圖12一樣,馬達驅動板Robot Shield的10和12腳位是控制右邊的馬達;13和17腳位是控制左邊的馬達,所以程式會如下圖:

圖12 BlocklyDuino程式

 

  有了前面的做法後,我們現在來寫寫看LinkIt7697開發板的程式吧!

 

Step11:LinkIt 7697的程式部分,只要把前面程式中的【重複執行】的「轉動」和「停止」積木,改寫成「停止」、「前進」、「後退」、「右轉」、「左轉」積木就可以了。程式積木如下圖:

圖13 BlocklyDuino的全部程式

 

Step12:接下來,我們要改寫手機遙控部分的積木程式,也是按照順序分別改成「停止」、「前進」、「後退」、「右轉」、「左轉」這五種動作指令。完整的手機控制版面如下圖:

圖14 藍牙遙控車手機的控制版面

 

再來是App Inventor程式積木的部分:

圖15 藍牙遙控車連線、斷線的事件

 

圖16 手機發送指令事件

 

  這樣藍牙遙控小車的程式就完成了,趕快拿手機來玩玩看!

 

[教學文] 從Zero到Hero,給想實做動力小車的你——硬體篇

作者/攝影

動力大腳車製作者、資料、圖影片提供:游允赫

文字整理:CAVEDU 宗諭

文章分類教學文
時間

成本
難度
材料表

 

  幾週前,在淡江大學同舟廣場舉辦的「創意皂飛車競賽」,動力組的競爭可真是龍爭虎鬥。其中,我們CAVEDU教育團隊的好夥伴游允赫老師,以動力大腳車在動力組的激烈競爭中脫穎而出,在動力折返挑戰賽中獲得第二名的佳績!

圖1 游允赫老師(左)

 

  對於製作動力小車深有熱忱的允赫老師,便想藉由文字跟讀者們分享製作動力大腳車的過程及心得。因此,這篇文章將為大家簡單介紹,如何製作動力大腳車的硬體設施。

 

先讓我們看一下動力大腳車的測試影片:

 

  在開始製作動力大腳車的硬體設施前,我們先要取得一台Tamiya大腳車。有了大腳車後,我們把車子上的電池盒拆掉,只保留底盤、馬達及齒輪組。

 

  接下來,我們要幫大腳車裝上培林(Bearing)。為什麼要裝培林呢?主要是因大腳車的底盤把齒輪放在同一邊,所以要利用培林使車體置中。大腳車本身輪軸中間是外露的,可以直接使用那邊的空間製作結構,前後是可動結構,可隨坡度有微幅變化,足以確保感應器和軌道的距離不變,便不會因距離不同而產生誤判。

圖2 大腳車輪軸中間的空間外露

 

機械小知識——什麼是培林

  台灣人稱軸承(Bearing)為培林。而軸承這個機件在機械上的作用是,當其它機件在軸上彼此產生相對的運動時,用來保持軸的中心位置,並且控制該運動(參考自維基百科)。

圖3 動力大腳車使用的培林

 

圖4 大腳車安裝上培林

 

  因為我們已把大腳車的電池盒拆除了,所以要讓大腳車有適合的動力來源。在這裡我們使用的是LinkIt 7697開發板 + Robot Shield馬達驅動板。如何將它們固定在大腳車上?不複雜,就是把塑膠殼拆開,使板子可以固定即可,但要注意不要讓板子的重心太高。

圖5

 

  在進行前述流程時,幾兩個事項要注意:(1)需測量底盤軸距,以及裡面有多少空間可製做結構;(2)還有因齒輪箱在左邊,所以在畫3D時,需計算修正,好使車子放在軌道上時,不會偏向一邊。

 

  接下來便都是進行3D建模了。

 

  硬體部分大致介紹至此,若讀者有不了解的地方,歡迎詢問允赫老師,E-mail:yhyu@cavedu.com;下一篇,我們將介紹動力大腳車在軟體層面需有哪些部署。

 

相關文章

[教學文]MIT App Inventor Codi Bot 設計發想

作者/攝影曾吉弘
文章分類教學
時間
成本
難度
材料表

 

  對於會寫程式的人來說,不同程式語言有著極大不同,但對於不會的人來說:

 

都一樣啊!哪有什麼不同,看起來都像咒語⋯⋯

 

  因此需要一個符號或吉祥物來與這種語言產生連結,例如Linux的小企鵝、Arduino的無限符號,或Scratch的小貓⋯⋯等等,在各式場合都能看到代表各自的logo。App Inventor 以往的logo太像Android,為搭配即將推出的App Inventor iOS版,MIT App Inventor小組推出了新的logo,CAVEDU也很高興能設計 MIT App Inventor Codi bot(選購連結)

圖1

 

  之前已經寫過一篇介紹Codi Bot的各類功能教學文件也都出來了:

  • 單機執行:直接執行 (影片)

  • LED:使用按鈕、滑桿來控制翅膀與底座的LED (影片)

  • 翅膀:使用按鈕、滑桿來控制翅膀(伺服機) (影片)

  • 聲音:控制蜂鳴器發出各種音符或自訂義頻率與時間長度 (影片)

  • 完整app:整合上述功能 (影片)

 

  本篇要與大家分享 Codi Bot的設計發想,分成核心、外觀及燈光⋯⋯等等(感謝設計師:游允赫大大):

 

一、核心:

 

  MIT App Inventor在阿吉老師去MIT擔任訪問學者前,藍牙BLE支援的板子只有Arduino 101,但大家知道的⋯⋯Arduino 101已停產,所以自然要有一款平價好用的控制板補上,那便是LinkIt 7697。為方便腳位和電源管理,我們再搭配 Robot Shield for LinkIt 7697 V2.0 好放進Codi bot的肚子裡。

 

  Robot Shield 背面有兩個電容,並且是專門為機器人應用所設計,所以把許多腳位都用 3 pin 的方式接出來,也有兩個直流馬達的螺絲接口。兩者只要疊在一起就好了,並且可用 Robot Shield 來為 7697供電。另一個很棒的地方是 Robot Shield上就有一個蜂鳴器,可讓機器人發出簡易音效。

圖2

 

圖3

 

  把超音波感測器、LED、servo接上後,Robot shield的腳位都快用完了呢⋯⋯,再以螺絲固定即可。

圖4

 

所有內部的線路走法大致如此,要準備組合了。

圖5

 

是不是塞得很滿呢?

圖6

 

二、外觀

超音波感測器裝在Codi bot頭部,線路走脖子接到擴充板上。

圖7

 

就是眼睛啦,很可愛吧!深度是有測試過的,不會影響距離偵測的效果。

圖8

 

我們設計了一個背包,驅動翅膀的兩顆servo 就放在裡面。

圖9

 

Codi bot 底部,很容易就能撥動開關來開機。

圖10

 

組合身體前後兩片零件的螺絲會被條紋(牛皮)遮起來。

圖11

三、燈光

  為了順利呈現MIT App Inventor logo 兩個翅膀的紫色與綠色,又要有互動效果,我們選用LED燈條,從servo的背包孔位拉出線來。

圖12

 

把LED燈條放入翅膀零件的溝槽,這一步難度比較高,小心不要壓到線。

圖13

 

  Codi Bot背包上有一個孔,可以讓壓克力支撐架扣入以固定。底部的RGB LED 則是安裝在壓克力底座的孔,伸進去一點有很不錯的燈光效果喔!

圖14

 

圖15

 

相關文章

[ 新品介紹 ] 2018.5.11-108課綱將上路 編程教育成趨勢 學校、教師、家長如何幫孩子?SAM LABS STEAM套組助學童發揮無限創意!

紀錄撰寫宗諭
紀錄攝影 宗諭/影片由廣天國際提供
受訪者廣天國際有限公司
訪問地點廣天國際有限公司
訪問時間

5月11日下午2:30至4:30

    當108課綱即將上路,培養孩子的「運算思維(Computational Thinking)」,讓他們從小學習邏輯、編程的STEAM教育,成為一大趨勢。在此大趨勢下,「廣天國際有限公司」自英國引進「SAM LABS STEAM套組」,正是為因應學校、教師、家長的廣大需求。

 

SAM LABS STEAM套組是什麼?

    看了上面的影片後,您可能對SAM LABS STEAM套組是什麼,有一些概念。簡而言之,「SAM LABS STEAM套組」是一個教導五歲以上孩子邏輯、編程的教學器材。它由大約20個模塊組成,這些模塊包含Input(輸入)、Output(輸出)及一些感應器。孩子只要把這些模塊組裝起來,便可以藉由SAM LABS設計好的App,內建有許多程式指令,創造出許多有趣應用。

 

圖1 SAM LABS STEAM套組外觀

 

圖2 STEAM套組的內部

 

圖3

 

圖4

 

圖5 STEAM套組由許多模塊組成(圖3、4、5)。

 

SAM LABS STEAM套組的應用

    您一定感到好奇,我們可以用STEAM套組做出什麼樣有趣的應用呢?最基本、簡單的就是透過模塊組裝,控制App內建的小遊戲。

 

圖6 運用模塊控制App內建的小遊戲

 

    因為STEAM套組可以控制馬達、結合樂高積木和紙模型,所以能做出小車、動力機械及紙吉他⋯⋯等等應用。當然,應用可以千變萬化,正等待小朋友們發揮無限創意!廣天國際執行長楊天鐸也表示,引進硬體只是第一步,未來還將持續開發許多幼教教案。

 

圖7 遙控小車

 

圖8 結合樂高積木組成動力機械

 

圖9 結合紙模型製作吉他,讓您搖身一變成為吉他手!

 

SAM LABS STEAM套組的特色

    那這款STEAM套件最大特點是什麼?小編觀察,是它的每塊模塊都是一個藍牙模組,所以完全不用實體接線,只需透過App就可彼此連接,而透過iPad、Android手機、Windows PC或Mac電腦皆連接、控制模塊;此外,STEAM套組也支援Blockly圖形化程式語言介面,只要用Google Chrome瀏覽器,便可在瀏覽器上以SAM LABS開發的SAM Blockly拉積木寫程式。

 

自由探索 錯誤也是種學習

    可能不少教師朋友想了解:「若使用這個套組,在教室或其他教育現場,我應該教些什麼呢?」楊天鐸指出,只要教導小朋友一些程式語法的基本概念即可,剩下就是讓他們自行探索、發揮創意了。

 

    小編現場動手玩STEAM套組,覺得十分有趣。我使用的是一個陀螺儀的模塊,然後透過App,使手中的模塊和小車上的模塊連線,就可以用搖晃的方式遙控小車。雖然在小編操控下,小車一直不斷撞門、撞牆(搞破壞嗎?),但真是見識到STEAM套組的魅力!

 

結語

    小編相信,藉由這個套組能創作出的應用還非常多,最重要就是讓小朋友透過遊戲發揮創意。或許正如廣天國際楊天鐸執行長所言:「只要給他們幾個模塊,小朋友們就能玩得不亦樂乎!」更多訊息,請上網:www.calculator.com.tw

 

相關文章

[新品介紹]MIT App Inventor Codi Bot物聯網教學互動機器人

作者/攝影曾吉弘
文章分類產品介紹
時間
成本
難度*  (1~10)
材料表

對於會寫程式的人來說,Python/C/Java是完全不同的程式語言。但對於沒接觸過的人來說,通通都是一樣的:很可怕。因此程式語言需要一個圖騰來代表,例如,Scratch的那隻小貓、 Linux的企鵝、Java的咖啡,以及Android的小機器人⋯⋯等等,在相關場合中,我們都可以看見這樣的代表符號。

    MIT App Inventor去年發起了一項募資計畫,目標是加速App Inventor 的 iOS版本。贊助$1500美金以上者可以收到一套實體的物聯網教育套件,但這時大家對於內容還不是很清楚應該如何規劃。Hal Abelson教授就問是否可以幫忙?

當然可以啦,不就是為了幫忙才去MIT的嗎?

輪型或多足型機器人設計相關課程算是CAVEDU教育團體的專長,但MIT App Inventor小組盼望能結合它們的新logo,因為之前的logo太Android了,所以他們於去年推出了新的小蜜蜂logo,與Android 3.0 honeycomb 相當神似。

經過一番努力之後,MIT App Inventor Codi Bot 誕生了!

圖1

MIT App Inventor Codi Bot在設計上有幾項重點:

可愛、易用、教育、可擴充

特色:

為了讓使用者更易入手,我們開發了 LinkIt 7697 的 App Inventor extension,(個人覺得比Arduino 101的好用多了)。LinkIt 7697端只要上傳一次程式就可以順利與App Inventor溝通,也就是使用者只要專心寫App Inventor程式即可。如果在辦短期營隊或是體驗活動的時候,可以先把LinkIt 7697準備好,這樣可以省去現場上傳程式的各種麻煩事。

核心使用 LinkIt 7697Robot Shield V2.0,這樣使得整理電線變得很輕鬆,國內也有許多團隊使用兩者開發出許多有趣的專題。

當然,Codi Bot能做的不只是如此,7697 可以結合 MediaTek Cloud Sandbox等雲端服務結合LINE、IFTTT等通訊軟體

 

教學文件:

  • 單機執行:直接執行 (影片)
  • LED:使用按鈕、滑桿來控制翅膀與底座的LED (影片)
  • 翅膀:使用按鈕、滑桿來控制翅膀(伺服機) (影片)
  • 聲音:控制蜂鳴器發出各種音符或自訂義頻率與時間長度 (影片)
  • 完整app:整合上述功能 (影片)

來看實體照片吧,LED亮起的時候真的很漂亮,影片中可以看到翅膀拍動以及發出聲音的效果。

 

圖2

 

圖3 背面

 

圖4側面

    開發過程中,非常感謝聯發科技實驗室MiniPlan,CAVEDU同仁的超強後勤。

7697 extension感謝林祥瑞袁佑緣兩位小超人,以及MIT App Inventor Codi Bot的設計者:游允赫老師。

比較一下 MIT App Inventor的logo 與 Android 3.0 honeycomb:

圖5 App Inventor的logo

 

圖6 Android3.0 honeycomb

 

相關文章: