「教師運算思維推動計畫」研習紀錄3/3(Day 2) @zfangの科學小玩意

URL Link //n.sfs.tw/14073

2019-12-22 15:05:49 By zfang

呈上篇「教師運算思維推動計畫」研習紀錄(第一天) ,這裡紀錄105.0725~0727我參加開放硬體與scracth應用研習的第二天課程(與部分第三天教的功能)。

以下是第二天課程整理(流水帳),這天比較偏理念的東西就放在下一篇~~

承接前一天的題目:設計按一下會亮,按一下又不亮。老師也解釋為什麼昨天他的程式邏輯上是對的,但卻是不會動。

老師說是電腦協調Arduino的能力不夠。uno這塊的處理核心相當於8位元的電腦。而大部分的電腦是64位元。只要在迴圈下面放一個等待0.1秒或是0.01秒,就可以動了。老師舉例,就好像是命令者快,但是做事者慢,命令者太快,所以被命令者選擇忽略,只要給一點緩衝時間等待,就能執行。

 

硬體介紹

用老師的相片介紹這三天研習的輸出與輸入裝置。相較我用手機拍的,他拍的真清楚啊~

 

 

下面是紅外線發射(輸出),紅外線接收(輸入)。目前用不到。S2A用電壓,紅外線用頻率。

 

下面是單點循跡,紅外線發射與接收。偵測黑白,紅外線遇到白色反射率高,紅外線遇到黑色反射率低。這是類比輸入。

 

蜂鳴器,輸出裝置,而且這個是無緣的蜂鳴器,"無源"蜂鳴器啦!另二個是LED燈。

 

 

下面是水銀開關、按鈕開關、微動開關。

 

下面是一些類比輸入,旋轉開關(可變電阻)、熱敏電阻、光敏電阻、搖桿(裡頭有二個方向的可變電阻)。

 

搖桿,XY由可變電阻變化而得,還具有下壓的按鍵功能。所以一般的電阻是三支腳,只有一個訊號。搖桿有三個訊號,五支腳。

 

 

 

類比輸入練習

老師說,PWM要有~(蚯蚓)的。通常按鈕開關在2,而0與1給藍芽。

 

也講解了插槽的意義,上面一排黑紅藍是由右而左的012345678...。

========= 黑 (相通)
========= 紅 (相通)
========= 藍 (訊號,不相通)

下方的插槽卻是多了A,由左而右依序是A0、A1、A2、A3、A4、A5...這個A代表的是類比腳位。類比腳位只有輸入,於是我們學類比輸入。

將按鈕開關插入A1。如何看到類比A1的值?可以透過變數來看,怕它反應太慢罷工,迴圈中讓它多等待0.1秒。

 

發現,按下去是1023,放開變成0。數位輸入值是0與1,類比輸入是0與1023,開關不只是數位輸入,也能類比輸入(插槽要多一個A)。

程式不變,把剛才的按鈕開關直接換成旋鈕(可變電阻),數值就會落在0-1023之間,下圖的數值是504。

 

 

利用不同輸入元件控制猴子吃香蕉

接著透過現成的猴子接香蕉遊戲來改造。原本的猴子是用鍵盤按鍵控制左右,現在要改成用可變電阻(旋鈕)來控制左右。也就是說,把輸入裝置變成我們手邊的輸入元件。

先利用剛剛接的旋鈕開關。

 
 

分析猴子的行為,立正站好與向左右走。一般都認為抓512,>512或<512,但這樣就沒有中間值,所以老師建議抓加減20,也就是>532,<492。

 

接著是進階,因為我們的輸入裝置已經比鍵盤強太多。如何控制移動速度,例如轉多就跑多一點?轉少就跑少一點?

 

另一方面,前面用的是相對座標模式,此時也可以再進階到絕對座標模式,利用可變電阻0-1023的範圍來控制猴子左右位置。X座標在-240~240之間,實際上只要抓210因此來換算,這時候就需要數學能力了。輸入:0---1023,猴子移動X座標:-210--210,最後用2.44來換算。

 

