注釈

こんにちは、SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Communityへようこそ!Facebook上で、仲間と一緒にRaspberry Pi、Arduino、ESP32をさらに深く探求しましょう。

なぜ参加するのか?

  • 専門的なサポート:購入後の問題や技術的な課題をコミュニティやチームの助けを借りて解決。

  • 学びと共有:スキルを向上させるためのヒントやチュートリアルを交換。

  • 限定プレビュー:新製品発表や予告編に早期アクセス。

  • 特別割引:最新製品の特別割引を楽しむ。

  • フェスティブプロモーションとプレゼント:プレゼントやホリデープロモーションに参加。

👉 私たちと一緒に探索と創造を始める準備はできましたか?[ここ]をクリックして、今すぐ参加しましょう!

レッスン46: Bluetooth LCD

このプロジェクトでは、Arduino UNOボードに接続されたBluetoothモジュールを介してメッセージを受信し、それらのメッセージをLCD画面に表示します。

必要なコンポーネント

このプロジェクトでは、以下のコンポーネントが必要です。

一式キットを購入するのが便利です。こちらのリンクをご覧ください:

Name

ITEMS IN THIS KIT

LINK

Universal Maker Sensor Kit

94

Universal Maker Sensor Kit

以下のリンクから別々に購入することもできます。

Component Introduction

Purchase Link

Arduino UNO R3 or R4

購入

ブレッドボード

購入

I2C LCD 1602

購入

cpn_jdy31

-

配線

../_images/Lesson_46_Bluetooth_lcd_uno_bb.png

コード

注釈

ライブラリをインストールするには、Arduinoライブラリマネージャーを使用し、 "LiquidCrystal I2C" を検索してインストールしてください。

アプリとBluetoothモジュールの接続

"Serial Bluetooth Terminal"というアプリを使用して、BluetoothモジュールからArduinoにメッセージを送信できます。

  1. Serial Bluetooth Terminalのインストール

    Google Playにアクセスして、シリアルBluetoothターミナル をダウンロードしてインストールします。

  2. Bluetoothの接続

    まず、スマートフォンで**Bluetooth**をオンにします。

    スマートフォンの Bluetooth設定 に移動し、 JDY-31-SPP のような名前を探します。

    それをクリックした後、ポップアップウィンドウで ペア リクエストに同意します。ペアリングコードを求められた場合は、「1234」と入力してください。

  3. Bluetoothモジュールとの通信

    Serial Bluetooth Terminalを開き、「JDY-31-SPP」に接続します。

    ../_images/00-bluetooth_serial_4_shadow.png
  4. コマンドの送信

    Serial Bluetooth Terminalアプリを使用して、Bluetooth経由でArduinoにメッセージを送信します。Bluetoothに送信されたメッセージはLCDに表示されます。

    ../_images/15-lcd_shadow.png

コード解析

注釈

ライブラリをインストールするには、Arduinoライブラリマネージャを使用して**"LiquidCrystal I2C"**を検索し、ライブラリをインストールしてください。

  1. LCDの設定

    #include <LiquidCrystal_I2C.h>
    LiquidCrystal_I2C lcd(0x27, 16, 2);
    

    このコードセグメントでは、LiquidCrystal_I2Cライブラリをインクルードし、I2Cアドレスを 0x27 としてLCDモジュールを初期化し、LCDが 16 列と 2 行であることを指定します。

  2. Bluetooth通信の設定

    #include <SoftwareSerial.h>
    const int bluetoothTx = 3;
    const int bluetoothRx = 4;
    SoftwareSerial bleSerial(bluetoothTx, bluetoothRx);
    

    ここでは、SoftwareSerialライブラリをインクルードし、JDY-31 Bluetoothモジュールがピン3(TX)とピン4(RX)を使用してArduinoと通信できるようにします。

  3. 初期化

    void setup() {
       lcd.init();
       lcd.clear();
       lcd.backlight();
    
       Serial.begin(9600);
       bleSerial.begin(9600);
    }
    

    setup()``関数は、LCDを初期化し、既存のコンテンツをクリアします。また、LCDのバックライトをオンにします。シリアルモニタおよびBluetoothモジュールとの通信は、どちらもボーレート ``9600 で開始されます。

  4. メインループ

    void loop() {
       String data;
    
       if (bleSerial.available()) {
          data += bleSerial.readString();
          data = data.substring(0, data.length() - 2);
          Serial.print(data);
    
          lcd.clear();
          lcd.setCursor(0, 0);
          lcd.print(data);
       }
    
       if (Serial.available()) {
          bleSerial.write(Serial.read());
       }
    }
    

    これはArduinoプログラムのメインの動作ループです。Bluetoothモジュールおよびシリアルモニタからのデータの受信を継続的にチェックします。Bluetoothデバイスからデータが受信されると、それが処理され、シリアルモニタに表示され、LCDに表示されます。シリアルモニタにデータが入力されると、そのデータはBluetoothモジュールに送信されます。