FlipRobot Taiwan
  • FlipRobot 知識庫
  • 學習前的準備事項
    • 準備FlipRobot與延伸套件
    • 準備軟體工具
    • 如何使用APP版軟體
    • FlipCode線上版與線上版2.0的差異
  • FlipRobot翻轉雲介紹與說明
    • 什麼是FlipRobot翻轉雲
    • 如何註冊帳號
    • 如何加入序號
  • 第一次使用E310
    • E310適合的對象
    • Step1. 零件清點
    • Step.2 組裝方式
    • Step.3 電池規格
    • Step.4 按鍵介紹
    • Step.5 原始韌體玩 E310
    • Step.6 FlipCode 玩 E310
  • 第一次使用 E300
    • E300 適合的對象
    • Step.1 零件清點
    • Step.2 組裝方式
    • Step.3 電池規格
    • Step.4 按鍵介紹
    • Step.5 原始韌體玩 E300
    • Step.6 FlipCode 玩 E300
  • 機器人的大腦-晶片板
    • E310主控板
    • E300主控板
    • 變數板
    • 擴充板
  • 機器人的身體-機構體
    • 方體結構
    • 直流馬達
    • 伺服馬達
    • 全向輪
    • 常見的零件
    • 常見的工具
  • 機器人的五官-感應器
    • 超音波感應器
    • 紅外線感應器
    • 光線感應器
    • 微動感應器
    • 霍爾感應器
    • 土壤濕度感應器
  • 機器人的神經元-FlipCode
    • 什麼是FlipCode
    • 執行FlipCode的兩種方式
    • 拼圖凹凸角的涵義
    • 程式流程順序
    • FlipCode介面介紹
    • 工具列說明(邏輯、運算、內部元件)
    • 工具列說明(外部元件)
    • 工具列說明(函式庫)
  • 機器人的劇本-FlipRAS
    • 什麼是FlipRAS
    • FlipRAS介面說明
    • 時間軸的使用方式
    • FlipRAS匯入FlipCode說明
  • 常見問題
    • 關於機構的問題
      • 如何將滑牙的螺絲取出?
      • 為什麼機器人開機後無法切換模式?
      • 為什麼搖桿不會動?
      • 為什麼機器人無法開機?
      • 為什麼直流馬達不會動?
    • 關於變數板的問題
      • 為什麼變數板旋轉都沒有反應?
      • 為什麼變數板旋扭可以旋轉360度?
    • 關於韌體還原的問題
      • 什麼是還原韌體
      • 如何還原韌體
      • 為什麼還原韌體時找不到Port?
    • 關於FlipCode的問題
      • 為什麼燒錄FlipCode時找不到Port?
      • 為什麼燒錄FlipCode時間這麼久?
      • 為什麼沒有接訊號線,序列埠(Serial)一樣有訊號?
      • 如何讀取感應器數值?
    • 關於FlipRAS的問題
      • 為什麼FlipRAS不會即時反應?
      • 為什麼使用FlipRAS時找不到Port?
  • 線上說明書
Powered by GitBook
On this page
  • 基本性質
  • 程序性
  • 重複性
  • 基本功能
  • 拖曳程式
  • 刪除程式
  • 燒錄程式
  • 儲存程式
  • 任務一:讓E300前進
  • 任務二:讓E300前進一秒後停止五秒
  • 任務三:超音波感應器的碰到障礙物時,E300停止前進
  1. 第一次使用 E300

Step.6 FlipCode 玩 E300

PreviousStep.5 原始韌體玩 E300Next機器人的大腦-晶片板

Last updated 5 years ago

首先,在學習FlipCode之前,應先了解FlipCode的兩個基本性質。

可以一邊瀏覽說明,一邊使用FlipCode實際操作。要使用FlipCode之前,請準備好FlipCode軟體(線上版或是APP版本皆可),安裝說明請至:。

基本性質

程序性

程序性代表的是當我們在撰寫FlipCode時,程式都是有順序性的執行指令,也就是說,當拉了兩個程式在重複執行的拼圖中,程式會「由上到下」按照順序執行指令,如下方圖示。

以上方圖示為例,程式會先執行「直流馬達1速度200」的程式,接著執行「直流馬達2速度0」的程式。

不過,在使用FlipCode進行程式編輯時,若使用者沒有將程式拼圖放置在初始化或重複執行的拼圖中,而是放置畫面在其他空白處,拼圖會呈現灰底,表示不會執行此程式,如下方圖示。

因此,在使用FlipCode時,記得養成良好的習慣,將需要的程式連接在一起,並放在初始設定或重複執行的拼圖中,不需要的程式可以刪除,或是放在初始設定或重複執行的拼圖之外。

重複性

在FlipCode畫面中,程式主要分成兩個區塊:

  • 初始設定:初始設定裡的程式只有在開機時,會最先執行,執行一次,執行完畢則不會再執行直到重新開機。

  • 重複執行:重複執行裡的程式,會一直重複執行直到關機。

因此,重複性就是代表當我們在撰寫FlipCode時,放在重複執行拼圖中的指令會不停的重複執行,以下方圖示為例。

程式將會呈現「直流馬達1速度200延遲一秒」,接著執行「直流馬達1速度0延遲一秒」,接著再回到「直流馬達1速度200延遲一秒」,一直不同反覆執行動作,直到關機或是下一次燒錄為止。

