[Linklt7697系列] 八校國中小夏令營不藏私大公開-Linklt7697搶答器

前情提要:LinkIt 7697開發板教學]BlocklyDuino圖形化介面 – 環境建置與介面

作者/攝影  趙偉伶
時間   1小時
成本  $1500
難度  * *
材料表
  • Linklt7697
  • 麵包版
  • 公母杜邦線
  • 10 mmLED燈
  • 大型按鈕
  • Mico USB線
  • 連接器
  • 極限開關

透過前篇   [LinkIt 7697開發板教學]BlocklyDuino圖形化介面 – 環境建置與介面   了解了BlocklyDuino圖形化介面後,接著要認識電腦程式是如何運作的。想問問大家,覺得電腦跟人類的思考方式有什麼不同呢?

電腦其實需要我們人類給他非常明確指令去控制,才會順利做事情,例如:媽媽請你拿桌上的水,人類會直接走到水杯前面後拿起來,在這之前如何移動、如何伸出手、張開手指、握住水杯等等幾乎都是身體自發性完成的。而電腦就不一樣了,他需要明確的指令才行。例如:走到座標XYZ哪個位置,機械手臂向下移動到哪個位置,先張開手指再闔上手指等等,一個都不能錯!寫程式就是我們與電腦的溝通方式,你會更了解電腦的思考模式。

 

動動手

要做搶答器,要先將按鈕組裝起來,就跟著圖一起來做吧!

 第一步:組裝連接器與極限開關

第二步:組裝按鈕

第三步:接上LED

接著,將7697開發板插上麵包板,拿出兩顆LED及四條公母杜邦線,將兩顆LED的正極(比較長的腳)分別接到7697開發板的P7與P8腳位,負極(比較短的腳)則接到開發板的GND腳位,完成如下圖:

第四步:接上按鈕

先了解按鈕的電路原理,再將接好的兩顆按鈕拿出來,並依下列圖示接在P3、P4及GND的位置。

動動腦,寫程式

BlocklyDuino圖形化程式有很多不同的抽屜,而每個抽屜都代表了不同功能的程式指令。今天的搶答器會用到〝程式流程抽屜〞、〝邏輯抽屜〞跟〝數位I/O抽屜〞,讓我們一邊認識程式積木一邊完成搶答器的程式吧!

第一步:搶答器動作分解

先了解程式的思考邏輯,再去認識所需積木,一步步將搶答器程式構築出來。

試試看,在了解這些邏輯後,是否可以完成搶答器的程式呢??

 

第二步:認識搶答器所需的程式積木

每個Blocklyduino程式都會有"初始化"跟"重複執行"兩個積木,如果沒有,可以從"程式流程抽屜"找到,就跟小豬一起來認識這兩個積木吧!

 

要如何知道誰先按下按鈕來搶答呢?這時登場的是邏輯抽屜的"如果(if)",它可用來檢查某個條件是否發生了,以搶答器來說就是按鈕被按下了。本次搶答器有三個條件,讓我們來看如何形成三個條件判斷吧!

條件判斷,電腦的邏輯有所不同,請看下圖。

Linklt Smart 7697這塊開發板背面有一根根的針腳,可以用來連接各種不同的電子元件。在程式中會用Pin X代表不同的元件,例如把按鈕接在Pin3的話,在程式鐘就能用Pin3來得知按鈕的狀態。

電腦傳輸資料,有分成兩種訊號:數位訊號跟類比訊號,讓小豬告訴大家這兩種訊號的差別。

搶答器會根據哪一個按鈕被壓下來決定LED要亮或暗,就是先前介紹的數位訊號,所以會使用到數位I/O抽屜的程式積木。

讓LED燈亮跟暗,代表要讓7697開發板對某一支針腳提供高電位或低電位。在此,如同按鈕,可用腳位編號來表示LED。

認識了這些積木,應該可以寫出搶答器的程式了吧?

還沒還沒~因為程式的速度跑很快,如果只用LED亮燈指令的話,實際上是看不清楚地,所以要加入"時間抽屜"的"延遲積木"來決定LED到底要亮或暗多久時間。

知道這些積木作用之後,將這些積木阻合起來就是搶答器的程式了吧!!

完整的程式,如下:

 

可以找同學一起玩可愛搶答器囉!

相關文章:

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *