Bh1750fvi ใช้กับ blynk ได้ไหม

bh1750fvi ใช้กับblynk ได้ไหมครับ แล้วพอจะมีโค้ดตัวอย่างที่ใช้กับBlynkไหมครับ

bh1750fvi เซ็นเซอร์วัดความเข้มแสงสามารถใช้ร่วมกับ Blynk ได้ครับ

ขั้นตอนหลักๆ ในการใช้งานร่วมกันจะมีดังนี้:

  1. ต่อ bh1750fvi เข้ากับบอร์ดไมโครคอนโทรลเลอร์ (เช่น ESP8266, ESP32)
  2. ติดตั้งไลบรารีที่จำเป็น เช่น BH1750 library สำหรับอ่านค่าจากเซ็นเซอร์
  3. เขียนโค้ดเพื่ออ่านค่าจากเซ็นเซอร์และส่งไปยัง Blynk
  4. สร้างโปรเจค Blynk และกำหนด widget เพื่อแสดงค่าความเข้มแสง

#define BLYNK_TEMPLATE_ID "YOUR_TEMPLATE_ID"
#define BLYNK_TEMPLATE_NAME "YOUR_TEMPLATE_NAME"
#define BLYNK_AUTH_TOKEN "YOUR_AUTH_TOKEN"



#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <Wire.h>
#include <BH1750.h>

char ssid[] = "YOUR_WIFI_SSID";
char pass[] = "YOUR_WIFI_PASSWORD";

BH1750 lightMeter;

BlynkTimer timer;

void sendSensor()
{
  float lux = lightMeter.readLightLevel();
  Serial.print("Light: ");
  Serial.print(lux);
  Serial.println(" lx");
  Blynk.virtualWrite(V0, lux);
}

void setup()
{
  Serial.begin(115200);
  Wire.begin();
  lightMeter.begin();
  
  Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);

  timer.setInterval(1000L, sendSensor);
}

void loop()
{
  Blynk.run();
  timer.run();
}

คำอธิบายโค้ด:

  1. กำหนดค่า BLYNK_TEMPLATE_ID, BLYNK_TEMPLATE_NAME, และ BLYNK_AUTH_TOKEN ตามที่ได้รับจาก Blynk
  2. เพิ่มไลบรารีที่จำเป็น: ESP8266WiFi, BlynkSimpleEsp8266, Wire, และ BH1750
  3. กำหนด SSID และรหัสผ่าน WiFi
  4. สร้างอ็อบเจกต์ BH1750 ชื่อ lightMeter
  5. ฟังก์ชัน sendSensor() อ่านค่าความเข้มแสงและส่งไปยัง Blynk ผ่าน Virtual Pin V0
  6. ในฟังก์ชัน setup():
  • เริ่มต้นการสื่อสาร Serial
  • เริ่มต้น I2C (Wire)
  • เริ่มต้นเซ็นเซอร์ BH1750
  • เชื่อมต่อกับ Blynk
  • ตั้งค่าให้เรียกใช้ sendSensor() ทุก 1 วินาที
  1. ในฟังก์ชัน loop():
  • รัน Blynk และ timer

หลังจากอัปโหลด ต้องสร้างโปรเจคใน Blynk app และเพิ่ม widget (เช่น Gauge หรือ Value Display) ที่เชื่อมต่อกับ Virtual Pin V0 เพื่อแสดงค่าความเข้มแสง