因此,在使用FlipCode時,出現不如預期的結果,很大的可能是因為重複性,以下方圖示為例,想想看,程式會如何執行。

比較前方的例子,這個範例在「直流馬達1速度0」後方並沒有加「延遲」,因此,程式在執行到「直流馬達1速度0」後,會非常快速的接續執行「直流馬達1速度200延遲一秒」的程式,也就是說我們將不會在機器人身上看到「直流馬達1速度0」程式的執行。

在了解完FlipCode的基本性質後,請利用USB線將機器人與電腦連接起來,讓我們來認識FlipCode的基本功能。

基本功能

拖曳程式

點選想要的程式,按著拖拉至右方初始化、重複執行的拼圖中或拖拉至空白處,接著放開。

刪除程式

刪除程式的方式有四種,其中又分為單個程式刪除與全部程式刪除:

1.將程式拉回左方工具列

2.將程式拉至右下方的垃圾桶

3.點選上方Clear All可以刪除畫面上所有程式

4.按滑鼠右鍵選擇刪除區塊

燒錄程式

首先先將機器人打開,接著將USB線插入機器人與電腦。

Port處會顯示「Detecting」,表示正在偵測可燒錄的機器人。

接著選擇最新出現的Port。

請記得開啟機器人電源,才能顯示Detecting。

自動出現對應的FlipBrain和Port後,接著點選Upload。

看到綠色勾勾就代表燒錄成功了,可以拔下USB線,試看看你寫的程式囉。

燒錄完成後,請按模式切換鈕,機器人才會開始執行動作。

儲存程式

點選Save後,可在框中輸入檔案名稱,所有的FlipCode都會統一先儲存在下載(Download)的資料夾中。

在了解完基本的FlipCode的基本性質與基本功能後,讓我們試試幾個基本的程式吧。

任務一:讓E300前進

  • 使用程式:函式、直流馬達

首先,我們必須知道在讓E300前進時,需要控制兩顆輪子,而兩顆輪子分別由直流馬達1與直流馬達2控制,觀察E300主控板可知,直流馬達1控制左邊輪子、直流馬達2控制右邊輪子。​​​

想想看當E300要前進時,兩邊馬達旋轉為何?

很多人會認為直流馬達1與直流馬達2旋轉的方式會相同,但事實上,當我們將E300拿起來,正面看著左方與右方的輪胎,會發現左方是以逆時鐘方向旋轉,而右方則是以順時鐘方向旋轉,如下方圖示。

​ 到目前為止,我們知道在撰寫「前進」的程式時,需要控制直流馬達1與直流馬達2,並且直流馬達1為逆時鐘,直流馬達2為順時鐘。

函式可以定義機器人所擁有的功能,一種功能一個函式,如下方圖示。

將函式命名完成後,裡面的程式仍須自己撰寫,如下方圖示。

在函式裡面的程式並不會立刻被執行,需另外將函式名稱拉入畫面表示呼叫機器人執行這個功能。

完成撰寫後,試著Upload到E300當中,看看你的E300是否可以前進了吧!

延伸任務

  1. 讓E300走出直線:當你發現E300無法走出直線,而是呈現左偏或右偏,意味著你的馬達存在著速度差。你可以試著調整一邊的馬達速度,將他們調成一致。

  2. 停止、左轉、右轉的函式:當你完成前進的函式,試著寫寫看停止、左轉、右轉的函式吧。

任務二:讓E300前進一秒後停止五秒

  • 使用程式:函式、直流馬達、延遲

首先,我們必須了解「延遲」這個程式,「延遲」代表上一個動作持續的時間,單位為毫秒,一千毫秒等於一秒鐘,也就是說這個程式代表延遲1秒。

接著先讓我們完成「前進」與「停止」的函式。

接著試著將「延遲」的程式加進去吧,完成前進一秒後停止五秒。

延伸任務

  1. 倒車入庫:試看看在桌面上貼出一個小框框,讓E300停進框框中。

任務三:超音波感應器的碰到障礙物時,E300停止前進

  • 使用程式:函式、直流馬達、延遲、如果執行、超音波感應器

到這裡,我們已經學會「函式、直流馬達、延遲」,這個任務主要是要學習「如果執行」,這次的「如果執行」是搭配「超音波感應器」使用。

因此,我們必須先了解一下「超音波感應器」的感測原理,「超音波感應器」是利用發射超音波反射回傳一個數值(單位為公分),代表著它與前方物品的距離。

假設今天障礙物的位置位於15公分處。

可以根據下方圖示先拉出一個「超音波感應器數值小於15公分」的條件。

接著加入「如果執行」,代表當超音波感應器回傳的數值小於15公分,則執行動作。

接著,只要再加入我們先前學會的函式與延遲,就可以完成超音波感應器的碰到障礙物時,E300停止前進的動作囉。

這個程式僅會讓E300停止一秒後就會繼續前進,還記得FlipCode的基本性質中的重複性嗎,這就是為何程式會這樣執行的原因。

延伸任務

  1. 超音波感應器遇到障礙物後停止:試看看還有什麼其他的程式寫法。

  2. 超音波感應器遇到障礙物後左轉:試試看,完成一台小特斯拉,看到障礙物會繞過去。

詳細的FlipCode指令介紹可至查閱。

機器人的神經元-FlipCode
準備軟體工具