Arduino Nano 33 BLE 無線通信プロジェクト

Arduino Nano 33 BLE を使った無線通信プロジェクト

Arduino Nano 33 BLE を使った無線通信プロジェクト

Arduino Nano 33 BLE は、小型でありながら Bluetooth Low Energy (BLE) 機能を持つ強力な開発ボードです。このボードを使用することで、様々な無線通信プロジェクトを比較的容易に実現できます。本記事では、Arduino Nano 33 BLE を使用した無線通信プロジェクトの例をいくつか紹介し、その実現方法を解説します。

プロジェクト例1:温度・湿度センサーからのデータ送受信

このプロジェクトでは、Arduino Nano 33 BLE を温度・湿度センサー(例えば DHT11/DHT22)と接続し、センサーから取得したデータを BLE を使ってクラウド(ThingSpeak など)に送信します。

  // Arduino Nano 33 BLE コード例
  #include 
  #include 

  // DHT11/DHT22 のピン番号
  #define DHTPIN 2

  // DHT11/DHT22 のオブジェクト
  DHT dht(DHTPIN, DHT22); // DHT22 を使用する場合

  // BLE Peripheral オブジェクト
  BLEPeripheral blePeripheral;

  void setup() {
    Serial.begin(9600);
    dht.begin();
    blePeripheral.begin("MySensor"); // BLE デバイス名を定義
  }

  void loop() {
    float humidity = dht.readHumidity();
    float temperature = dht.readTemperature();

    if (humidity >= 0 && humidity <= 100) {
      Serial.print("Humidity: ");
      Serial.print(humidity);
      Serial.print(" %\t");
    } else {
      Serial.println("Failed to read humidity");
    }

    if (temperature == -999.0) {
      Serial.println("Failed to read temperature");
    } else {
      Serial.print("Temperature: ");
      Serial.print(temperature);
      Serial.println(" *C");
    }

    // センサーデータを BLE を使って送信
    blePeripheral.sendData("Temperature, " + String(temperature) + ", Humidity, " + String(humidity));
    delay(1000);
  }

このコードは、温度・湿度を定期的に読み取り、BLE を使って送信します。送信するデータは、ThingSpeak などのプラットフォームでグラフ化したり、他のデバイスで利用したりすることができます。

プロジェクト例2:ボタンからのデータ送受信

このプロジェクトでは、Arduino Nano 33 BLE とボタンを接続し、ボタンの状態を BLE を使ってスマートフォンに送信します。スマートフォン側でボタンの状態を検知し、反応を表示することができます。

  // Arduino Nano 33 BLE コード例
  #include 

  // LED のピン番号
  #define LED_PIN 8

  // BLE Peripheral オブジェクト
  BLEPeripheral blePeripheral;

  void setup() {
    Serial.begin(9600);
    blePeripheral.begin("MyButton");
  }

  void loop() {
    // ボタンの状態を読み取る
    int buttonState = digitalRead(3); // 例:デジタルピン 3 に接続されたボタンの状態

    // ボタンの状態を BLE を使って送信
    blePeripheral.sendData("Button State, " + String(buttonState));
    delay(500);
  }

このコードは、ボタンの状態を定期的に読み取り、BLE を使って送信します。送信したデータをスマートフォンアプリで受信し、ボタンの状態に応じて異なるアクションを実行することができます。

まとめ

Arduino Nano 33 BLE は、BLE を利用した無線通信プロジェクトを始めるための優れた選択肢です。様々なセンサーやデバイスと組み合わせることで、創造性豊かなプロジェクトを実現することができます。

Comments

Popular posts from this blog

How to show different lines on WinMerge

パスワードハッシュ:bcrypt, scrypt, Argon2 徹底解説

GPIO入門:電子工作の基礎と活用例