| 作者/攝影 | 動力大腳車製作者、資料、圖影片提供:游允赫
文字整理: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

先讓我們打開Arduino IDE,然後寫好將顯示在LinkIt Remote上的各項物件,等之後LinkIt Remot與7697透過藍牙連接時,LinkIt Remote將自動抓取這些物件。如下:
[pastacode lang=”cpp” manual=”%2F%2F%E8%A8%AD%E5%AE%9A%E7%88%AC%E5%9D%A1%E6%8C%89%E9%88%95%0A%0A%C2%A0%20LRemoteButton%20buttonClimb%3B%0A%0A%2F%2F%E8%A8%AD%E5%AE%9A%E6%8A%98%E8%BF%94%E6%8C%89%E9%88%95%0A%0A%C2%A0%20LRemoteButton%20buttonGoAndBack%3B%0A%0A%2F%2F%E8%A8%AD%E5%AE%9A%E8%A8%88%E6%99%82%E5%99%A8%0A%0A%C2%A0%20LRemoteSlider%20Timer%3B%0A%0A%2F%2F%E8%A8%AD%E5%AE%9A%E9%A1%8F%E8%89%B2%E6%A5%B5%E9%99%90%E5%80%BC%0A%0A%C2%A0%20LRemoteSlider%20Limit%3B%0A%0A%2F%2F%E4%B8%8A%E6%96%B9%E6%A8%99%E7%B1%A4%0A%0A%C2%A0%20LRemoteLabel%C2%A0%20BigFoot%3B%0A%0A%2F%2F%E8%A8%AD%E5%AE%9A%E7%8B%80%E6%85%8B%E6%AC%84%0A%0A%C2%A0%20LRemoteLabel%C2%A0%20LabelS%3B%0A%0A%2F%2F%E8%A8%AD%E5%AE%9A%E9%A1%8F%E8%89%B2%E6%84%9F%E6%87%89%E5%99%A8%E5%81%B5%E6%B8%AC%E5%80%BC%E6%AC%84%0A%0A%C2%A0%20LRemoteLabel%C2%A0%20LabelLight%3B” message=”” highlight=”” provider=”manual”/]接下來,讓我們為著之後的主程式宣告一些變數,如下:
[pastacode lang=”cpp” manual=”%2F%2F%E9%A6%AC%E9%81%94%E5%88%86%E5%88%A5%E6%8E%A5%E6%96%BC13%E3%80%8117%0A%0A%C2%A0%20int%20M1A%20%3D%2017%3B%0A%C2%A0%20int%20M1B%20%3D%2013%3B%0A%0A%2F%2F%E5%AE%A3%E5%91%8A%E8%AE%8A%E6%95%B8T%EF%BC%88%E6%99%82%E9%96%93-0.1%E7%A7%92%E7%82%BA%E5%96%AE%E4%BD%8D%EF%BC%89%0A%0A%C2%A0%20int%20T%3B%0A%0A%2F%2F%E5%AE%A3%E5%91%8A%E8%AE%8A%E6%95%B8F%EF%BC%88%E9%A1%8F%E8%89%B2%E6%84%9F%E6%87%89%E5%99%A8%E8%AE%80%E6%95%B8%EF%BC%89%0A%0A%C2%A0%20int%20F%3B%0A%0A%2F%2F%E5%AE%A3%E5%91%8A%E8%AE%8A%E6%95%B8S%EF%BC%88%E8%BB%8A%E8%BC%9B%E7%8B%80%E6%85%8B%EF%BC%89%0A%0A%C2%A0%20int%20S%20%3D%200%3B%0A%0A%2F%2F%E5%AE%A3%E5%91%8A%E8%AE%8A%E6%95%B8L%EF%BC%88%E9%A1%8F%E8%89%B2%E6%A5%B5%E9%99%90%E5%80%BC%EF%BC%89%0A%0A%C2%A0%20int%20L%3B%0A%0A%2F%2F%E5%AE%A3%E5%91%8A%E8%AE%8A%E6%95%B8button%3D6%EF%BC%887697%E5%85%A7%E5%BB%BAUSR%E6%8C%89%E9%88%95%EF%BC%89%0A%0A%C2%A0%20int%20button%20%3D%206%3B” message=”” highlight=”” provider=”manual”/]
現在來到主程式部分,首先是setup函式,如下:
[pastacode lang=”cpp” manual=”void%20setup()%20%7B%0A%0A%0A%C2%A0%20Serial.begin(9600)%3B%0A%0A%0A%C2%A0%20Serial.println(%22Start%20configuring%20remote%22)%3B%0A%0A%0A%C2%A0%20pinMode%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(13%2C%20OUTPUT)%3B%0A%C2%A0%20pinMode%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(17%2C%20OUTPUT)%3B%0A%C2%A0%20pinMode%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(%202%2C%C2%A0%20INPUT)%3B%0A%C2%A0%20pinMode%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(%204%2C%C2%A0%20INPUT)%3B%0A%C2%A0%20pinMode%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(%206%2C%C2%A0%20OUTPUT)%3B%0A%C2%A0%20digitalWrite%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(13%2C%201)%3B%0A%C2%A0%20digitalWrite%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(17%2C%201)%3B%0A%0A%0A%0A%0A%2F%2F%E9%80%99%E9%83%A8%E5%88%86%E6%98%AFLinkIt%20Remote%E4%BB%8B%E9%9D%A2%E4%B8%8A%E5%90%84%E9%A0%85%E7%89%A9%E4%BB%B6%E7%9A%84%E9%80%B2%E4%B8%80%E6%AD%A5%E8%A8%AD%E5%AE%9A%0A%0A%2F%2F%E8%97%8D%E7%89%99%E5%90%8D%E7%A8%B1%2C%E4%BB%8B%E9%9D%A2%E5%88%86%E5%89%B2%0A%0A%C2%A0%20LRemote.setName%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(%22BigFoot%22)%3B%0A%C2%A0%20LRemote.setOrientation%C2%A0%C2%A0%20(RC_PORTRAIT)%3B%0A%C2%A0%20LRemote.setGrid%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(3%2C%205)%3B%0A%0A%0A%0A%0A%2F%2F%E4%B8%8A%E6%96%B9%E6%A8%99%E7%B1%A4%0A%0A%C2%A0%20BigFoot.setText%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(%22%EF%BC%81%E5%A4%A7%E8%85%B3%E8%BB%8A%EF%BC%81%22)%3B%0A%C2%A0%20BigFoot.setPos%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(0%2C0)%3B%0A%C2%A0%20BigFoot.setSize%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(3%2C1)%3B%0A%C2%A0%20BigFoot.setColor%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(RC_GREY)%3B%0A%C2%A0%20LRemote.addControl%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(BigFoot)%3B%0A%0A%0A%0A%0A%2F%2F%E7%88%AC%E5%9D%A1%E6%8C%89%E9%88%95%0A%0A%C2%A0%20buttonClimb.setText%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(%22%E7%88%AC%E5%9D%A1%EF%BC%81%22)%3B%0A%C2%A0%20buttonClimb.setPos%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(0%2C%202)%3B%0A%C2%A0%20buttonClimb.setSize%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(1%2C%201)%3B%0A%C2%A0%20buttonClimb.setColor%C2%A0%C2%A0%C2%A0%C2%A0%20(RC_BLUE)%3B%0A%C2%A0%20LRemote.addControl%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(buttonClimb)%3B%0A%0A%0A%0A%0A%2F%2F%E6%8A%98%E8%BF%94%E6%8C%89%E9%88%95%0A%0A%C2%A0%20buttonGoAndBack.setText%C2%A0%C2%A0%20(%22%E6%8A%98%E8%BF%94%EF%BC%81%22)%3B%0A%C2%A0%20buttonGoAndBack.setPos%C2%A0%C2%A0%C2%A0%20(2%2C%202)%3B%0A%C2%A0%20buttonGoAndBack.setSize%C2%A0%C2%A0%20(1%2C%201)%3B%0A%C2%A0%20buttonGoAndBack.setColor%C2%A0%20(RC_BLUE)%3B%0A%C2%A0%20LRemote.addControl%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(buttonGoAndBack)%3B%0A%0A%0A%0A%0A%2F%2F%E6%99%82%E9%96%93%E8%A8%AD%E5%AE%9A%E6%BB%91%E6%A1%BF%0A%0A%C2%A0%20Timer.setText%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(%22Timer%3D(%2010%20~%20150%20)%22)%3B%0A%C2%A0%C2%A0Timer.setPos%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(0%2C1)%3B%0A%C2%A0%20Timer.setSize%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(3%2C1)%3B%0A%C2%A0%20Timer.setColor%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(RC_ORANGE)%3B%0A%C2%A0%20Timer.setValueRange%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(10%2C150%2C10)%3B%0A%C2%A0%20LRemote.addControl%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(Timer)%3B%0A%0A%0A%0A%2F%2F%E5%85%89%E6%84%9F%E6%A5%B5%E9%99%90%E5%80%BC%E8%A8%AD%E5%AE%9A%E6%BB%91%E6%A1%BF%0A%0A%C2%A0%20Limit.setText%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(%22LIMIT%22)%3B%0A%C2%A0%20Limit.setPos%C2%A0%20%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0(0%2C3)%3B%0A%C2%A0%20Limit.setSize%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(3%2C1)%3B%0A%C2%A0%20Limit.setColor%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(RC_GREEN)%3B%0A%C2%A0%20Limit.setValueRange%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(100%2C360%2C225)%3B%0A%C2%A0%20LRemote.addControl%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(Limit)%3B%0A%0A%0A%0A%0A%2F%2F%E5%85%89%E6%84%9F%E5%80%BC%E9%A1%AF%E7%A4%BA%E6%A8%99%E7%B1%A4%0A%0A%C2%A0%20LabelLight.setText%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(String(F))%3B%0A%C2%A0%20LabelLight.setPos%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(0%2C%204)%3B%0A%C2%A0%20LabelLight.setSize%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(2%2C%201)%3B%0A%C2%A0%20LabelLight.setColor%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(RC_PINK)%3B%0A%C2%A0%20LRemote.addControl%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(LabelLight)%3B%0A%0A%0A%0A%0A%2F%2F%E7%8B%80%E6%85%8B%E9%A1%AF%E7%A4%BA%E6%A8%99%E7%B1%A4%0A%0A%C2%A0%20LabelS.setText%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(String(S))%3B%0A%C2%A0%20LabelS.setPos%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(2%2C%204)%3B%0A%C2%A0%20LabelS.setSize%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(1%2C%201)%3B%0A%C2%A0%20LabelS.setColor%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(RC_GREY)%3B%0A%C2%A0%20LRemote.addControl%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20(LabelS)%3B%0A%0A%0A%0A%0A%C2%A0%20LRemote.begin()%3B%0A%C2%A0%20Serial.println(%22begin()%20returned%22)%3B%0A%7D” message=”” highlight=”” provider=”manual”/]關於LinkIt Remote如何設定,讀者們可以進一步參考這篇文章:使用LinkIt Remote

