Mô tả project: Ta sử dụng widget LCD để hiển thị giá trị nhiệt độ, độ ẩm hay giá trị adc. Sử dụng 2 nút nhấn để lựa chọn loại dữ liệu cần hiển thị
Chuần bị:
Bước 1: Kết nối bộ cảm biến xoay Rotary với cổng analog A0, DHT11 kết nối với digital 0 trên Node Wifi
Bước 2: Mở app Blynk tạo một project mới, trong phần Widget Box tìm chọn widget LCD và 2 button
Bước 3: Cài đặt LCD với chân virtual V0, chọn chế độ input Advanced
2 nút nhấn kết nối với chân V1, V2 chọn chế độ Push
Bước 4: Mở arduino IDE viết chương trình
#include "DHT.h" #define DHTPIN 14 // what digital pin the DHT sensor is conected to #define DHTTYPE DHT11 // there are multiple kinds of DHT sensors DHT dht(DHTPIN, DHTTYPE, 15); #include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> char auth[] = "ec51f933bf1d4a14b632d11e04e38225"; char ssid[] = "AITT_3"; char pass[] = "66668888"; int button_adc, button_dht; WidgetLCD lcd(V0); void setup() { Blynk.begin(auth, ssid, pass); } BLYNK_WRITE(V1) { button_adc = param.asInt(); } BLYNK_WRITE(V2) { button_dht = param.asInt(); } void loop() { Blynk.run(); // lay gia tri nhiet do va do am tren dht float h = dht.readHumidity(); float t = dht.readTemperature(); // hien thi gia tri nhiet do, do am len lcd if(button_dht == 1){ lcd.clear(); lcd.print(0, 0, "Temp: " ); lcd.print(6, 0, h); lcd.print(0, 1, "Humi: " ); lcd.print(6, 1, t); } // hien thi gia tri adc len lcd if(button_adc == 1){ lcd.clear(); lcd.print(0, 0, "Gia tri ADC: " ); lcd.print(0, 1, analogRead(A0)); } }
Bước 5: Biên dịch, nạp code, bật Play trên Blynk và kiểm tra kết quả khi ta nhấn nút ADC giá trị adc đọc từ cảm biến xoay Rotary trên Node wifi sẽ hiển thị trên lcd, khi nhấn nút Temp/Humi thì lcd sẽ hiển thị giá trị nhiệt độ, độ ẩm.