還能利用光敏電阻來控制猴子。手機手電筒提供光源,先找出值的變化,越近越亮值大、遠則暗數值小。我的是950~1000,所以要重新算數學找換算關係。比剛剛還麻煩一點,其實這種換算跟理化在學自製溫標換算很像~ 學生是理化不懂,還是數學不會呢?

 

改成搖桿輸入如何?搖桿用相對輸入比較好玩。也有老師設計讓猴子可以在X軸移動,也能在Y軸移動,就像會飛一樣。老師建議,這時如果幫猴子加上翅膀就會更貼切。

 

 

"是無源,不是無緣"的蜂鳴器

無源的蜂鳴器,念起來就跟音源線(姻緣線)一樣有諧音。它的功能類似喇叭,但更省電。在S4A是插在5、6、9。 啟用數位腳位9為PWM,模擬聲音大小0-255。在S2A則多了音調功能來代替PWM。如果要讓它唱歌,可以配合清單。不過我不會使用清單,但是有老師做出來了。就聽到無源蜂鳴器在唱歌了。 需要二個清單,一個是音調,一個是拍子(時間)。

 

scratch原本的音效功能比較厲害,現在只是利用開放硬體控制聲音。至於如何關掉音調?有的老師是利用頻率為0,也可以直接關閉該腳位音調。或搭配原本的音樂功能用拍或是更改節奏。

第三天,老師也介紹有源蜂鳴器。這個只有二條線,黑色G,紅色S。而且它是長短腳,就像是會叫的LED。如果搭配光敏電阻由值轉變成時間變數來控制叫聲,就能像倒車雷達一樣,越接近叫越急促或大聲。

 

Yu-chang Liu老師分享:

 

 

 

連續旋轉伺服機

連續旋轉伺服機,大陸叫舵機。我心想,這不就是馬達嗎?

 

腳位可接4、7、8,根據經驗法則,它是吃電怪獸,要先連接馬達再接上US,不然易斷線。 如何控制正轉逆轉?控制時仍是用角度伺服機的控制法則,  旋轉90即停止,若90度不會停,可以設定腳位4為0。學到這裡我的腦袋缺氧,學得不太清楚。我發現我的伺服機旋轉時順與逆速度不一樣,有時快有時慢。

 

老師分享,如果在上面畫黑白圖案,也能搭配"循跡"測出一分鐘轉幾圈。 (如何用scratch紀錄數據呢?這應該也可以寫,但我還不會。)

 

 

光敏電阻DIY

第二天下午安排一個DIY體驗。用便宜的物件來做事,老師教我們做光敏電阻DIY,也將三支腳變成二支腳。早期是利用麵包板來接。

 

從剝電線、接電阻、夾杜邦接頭到熱縮管。

 

 

 

覺得自己做不錯(有天分),但是測試時居然不過電。亮君不認為自己會成功居然成功,而我不認為自己會失敗居然失敗。

 
 
 
紅外線指示燈
 
這是在第三天上午介紹的。2腳位的紅外線指示燈,就是雷射筆(這玩意在大陸叫激光),只要通電就會亮紅點(要小心不可射向眼睛)。LED有極性,紅正、藍負,所以可以接在GVS任一紅、任一黑。

 
 
但如果藍在G,但紅線接在腳位12的S,這時是否會亮?利用程式設定腳位12為輸出,用0與1控制亮或不亮。 
 
 

 

如果是紅色接V,而藍色接S呢?這時反而是1暗、0亮。為什麼?二極體要有電流通過才會亮,老師解說一些電位高低的問題。

 

有光敏電阻與紅外線發射,這樣就可以是一組光柵開關。好幾組在垂直方向就能做重力加速度,紀錄物體在何時通過,再用距離換算加速度。

老師分享幾個可以用紅外線發設計與光敏電阻做的事, 例如能做二台電腦的溝通,一台用發射紅外線,一台用光敏電阻接收閃爍時間。就像海軍用燈號閃爍(羅斯福電碼) ,產生編碼(幾長幾短)再解碼。讓LED亮多久,光敏電阻就接收多久...

當然要寫出程式來控制才算。