#define BLYNK_TEMPLATE_ID "TMPL3lRTtbKp"
#define BLYNK_DEVICE_NAME "my blynk"
#define BLYNK_FIRMWARE_VERSION "0.1.0"
#define BLYNK_PRINT Serial
#define APP_DEBUG
#define DHTTYPE DHT11
#define DHTPIN D4
#include "BlynkEdgent.h"
#include <DHT.h>
DHT dht(DHTPIN, DHTTYPE); //ตัวแปล DHT
int ldr = A0; //ตัวแปล LDR
int button = D0;
BLYNK_WRITE(V0) //เก็บค่าตัวแปล Relay
{
int val = param.asInt(); //
digitalWrite(D5, val); //
}
BLYNK_WRITE(V1) //
{
int val = param.asInt(); //
digitalWrite(D6, val); //
}
BLYNK_WRITE(V2) //
{
int val = param.asInt(); //
digitalWrite(D7, val); //
}
BLYNK_WRITE(V3) //
{
int val = param.asInt(); //
digitalWrite(D8, val); //
}
void setup()
{
pinMode(D5, OUTPUT); //แสดงสัญญาณ Relay
delay(100); //
BlynkEdgent.begin(); //
pinMode(D6, OUTPUT); //
delay(100); //
BlynkEdgent.begin(); //
pinMode(D7, OUTPUT); //
delay(100); //
BlynkEdgent.begin(); //
pinMode(D8, OUTPUT); //
delay(100); //
BlynkEdgent.begin(); //
dht.begin(); // เริ่มทำงาน DHT
delay(100); //
BlynkEdgent.begin(); //
Serial.begin(9600); // เริ่มทำงาน LDR
pinMode(ldr,INPUT); //
BlynkEdgent.begin(); //
}
void loop()
{
BlynkEdgent.run();
float t = dht.readHumidity(); //แสดงค่า DHT
float h = dht.readTemperature(); //
Blynk.virtualWrite(V5,t); //
Blynk.virtualWrite(V6,h); //
int val = analogRead(ldr); //แสดงค่า LDR
Blynk.virtualWrite(V4,val); //
}
ลองดูเป็นแนวทางครับ ผมให้ไปเแนวแบบกว้างๆ นะครับ ดูการเชื่อมโยงของ code ถ้าเข้าใจ Code แล้วก็สามารถประยุกต์ ใช้กับ โปรเจคเราได้เลย
#include <Bounce2.h>
#define BUTTON_1 D0
Bounce debouncer1 = Bounce();
int Btn1 = 0;
int Device_1sent;
void setup() {
pinMode(BUTTON_1, INPUT_PULLUP);
debouncer1.attach(BUTTON_1); debouncer1.interval(25);
}
BLYNK_WRITE(V1)//PB V1
{
int pinValue = param.asInt();
//Serial.print("V1 = "); Serial.println(pinValue);
if (pinValue == 1 ) {
Device_1sent = 11;
}
if (pinValue == 0) {
Device_1sent = 10;
}
}
if (Device_1sent == 11) { //on
digital.write (xx,xx); {//ทำให้ Relay on
Btn1 = 1;
}
if (Device_1sent == 10) {// Relay off
digital.write (xx,xx); {//ทำให้ Relay off
Btn1 = 0;
}
debouncer1.update();
//--Toggle SW PB 1
if ( debouncer1.fell() ) {
Btn1 = !Btn1; // Toggle LED state
if ( Btn1 == 1 ) {//ทำให้ Relay on
Device_1sent = 11;
Blynk.virtualWrite(V1, 1);
}
if ( Btn1 == 0 ) {//ทำให้ Relay off
Device_1sent = 10;
Blynk.virtualWrite(V1, 0);
}
}
ทำได้แล้วครับ ขอบคุณพี่มากครับได้ความรู้ใหม่