ของผมยังใช้งานไม่ได้เลย พอมีโค้ดให้ดูบ้างไหม
ของผมไม่ได้ทำให้มันเลือกฟังชั่นได้น่ะครับ เลยไม่ซับซ้อนเท่าของนาย
ออ ครับนึกว่าเหมือนกัน
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
int sensorValue = 0; //ตัวแปรค่า Analog
int outputValue = 0; // ตัวแปรสำหรับ Map เพื่อคิด %
const int analogInPin = A0;
char auth[] = " vrUsz_PiEoHTQN3nfrY6gZI9jJBpXnis";
char ssid[] = "iPhone";
char pass[] = "12345678";
int t_slider = 0;
int Value_slider;
int led = D0;
bool lock1 = false; // ล็อกคําสั่งคามชื้น
bool lock2 = false; // ล็อกคําสั้งตั้งเวลา
bool auto_lock = false; // ล็อก บัตทอลความชื้น
bool manul = false; // ล็อก บัตทอล ตั้งเวลา
BLYNK_WRITE(V1) {
t_slider = param.asInt();
Blynk.virtualWrite(V7, t_slider);
delay(100);
}
BLYNK_WRITE(V3) // button ความชื้น
{
if (param.asInt() == 1) {
auto_lock = true;
}
else {
auto_lock = false;
}
if (param.asInt() == 0) {
auto_lock = true;
} else {
auto_lock = false;
}
}
BLYNK_WRITE(V2)// button ตั้งเวลา
{
if (param.asInt() == 1) {
manul = true;
}
else {
manul = false;
}
if (param.asInt() == 0) {
manul = true;
} else {
manul = false;
}
}
BLYNK_WRITE(V5)// ตั้งเวลา
{
if (param.asInt() == 1) { // หาก widget timerส่งค่ามาเป็น1 จะให้ทํางาน
{ if (lock2 == false)
digitalWrite(led, HIGH);
Blynk.virtualWrite(V2, 1); // v2คือ wiitget button มีค่าเป็น1
lock1 = true;
}
}
else
{
lock2 = false;
}
if (param.asInt() == 0) { // หากwidgettimer ส่งค่ามาเป็น0จะหยุดการทํางาน
{ if (lock2 == false)
digitalWrite(led, LOW);
Blynk.virtualWrite(V2, 0); // v2คือ wiitget button มีค่าเป็น0
lock2 = true;
}
}
else
{
lock2 = false;
}
}
BLYNK_CONNECTED() {
Blynk.syncAll();
digitalWrite(D4,HIGH);
}
void setup()
{
pinMode(led, OUTPUT);
digitalWrite(led, HIGH);
Blynk.begin(auth, ssid, pass);
}
void loop()
{
sensorValue = analogRead(analogInPin);
outputValue = map(sensorValue, 0, 1023, 100, 0); //คิดเป็นเปอร์เซ็น
Blynk.virtualWrite(V0, outputValue);
if (auto_lock == true) {
digitalWrite(led, 1); // buttonความชื้น(auto)
}
else {
digitalWrite(led, 0);
}
if (manul == true) {
digitalWrite(led, 1); // button ตั้งเวลา
}
else {
digitalWrite(led, 0);
}
if (outputValue >= t_slider) // หากค่าที่อ่านได้จากเซ็นเซอร์น้อยกว่ยกว่าwidget slider จะสั่งให้ทํางาน
{ if (lock1 == false)
digitalWrite(led, HIGH);
Blynk.virtualWrite(V3, 1); // v3คือ wiitget button มีค่าเป็น1
lock1 = true;
}
else
{
lock1 = false;
}
if (outputValue <= t_slider) // หากค่าที่อ่านได้จากเซ็นเซอร์น้อยกว่ยกว่าwidget slider จะสั่งหยุดให้ทํางาน
{ if (lock1 == false)
digitalWrite(led, LOW);
Blynk.virtualWrite(V3, 0); // v3คือ wiitget button มีค่าเป็น0
lock1 = true;
}
else
{
lock1 = false;
}
Blynk.run();
}
พยายามฝึกนะครับ สำคัญคือต้องคิดเองออกมาก่อน เราจะมีสกิล ติดตัว ติดอกถามได้ผมช่วยแนะให้ครับ
ตอนนี้แยกการทํางานได้แล้วครับ แต่ผมใช้เซิฟเวอร์10ล้านฟรีไม่ได้เลยเด้ง disconnect ตลอด
ต้องแก้ยังไงคับ
วางโค้ตที่ใช้ล่าสุดด้วยครับ ปริ้น error จาก serial ออกมาให้ดูด้วย
#include <SimpleTimer.h>
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
int sensorValue = 0; //ตัวแปรค่า Analog
int outputValue = 0; // ตัวแปรสำหรับ Map เพื่อคิด %
const int analogInPin = A0;
char auth[] = " vrUsz_PiEoHTQN3nfrY6gZI9jJBpXnis";
char ssid[] = "iPhone";
char pass[] = "12345678";
int led = D0;
int t_slider = 0;
int buton = 0;
BLYNK_WRITE(V1) {
t_slider = param.asInt();
Blynk.virtualWrite(V7, t_slider);
delay(100);
}
BLYNK_WRITE(V2){
buton = param.asInt();
}
BLYNK_WRITE(V3){
if (param.asInt() == 0) {digitalWrite(led, 1);}
if (param.asInt() == 1) {digitalWrite(led, 0);}
}
BLYNK_CONNECTED() {
Blynk.syncAll();
}
void setup() {
Blynk.begin(auth, ssid, pass);
pinMode(led, OUTPUT);
Serial.begin(9600);
}
void loop() {
sensorValue = analogRead(analogInPin);
outputValue = map(sensorValue, 0, 1023, 100, 0);
Blynk.virtualWrite(V0, outputValue);
if (buton == 1) {
if (outputValue >= t_slider)
{digitalWrite(led, 1);}
if (outputValue <= t_slider)
{digitalWrite(led,0);}}
Blynk.run();
}
หมายถึงแคปตรง arduino ide มาดูครับว่ามันคอนเน็ตแล้วมัน ขึ้นอะไรมา
อ่านจากกระทู้นี้เลยครับ
โอเคคับได้ละคับ
สรุปหน่อยครับแก้อะไรไป
ผมไม่ได้ไปใส่ เซิฟและพอต ในsetup
void setup() {
Blynk.begin(auth, ssid, pass,“oasiskit.com”, 8080);
1 Likes
ผมจะอัพเดทเว็บ อาจจะเข้าไม่ได้สักแปปนะครับ
1 Likes
ไม่เออเร่อแล้วคับ