Quantcast
Channel: CAVEDU教育團隊技術部落格
Viewing all 678 articles
Browse latest View live

[Micro:bit] 使用BOSON電子積木控制燈條閃爍

$
0
0

「燈光」,是人類生活重要的一部份,不僅幫我們照亮了黑夜,也替生活增添不一樣的變化。在BOSON套件裡,除了LED模組可以發光之外,另一個可以發光的「彩色LED燈條模組」,就是我們今天的主角喔,一起來玩玩看吧!

 

作者/攝影

撰寫:郭皇甫

攝影:郭皇甫

文章分類 教學技術文
時間 30mins
成本
難度 *(1~10)
材料表
  • Micro:bit選購請點我
  • Micro:bit BOSON擴充板
  • BOSON紅色無段按鈕(Red Push Button)
  • BOSON彩色LED燈條模組(Multicolor LED String Lights)(以上選購請點我

 

  在先前的文章中,有介紹到「彩色LED燈條模組」應用在「皇冠」的作品上,那麼,若是使用Micro:bit的話,我們要如何進一步控制它呢?當然,BOSON是無法直接與Micro:bit連接,在這裡,必須要透過一塊Micro:bit BOSON擴充板,二者才能互相溝通。請先將Micro:bit以圖1的方向,往下嵌入至擴充板,並將「彩色LED燈條模組」用連接線接上擴充板的P1引腳。至此,硬體的連接就算完成囉!

圖1  硬體連接

  接下來,讓我們先寫一個簡單的閃爍(Blink)程式吧!程式的概念很簡易:「讓燈條每隔一秒鐘亮滅」,瞭解後請跟著以下步驟進行編寫:

 

Step1:設定引腳初始狀態。在擴充板上有著各式引腳,瞭解這些引腳的狀態,您就能進一步控制連接的感測器。由於我們僅要燈條呈現「亮、滅」的狀態(也就是開跟關),所以在這裡,我們需要「數位信號」方塊。請在【進階】→【引腳】裡,找到「數位信號寫入」的方塊,將「引腳」設定為P1;「數字」設定為0(0代表關;1代表開),並放在「當啟動時」的方塊內。那麼,在程式一開始執行時,燈條會是關閉的狀態。

 

圖2  設定P1引腳初始狀態

 

Step2:間隔一秒亮滅。接下來,我們要重複執行每隔一秒鐘讓P1引腳開、關的動作,因此,程式的順序會變成暫停一秒、P1開、暫停一秒、P1關。在這裡,我們會需要暫停方塊。請在【基本】裡,找到「暫停(ms)」方塊,ms在這裡指的是毫秒,並將數字改為1000(1000ms = 1秒鐘),放在「重複無限次」的方塊內,接著再放入「數位信號寫入」方塊;再放一個「暫停(ms)」方塊、「數位信號寫入」方塊,設定如圖3所示。

圖3  重複執行燈條閃爍

 

完整程式碼如下:

Blink程式碼

圖4  Blink程式碼

 

  請將程式碼下載到Micro:bit板子上執行,觀察燈條是不是順利閃爍了呢?

 

  接下來我們要使用BOSON的「紅色無段按鈕」,控制燈條閃爍。請將「紅色無段按鈕」接在擴充板的P0引腳,如圖5所示。再來我們要準備編寫程式,您可以先使用圖6的程式碼,觀察BOSON的按鈕模組,在按下與放開時的數值變化會是「0、1」。利用這二個數值,我們就可以進一步控制燈條閃爍。

圖5  P0接上紅色無段按鈕

 

圖6  顯示P0引腳數值

 

  程式的概念為,按住按鈕模組、燈條閃爍、放開按鈕模組、燈條關閉,請按以下步驟進行程式編寫:

 

Step1:初始狀態設定。請開啟上一個範例程式「Blink」,並從【引腳】裡,找到「數位信號寫入」方塊,「引腳」設定為P0、「數字」設定為0,放入「當啟動時」方塊內。

圖7  設定P0引腳初始狀態

 

Step2:設定重複執行條件。在這裡,我們要讓程式偵測到P0數值為「1」時,燈條閃爍;P0數值為「0」時,燈條關閉。請在【邏輯】裡,分別找到「如果…那麼…否則」與「=」 方塊,並放進「重複無限次」方塊內,將「=」方塊接在「如果」的後方(如圖8所示)。接著在【引腳】裡找到「數位信號讀取」方塊,放入「=」的前方空格內,並將後方空格的「0」改為「1」(如圖9所示)。最後,我們將之前寫的燈條閃爍放進「那麼」裡,接著在「否則」裡放入「數位信號寫入」,並將「引腳」改為「P1」、「數字」改為「0」(如圖10所示)。您也可以自行設定「暫停」的秒數,效果會很不一樣喔!

圖8  如果符合「=」條件

 

圖9  設定條件P0 = 1

 

圖10  設定否則執行程式

Button_Blink完整程式碼

圖11  Button_Blink程式碼

 

  以上為基本的燈條閃爍控制,您也可以在閃爍的地方,加入執行次數的限制,這樣一來,您就不用一直按住按鈕,只需按一下,就能看到閃爍的效果。今天介紹到這邊,請期待下次還有其它好玩的BOSON與Micro:bit應用喔!下次見!

 

相關文章


[Micro:bit]Micro:bit Blockly PBL教材──主題1-5:小彼特電子賀卡

$
0
0
作者/攝影

Ted Lee(本文轉載自Ted Lee的部落格「泰布布」,圖文版權均屬於作者Ted Lee,特此致謝。)

文章分類 教學
時間
成本
難度 **(1~10)
材料表

任務

  想要用Micro:bit製作電子賀卡送給好朋友,於是參照Jingle Bells簡譜,用音樂積木抽屜裡的積木把它譜出來。

 

製作步驟解說

1.在白紙上畫出電子賀卡的設計圖。

2.依照簡譜拉完Jingle Bells的積木。

 

Step1:使用Basic積木抽屜中的積木,設計出賀卡的跑馬燈圖案,例如:Merry X’mas

圖1

 

Step2:使用Music抽屜中第一塊單音積木tone,以及第三塊休止符積木rest譜出曲目。

圖2

 

譜出的曲目如下圖:

圖3

 

完成的作品可以與這個範本進行對照。

 

Step3:將Micro:bit裝到製作好的PP板上。例如:

圖4

與108課綱對照

  • 學習表現:資t-IV-4 能應用運算思維解析問題。

  • 學習內容:

    • 資P-IV-2 結構化程式設計。

    • 資A-IV-1 演算法基本概念。

 

教學活動設計

Share and Tell:請每位同學帶著自己的作品上台,用五分鐘時間介紹一下自己的作品──題目、風格、功能、製作過程、遭遇困難及解決方法⋯⋯等等。

 

延伸挑戰

  • 挑戰1:讓Micro:bit也能演奏二部合唱。

  • 進學1:選用Led積木抽屜中more裡頭第一塊(個別LED亮度調整),以及第三塊(全體LED亮度調整)的亮度調整積木(brightness),讓作品更有氣氛。請參考下圖:

圖5

 

相關文章

[開箱文]四軸飛行器RobotFly的初體驗

$
0
0
作者/攝影

圖、文、影片資料提供:台南市忠義國小的鄭智尹老師 (特此致謝)

文字潤飾:CAVEDU教育團隊

文章分類 開箱文
時間

成本
難度
材料表

 

  偶然在泛科市集看到新品特價資訊,一時興起就下訂買來玩玩。拿到貨時感覺包裝相當簡單,馬上拆開來組裝囉!

圖1

 

  拆開包裝後,有一張說明及產品序號單,可用來取得開源資料,這也是我想買來試試的主要原因,組裝前先取得相關資料比較重要。

圖2

 

  連上ARKLAB官網先註冊會員,進入會員專區後可以登錄產品序號,之後便能下載「RobotFly開源資料包」了!

圖3

 

拿到資料後,第一件事就是打開說明書來照著做就好啦!

圖4

 

  說明書寫得蠻詳細的,按照說明書製作就可順利組裝完成,只是過程中我覺得有些地方要注意一下。

 

  我覺得木頭部份好像有點脆弱,厚度只有2mm,應是顧及重量的關係,所以手腳要輕些,否則折斷了可就悲劇!

圖5

 

  尤其要將主板扣上機架時一定要小心,當然我覺得用扣子這招也算是蠻有巧思的。

圖6

 

  安裝四顆馬達時,也要注意必須按照指定的位置,因為空心杯馬達轉向有區分,一種紅藍線,另一種黑白線,而四軸的槳也有分正槳和反槳。若弄錯了,你的小四軸機可是會飛不起來的。

圖7

  我的方法是會將零件擺好位置再裝,就不會錯了。說明書的最後有說明正槳和反槳的差別,而馬達擺放的位置也是為了提供升力的同時,能抵消掉左右的旋轉慣性,四軸機才能平穩升空。

圖8

 

圖9

 

  我想在教學生的時候,可以把槳裝上後讓小朋友從上方吹氣,就會發現正槳會逆時針轉,而反槳會順時針轉,很有趣的~~。

圖10

 

可以看到裝馬達的位置,大圓旁還有一個小圓,那是讓我們過線的貼心設計。

圖11

 

記得把O型環套上,可以加強馬達的固定。

圖12

 

  其實花不了多少時間就可將整台小飛行器組好了!我還有一個地方可以提醒大家,就是馬達線的繞法,尤其是前方的二顆馬達,若按照說明書的作法,可能會把線拉得很緊,我都會怕快把電線扯斷,建議可以少繞一圈,只要在飛行時,電線不會被旋槳打到就行了!更重要的是,接線的方向可別錯了!

圖13

 

  上圖是按照說明書的繞法,我感覺線拉得好緊!若是讓小朋友來組裝,恐怕會拉斷不少電線,所以我就繞鬆一點,也不會被槳打到的。

圖14

 

圖15

 

  我不太清楚主板在出廠時有沒有燒錄預設程式,就自己弄一次。先在電腦安裝Arduino IDE(開源包裡有附一個arduino-1.0.6-windows.exe),把機子用microUSB接上電腦,裝置管理員應該會抓到主板,並給一個COM埠號,如下圖得到一個COM4。(註:若電腦無法順利驅動它,就得先安裝開源包裡「Driver程式燒錄器」目錄下有提供一個CH341SER.EXE驅動程式,執行並安裝它就可以了!)

圖16

 

圖17

 

  再來我們就可以把程式燒至主板了,直接雙按「開源資料包內\飛控程式碼\MultiWii_x4_mpu6050_last_bluetooth\MultiWii_x4_mpu6050_last_bluetooth.ino」,會自動以Arduino IDE開啟。

圖18

 

選一下板子及COM port,我的電腦抓到的是COM4。

圖19

 

圖20

 

  再來按下這個按鈕就會開啟上傳程式至你的主機板上去,可以看到板子上的LED燈不停閃爍,直到上傳完畢。(註:我是在組裝前就先進行程式上傳。) 

圖21

 

準備要來飛飛看囉!

 

  拿出Android手機或平板來安裝資源包中提供的APP,它直接提供了APK檔,可以傳輸至平板安裝,我的作法是在電腦把APK檔傳上Google雲端硬碟,再從平板載下來。記得平板上設定要允許未知的來源,還有一件重要的事,就是我一開始按照說明書上安裝RobotFly控制面板.apk,還跟著研究什麼美國手、日本手⋯⋯,結果連解鎖都解不開,這個app似乎有問題,改安裝RobotFly_V1.0.0.4.apk這個檔才能正常操作。

圖22

 

圖23

  按訪客登入就行了。

 

  程式一開始並未連接任何裝置,這時可以將小四軸「水平上電」(很重要),因為陀螺儀需要初始化。

圖24

 

  記得把藍芽和電機開關打開,平板app這時應該可以抓到它了(按一下「未連接到任何裝置」)。

圖25

 

  按一下連線,觀察一下主控板上的藍芽連接燈開始閃動,就知道連上了。這時還是不能飛行的,必須先解鎖才行,方法是左下方的鈕移向解鎖處約二、三秒。

圖26

  解鎖成功的話,主控板上的三顆LED的右邊那顆就會常亮,這時再移動左鈕向上,螺旋槳就動起來了!

圖27

 

  接下來就是測試一下啦!我直接在桌上進行測試,逐漸把滑桿向上推,馬達的旋轉度開始加大,直到RobotFly飄浮起來,我知道至少沒有裝錯。我還進行了一個小實驗:在旁邊放了一個風車,當螺旋槳愈轉愈快,風力影響到風車也愈轉愈快,就只剩下到大一點的空間試飛了!

圖28

 

  根據我個人的試飛,我覺德不是很容易操控,可能是我的操控技術還不夠熟練吧!我很難讓它在空中懸停。RobotFly果然很像小蜜蜂,不停往上、往東、往西⋯⋯,試飛過程中撞天花板、椅子、地板等,有一點可以肯定的是,它很耐撞!我想這是給小孩玩必備的要件。

 

測試影片:

 

相關文章

[LinkIt 7697] 物聯網應用情境下的LinkIt 7697

$
0
0
作者/攝影

熊大

文章分類 介紹文
時間

成本
難度 ****(1~10)
材料表

 

  今日的物聯網應用多包含裝置(Device)、雲端(Cloud)及手機 (Mobile) 三部分,彼此互相連通,常用的有三種情境:

圖1

 

  情境一:手機和開發板透過藍芽對連,透過手機控制開發板。開發者可在 Arduino 中使用的 LRemote函式庫撰寫 UI的呈現和互動方式,手機上則需安裝 LinkIt Remote App。當手機透過藍芽連至 LinkIt 7697,會自動讀取 UI 的呈現方式,並可做交互操作。例如 OTTO97 這個二足機器人專案,就是使用此方法透過手機的藍芽操作機器人。除了使用 LRemote 函式庫(Arduino端)搭配 LinkIt Remote App(手機端)進行藍芽連線操作之外,也可使用 App Inventor製作手機端的應用與 LinkIt 7697 互相溝通。使用藍芽連線的好處之一,就是手機對外網路(Wi-Fi or 4G)還是連通的,依舊可上網。

 

資源連結:

LRemote: https://goo.gl/gx6uPY

OTTO97: https://goo.gl/qLK2Vq

 

圖2 OTTO97

 

  情境二:手機和開發板透過Wi-Fi 對連。使用此方法 LinkIt 7697 會需要切到AP模式,手機連到LinkIt 7697(Soft AP)並使用瀏覽器開啟網頁。此種方法的缺點就是,當手機連線到LinkIt 7697時,會失去上網功能,但手機基端不需安裝應用,只需要有瀏覽器則是其優點。(目前 LinkIt 7697 Soft AP模式 Arduino 函式庫已經開發,並且已經釋放出來給開發者使用。)

 

  情境三:透過MCS(MediaTek Cloud Sandbox)雲端服務,進行LinkIt 7697與多屏的溝通。MCS為聯發科技公司,免費提供給開發者進行概念驗證和學習物聯網應用的一個雲端平台,分成公有雲版本(MCS)和私有雲版本(MSCLite)。公有雲版本只要至 mcs.mediatek.com 註冊後便可直接使用;私有雲MCSLite需要安裝到自己的網路環境內,可在任何一台可執行Node.js的環境上運行(Windows、MacOS、Linux),所以可以裝在 PC、Notebook、NAS、AWS/Azure,甚至是 LinkIt Smart 7688 上。MCSLite 為一開源專案,且提供大量的彈性可供讓使用者客製化,方便使用者依自己的需求修改調整。

 

資源連結:

MCS : https://mcs.mediatek.com

MCSLite : https://mcslite.netlify.com/zh-TW

 

周邊配套

  LinkIt 7697 已與眾多通路上容易購買的常用周邊硬體進行過相容性測,並有提供可用的函式庫及教學文章,例如七段顯示器/矩陣顯示器(74HC595/MAX7219),OLED(SH1106/SSD1306⋯⋯等等),LCD模組(PCF8574A/PCF8574),溫度壓力感測器(BMP183),RGB LED(WS2812),超音波測距模組(HC-SR04),溫溼度感測器(AM2302/DHT22/DHT11⋯⋯等等),光感測器(LM358),LED Bar(MY9221),加速度感測器(MPU-9250)⋯⋯等等。

 

資源 :

相容周邊驅動和教學: https://goo.gl/sUQnCM

 

  開發者除可單獨入手這些常用的周邊模組外,若想要一次性入手常用周邊,也可考慮Grove Starter Kit for LinkIt 7697,作為上手學習的套件。

圖3 Grove Starter Kit for LinkIt 7697

 

  此外,台灣知名的機器人開發板廠商 MiniPlan,也有針對LinkIt 7697 開發相容的Robot Shield,提供好用的馬達控制功能及高效安全的內建可充電電池,非常適合開發初階機器人應用。

圖4 Robot Shield(左)

 

總結

  LinkIt 7697為學習和實作物聯網應用非常好用的平台,搭配聯發科技公司提供的免費物聯網雲服務MCS/MCSLite,以及手機應用LinkIt Remote,可以更容易製做出橫跨裝置 (Device)、雲端(Cloud)及手機(Mobile)的物聯網專案。也歡迎大家加入FB粉絲團 「LinkIt 開發者社群」,可及時獲得第一手資訊。

 

相關文章

[翻譯] 2018.06.19- 根據MIT Scratch Team,Scratch 3.0的3大重點

$
0
0
原文作者

MIT Scratch Team

紀錄攝影
翻譯 宗諭 訪問地點
訪問時間

原文刊登日期:2018年6月18日

 

簡單說,不囉唆,Scratch 3.0要上線啦!

 

Beta版預計2018年8月上線,正式版預計2019年1月2日上線。

 

  然而,在Scratch 3.0上線前,有3件事您需要知道:

  1. Scratch 3.0將有更多創作與分享的方式

  • 將可在平板電腦上創作、分享及組合專案。

  • 將有數十個新的角色、背景及聲音可以選擇。

  • 透過新的繪畫與聲音編輯器,將更容易組合並控制角色、音樂及聲音。

  • 伴隨著新的延伸系統,孩童可以替實體裝置(例如Micro:bit)與網路服務(例如Google翻譯)撰寫程式。

圖1 Scratch 3.0將有更多不同角色

2.對於Scratch新手,Scratch 3.0有新的支援服務

  • 對於初次使用者,有新的編輯體驗。

  • 新的教學短片

  • 更新「Scratch活動卡片」與「教育者指引」

  • 透過哈佛大學ScratchEd的朋友們,更新了「創意運算課程(Creative Computing Curriculum)」。

  • 透過「Code Club」與「CS First」的朋友們,更新了教學文件。

圖2 新的教學短片

 

3.然而,Scratch 3.0仍是那個你熟悉且喜愛的Scratch!

  • 所有現存的專案和帳號將可繼續在Scratch 3.0上使用

  • 所有現存的程式積木都還在(而且我們還會增加新的程式積木)!

  • Scratch 3.0將有諸多不同語言的版本

  • Scratch 1.4和0的離線版本仍可繼續使用

  • 對每一位使用者,Scratch仍然免費(萬歲)!

 

  詳情請見原文:https://medium.com/scratchteam-blog/3-things-to-know-about-scratch-3-0-18ee2f564278

 

相關文章

[Boson電子積木好好玩]Boson X Lego = 轉個不停的風車

$
0
0
作者/攝影

怡婷

文章分類 教學文
時間

成本
難度 **(1~10)
材料表

  上回我們製作了好玩的「留聲機」,CAVEDU教育團隊腦力激盪,再次想出一個好玩的Boson專題,就是荷蘭最有名的「風車」,但我們是用Boson電子積木和樂高積木完成。那就一起來看看怎麼製作吧:

  CAVEDU教育團隊還會持續推出有趣的Boson專題,請大家持續關注我們的部落格喔,謝謝。

 

相關文章

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

$
0
0
作者/攝影

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

文字整理:CAVEDU 宗諭

文章分類 教學文
時間

成本
難度
材料表

 

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

圖1 游允赫老師(左)

 

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

 

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

 

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

 

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

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

 

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

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

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

 

圖4 大腳車安裝上培林

 

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

圖5

 

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

 

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

 

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

 

相關文章

[活動採訪] 2018.06.22- 科技翻轉體育課,三種VR技術帶您一次看!

$
0
0
紀錄撰寫 宗諭 紀錄攝影 宗諭
課程講師 民生國中陳建廷校長、仁愛國中楊昌珣老師 訪問地點 臺北市立民生國中活動中心
課程時間

2018年6月22日09:15-12:00

 

  運用科技翻轉學校教學活動,已是當前教育界的潮流。在臺北市國民教育輔導團國中健康與體育領域輔導小組的努力下,把VR科技融入體育教學中,已可見到初步的成果。

圖1 學生運用VR眼鏡,觀看課程相關內容。

 

  為何想將VR技術融入體育課?輔導團員、仁愛國中楊昌珣老師指出,現場教學時,常會因學生程度有落差,而不知該教導什麼內容。以籃球課為例,有的學生可以飛身灌籃,但有的學生還需練習基本運球。因此,透過VR科技,學生可根據自己的程度學習,比較不會產生學習落差;同時,可藉由網路上的教材、影片,在課前、課後自學,學習效果會更加顯著。

圖2 致力將VR科技融入教學的楊昌珣老師

 

  分享完教學理念後,現場還展示了幾項已實際應用於體育課教學上的VR技術,就讓科編帶讀者們一探究竟:

 

一、VR教材

1.利用手機安裝AR2VR app,同時下載課程包。

圖3 AR2VR app

 

圖4 已有製作好的課程包,下載即可。

 

2.在實際課堂操作前,搭配VR眼鏡觀看內容,宛如示範者就在眼前。

圖5 經過特別設計的VR眼鏡

 

3.教材內容目前已有籃球高階動作、籃球-投籃動作、籃球-運球動作、跆拳-足部攻擊動作、2017世大運-城市旅遊⋯⋯等等。

 

二、360度VR攝影

  上體育課時,因學生眾多,老師往往無法一一指出每位學生在動作上需加強部分。現在藉由360度VR攝影,學生可轉動示範者的照片,從各角度觀察動作要領。

 

  只要利用平板電腦或手機連結教材後,便可用手指左右轉動示範者照片,從各角度觀看細節。

圖6 360度VR攝影網站(http://bit.ly/2MBPZXx)

 

  科編也實測了360度VR攝影,就是站在一個圓形平台上,等待攝影的平板電腦準備好,平台便開始360度旋轉一圈,供平板電腦進行連續拍攝。拍照成果:

圖7 可透過滑鼠點擊,使圖片360度旋轉。若用手機,可以手指拖曳。

 

三、教學平台

1.Youtube:臺北市國中健體輔導團約在十年前起,就把製作好的教學影片,逐步放在Youtube平台上。只要在Youtube平台上的關鍵字搜尋框中,輸入「e世代體育課」,便可搜尋到相關影片,供學生課前預習、課後複習。

圖8 Youtube上的體育課影片

 

2.臺北酷課雲:由臺北市政府教育局設立的線上影音教學平台,老師可上傳教學影片至此平台,讓學生課前、課後觀看,同時可透過平台掌握每位登錄學生觀看影片的情形。也可請學生將影片形式的作業上傳至平台。

圖9 線上影音教學平台——臺北酷課雲

 

3.LearnMode學習吧:由信望愛文教基金會支持而成立的免費線上課程平台,該平台的目標是:「只要有足夠的網路環境,每間教室皆可成為電腦教室。」基本上,老師可將教學影片上傳,使學生預習、複習;也可讓學生上傳作業,並在線上進行測驗。然而,科編覺得這個平台最棒的地方,是平台上已有不少製作好的教案,老師可複製教案,並根據自己的教學想法、創意、教學現場情況等進行修改,就可應用至課堂中。

圖10 線上知識管理平台——學習吧

 

小結

  在許多老師共同努力下,VR的教學資源已相當豐富。下一步,或許是幫助更多教師熟悉這些資源,使他們得以有效應用在教學現場。

 

相關文章


2018 CAVEDU暑期營隊懶人包

$
0
0
紀錄撰寫 CAVEDU教育團隊 紀錄攝影 CAVEDU教育團隊
課程講師 CAVEDU講師群 訪問地點
課程時間

2018年7月-8月

  各位爸爸媽媽們,還在煩惱漫長的暑假該帶孩子參加什麼營隊或課程嗎?不用擔心,CAVEDU都已經幫您整理好了,而且7、8月份都有喔!

 

  請看(登登登):

圖1

 

適合

年齡

地點

營隊名稱

日期

時間

報名

學齡前

救國團景美教室

月亮班-創意造型積木【創意遊樂園】

0704-0822

每週三10:00-11:00

報名

國小生

救國團景美教室

AI人工智慧機器人【樂高動力機械】

0723-0725

週一~週三 09:00-16:00

報名

國小生

救國團景美教室

AI人工智慧機器人【樂高EV3機器人】

0709-0713

週一~週五 09:00-12:00

報名

國小生

救國團景美教室

AI人工智慧機器人【樂高動力機械】

0707-0825

每週六13:30-15:30

報名

國小生

救國團新店教室

AI人工智慧機器人【樂高動力機械】

0706-0728

每週六、日13:00-15:00

報名

 

圖2

 

【AI自走車營隊】

適合

年齡

地點

營隊名稱

日期

時間

報名

升7年級

以上

救國團

景美教室

那一年我們一起造的車【AI自走車】

0725-0726

週三~週四 09:00-16:00

報名

升7年級

以上

CAVEDU

大本營

那一年我們一起造的車【AI自走車】

0707-0708

周六~周日10:00-17:00

報名

升7年級

以上

FABLAB

TAIPEI

那一年我們一起造的車【AI自走車】

0716-0720

週一~週五 13:30-16:30

報名

 

圖3

 

適合

年齡

地點

營隊名稱

日期

時間

報名

國小升3-升7年級

CAVEDU大本營

小小自造營

0813-0817

週一~週五 09:30-17:00

報名

 

  若是各位爸爸媽媽對於哪一個營隊想要更多了解,歡迎來電洽詢:(02)2306-2900;E-mail:service@cavedu.com

 

  名額有限,請百米衝刺報名!

 

相關文章

[Micro:bit]Micro:bit Blockly PBL教材──主題5-2:電流急急棒

$
0
0
作者/攝影

Ted Lee(本文轉載自Ted Lee的部落格「泰布布」,圖文版權均屬於作者Ted Lee,特此致謝。)

文章分類 教學
時間
成本
難度 ****(1~10)
材料表

前言

  您玩過這樣緊張剌激的遊戲嗎?它叫でんりゅうイライラぼう(電流急急棒),是源自於1995至2000年間,在日本播出的一個綜藝節目《火焰挑戰者》。想玩嗎?讓我們自己動手用Micro:bit做一個來玩吧!

 

材料

  • 香蕉/鱷魚夾×2組(一組2條)

圖1 香蕉/鱷魚夾

 

  • 細鐵絲2段(一段長約30公分作軌道)

圖2

 

  • 短鐵絲10 公分作為急急棒

圖3

 

  • 蜂鳴器1個

圖4

 

Step1:請先依照接線圖施工,把電流急急棒架設好。

圖5 接線圖

 

程式解說

Step2:彎好造型的長軌道接在Micro:bit的GND,急急棒則接在P1接腳,程式會監測這隻接腳是否有被壓住

圖6

 

Step3:當接在P1接腳的急急棒碰到軌道時,P1接腳的按下(pressed狀態就變為true,此時發出一警示音。

圖7

 

程式碼

  • forever(() => {

  •   if (input.pinIsPressed(TouchPin.P1)) {

  • beginMelody(music.builtInMelody(Melodies.PowerDown), MelodyOptions.Once)

  •   }

  • })

 

  參考程式檔在此下載。一起來看看成果吧:

 

(峰)迴路(轉來)導電

關於急急棒這種因導電而形成電流迴路(loop的性質,有許多延伸案例可參考:

  • 案例1:導電鋼琴

    水果中含有電解質,所以可以導電喔!這篇的水果音樂鍵盤被這位劉老師擴充為水果鋼琴真是好玩。另外,這位Tamás大大更厲害以四條鋁箔紙帶設計這台紙綱琴。不想玩鋼的朋友們,也可以嘗試做一把電吉他。或者玩玩Amazing Grace演奏吧!

  • 案例2:同榮急急棒

同榮國小特製的同榮急急棒,歡迎來挑戰(12)。請大家留意一下,同榮這款急急棒是有巧思的,他們用了一種神秘的材料在其中。聰明的您趕緊找找,找出名堂的人就到同榮找阿貴校長領糖糖吧!(留意這中空字款要做好支撐,不然會倫敦鐵塔垮下來、垮下來~~)

 

與108課綱的對照

  • 學習表現:

    • 資 c-III-2 能使用資訊科技與他人合作產出想法與作品。

    • 生k-IV-4 能了解選擇、分析與運用科技產品的基本知識。

  • 學習內容:

    • 資 A-III-2 簡單的問題解決表示方法。

    • 生A-IV-5 電與控制的應用。

 

教學活動設計

  • 活動1:票選出最佳造型軌道若干,再將學員分組,組內全部學員最先挑戰過關者為優勝。學員挑戰過程中若不慎觸軌,需重新排隊挑戰,連續挑戰失敗三次者,可找隊友代打。

  • 活動2:加入藝術元素。請同學先畫出急急棒的設計稿,再依稿件完成作品。

 

延伸挑戰

 

相關文章

[活動採訪] 2018.06.27- 暑期免費科技教育夏令營,可能秒殺,手刀報名!

$
0
0
紀錄撰寫 宗諭 紀錄攝影 宗諭
課程講師 臺北市政府教育局局長曾燦金、聯發科技公共事務處總監王秀芬 訪問地點 臺北市政府教育局402室
課程時間

2018年6月27日 11:30-12:00

 

  為避免暑假可能產生一打二、一打三,甚至一打N的情況,CAVEDU教育團隊提供大家一個網址:

 

http://maker.tp.edu.tw/node/1900

 

請趕快報名,先搶先贏!

圖1 也可掃描QR Code

 

  那是要報名什麼呢?原來,臺北市政府教育局結合財團法人聯發科技教育基金會,辦理科技教育夏令營,讓臺北市106學年度四至八年級學生免費參加體驗,自明天(6月28日)上午十點起開始報名。夏令營從7月23日起,在日新國小、溪口國小、南港國小、長春國小、南門國中、仁愛國中、石牌國中及龍山國中,分八梯次辦理。營會主題跟自造教育與物聯網議題相關。

圖2 科技教育夏令營相關資訊

 

  但是,讀者們以為這樣就結束了嗎?沒有呢,原來我們的臺北市政府教育局曾燦金局長聽了各單位報告後,當場決定加碼,第二波夏令營至少有八個梯次。後續若有進一步消息,CAVEDU教育團隊會跟大家分享,請讀者們持續關注。

圖3 感謝曾燦金局長(中)

 

圖4 感謝聯發科技教育基金會的投入。發表者為聯發科技代表、公共事務處王秀芬總監。

 

相關文章

[Micro:bit] BOSON電子積木呼吸燈條

$
0
0

生活中,您是否有注意到有些燈光除了「開關」與「閃爍」外,還有如同「呼吸」一樣的變化呢?「呼吸」的意思是指,像波浪一樣有著高低起伏,應用在燈光上,就會變成漸漸變亮與漸漸變暗的效果。今天要為大家介紹使用Micro:bit控制BOSON燈條,達到「呼吸燈」的效果。

作者/攝影

撰寫:郭皇甫

攝影:郭皇甫

文章分類 教學技術文
時間 30mins
成本
難度 **(1~10)
材料表

  請先將Micro:bit與Micro:bit擴充板準備好,接著將「彩色LED燈條模組」接上P1引腳。硬體設置好後,就可開始編寫程式,程式的概念很簡單,我們要做到的是讓燈條亮度慢慢增加,再慢慢減少,並且一直重複這個模式,請依照下列步驟進行:

 

Step1:初始化引腳與變數。首先找到【變數】→【建立變數】,將新變數命名為「light」後,找到「變數item設為0」方塊,設定item為light,並將方塊放入「當啟動時」內。接著找到【引腳】→「類比信號寫入」與「對應…從低…從高…到低…到高」方塊,將「引腳」改為P1,並將「對應…從低…從高…到低…到高」方塊放入「類比信號寫入」的「數字」內,並設定好「對應…」方塊內的數值(如圖2所示)

圖1 建立變數

 

圖2 類比信號寫入與對應方塊

 

圖3 設定對應方塊內的數值

 

Step2:重複燈條漸亮、漸暗。要讓燈條達到漸亮的效果,您可以從「如何讓數值變大」的方向來思考。首先,引腳的數值決定了燈條的亮度,若數值愈大,燈條的亮度愈高,而在Step1時,我們已經將P1的腳位數值對應到「變數light」中,並且將數值範圍從0~1023改為0~255,這樣的方式也可以讓數字變得較好計算。所以,當「變數light」的數字為0,亮度最小,反之亮度最大。瞭解後,我們要來做一些簡單的加減運算。

 

a.變數light每次加5。從【變數】找到「變數設為」與「light」方塊,並將item改為light;從【數學】找到「+」方塊,並接在「變數設為」方塊的後方,將「+」後方的數字改為5。(如圖4所示)

圖4 變數加5

 

b.變數light每次減5。與上述唯一不同的地方是使用「-」方塊,而不是「+」方塊。(如圖5所示)

圖5 變數減5

 

c.重複次數。不論是加5或是減5,只要各重複51次,即能達到最大255與最小0,因此,請找到【迴圈】裡的「重複…次…執行」,將次數改為51。(如圖6所示)

圖6 重複執行51次

 

d.數位引腳讀取數字。將變數light的數字設定好重複執行累加與累減後,我們還要將變數light每次得到的數字放進P1腳位裡,所以在這邊我們放進「類比信號寫入」的方塊,將「引腳」改為P1、「數字」改為「light」。(如圖7所示)

圖7 類比信號寫入

 

e.加入延遲秒數。最後,我們從【基本】找到「暫停(ms)」方塊,將數字改為30,並接在「類比信號寫入」的下方。(如圖8所示)

圖8 加入延遲秒數

 

  最後,完整的程式碼如下:

圖9 完整程式碼

 

  將程式碼下載到Micro:bit上,看看燈條是否會漸亮、漸暗了呢?您也可以試著使用BOSON的旋鈕直按控制燈條,也能達到漸亮、漸暗的效果喔!今天的介紹就到這邊,下次還會有哪些好玩的應用呢?敬請期待喔!

 

相關文章

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

$
0
0
作者/攝影

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

文字整理:CAVEDU 宗諭

文章分類 教學文
時間

成本
難度
材料表

 

  接著上一篇「從Zero到Hero,給想實做動力小車的你——硬體篇」,這次我們將繼續介紹,完成動力大腳車硬體設施後,軟體層面該如何部署。

 

  首先介紹所需要的配備:

  • 開發板:LinkIt 7697 + RobotShield

  • 顏色感測器:TCS3200

  設定方式:

Frequency Scaling 20% (S0-H,S1-L)

Photodiode Type Clean (S2-H,S3-L)

  • 手機遙控app:LinkIt Remote

  • 程式編輯器:Arduino IDE

圖1

 

  先讓我們打開Arduino IDE,然後寫好將顯示在LinkIt Remote上的各項物件,等之後LinkIt Remot與7697透過藍牙連接時,LinkIt Remote將自動抓取這些物件。如下:

//設定爬坡按鈕

  LRemoteButton buttonClimb;

//設定折返按鈕

  LRemoteButton buttonGoAndBack;

//設定計時器

  LRemoteSlider Timer;

//設定顏色極限值

  LRemoteSlider Limit;

//上方標籤

  LRemoteLabel  BigFoot;

//設定狀態欄

  LRemoteLabel  LabelS;

//設定顏色感應器偵測值欄

  LRemoteLabel  LabelLight;

 

  接下來,讓我們為著之後的主程式宣告一些變數,如下:

//馬達分別接於13、17

  int M1A = 17;

  int M1B = 13;

//宣告變數T(時間-0.1秒為單位)

  int T;

//宣告變數F(顏色感應器讀數)

  int F;

//宣告變數S(車輛狀態)

  int S = 0;

//宣告變數L(顏色極限值)

  int L;

//宣告變數button=6(7697內建USR按鈕)

  int button = 6;

圖2

 

  現在來到主程式部分,首先是setup函式,如下:

void setup() {

  Serial.begin(9600);

  Serial.println(“Start configuring remote”);

  pinMode                  (13, OUTPUT);

  pinMode                  (17, OUTPUT);

  pinMode                  ( 2,  INPUT);

  pinMode                  ( 4,  INPUT);

  pinMode                  ( 6,  OUTPUT);

  digitalWrite             (13, 1);

  digitalWrite             (17, 1);

 

//這部分是LinkIt Remote介面上各項物件的進一步設定

//藍牙名稱,介面分割

  LRemote.setName          (“BigFoot”);

  LRemote.setOrientation   (RC_PORTRAIT);

  LRemote.setGrid          (3, 5);

 

//上方標籤

  BigFoot.setText          (“!大腳車!”);

  BigFoot.setPos           (0,0);

  BigFoot.setSize          (3,1);

  BigFoot.setColor         (RC_GREY);

  LRemote.addControl       (BigFoot);

 

//爬坡按鈕

  buttonClimb.setText      (“爬坡!”);

  buttonClimb.setPos       (0, 2);

  buttonClimb.setSize      (1, 1);

  buttonClimb.setColor     (RC_BLUE);

  LRemote.addControl       (buttonClimb);

 

//折返按鈕

  buttonGoAndBack.setText   (“折返!”);

  buttonGoAndBack.setPos    (2, 2);

  buttonGoAndBack.setSize   (1, 1);

  buttonGoAndBack.setColor  (RC_BLUE);

  LRemote.addControl        (buttonGoAndBack);

 

//時間設定滑桿

  Timer.setText             (“Timer=( 10 ~ 150 )”);

  Timer.setPos              (0,1);

  Timer.setSize             (3,1);

  Timer.setColor            (RC_ORANGE);

  Timer.setValueRange       (10,150,10);

  LRemote.addControl        (Timer);

//光感極限值設定滑桿

  Limit.setText             (“LIMIT”);

  Limit.setPos              (0,3);

  Limit.setSize             (3,1);

  Limit.setColor            (RC_GREEN);

  Limit.setValueRange       (100,360,225);

  LRemote.addControl        (Limit);

 

//光感值顯示標籤

  LabelLight.setText        (String(F));

  LabelLight.setPos         (0, 4);

  LabelLight.setSize        (2, 1);

  LabelLight.setColor       (RC_PINK);

  LRemote.addControl        (LabelLight);

 

//狀態顯示標籤

  LabelS.setText            (String(S));

  LabelS.setPos             (2, 4);

  LabelS.setSize            (1, 1);

  LabelS.setColor           (RC_GREY);

  LRemote.addControl        (LabelS);

 

  LRemote.begin();

  Serial.println(“begin() returned”);

}

 

  關於LinkIt Remote如何設定,讀者們可以進一步參考這篇文章:使用LinkIt Remote

圖3 在手機的LinkIt Remote上,介面如此呈現。

 

  再來是loop函式的部分,如下:

void loop() {

  if(!LRemote.connected()) {

    Serial.println(“waiting for connection”);

    delay(1000);

  } else {

    delay(15);

  }

  LRemote.process();

//獲取極限值設定

  L = Limit.getValue();

//獲取時間值設定

  T = Timer.getValue();

//獲取顏色感測器讀取值,感測器訊號接於4號腳位上

  F = pulseIn(4,LOW);

//顯示讀取值於光感值標籤

  LabelLight.updateText(String(F));

 

 

//當爬坡按鈕按下,狀態值設定為5,狀態欄顯示為”已選爬坡”

  switch (buttonClimb.getValue()){

    case 1:

    S = 5;

    LabelS.updateText(“已選爬坡”);

    break;

    case 0:

    break;

   }

 

//當爬坡按鈕按下,狀態值設定為1,狀態欄顯示為”已選折返”

  switch (buttonGoAndBack.getValue()){

    case 1:

    S = 1;

    LabelS.updateText(“已選折返”);

    break;

    case 0:

    break;

   }

 

 

//若狀態值為1(已選折返)且7697 USR按鈕被按下

//狀態列顯示為”下坡”,馬達反轉,持續秒數依滑感設定

//持續時間設定值過後,狀態值切換至2

if (digitalRead(button) == 1 && S ==1 ){

    LabelS.updateText(“下坡”);

    digitalWrite(M1A,0);

    digitalWrite(M1B,1);

    delay(T*100);

    S = 2;

   }

 

//若狀態為2且顏色感應器偵測值小於極限值(判定為尚未過黑線)

//馬達持續反轉,狀態欄顯示為”偵測中”

    else if(S == 2 && F < L){

      digitalWrite(M1A,0);

      digitalWrite(M1B,1);

      LabelS.updateText(“偵測中”);

    }

 

//若狀態為2且顏色感應器偵測值大於極限值(判定為過黑線)

//狀態值切換至3,狀態欄顯示為”已偵測”

    else if(S == 2 && F > L){

      S = 3;

      LabelS.updateText(“已偵測”);

    }

//若狀態為3,則狀態欄顯示為”上坡”,馬達正轉

//持續時間為設定值+2秒(上坡所需時間較長),時間到達後狀態值切換至4

    else if(S==3){

      LabelS.updateText(“上坡”);

      digitalWrite(M1A, 1);

      digitalWrite(M1B, 0);

      delay(T*100+2000);

      S = 4;

    }

//若狀態為4且顏色感應器偵測值小於極限值(判定為尚未過黑線)

//馬達持續正轉,狀態欄顯示為”偵測中”

    else if(S == 4 && F < L){

      digitalWrite(M1A,1);

      digitalWrite(M1B,0);

      LabelS.updateText(“偵測中”);

    }

//若狀態為4且顏色感應器偵測值大於極限值(判定為過黑線)

//狀態欄顯示為”已偵測”,馬達持續正轉一秒

//一秒後狀態值切換至0,狀態欄顯示為”停止”

    else if(S == 4 && F > L){

      LabelS.updateText(“已偵測”);

      digitalWrite(M1A,1);

      digitalWrite(M1B,0);

      delay(1000);

      digitalWrite(M1A,1);

      digitalWrite(M1B,1);

      S = 0;

      LabelS.updateText(“停止”);

    }

 

//若狀態值為5(已選爬坡)且7697 USR按鈕被按下

//狀態值切換至3

    else if(S ==5 && digitalRead(button) == 1){

      S = 3;

    }

}

圖4

 

  程式完成後,最後一步就是把程式燒錄至LinkIt 7697上。

 

  軟體部分簡單介紹至此,若讀者有不了解的地方,歡迎詢問允赫老師,E-mail:yhyu@cavedu.com,謝謝。

 

相關文章

[Micro:bit]小彼特魔幻秀──光影魔術手

$
0
0
作者/攝影

原作、設計者:劉正吉老師(感謝作者的授權)

文字整理:CAVEDU宗諭

文章分類 教學文
時間

1小時內

成本
難度 * * *(1~10)
材料表

挑戰

  Micro:bit可有多方面的創意應用,魔術也是其中之一!就讓我們一起來看看,劉正吉老師如何運用Micro:bit主板上的光線感測器,設計出「光影魔術手」這個有趣的魔術專案。

 

  先來看看「光影魔術手」的影片:

 

程式設計

  看完影片後,有觸發您的程式思維嗎?接下來,就讓我們一步步建構「光影魔術手」幕後的程式。

 

Step1:為了之後主程式的需要,我們先宣告兩個變數「light」和「magic」。先從基本積木櫃中,拉出「當啟動時」積木,然後從變數積木櫃中,拉出兩個「變數⋯⋯設為」積木,將它們接上「當啟動時」積木。接上後,將第一個變數積木名稱改為「light」,值仍維持0;將第二個變數積木名稱改為「magic」,然後從邏輯積木櫃中拉出「false」積木,將它接上「magic」積木。

圖1

 

  讀者們是否有注意到在前面影片中,劉正吉老師的手第一次在Micro:bit主板前揮動時,小彼特並沒有任何反應,是在他按了Micro:bit主板上的按鈕A(左邊那一顆)後,主板上的LED燈才開始出現圖樣。為達成這樣的效果,我們必須在程式中設定一些條件。

 

Step2:讓我們從輸入積木櫃中拉出「當按鈕A被按下」積木,然後複製「變數magic設為false」積木,把它接上「當按鈕A被按下」積木,並把「false」改為「true」。

圖2

 

Step3:複製Step2的建構的積木,並把按鈕A改成按鈕B,以及true改成false。

圖3

 

Step4:複製Step3建構的積木,並把按鈕B改成按鈕A+B。刪除「變數magic設為false」積木,並從基本積木櫃中點選「更多」,拉出其中的「清空 畫面」積木,接上「當按鈕A+B被按下」。

圖4

 

這樣,變數和條件就設定好了,接下來我們就要進入到主程式了。

 

Step5:我們先從基本積木櫃中拉出「重複無限次」積木,接著從邏輯積木櫃中,拉出「如果true⋯⋯那麼」積木,並接上「重複無限次」積木。然後我們從變數積木櫃中,拉出變數「magic」積木,接上「如果true」那邊。這代表,如果變數magic的值為true的話,就可以觸發一些程式。於是,我們便可從此了解,為什麼前面的步驟要設定「當按鈕A被按下」的條件,是為要讓主程式運作。

圖5

 

Step6:繼續建構主程式。複製「變數light設為0」積木,把它接上「如果magic⋯⋯那麼」積木的「那麼」部分。從輸入積木櫃中拉出「光線感測值」積木,並接在「變數light設為0」積木的0那邊。這樣的意思是,當變數magic的值為true,變數light的值就會從0,變成接收光線感測值。

圖6

 

Step7:為要做進一步的條件設定,我們再從邏輯積木櫃中,拉出「如果true⋯⋯那麼」積木,並接在「變數light設為光線感測值」下方。接著,我們從邏輯積木櫃中,拉出一個「小於」積木,接在true那邊。再從變數積木櫃中,拉出變數「light」積木,把它放入「小於」積木前面那一個0那邊,然後把後面那一個0改成70。

 

補充說明

  在此需注意的是,70這個值是劉正吉老師當時所處環境的光線臨界值。我們以根據所處環境正常時的光線值,以及用手遮住光感測器時的光線值,將此兩個數值平均,作為臨界值。

圖7

 

Step8:接下來,我們要在「那麼」的地方加入一個「方法」。讓我們先把積木介面切換成JavaScript程式碼。

圖8

 

圖9 在if (light<70){的下方加入紅框框內的程式碼

 

Step9:切換回程式積木畫面,可看見如下圖。「光影魔術手」程式至此大功告成!

圖10

 

補充說明

  在此要說明的是,為何我們不直接用基本積木櫃中的showIcon積木就好了?因為如果我們用showIcon積木,就無法使用Math.random()方法。Math.random()方法會根據括號內所寫入的數字,隨機出現等於或小於該數字的正整數(包括0)。例如,這裡我們寫入的數字為39,Math.random()方法便會隨機出現0~39的數字。

 

  至於為什麼數字是39呢?因為showIcon積木內建了40個圖案,編號是從0至39,透過Math.random()方法,以及最外面的「重複無限次」積木,當我們的手揮過小彼特主板時,程式會隨機自這40個圖案中出現一個。若您對於寫程式碼不熟悉,您也可直接使用基本積木櫃中的showIcon積木,然後指定一種圖案即可。

 

按鈕B的用處是什麼?

  原來,魔術師有時總是要找觀眾上來體驗一下,若要讓觀眾上來嘗試,魔術師必須先偷偷按下按鈕B,這樣,觀眾再怎麼試圖案都不會改變;當魔術師要施展魔術時,則要偷偷按下按鈕A, 就可以開始施展光影魔術了。

  趕快來玩玩看「光影魔術手」吧!

 

相關文章

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

$
0
0
作者/攝影

CAVEDU教育團隊 鈺莨

文章分類 教學技術文
時間

成本
難度
材料表
  • Robot Shield*1(欲購買,請洽機器人王國

  • LinkIt 7697*1(欲購買,請洽機器人王國

  • Micro USB*1

  • 智慧型手機*1

  • RK 擴充板*1(欲購買,請洽機器人王國

  • 壓克力小車*1

  • 焊槍

  • 絕緣膠帶

完整程式下載

BlocklyCar7697

藍牙小車影片

 

導讀

 

本文重點

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

圖1 藍牙遙控車,衝啊!

 

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

 

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

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

 

馬達的腳位

Robot Shield的腳位

1 13
2 17

 

藍牙遙控車程式

  程式部分,我們使用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的腳位

1 13
2 17
3 12
4 10

 

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

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

 

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

圖12 BlocklyDuino程式

 

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

 

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

圖13 BlocklyDuino的全部程式

 

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

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

 

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

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

 

圖16 手機發送指令事件

 

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

 


[人物採訪]2018.06-學程式設計恐讓學生沈溺3C?香港資深機器人玩家Keith以機器人教育多年經驗回應⋯⋯

$
0
0
紀錄撰寫 採訪:曾吉弘

文字整理:宗諭

紀錄攝影 曾吉弘
受訪者 香港資深機器人玩家Keith 訪問地點 香港
訪問時間

2018年6月份

  6月上旬,教育部課審大會審查科技領域課綱時,媒體報導,有課審委員擔憂,上太多科技領域課程,恐怕造成學生3C成癮。(新聞連結:https://udn.com/news/story/6898/3190419?from=udn-relatednews_ch2

 

  對此看法,香港資深機器人玩家,也是在地Maker教育實踐者,Keith Yung(翁永陽)接受CAVEDU教育團隊專訪時指出,若小朋友迷上寫程式,他覺得蠻好的,因為那是在學習新技術;但若迷上電玩遊戲,家長或許需要協助孩子正確地玩。「我在教導學生製作機器人時,我不會直接給他們一台組裝好的機器人,這樣他們就只知道玩機器人。如果我不把機器人組裝好,學生想玩就必須自己動手組裝,他們就會學習到如何組裝,機構、電力以及如何透過寫程式編輯機器人動作⋯⋯等等。」Keith清楚說明自己的理念。

圖1 香港資深機器人自造者Keith

 

  Keith坦率地說,對初學機器人的學生而言,機器人包括的領域相當寬廣,要學習電子、機械結構、產品設計、工程⋯⋯等等。學生剛開始不需太專注於單一領域,而是一步步慢慢學,例如,這次製作了一台機器人,就先學習機械結構;下次再製作另一台機器人,便學習如何設計。

圖2

 

圖3

 

圖4 Keith相當重視機器人的機械結構(圖3、4、5)

 

  在學習過程中,初學者會遇見許多問題,最重要是學習解決問題。若學生要求自己第一台機器人就成功,「對不起,這是不太可能的!因為沒有事物是只學一遍就學完的,許多事物、科技都會持續不斷進步。」Keith直言。若學生對電子有興趣,便可繼續深入此領域;而另外一位初學者對機械結構有興趣,便可繼續深入,慢慢會把所學結合在一起。

 

  在香港,近兩年因主管機關大力推動STEM教育,許多家長開始理解小朋友為何要學製作機器人、寫程式、電子電路⋯⋯等等。對於社會風向的改變,Keith表示,香港的教學風氣其實跟台灣差不多,也十分重視升學、考試,升學壓力甚至不比台灣低。而課餘時間,香港的學童過去多半選擇學習鋼琴、跳舞、吉他等樂器,提升人文藝術方面的素養。因香港沒有本地的工業或製造業,過去家長並不清楚孩子學機器人之後可以運用在什麼地方。「就像這幾年很流行的Maker,在香港,剛開始大家也不太清楚這是什麼,但這幾年,已經有許多人知道Maker是什麼,但香港人原先認知中的Maker是創客,跟創業有關,但近年方向已有所改變。」

 

  然而,在Keith的認知中,Maker只有一小部分跟創業相關,但最主要是一股喜歡去做些什麼的動機,例如模型。因為Maker這個名詞涵蓋了許多領域,只要喜歡動手做些什麼,應該就是Maker了吧。只要參加過Maker Faire的人,慢慢就會理解,其實Maker這個領域,包含許多不同類型的自造者。本周末就是香港Maker Faire,歡迎到Keith的攤位來玩機器人喔!

圖5 鋼彈熊

 

圖6 Overwatch 女孩(圖5、6 都是3D 列印,再進行後製加工的作品。)

 

  所以,Keith就是一個深具熱忱、自造機器人的Maker。「要是有一些製作機器人的想法,最終真的能夠實現的話,這是令我感到最快樂的事!」他透露。但這一路走來,也是有辛苦的時候,例如,「如果在製作機器人的技術上碰到一些目前無法解決的問題問題,那會讓我想很久,會比較辛苦。」

圖7 Keith超級熱愛製作機器人

 

  對Keith而言,最難克服、最大的門檻主要還是寫程式。因為寫機器人的程式不是很容易。因此他現在用的電子線路板,其實是不用寫程式的,「我用最簡單的方式控制機器人,因為很多人要玩機器人,不知道如何寫程式⋯⋯所以我請一位好朋友設計不用寫程式的機器人,方便機器人玩家使用。」而這種方式稱為教導模式(Teach Mode),就是把馬達拉至機器人操控者想要的角度,伺服機的角度會自動讀回來。

 

  現今多數機器人都是有電力才會站立起來,但如果不供電也希望機器人能站起來呢?Keith說不需要什麼都靠馬達,也可以透過機械結構達成,使馬達壽命可以更長,這是Keith目前努力的方向。當然,他更期許:「我可以一直、一直製作機器人⋯⋯。」

圖8 Keith希望可以一直製作機器人

 

相關文章

[STEAM好好玩]讓小朋友創意學習,用BOSON電子積木打造瘋狂海盜船

$
0
0
作者/攝影

怡婷

文章分類 教學文
時間

成本
難度 ***(1~10)
材料表

 

  繼上一次的風車後,這一回,我們要做的是瘋狂海盜船,讓小朋友透過BOSON電子積木和樂高積木,再加上手做的海盜船,充分發揮創意學習,實踐STEAM的教育方式。一起來看看吧:

 

相關文章

[教學文]坦克18步:手把手教您組裝Robot Shield v2坦克車

$
0
0

相信大家對開發板可用來控制車子、手臂、機器人⋯⋯等等,已玩得不亦樂乎。前陣子,在Thingiverse上看見用3D列印出來的坦克,且還能以開發板來控制它,覺得非常有趣,於是下載了3D檔,並準備相關材料進行組裝,大家可由此TANK GO下載列印件,原作者MiniPlan也非常貼心地放上了組裝影片及材料說明連結喔!

作者/攝影

坦克車原作者:MiniPlan

文字整理/圖片:CAVEDU教育團隊郭皇甫

文章分類 教學技術文
時間

成本
難度 *(1~10)
材料表
  • Robot Shield*1

  • LinkIt 7697*1

  • 坦克3D列印件

  • N20馬達X2

  • M2X8螺絲10顆、M2X4螺絲4顆

  • DFMP3 Player MINI模組X1

  • SG90伺服機X1

  • 紅外線接收器X1、紅外線發射器X1

  • 8歐姆25瓦喇叭X1

  先看一下原作者MiniPlan拍攝的組裝影片:

  小編也替讀者們寫了圖文版的組裝步驟,說明如下:

材料準備:

  1. 坦克3D列印件

  2. N20馬達X2

  3. M2X8螺絲10顆、M2X4螺絲4顆

  4. DFMP3 Player MINI模組X1

  5. SG90伺服機X1

  6. 紅外線接收器X1、紅外線發射器X1

  7. LinkIt 7697開發板X1

  8. 8歐姆25瓦喇叭X1

  9. Robot shield v2控制板X1

圖1 材料準備

 

工具準備:

  • 螺絲起子(十字、一字)

  • 熱熔膠槍、熱熔膠條。

 

Step1:首先連接車身與胎框。這裡會有四個大小一樣的胎框,但其連接軸的圓洞有大小之分,請先拿出二個最大圓洞的胎框,並裝至車身卡榫上,如圖2所示。(PLA較無彈性,所以將胎框壓進卡榫時,要邊轉動胎框邊施力壓進。)

圖2 將胎框壓進卡榫

 

圖3 二邊胎框安裝完成

 

Step2:接下來拿出兩個N20馬達,並將其安裝至車身內,馬達的軸對準車身的小圓洞,即可向外推到底,如圖4所示。

圖4 安裝N20馬達

 

Step3:拿出F部件,並將其對準I部件的上、下方凹槽後,壓進凹槽內。(這裡要特別注意,I部件上、下方的邊框有些微不同,F部件的紋路也不一樣,請依照圖5的方向及位置安裝。)

圖5 安裝F部件

 

Step4:拿出C部件,並將其安裝至N20馬達軸上。(在這裡,作者非常貼心將孔洞設計成與N20馬達的輪軸形狀相同,如此一來,安裝時就不會搞錯了。)

圖6 安裝C部件

 

圖7 四胎框安裝完成

 

Step5:將喇叭焊線後,分別接上MP3 Player mini的SPK_1、SPK_2,使用熱熔膠將喇叭固定在I部件中心的圓孔上。(也請在MP3 Player mini的VCC、RX、TX腳位另外接上三條杜邦線。)

圖8 固定喇叭

 

Step6:用四顆M2x4螺絲,將Robot Shield v2對準C部件圓柱上的孔位並鎖上。(如果在這步驟對不到孔位的話,您可稍微扳動C部件的圓柱,對準後鎖上。在此步驟,您就可以將馬達線鎖上Robot Shield的端子台上了。)

圖9 使用M2螺絲固定Robot Shield v2

 

Step7:車身的下半部先告一個段落,接著拿出D部件,左右半部對準後壓緊固定。

圖10 壓緊D部件

 

Step8:拿出四顆M2x8螺絲,對準E部件上的四個孔洞,將螺絲先鎖一些進去。

圖11 將螺絲先鎖一點進E部件

 

Step9:再將E部件對準D部件上的螺絲孔位,用螺絲起子鎖緊後固定。

圖12 鎖緊D、E部件。

 

Step10:接著拿出B部件,並將一字舵片使用熱熔膠固定至凹槽。(注意,舵片中正央圓形凸起的地方朝上。)

圖13 固定舵片在B部件上

 

Step11:將B部件以四顆M2X8螺絲鎖緊固定在D部件上方四個孔洞。

圖14 固定B部件在D部件上

 

Step12:將焊好線的紅外線接收器,穿過H部件的方形孔洞,並使用熱熔膠固定在方形凹槽內,同時將G部件也以熱熔膠固定在H部件的圓形凹槽。(請特別注意,G部件上有四個小方孔,請將小方孔對齊紅外線接收器的位置後再固定。)

圖15 將紅外線接收器穿過H部件孔洞

 

圖16 將G部件固定在H部件上

 

Step13:請將焊好線的紅外線發射器,從線端穿過A部件前方的炮口。

圖17 紅外線發射器穿過炮口並固定

 

Step14:把A部件翻過來後,將SG90以圖18的位置,以M2X8的螺絲固定。(請特別注意,A部件上只有一個螺絲孔,您也可以使用熱熔膠固定SG90沒有鎖螺絲的一邊,或是使用鑽孔工具再多打一個孔。)

圖18 固定SG90

 

Step15:接下來把SG90與紅外線發射器的線,分別穿過A部件下方的兩個方形孔洞,並將多餘的線整理好。

圖19 將線穿過A部件的方形孔

 

圖20 將多餘的線整理好

 

Step16:將H部件固定在A部件上方的方形洞。(請特別注意,請按照圖21的H部件方向固定。)

圖21 將H部件固定在A部件上

 

Step17:接著請將A部件的SG90對準B部件上舵片的圓孔,往下壓緊固定。(請特別注意,在固定前,請先校正SG90的位置,讓您的炮台能夠左右各旋轉約90度為最佳。)

圖22 固定炮台

 

Step18:最後,將SG90接在P5腳位,其餘感測器按照網站文件上註明的腳位接上後,並將D部件壓緊至I部件上即可。

 

  至此,組裝步驟就完成囉!接下來,您便可將網站上給的程式上傳至7697開發板,並且使用手機下載LinkIt Remote後,試試看,坦克車是不是能順利動起來了呢?

 

備註:若讀者想購買相關的開發板,歡迎洽詢機器人王國

 

相關文章

[MCS雲端服務] 用Scene(場景)功能快速打造物聯網應用情境(一)

$
0
0
作者/攝影

本文改編自聯發科技Cloud Sandbox(MCS)官方部落格上的文章,特此感謝聯發科技的授權,圖文版權均屬於聯發科技。

文章分類 教學技術文
時間
成本
難度
材料表

  聯發科技雲沙堡(MEDIATEK Cloud Sandbox,以下簡稱MCS)是一個非常方便的雲端平台,使用者能在MCS上開發出各樣物聯網應用。

 

  然而,當使用者將產品透過 MCS 完成了 API 對接,以及測試驗證階段後,他們將面臨兩個選擇:(1)開始尋找其它公有雲方案,並針對產品應用架設自己的雲端平台;(2)尋找外包廠商開發終端業主的物聯網應用監控介面。至此,針對這個開發項目,使用者將短暫離開 MCS 平台,直至有下個產品開發及需求驗證。

 

  但因物聯網的監控頁面需做大量客製化,業主對使用者開發的介面進行不斷修改,因此使用者的開發時間從3個月增加至半年、8個月不等。好不容易終於耗時費力完成了一個業主的專案。接著,使用者回到 MCS 評估下個新產品,然後再次花費大把時間執行下個專案。

 

  所以,MCS的開發人員便開始思考,是否能針對不同垂直領域的物聯網應用場域,透過 MCS提供一站式使用體驗,進一步優化從完成產品驗證,至商業應用這段期間的開發流程,同時縮短開發時間?在與 MCS 的使用者(包含裝置開發商、系統整合商、模塊方案商等不同類型的使用族群)多次討論後,MCS開發人員決定開發「場景」(Scene)的功能。

 

  簡而言之,就是使用者可上傳一張物聯網場域的圖片,做為物聯網場景的監控背景頁面,接著再選擇已驗證完成的測試裝置或裝置,將不同裝置透過簡易拖拉(drag & drop)方式,將這些裝置定錨至場景圖上,以完成一個實際的物聯網遠端監控監控介面。此外,使用者還可將這些開發好的場景頁面,分享給內部管理者或終端業主,達成中、小型專案的商業應用。

圖1 透過三個步驟讓不同裝置呈現在場景圖內 | mcs.mediatek.com

 

建立一個魚塭監控頁面

  讓我們用一個智慧養殖漁業做例子。

Step1:先在場景頁面新增一個場景,並上傳該養殖池的實際照片,如下圖:

圖2 於場景列表新增場景 | mcs.mediatek.com

 

Step2:點擊下一步,會進入這個養殖池的場景編輯頁面。選擇點擊左側測試裝置裝置項目,下拉選單選取一個你在此 MCS 帳號中開發完成的測試裝置或裝置,加進此養殖池,並在這個裝置編輯頁面中:(1)重新命名此裝置在養殖池內的顯示名稱;(2)勾選裝置所有資料通道中欲顯示的關鍵資料通道,並決定關鍵資料通道從上至下的顯示順序;(3)選擇是否要顯示此裝置的圖片在卡片上方(圖片是在原型prototype開發過程中加入的)。

圖3 點擊左側裝置的「裝置」,進入編輯頁面 | mcs.mediatek.com

 

Step3:儲存後,此裝置卡片會出現在這張魚池的場景左上角,讀者可將這個裝置拖拉定錨至養殖池中的實際位置,裝置將即時顯示連線狀態及這些資料通道收到的數值。

圖4 於場景編輯頁面中,亦可隨時點擊裝置卡片右上角海苔條回到裝置編輯頁面 | mcs.mediatek.com

 

Step4:場景編輯完成後,點擊返回,就會進入檢視頁面,網址列會顯示這個場景的Url Link,讀者也可點擊右上角的編輯按鈕回到場景編輯頁面。

圖5 每個場景都有一個獨立的Url | mcs.mediatek.com

 

  下圖表示了一個魚塭的管理者,如何透過遠程監測和控制自己魚池內的裝置:

圖6 若該裝置具備多個資料通道,且不會一次全部顯示在各裝置卡片中,讀者可在場景檢視頁面內直接點擊裝置卡片,由場景層進入裝置層 | mcs.mediatek.com

 

  當然,讀者也可視場域需求放入室內平面圖或立體圖,甚至是一條智慧生產工廠的產線(如下圖)。

圖7 上傳一張智慧工廠的底圖,將透過MCS開發的裝置拖拉到這條產線上做即時監控 | mcs.mediatek.com

 

將建立的場景分享給客戶

  除了場景畫面的編輯外,讀者也可將此場景圖分享給其它 MCS 的使用帳號,並將該使用者設置為管理者角色或一般檢視角色。兩種身分最主要差異在於對場景編輯上的權限:管理者同樣可對該場景進行編輯,而一般檢視角色無法對該場景進行編輯。讀者也可加入多個 MCS 帳號比較差異。

圖8 在場景編輯頁面右上角可選擇編輯該場景的使用者權限 | mcs.mediatek.com

 

  在這裡要注意的是,場景的權限和裝置的權限是各自獨立的,因此若某個使用者具備共同編輯此場景的權限,但並未被分享場景內某些裝置的權限,則該使用者即便可編輯或檢視該場景,也看不到這些裝置。因此分享場景時,也要確定該使用者對這個場景內的裝置使用權限為何。場景權限及裝置使用者權限這樣的設計是為了針對物聯網監控應用中,不同的物聯網場景管理者對於不同裝置,通常會擁有不同的(通常為上、下級關係)監控權限。

 

  以下說明三種不同 MCS 使用者權限檢視的差異:

表一

 

圖9 系統整合業者畫面,可編輯場景。 | mcs.mediatek.com

 

圖10 業主/老闆檢視畫面,不可編輯場景。 | mcs.mediatek.com

 

圖11 業主/監視人員檢視畫面,僅能監看具有權限的裝置。 | mcs.mediatek.com

 

  未來MCS也將針對事件觸發提供優化,例如可在裝置上嵌入警告燈號,並可在場景中做提示,以及可設定透過顯示型資料通道,連動控制資料通道⋯⋯等等,提供使用者更接近物聯網場景的應用。

 

  下一篇,將會介紹如何將多個不同場景,透過嵌入Url的方式,將各個有關聯的場景彼此鏈結在一起。

 

相關文章

[教學文]你好,我會走路、唱歌跳舞跟偵測障礙物喔!——一起動手做超級卡哇伊的機器人OTTO97(上)

$
0
0

  OTTO97OTTO for LinkIt 7697是一個衍生自OTTODIY的機器人專案,利用 LinkIt 7697 及Robot Shield製作出有趣又古錐的雙足機器人。OTTO具備什麼能力呢?它能夠行走、跳舞、唱歌及偵測障礙物的能力,還能顯示嘴部的表情動畫呢!

作者/攝影

文圖轉載自MediaTek Lab官方網站 ,感謝聯發科技創意實驗室授權,特此致謝。而OTTO97(OTTO for LinkIt 7697)為衍生自 OTTO DIYOffical Site / Github / Thingiverse)的專案。

文章分類 教學技術文
時間

成本
難度
材料表
  • Robot Shield V1*1

  • LinkIt 7697*1

  • MicroUSB x2

  • Tower Pro SG90 伺服馬達(Micro Servo 9gx4(附轉軸支架以及二長一短的螺絲)

  • HC-SR04P超音波感應器,工作電壓範圍3V~5.5Vx1

  • MAX7219 8×8 矩陣式 LED顯示模組 x1(選配)

  • 被動式(有源)蜂鳴器 x1,工作電壓範圍3V~5V(選配)

  • 3D 列印出機器人各部位零件(頭、身體、腿 x2、腳底板 x2

組裝前需具備的技能

  • 能使用Arduino IDE 進行 LinkIt 7697基本操作。

  • 了解如何使用LinkIt Remote應用程式連結LinkIt 7697。

  • 基本電路接線概念。

  • 基本焊接能力(若想替OTTO97加上嘴部動畫顯示)。

 

材料準備注意事項:

  準備材料表中的各項元件時,請確認使用的是寬工作電壓版本,以免進行後續步驟時,產生無法運作的狀況。

 

小提醒:

  • 超音波感測器的型號需為HC-SR04P(工作電壓範圍3V5.5V),而非只能支援5V電壓的HC-SR04。兩者在外觀上非常相近,需特別注意。
圖1-1

 

圖1-2

 

2. 被動式(有源)蜂鳴器需支援3V5V的工作電壓,請勿選擇僅能使用於5V電壓的版本。

 

需要準備哪些工具?

  • 智慧型手機(iOS/Android 皆可,用來執行伺服馬達校正及主控程式。)
  • 3D 印表機
  • 焊槍(非必要,但若要顯示嘴部動畫,則需要rework矩陣式LED模組以方便安裝。)
  • 快乾膠(非必要,可用來加強組裝強度。)

其他可幫助組裝的工具如下:

圖2

 

相關程式碼:

  可從 https://github.com/bearwbearw/OTTO97 取得 OTTO97 相關程式碼資訊:

目錄名稱 說明
libraries OTTO 相關的函式庫
OTTO_Calibration 測試與校正 OTTO 的 sketch 程式
OTTO_Demo 控制 OTTO 基本動作的 sketch 程式
OTTO_UnitTest_Buzzer 測試被動式蜂鳴器的 sketch 程式
OTTO_UnitTest_LEDMatrix 測試 LED 顯示矩陣的 sketch 程式
OTTO_UnitTest_Servo 測試伺服馬達的 sketch 程式
OTTO_UnitTest_Ultrasonic 測試超音波感應器的 sketch 程式
3D_STL OTTO 零件的 3D 列印檔案

 

怎麼組裝OTTO97?

Step1:以3D 列印出 OTTO 本體零件。從 Thingiverse 下載所需3D檔案,此 3D 檔案基於 OTTODIY 專案修改而成,以適於LinkIt 7697 + Robot Shield使用,所有零件包含:頭、身體、腿 x2、左腳底板、右腳底板共六個元件。

圖3

 

Step2:下載並安裝 Arduino 相關函式庫及應用程式。從專案 GitHub 頁面下載相關函式庫和程式,並將其解壓縮至 Sketchbook 所在目錄。

圖4-1

 

圖4-2

 

圖4-3

 

Step3:啟動裝置校正測試程式。首先開啟Arduino IDE,選擇Step2中下載的OTTO_Clibration.ino範例並上傳至LinkIt 7697執行。之後,在手機上安裝並執行LinkIt Remote,開啟後就會看到名為「OTTO CAL」的裝置。最後,點選 「OTTO_CAL」 後,即可透過藍芽連接LinkIt 7697,並開啟裝置校正相關介面。

圖5-1

 

圖5-2

 

圖5-3

 

Step4:連接伺服馬達。(1)將LinkIt 7697接上Robot Shield,並確認安裝方向是否正確(開發板與擴充板的 USB 接頭應在同一側)。(2)透過USB線將LinkIt 7697連接至PC電腦。(3)透過USB線將Robot Shield連接至5V電源(亦可透過PC供電),保持電池充電。(4)如下圖,將四個伺服馬達連接至Robot Shield。(5)開啟Robot Shield的電源(以附圖方向為例,開關撥至左方為開啟)。

圖6-1

 

(6)按下校正程式中的「Walk」按鈕,確認是否四個伺服馬達都會動作。(7)按下「Home或「Stiff」按鈕使伺服馬達轉軸(懸臂)回到初始位置。

圖6-2

 

按鈕說明:

  • Home 按鈕:使伺服馬達轉軸停在初始位置(OTTO處於直立狀態),並鬆開馬達內部與轉軸之間的連結;此時可從外部施力任意轉動馬達轉軸。

  • Stiff 按鈕:使伺服馬達轉軸停在初始位置(OTTO處於直立狀態),且持續輸出PWM訊號保持馬達內部與轉軸間的接合。此時外部若有過大力道轉動轉軸,可能會損壞伺服馬達。

  • 組裝過程中,通常會讓伺服馬達處於「Stiff狀態」。

 

Step5:連接超音波感應器。(1)如下圖,利用尖嘴鉗等工具將感應器模組的排針彎曲 90 度(或將針腳靠在桌上,往旁邊施力即能彎曲整排針腳),避免後續組裝時卡到LED模組。

圖7-1

 

(2)將HC-SR04P連接至Robot ShieldP2P3

圖7-2

 

小提醒:

照上圖連接時,需特別注意超音波模組的正反面方向、以及 Trig / Echo 接腳位置,若連接錯誤可能造成模組發燙,需儘速拔除接線,以免元件損壞。

 

(3)點選 US 開關,將可在 Serial Monitor 看見感應器偵測到的距離。

圖7-3

 

圖7-4

 

小提醒:

  • HC-SR04(5V)和HC-SR04P(3V~5.5V)外觀非常相似,請務必確認購買的元件是HC-SR04P。

  • 由於Robot Shield的VCC電源來自內建的鋰電池,供電電壓範圍為7V至4.5V,因此無法驅動HC-SR04。HC-SR04 在電壓不足的狀況下,從Serial Monitor只會看見 999.00cm的偵測值。

 

Step6:連接被動式蜂鳴器(非必要步驟,但安裝後可讓OTTO具有唱歌的能力)。(1)將被動式蜂鳴器連接至Robot ShieldP4

圖8-1

 

(2)點選 BUZ 開關,將可聽見蜂鳴器發出聲音。

圖8-2

 

Step7:連接 8×8 矩陣式LED顯示模組(MAX7219(非必要步驟,但安裝後可顯示 OTTO 的嘴巴)。

(1)由於OTTO頭部內的空間限制,安裝顯示模組時,需rework將模組的排針移除,改由直接焊接杜邦線以節省空間。若是不熟悉焊接操作,可略過此步驟。(2)開始rework前,可先測試 8×8 矩陣式LED顯示模組是否能正常運作。如下圖所示,將顯示模組連接至擴充板的P7P8P9

圖9-1

 

(3)點選LED開關,應可看見8×8 矩陣式LED模組開始顯示不同的圖案。

圖9-2

 

(4)若上一步驟結果正常,即表示顯示模組功能無誤,接下來可進行rework(需使用焊接工具)。(5)將顯示模組的輸出針腳剪斷(如下圖左側)。(6)移除模組的輸入針腳,並從模組背面焊接五條杜邦線至對應的孔位。

圖9-3

 

(7)再次將8×8矩陣式LED顯示模組連接至 Robot Shield,並透過手機的校正測試APP,確認運作正常。

圖9-4

 

  此步驟完成後,即完成所有電子元件測試,接下來將進行零件組裝。在此前,請先將擴充板上的接線全部解開,之後的組裝步驟會再說明對應機構的接線方式。

  文章至此,讀者們是否更加期待親自完成一台OTTO97呢?考慮到文章的長度,接下來的步驟,我們將於下回分解,敬請期待。若讀者們想購買LinkIt7697 + Robot shield,歡迎前往機器人王國挑選,謝謝。

 

相關文章

Viewing all 678 articles
Browse latest View live