再來是loop函式的部分,如下:
[pastacode lang=”cpp” manual=”void%20loop()%20%7B%0A%0A%0A%C2%A0%20if(!LRemote.connected())%20%7B%0A%C2%A0%C2%A0%C2%A0%20Serial.println(%22waiting%20for%20connection%22)%3B%0A%C2%A0%C2%A0%C2%A0%20delay(1000)%3B%0A%C2%A0%20%7D%20else%20%7B%0A%C2%A0%C2%A0%C2%A0%20delay(15)%3B%0A%C2%A0%20%7D%0A%0A%0A%C2%A0%20LRemote.process()%3B%0A%0A%0A%0A%2F%2F%E7%8D%B2%E5%8F%96%E6%A5%B5%E9%99%90%E5%80%BC%E8%A8%AD%E5%AE%9A%0A%0A%C2%A0%20L%20%3D%20Limit.getValue()%3B%0A%0A%2F%2F%E7%8D%B2%E5%8F%96%E6%99%82%E9%96%93%E5%80%BC%E8%A8%AD%E5%AE%9A%0A%0A%C2%A0%20T%20%3D%20Timer.getValue()%3B%0A%0A%2F%2F%E7%8D%B2%E5%8F%96%E9%A1%8F%E8%89%B2%E6%84%9F%E6%B8%AC%E5%99%A8%E8%AE%80%E5%8F%96%E5%80%BC%EF%BC%8C%E6%84%9F%E6%B8%AC%E5%99%A8%E8%A8%8A%E8%99%9F%E6%8E%A5%E6%96%BC4%E8%99%9F%E8%85%B3%E4%BD%8D%E4%B8%8A%0A%0A%C2%A0%20F%20%3D%20pulseIn(4%2CLOW)%3B%0A%0A%2F%2F%E9%A1%AF%E7%A4%BA%E8%AE%80%E5%8F%96%E5%80%BC%E6%96%BC%E5%85%89%E6%84%9F%E5%80%BC%E6%A8%99%E7%B1%A4%0A%0A%C2%A0%20LabelLight.updateText(String(F))%3B%0A%0A%0A%0A%0A%0A%0A%0A%2F%2F%E7%95%B6%E7%88%AC%E5%9D%A1%E6%8C%89%E9%88%95%E6%8C%89%E4%B8%8B%EF%BC%8C%E7%8B%80%E6%85%8B%E5%80%BC%E8%A8%AD%E5%AE%9A%E7%82%BA5%EF%BC%8C%E7%8B%80%E6%85%8B%E6%AC%84%E9%A1%AF%E7%A4%BA%E7%82%BA%22%E5%B7%B2%E9%81%B8%E7%88%AC%E5%9D%A1%22%0A%0A%C2%A0%20switch%20(buttonClimb.getValue())%7B%0A%C2%A0%C2%A0%C2%A0%20case%201%3A%0A%C2%A0%C2%A0%C2%A0%20S%20%3D%205%3B%0A%C2%A0%C2%A0%C2%A0%20LabelS.updateText(%22%E5%B7%B2%E9%81%B8%E7%88%AC%E5%9D%A1%22)%3B%0A%C2%A0%C2%A0%C2%A0%20break%3B%0A%0A%0A%C2%A0%C2%A0%C2%A0%20case%200%3A%0A%C2%A0%C2%A0%C2%A0%20break%3B%0A%C2%A0%C2%A0%20%7D%0A%0A%0A%0A%0A%2F%2F%E7%95%B6%E7%88%AC%E5%9D%A1%E6%8C%89%E9%88%95%E6%8C%89%E4%B8%8B%EF%BC%8C%E7%8B%80%E6%85%8B%E5%80%BC%E8%A8%AD%E5%AE%9A%E7%82%BA1%EF%BC%8C%E7%8B%80%E6%85%8B%E6%AC%84%E9%A1%AF%E7%A4%BA%E7%82%BA%22%E5%B7%B2%E9%81%B8%E6%8A%98%E8%BF%94%22%0A%0A%C2%A0%20switch%20(buttonGoAndBack.getValue())%7B%0A%C2%A0%C2%A0%C2%A0%20case%201%3A%0A%C2%A0%C2%A0%C2%A0%20S%20%3D%201%3B%0A%C2%A0%C2%A0%C2%A0%20LabelS.updateText(%22%E5%B7%B2%E9%81%B8%E6%8A%98%E8%BF%94%22)%3B%0A%C2%A0%C2%A0%C2%A0%20break%3B%0A%0A%0A%C2%A0%C2%A0%C2%A0%20case%200%3A%0A%C2%A0%C2%A0%C2%A0%20break%3B%0A%C2%A0%C2%A0%20%7D%0A%0A%0A%0A%0A%0A%0A%0A%2F%2F%E8%8B%A5%E7%8B%80%E6%85%8B%E5%80%BC%E7%82%BA1%EF%BC%88%E5%B7%B2%E9%81%B8%E6%8A%98%E8%BF%94%EF%BC%89%E4%B8%947697%20USR%E6%8C%89%E9%88%95%E8%A2%AB%E6%8C%89%E4%B8%8B%0A%0A%2F%2F%E7%8B%80%E6%85%8B%E5%88%97%E9%A1%AF%E7%A4%BA%E7%82%BA%22%E4%B8%8B%E5%9D%A1%22%EF%BC%8C%E9%A6%AC%E9%81%94%E5%8F%8D%E8%BD%89%EF%BC%8C%E6%8C%81%E7%BA%8C%E7%A7%92%E6%95%B8%E4%BE%9D%E6%BB%91%E6%84%9F%E8%A8%AD%E5%AE%9A%0A%0A%2F%2F%E6%8C%81%E7%BA%8C%E6%99%82%E9%96%93%E8%A8%AD%E5%AE%9A%E5%80%BC%E9%81%8E%E5%BE%8C%EF%BC%8C%E7%8B%80%E6%85%8B%E5%80%BC%E5%88%87%E6%8F%9B%E8%87%B32%0A%0Aif%20(digitalRead(button)%20%3D%3D%201%20%26%26%20S%20%3D%3D1%20)%7B%0A%C2%A0%C2%A0%C2%A0%20LabelS.updateText(%22%E4%B8%8B%E5%9D%A1%22)%3B%0A%C2%A0%C2%A0%C2%A0%20digitalWrite(M1A%2C0)%3B%0A%C2%A0%C2%A0%C2%A0%20digitalWrite(M1B%2C1)%3B%0A%C2%A0%C2%A0%C2%A0%20delay(T*100)%3B%0A%C2%A0%C2%A0%C2%A0%20S%20%3D%202%3B%0A%C2%A0%C2%A0%20%7D%0A%0A%0A%0A%0A%2F%2F%E8%8B%A5%E7%8B%80%E6%85%8B%E7%82%BA2%E4%B8%94%E9%A1%8F%E8%89%B2%E6%84%9F%E6%87%89%E5%99%A8%E5%81%B5%E6%B8%AC%E5%80%BC%E5%B0%8F%E6%96%BC%E6%A5%B5%E9%99%90%E5%80%BC%EF%BC%88%E5%88%A4%E5%AE%9A%E7%82%BA%E5%B0%9A%E6%9C%AA%E9%81%8E%E9%BB%91%E7%B7%9A%EF%BC%89%0A%0A%2F%2F%E9%A6%AC%E9%81%94%E6%8C%81%E7%BA%8C%E5%8F%8D%E8%BD%89%EF%BC%8C%E7%8B%80%E6%85%8B%E6%AC%84%E9%A1%AF%E7%A4%BA%E7%82%BA%22%E5%81%B5%E6%B8%AC%E4%B8%AD%22%0A%0A%C2%A0%C2%A0%C2%A0%20else%20if(S%20%3D%3D%202%20%26%26%20F%20%3C%20L)%7B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20digitalWrite(M1A%2C0)%3B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20digitalWrite(M1B%2C1)%3B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20LabelS.updateText(%22%E5%81%B5%E6%B8%AC%E4%B8%AD%22)%3B%0A%C2%A0%C2%A0%C2%A0%20%7D%0A%0A%0A%0A%0A%2F%2F%E8%8B%A5%E7%8B%80%E6%85%8B%E7%82%BA2%E4%B8%94%E9%A1%8F%E8%89%B2%E6%84%9F%E6%87%89%E5%99%A8%E5%81%B5%E6%B8%AC%E5%80%BC%E5%A4%A7%E6%96%BC%E6%A5%B5%E9%99%90%E5%80%BC%EF%BC%88%E5%88%A4%E5%AE%9A%E7%82%BA%E9%81%8E%E9%BB%91%E7%B7%9A%EF%BC%89%0A%0A%2F%2F%E7%8B%80%E6%85%8B%E5%80%BC%E5%88%87%E6%8F%9B%E8%87%B33%EF%BC%8C%E7%8B%80%E6%85%8B%E6%AC%84%E9%A1%AF%E7%A4%BA%E7%82%BA%22%E5%B7%B2%E5%81%B5%E6%B8%AC%22%0A%0A%C2%A0%C2%A0%C2%A0%20else%20if(S%20%3D%3D%202%20%26%26%20F%20%3E%20L)%7B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20S%20%3D%203%3B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20LabelS.updateText(%22%E5%B7%B2%E5%81%B5%E6%B8%AC%22)%3B%0A%C2%A0%C2%A0%C2%A0%20%7D%0A%0A%0A%0A%2F%2F%E8%8B%A5%E7%8B%80%E6%85%8B%E7%82%BA3%EF%BC%8C%E5%89%87%E7%8B%80%E6%85%8B%E6%AC%84%E9%A1%AF%E7%A4%BA%E7%82%BA%22%E4%B8%8A%E5%9D%A1%22%EF%BC%8C%E9%A6%AC%E9%81%94%E6%AD%A3%E8%BD%89%0A%0A%2F%2F%E6%8C%81%E7%BA%8C%E6%99%82%E9%96%93%E7%82%BA%E8%A8%AD%E5%AE%9A%E5%80%BC%2B2%E7%A7%92%EF%BC%88%E4%B8%8A%E5%9D%A1%E6%89%80%E9%9C%80%E6%99%82%E9%96%93%E8%BC%83%E9%95%B7%EF%BC%89%EF%BC%8C%E6%99%82%E9%96%93%E5%88%B0%E9%81%94%E5%BE%8C%E7%8B%80%E6%85%8B%E5%80%BC%E5%88%87%E6%8F%9B%E8%87%B34%0A%0A%C2%A0%C2%A0%C2%A0%20else%20if(S%3D%3D3)%7B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20LabelS.updateText(%22%E4%B8%8A%E5%9D%A1%22)%3B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20digitalWrite(M1A%2C%201)%3B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20digitalWrite(M1B%2C%200)%3B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20delay(T*100%2B2000)%3B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20S%20%3D%204%3B%0A%C2%A0%C2%A0%C2%A0%20%7D%0A%0A%0A%0A%2F%2F%E8%8B%A5%E7%8B%80%E6%85%8B%E7%82%BA4%E4%B8%94%E9%A1%8F%E8%89%B2%E6%84%9F%E6%87%89%E5%99%A8%E5%81%B5%E6%B8%AC%E5%80%BC%E5%B0%8F%E6%96%BC%E6%A5%B5%E9%99%90%E5%80%BC%EF%BC%88%E5%88%A4%E5%AE%9A%E7%82%BA%E5%B0%9A%E6%9C%AA%E9%81%8E%E9%BB%91%E7%B7%9A%EF%BC%89%0A%0A%2F%2F%E9%A6%AC%E9%81%94%E6%8C%81%E7%BA%8C%E6%AD%A3%E8%BD%89%EF%BC%8C%E7%8B%80%E6%85%8B%E6%AC%84%E9%A1%AF%E7%A4%BA%E7%82%BA%22%E5%81%B5%E6%B8%AC%E4%B8%AD%22%0A%0A%C2%A0%C2%A0%C2%A0%20else%20if(S%20%3D%3D%204%20%26%26%20F%20%3C%20L)%7B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20digitalWrite(M1A%2C1)%3B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20digitalWrite(M1B%2C0)%3B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20LabelS.updateText(%22%E5%81%B5%E6%B8%AC%E4%B8%AD%22)%3B%0A%C2%A0%C2%A0%C2%A0%20%7D%0A%0A%0A%0A%2F%2F%E8%8B%A5%E7%8B%80%E6%85%8B%E7%82%BA4%E4%B8%94%E9%A1%8F%E8%89%B2%E6%84%9F%E6%87%89%E5%99%A8%E5%81%B5%E6%B8%AC%E5%80%BC%E5%A4%A7%E6%96%BC%E6%A5%B5%E9%99%90%E5%80%BC%EF%BC%88%E5%88%A4%E5%AE%9A%E7%82%BA%E9%81%8E%E9%BB%91%E7%B7%9A%EF%BC%89%0A%0A%2F%2F%E7%8B%80%E6%85%8B%E6%AC%84%E9%A1%AF%E7%A4%BA%E7%82%BA%22%E5%B7%B2%E5%81%B5%E6%B8%AC%22%EF%BC%8C%E9%A6%AC%E9%81%94%E6%8C%81%E7%BA%8C%E6%AD%A3%E8%BD%89%E4%B8%80%E7%A7%92%0A%0A%2F%2F%E4%B8%80%E7%A7%92%E5%BE%8C%E7%8B%80%E6%85%8B%E5%80%BC%E5%88%87%E6%8F%9B%E8%87%B30%EF%BC%8C%E7%8B%80%E6%85%8B%E6%AC%84%E9%A1%AF%E7%A4%BA%E7%82%BA%22%E5%81%9C%E6%AD%A2%22%0A%0A%C2%A0%C2%A0%C2%A0%20else%20if(S%20%3D%3D%204%20%26%26%20F%20%3E%20L)%7B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20LabelS.updateText(%22%E5%B7%B2%E5%81%B5%E6%B8%AC%22)%3B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20digitalWrite(M1A%2C1)%3B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20digitalWrite(M1B%2C0)%3B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20delay(1000)%3B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20digitalWrite(M1A%2C1)%3B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20digitalWrite(M1B%2C1)%3B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20S%20%3D%200%3B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20LabelS.updateText(%22%E5%81%9C%E6%AD%A2%22)%3B%0A%C2%A0%C2%A0%C2%A0%20%7D%0A%0A%0A%0A%0A%2F%2F%E8%8B%A5%E7%8B%80%E6%85%8B%E5%80%BC%E7%82%BA5%EF%BC%88%E5%B7%B2%E9%81%B8%E7%88%AC%E5%9D%A1%EF%BC%89%E4%B8%947697%20USR%E6%8C%89%E9%88%95%E8%A2%AB%E6%8C%89%E4%B8%8B%0A%0A%2F%2F%E7%8B%80%E6%85%8B%E5%80%BC%E5%88%87%E6%8F%9B%E8%87%B33%0A%0A%C2%A0%C2%A0%C2%A0%20else%20if(S%20%3D%3D5%20%26%26%20digitalRead(button)%20%3D%3D%201)%7B%0A%C2%A0%C2%A0%C2%A0%C2%A0%C2%A0%20S%20%3D%203%3B%0A%C2%A0%C2%A0%C2%A0%20%7D%0A%0A%0A%7D” message=”” highlight=”” provider=”manual”/]
程式完成後,最後一步就是把程式燒錄至LinkIt 7697上。
軟體部分簡單介紹至此,若讀者有不了解的地方,
歡迎詢問允赫老師,E-mail:yhyu@cavedu.com,謝謝。
相關文章
- [教學] 從Zero到Hero,給想實做動力小車的你——硬體篇
- [LinkIt 7697] 認識LinkIt 7697,你會需要這一篇!
- [LinkIt 7697] 物聯網應用情境下的LinkIt 7697
- [教學文]MIT App Inventor Codi Bot 設計發想
- [LinkIt 7697] WiFi 控制RGB三色LED





