2022年12月1日木曜日

Blynk2 温湿度・LED・スイッチ 表示/操作


ブレッドボード
ブレッドボードにESP32・LED・スイッチ・DHT11温湿度センサープルアップ抵抗付きモジュールを挿入配線する。
同ブログ:【Blynk2使い方






接続回路

ブレッドボードに配線した回路図です。
LEDは秋月電子の抵抗内蔵LED,タクトスイッチはプログラムによるプルアップ抵抗接続にしてあります。pinMode(SWPin, INPUT_PULLUP);
USBからESP32電源供給。






[Quickstart Template]を行ってテンプレート画面のWidgetを一度削除する。





新たにテンプレート画面に[Widget Box]から無償の【Button】【Value Display】を貼り付ける。
[Template settings ]【+ Create New】でV0~V3を下記画面を参考に設定する。


















Arduino IDE【ツール】【ライブラリを管理】【blynk】【DHT sensor library】インストール

[Quickstart Template]を行ってメールアドレスに送られたコードを、一度、Arudino IDEに貼り付けます、#define BLYNK_AUTH_TOKEN "*****************(11行)までそのままにしてそれ以降を全て削除、次に下記スケッチコードの12行以降を全てコピーしてArudino IDE 12行以降に貼り付けます、35.36行のssidとpassにWiFiのSSID, keyコードを入力してESP32に書き込みます。
同ブログ:【ESP32使い方

プログラム

    1. /*************************************************************
    2.   This is a simple demo of sending and receiving some data.
    3.   Be sure to check out other examples!
    4.  *************************************************************/
    5. // Template ID, Device Name and Auth Token are provided by the Blynk.Cloud
    6. // See the Device Info tab, or Template settings
    7. #define BLYNK_TEMPLATE_ID "**************"
    8. #define BLYNK_DEVICE_NAME "**************"
    9. #define BLYNK_AUTH_TOKEN "**************"
    10. #define SWPin 12
    11. #define LEDPin 13
    12. #define DHTPIN 14
    13. int sw ;
    14. //https://dandydot.no-ip.biz/~dot/presen/advtech/seminars/iot_workshop/blynk_run_dht11/README.md.html
    15. // Comment this out to disable prints and save space
    16. #define BLYNK_PRINT Serial
    17. #include <WiFi.h>
    18. #include <WiFiClient.h>
    19. #include <BlynkSimpleEsp32.h>
    20. #define BLYNK_DEBUG
    21. #include "DHT.h" //https://github.com/adafruit/DHT-sensor-library
    22. #define DHTTYPE DHT11 //our sensor is DHT11 type
    23. DHT dht(DHTPIN, DHTTYPE); //create an instance of DHT sensor
    24. char auth[] = BLYNK_AUTH_TOKEN;
    25. // Your WiFi credentials.
    26. // Set password to "" for open networks.
    27. char ssid[] = "**********";
    28. char pass[] = "************";
    29. BLYNK_WRITE(V0)
    30. {
    31.   int value = param.asInt();
    32.   digitalWrite(LEDPin, value);
    33.  }
    34. void setup()
    35. {
    36.   // Debug console
    37.   Serial.begin(115200);
    38.   pinMode(SWPin, INPUT_PULLUP); //SW
    39.   pinMode(LEDPin, OUTPUT); //LED
    40.   //Blynk.begin(auth, ssid, pass);
    41.   // You can also specify server:
    42.   Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);
    43.   //Blynk.begin(auth, ssid, pass, IPAddress(192,168,11,20), 8080);
    44.   // Setup a function to be called every second
    45.   dht.begin();
    46. }
    47. void loop()
    48. {
    49.   Blynk.run();
    50.   
    51.   // You can inject your own code or combine it with other sketches.
    52.   // Check other examples on how to communicate with Blynk. Remember
    53.   // to avoid delay() function!
    54.     float temperature = dht.readTemperature(); // 温度読み取り
    55.     float humidity = dht.readHumidity(); // 湿度読み取り
    56.       
    57.     // 読み取りに失敗しているかチェック
    58.     // 失敗している場合はもう一度、温湿度の読み取りをする
    59.     if (isnan(temperature) || isnan(humidity)) {
    60.        Serial.println("Failed to read from DHT sensor!");
    61.        return;
    62.     }
    63.     sw = digitalRead(SWPin ) ; //スイッチの状態を読む
    64.     
    65.     //シリアルモニターに表示
    66.     Serial.print("湿度: ");
    67.     Serial.print(humidity);
    68.     Serial.print(" *C\t");
    69.     Serial.print("温度: ");
    70.     Serial.print(temperature);
    71.     Serial.print(" % ");
    72.     Serial.print("スイッチ:");
    73.     Serial.println(sw);
    74.     
    75.     // V1 ピンに対して温度の値を送信
    76.     Blynk.virtualWrite(V1, temperature);
    77.     
    78.     // V2 ピンに対して湿度の値を送信
    79.     Blynk.virtualWrite(V2, humidity);
    80.      // V3 ピンに対してSWの値を送信
    81.     Blynk.virtualWrite(V3, sw);
    82.       
    83.    
    84. }


ESP32とパソコンを接続
ボード【NodeMCU-32S】にする
(シリアルポートは環境によって異なる)
【→】を実行してコンパイル・書込・実行を行う






LED OFF






【TEMP】【humi】はESP32のDHT11の温湿度センサーからデータが送られてきます。











LED 消灯


【LED】OFFだとLEDが消灯







LED ON




【LED】ONだとLEDが点灯










LED 点灯









SW ON








ESP32のタクトスイッチを押すと【SW】が1→0になります。








0 件のコメント:

コメントを投稿

Raspberry Pi Donkey Car スマートカー

  2020年に製作したDonkey Car スマートカー について記事にしました。 Donkey CarはRaspberry Pi のカメラからコースを ディープラーニングさせ自動走行を行います。(動画は白線上を自動走行)   動画