範例 3:使用 Arduino 製作超音波裝置

我們將以 Arduino 製作一個超音波裝置,Arduino 以超音波模組測距後,會將距離值傳送給 FlagO! 主控端。

Arduino 端材料

Arduino 端線路

Arduino 端程式

請開啟 Arduino IDE 如下撰寫程式:

#include <SoftwareSerial.h>
#include <FlagZigBee.h>
#include <Flago.h>

const byte echoPin = 6;
const byte trigPin = 7;

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);

  Flago.begin(); //初始化
}

void loop() { 
  Flago.update(); //更新狀態與 FlagO! 主控端同步

  int cm = ping(); //讀取距離

  Flago.sendString(String(cm)); //將距離值傳送給 FlagO! 主控端

  delay(500);
}

// 超音波偵測距離的函式
int ping() {
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  unsigned long us = pulseIn(echoPin, HIGH);
  return us / 58.2;   //將測得的時間換算成距離 (公分) 然後傳回
}

程式撰寫完畢後,請將程式上傳至 Arduino,確認出現上傳成功訊息,如此便完成了 Arduino 端的超音波裝置。

FlagO! 端裝置

  • FlagO! 主控模組
  • 語音合成模組

FlagO! 端積木設計

請使用瀏覽器連線 FlagO! 的積木設計環境,執行選單『專案功能/開啟舊專案』命令,然後選擇開啟產品光碟內的 Ultrasound.xml 專案,即可載入以下積木:

請修改積木中超音波語音合成的裝置編號,超音波是用 Arduino 製作的,所以請參見 Arduino 上 ZigBee 無線模組背後的編號:

在語音合成模組的底部一樣有專屬於該裝置的識別碼以供程式辨別:

修改好超音波語音合成的裝置編號之後,請按左上角的執行程式鈕,讓 FlagO! 主控端開始執行程式。

FlagO! 主控端執行程式後,請用手接近 Arduino 端超音波模組的前方,即可聽到語音合成模組喊出『歡迎光臨』。

results matching ""

    No results matching ""