2018年6月14日 星期四

仿生獸電機改造續集

        這一篇是「風力仿生獸及電機改造」的續集,所以對於風力仿生獸的來源部份就不再多介紹…但會有使用Tinyplan來當主控板的想法,主要是我覺得使用micro:bit那隻的作法走得沒那麼順暢,分析一下原因是因為micro:bit加上robot:bit擴充板再加上二顆TT馬達實在有點重,走起來的負擔比較大,尤其是左右轉的時候~
        使用的塑膠料一樣是網購買的,靠風力的架構,沒有電機的設計,零件已算是很精美了,小朋友若直接組裝也會非常有趣,以小朋友的角度來說,我覺得可以先組起風力的版本玩一玩,領會齒輪軸帶動黃金比例的支架運動的樣子,接下來拆了它,學一點電機的知識(至少知道馬達怎麼轉動)、學個Arduino、Micro:bit或其他小單板,然後思考如何結合進去,利用電機取代原來的風力帶動…
小朋友自己看說明獨力完成也是一種很好的練習
※插播一個相關的題外話:我還買到另一種兩仿生機器人,運動原理是一樣的但像有二隻腳走路…重點是它被設計成風力電力雙用,這也是我們可以納入學習的想法!
樣子比較像機器人
上面這段影片中,朝風車吹風,機器人便迎風前進…
同樣一個裝置,改用二顆小電池帶動,單純的電機,沒有控制機制,給電就向前走就是了!
        回到這篇的正題,我們先來認識一下Tinyplan板,這是一塊台灣在地的MiniPlan機器人團隊所開發的all-in-1伺服馬達控制器,可以搭配小型伺服馬達(Servo)之操控,內建WiFi晶片,可以同時控制8個Servo,而且自帶可充電電源,與Arduino IDE 相容(意思是可以利用Arduino IDE環境來編輯程式

Tinyplan功能強大,使用原廠ESP-WROOM-02晶片 
編寫程式的方法和使用Arduino板類似


        這次的電機動力就不使用減速馬達了,改用二顆360度的伺服馬達來帶動中軸轉動,使用便宜又大碗的輝盛TowerPro SG90就對了 。
Tinyplan只用來接二顆Servo是有點大材小用
        這時先想著如何讓Servo的旋轉軸能跟仿生獸的曲軸連動的方法我的作法是直接利用模型內原本零件,用螺絲將舵柄鎖上。

就自己想辦法做做手工,用膠水黏應該也可以
接上主板測試一下…,Tinyplan的連接方法與Micro:bit使用藍芽是不一樣的,它的方式是走WIFI,它自己會是一個無線AP,用電腦或手機平板連上AP後,利用瀏覽器就可以操控,當然得先把寫好程式的程式Upload進去。
兩個伺服機分別當左右軸,所以旋轉方向相反,反正接上去如果發現錯了再反接就好了,測試沒問題後,我利用長螺絲將兩顆伺服馬達固定…並且鎖上仿生獸上頭去!
想了這招
        值得一提的是,我這次的Tinyplan並沒有黏死在上頭而是用「掛的」,考慮到之後如果要拆解重裝的方便,就去電子材料行東找西找,自己發揮一下想像力,看看小零件怎麼湊和可以達到自己想要的目的,我覺得蠻好玩的是這一塊…
花了一點時間思考怎麼結合
        最後當然就是做好囉!拿來玩玩看,有影片有真相~
        走起來的樣子,我覺得比上一版的好上許多,靈活度大增,只不過寫程式的方法就不像Micro:bit那種Blockly積木拖拉式友善,不過如果有人帶及解釋的話倒也不至於難到小朋友不能理解~
※在一般課堂上,有一點是我覺得更困難的是錢錢的問題,零件和電機都需要額外的錢購買,這也是難以在小朋友身上普及的最大原因,有人會說老師操作給小朋友看的方式教學也可以,我個人覺得那是沒什麼用的,千知萬知都比不上用自己手動手來一次的好!
※給吳秉涎帥哥看一下這隻仿生獸,他說狗頭掛在上面看起來有點可怕,就改一下,弄上個超音波眼睛~
這就不可怕了吧!
※後記:
一開始只是想改造一下風力仿生獸的動力來源,使用Tinyplan當主板後,覺得只用來驅動二個Servo會不會太浪費了,這塊板子被設計來驅動8個Servo,也就是8個有pwm,電路方面就是能供應足夠的電流,加上個Ultrasonic吧!讓它長眼~再放個Buzzer可以發出聲音,最後再頭頂上加個8x8的Led,可說是閃閃動人,也把板上的pin給插滿,才不顯得浪費了!
最後的樣子
在程式方面,主要是SETUP段的初始化及LOOP段的迴圈偵測
void setup(void) {
//8x8 LED及Buzzer初始
  myBEAST.initLEDMatrix(BEAST_PIN_LED_DIN, BEAST_PIN_LED_CS_PIN, BEAST_PIN_LED_CLK_PIN, MATRIX_DIR_270);

  myBEAST.initBuzzer(BEAST_PIN_BUZ);
............
//開機時唱一句,閃幾個圖
  myBEAST.sing(12);
  myBEAST.putMouth(20);
  delay(100);
  myBEAST.putMouth(21);
  delay(100);
  myBEAST.putMouth(22);
  delay(100);
  myBEAST.putMouth(23);
  delay(100);
  myBEAST.sing(0);
  delay(100);
  myBEAST.putMouth(0);
}
迴圈
void loop(void) {
//偵測是否進入使用超音波的模式
if (Ultrasonic_OnOff == 1) {
  myBEAST.putMouth(1);
  delay(100);
    if (ultrasonic.distanceRead() > 11 && ultrasonic.distanceRead() <= 20)
    {
      // 如果前方有障礙物在20公分到11公分之間→右轉動作
      右轉的程式碼
    }
  else if (ultrasonic.distanceRead() > 20)
   {
前進的程式碼
   }
else if (ultrasonic.distanceRead() <= 11)
    {
      // 倒退的程式碼
    }
}
上頭並不是完整的程式,只是表達出程式邏輯而已~最後,這仿生獸就活靈活現的…

2018年6月4日 星期一

樂於Make,當個Creator

為什麼下這個標題呢?當然就是希望各位小朋友樂於動手、喜於創作…
  在這個下學期,有些六年級在做一個完整的專案:「班級的畢業光碟」,另有一兩位留下來玩玩Obot小車(Scratch搭配Arduino)
玩小車的

做光碟的
對於六年級來說,老師有一個特別的要求,就是所有要達成的目標,都要自己設定,老師就只是偶爾講講,提供一些資源,必要性的講解,不再隨侍在旁…大家也都有某些基本能力,就動手去做就是了!很多難處會在實際操作時冒出來。
  這段時間,電腦教室就呈現出二邊截然不同的情景,一邊是老師為三、四、五的新邀請成員上課;另一邊是六年級的一群自由地發揮,當然老師我還是會利用時間探頭去看看六年級的有沒有在計畫的軌道中運行著…
學弟妹需學些基本能力


  時間過得快,下學期的時間更快,轉眼間六年級就要畢業了,玩Obot的到了進階的部份就有些卡住的感覺,又有人因為班上要辦音樂會,中午都去練習了,索性Obot收起來,做隻風力仿生獸吧!需要些手工,但很有趣!
Make . Make
花了不少時間做好了

  做畢業光碟的,在漫長的工作後進入了尾聲,其中一個班很有計畫地進行著,所以內容較為充實,而另一班的小組則出現了混雜的現象,所以內容部份的完成度就較差了些,無論如何,這都是學習的一部份,我要他們知道時間沒了,就評估以現狀完成光碟。
怎樣都會完成的

這三位小朋友對於自己作品的要求,老師覺得很優
花了很多時間呢!

上國中後,也許還會有機會組成一個團隊做一個case,希望這次做光碟的經驗能帶給小朋友們一些潛在能量。
  值得一提的是,今年有一組精實團隊,除了動手製造外,還進入了創作者的境界:「自創的畢業歌」,不僅作曲作詞,還邀了同班伙伴一起唱出來,所以老師邀了他們來錄下來,並要其中的成員來後製它~
唱自己作曲的歌很快樂吧!
自己的錄影當然自己來後製
自己的作品

好東西跟好朋友分享
在我們這個小組一起學習的大家都要有一個觀念:「自己動手」,老師希望大家常去教別人,但要求被教的人自己動手操作。也許我們利用中午的時間,常常在學一些軟硬體的操作技術,但請各位記得,我們是電腦的主人,學電腦技術卻不可受限於電腦,只要有想法,就去實現它…
※創作者的樂趣,就是你可以命名它、發表它,下面的影片便是這次的原創者發表到網路上的,一起來欣賞吧!下次就輪到學弟妹們表現囉!

2018年5月25日 星期五

實作風力仿生獸及電機改造

        在這篇文章中,老師將向大家介紹國際有名的「風力仿生獸」,並且組裝它的縮小版,更進一步改造它成為電機設備,結合目前世界上當紅正夯的BBC Micro:bit,成為一部可程式控制的仿生獸。
        仿生獸這個話題起源於荷蘭藝術家楊森(Theo Jansen)利用簡單材料創作的無生命物體──仿生獸(Strandbeast),可藉由風力的推動和力學的原理,做出走路等一些仿生物的動作,甚至可以自行躲避障礙物。
圖片取自Theo Jansen臉書
        泰奧.揚森被歐洲媒體譽為「現代達文西」的荷蘭籍動力藝術家,1990年,他在幫荷蘭報紙寫專欄的時候想到一個主意,他想打造一個用風能走路的機器,可以邊走邊清掃沙子,把沙子堆放到灘台,藉此保護荷蘭免於遭受海平面上升的危害。這幾年,他都遵守當年立下的承諾:他會花一年的時間致力於仿生獸。泰奧.揚森並不藏私,他將他的這項發明設計公諸於世,讓大家共享,從那時候開始,全世界各地的Maker改造、模仿仿生獸的設計,這個計畫漸漸開始展現成各種型態。
※關於他的詳細介紹,你可以自行google就能找到很多的相關資料。
大人的科學第30期附贈了小型的仿生獸模型可以實作
        仿生獸(Strandbeest)完全只靠風力所驅動。風力帶動中間的輪軸,再巧妙的使每一隻腳動起來。其構造看起來很簡單,但整體的設計卻非常巧妙,沒有多餘的複雜裝置,卻能變成如此驚人的作品。我們可以發揮一下Maker的精神,動手做一隻仿生獸來了解它的原理奧妙之處,為什麼單靠風力一吹便可以帶動整個機械如同動物一般行走?
※可以看一下https://life.tw/?app=view&no=606732這一篇的說明,就大約可以知道了,真是巧妙的設計。
零件包是設計好的

先做出可以轉動的12隻腳

開始組合
風扇帶動齒輪帶動中軸旋轉
        真的很神奇,小型的仿生獸就在眼前走了起來,感覺十分療癒~做好之後先在電風扇前測試,每隻腳被中軸帶動而像生物的腳在行走一般!
接下來就是讓它在平地上走,因為很輕,所以只要風力到達一定的強度,扇葉遊旋轉起來,機械就走動了
※這種設計只能向前走,因為動力來源只有一個,風反方向吹就倒著走…這時動了一個想法:如果把它改造成機械的,不靠風力而靠電力,也是一種樂趣!
有了這樣的想法之後就準備材料:我打算用Micro:bit來控制它,需要一塊擴充板來驅動馬達電機,就使用kittenbot的robot:bit吧!
Micro:bit+Robot:bit(圖取自小喵科技)

買二顆便宜的TT馬達來做為動力
        我打算把原來的仿生獸設計拆成二邊,讓控制板固定在中間,驅動馬達來帶動中心軸旋轉,仿生獸自然就會動了。為了不讓機械走得太快,我還刻意在中軸上黏了大小齒輪來減速,這樣才有Fu
利用大小齒輪組合來減速
        其實仿生獸行走的原理並沒有改變,這項改造只是要好好固定電子零件的位置才能順利地運作,還好我的手工藝算是及格…
組好囉
        因為我使用Micro:bit來當控制主板,接下來便是撰寫Micro:bit的程式來操緃馬達的運轉,最好的程式編輯環境是Makecode,這是微軟新推出的一種程式設計環境,它像Scratch一樣,是一種圖形化程式設計語言。網址:https://makecode.microbit.org/
透過拖放式介面來堆疊指令,寫出應用程式
        在未來的世代裡,程式設計毫無疑問是現在世界上最重要的技能之一,生活的周遭隨處都是科技,而程式設計的能力讓你能駕馭它們。學習寫程式已經不像以前那麼艱難而複雜,沒有基礎的人也可以嘗試。用BBC micro:bit加上MakeCode來練習可說是天作之合…
以這個例子來說,要寫二個程式,一個給固定在仿生獸那塊,另一個寫給拿在手上控制的這塊,以下就來說明一下程式,你會發現是蠻容易的!
仿生獸端的程式

控制端的程式
        依照micro:bit寫程式的方法把程式下載,micro:bit板用usb線接上電腦變成隨身碟,把程式複製進去就可以了!以下是這二段程式的效果。
有趣又不難吧!有興趣的人可以試試…

2018年5月16日 星期三

知識:新型的隨身碟病毒

        「唉呀!我的隨身碟的檔案怎麼都不見了,只剩一個捷徑~」最近好像聽到有人中了這個,所以搜集了相關說明及解決辦法,首先:若發現自己的隨身碟插進電腦有這種情形,第一時間別緊張,不要雙按那個捷徑!否則你就中計了!
        這是前一陣子開始蔓延一種特殊的病毒,學校許多老師、學生的隨身碟都中毒,症狀大概如下:
  1. 隨身碟裡面的資料夾都變成捷徑 (有的人還不知道那是捷徑)
  2. 每次要退出隨身碟都說「無法立即停止」
  3. 有的資料夾消失
※很多防毒程式是不會擋它的!因為它只是搬移了檔案而已,並沒有做什麼破壞性的行為,而它運用的wscript.exe本身是windows系統裡的內建程式並不是病毒程式~
        雖說是「中毒」但是卻沒你想像的嚴重,其實真正的資料夾只是被隱藏起來了,只要顯示隱藏檔、系統檔, 就可以看到原本的資料夾了:
上圖是win10的檔案總管

其實檔案都還在
        它並沒有損害原來的檔案,只是把它們藏起來了,有點像是惡作劇,但也足夠困擾許多人了,只要把原來的檔案複製出來,把隨身碟Format一次再使用,應該就可以了,麻煩的是有人很緊張,一開始就雙按了那個捷徑:那這部電腦可能就中標了,以後插進來的隨身碟都會變成那樣,必須解決一下~
1.先到工作管理員的處理程序、詳細資料、啟動、開機等位置找找有沒有wscript.exe正在執行,先停止它。
找找有沒有

2.到啟動資料匣看看有沒有名為helper.vbs或變種改名的xxx.vbs,把它刪除
※win7比較好找啟動,win10不知藏哪兒?只要在執行列輸入shell:startup,Enter後就會跑出來了…


3.找到C:\Users\用戶名\AppData\Roaming\windowsservices\這個目錄,找找裡頭的三個.vbs檔案,把它們刪了!
我這台電腦沒中毒所以找不到windowsservices目錄
4.當然要記得把隨身碟裡的那個捷徑給刪了,或乾脆Format一下再用…

※就這樣便可解決!大家學電腦要有一個觀念:遇到突發的情形,別慌張!先搞清楚狀況再行動!(上網搜尋是一個好方法),要有研究的精神,很多問題都能找到解決的方法的。

2018年5月9日 星期三

電腦作業系統的認識及觀念

        這二天,五年級的資訊小組的小朋友都親自動手安裝了windows 10到電腦裡,雖然老師知道有許多同學對於手上在做的事情一頭霧水,不過別擔心,透過多次的練習及講解,大家就會對於電腦的運行越來越清楚了…

大部份的人對於電腦的概念都在看得見的硬體(Hardware),但是電腦與其他電器用品最大的不同在於它有強大的軟體(Software)系統來操緃硬體,想要把電腦學好,非得軟硬都懂不可!
硬體工業不停的進步,幾乎每天都有新的產品問市,而軟體種類也十分繁多,更是人類的集體智慧總合,小朋友要知道,電腦是需要硬體和軟體都搭配得好才能運作的…
我們身為電腦的主人,最重要的事就是「下命令」給電腦,及知道它的「執行狀況」,所以我們發展了一個特殊的軟體「作業系統」,來擔任人與電腦硬體之間的橋樑。
電腦安裝好作業系統之後,它才能「開機」,我們透過作業系統提供的「介面」(文字式或圖形式)便可以「下命令」給電腦,我們也可以安裝其他特殊功用的軟體來完成其他我們需要做的事,比如我們安裝了「Chrome」瀏覽器來上網;安裝了「PhotoImpact」來處理照片,製作圖片…
※單一功能的應用程式必須安裝在作業系統之上,所以作業系統是它們的底層根基,重要性可見一斑。
再看一下這張圖是不是更了解了

雖然在學校裡,老師讓各位練習安裝的是美國微軟公司的windows,但它並不是唯一的一種作業系統,事實上還有許多不同的作業系統,像是Ubuntu、OSX、Red Hat…以後若有機會,老師會讓各位都能嘗試安裝不同的作業系統試試,你會發現Windows不僅不是唯一,也可能不是最好用的,但是Windows絕對是要花錢購買的,而且隨著Windows系統的改版,對硬體的要求也越來越高…
也就是說,大家為了使用Windows必須花更多的錢去買電腦硬體來搭配它!下面我就舉一個不是Windows的例子:
這是一部很普通的主機(雙核心CPU+1G的RAM和320G的硬碟)
上圖的電腦硬體可比不是各位小朋友現在在電腦教室使用的主機(Intel i3的CPU+4G記憶體+1T硬碟),而且是使用了八年的舊電腦了,老師在這電腦裡安裝了Linux系列的作業系統,就這樣一直開著24小時服務,運行了8年…到現在都還是頭好壯壯,好用得很!

這種作業系統對電腦硬體的要求比Windows低得多,而且兼具個人電腦及伺服器的雙重角色,也就是說:安裝了這個系統,你可以當成個人電腦般地使用它,同時可以把它拿來當作伺服器放在網路上24小時服務,讓很多人共用它,像是把網頁放上去供人欣賞…
最最重要的是:它完全免費,相較於Windows系統,個人電腦及伺服器程式分開都要收費,而且不便宜,你還認為電腦就是Windows嗎?
※老師過去就把許多網站都放在「小企鵝」裡頭,24小時全年無休地在網路上服務著,要是使用Windows系統,早就當掉掛掉了…


※希望大家能認真一點學習,把各項基礎打好,我們就可以來試試不同口味的系統!