ถ้าผมจะกําหนดค่าความชื้นของดินแบบว่าค่าเท่านี้ให้ทํางาน โดยใช้ slider ในblynk ต้องทํายังไงคับ
กระทู้ตัวอย่างการใช้งาน
และการคิดเชิงโปรแกรมครับ
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
int sensorValue = 0;
int outputValue = 0;
const int analogInPin = A0;
char auth[] = " vrUsz_PiEoHTQN3nfrY6gZI9jJBpXnis";
char ssid[] = “iPhone”;
char pass[] = “12345678”;
BLYNK_WRITE(V23)
{
if(outputValue = param.asInt()){
digitalWrite(D4, HIGH);}
}
BLYNK_WRITE(V5)
{
if(param.asInt() == 0)
{
digitalWrite(D4, HIGH);
}
if(param.asInt() == 1)
{
digitalWrite(D4, LOW);
}
}
BLYNK_CONNECTED() {
Blynk.syncAll();
}
void setup()
{
pinMode(D4,OUTPUT);
digitalWrite(D4, HIGH);
Blynk.begin(auth, ssid, pass);
}
void loop()
{
sensorValue = analogRead(analogInPin);
outputValue = map(sensorValue, 0, 1023,100,0);
Blynk.virtualWrite(V0,outputValue);
Blynk.run();
}
ต้องแก้ตรงไหนคับ
แก้อะไรครับ ติดปัญหาอะไร
ผมจะให้sliderเป็นตัวกําหนดความชื้นว่าความชื้นเท่านี้จะให้ทํางานจะต้องเขียนโค้ดยังไงคับ
ยังใช้งานไม่ได้คับบ ติดตรงไหน
#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;
BLYNK_WRITE(V1){ //ควบคุมความชื้น //ยังติดปัญหา
if (t_slider = outputValue){
digitalWrite(D4, HIGH);
Serial.print(‘ON’);
}
}
BLYNK_WRITE(V5)// ตั้งเวลา
{
if(param.asInt() == 0)
{
digitalWrite(D4, HIGH); // เปิด
}
if(param.asInt() == 1)
{
digitalWrite(D4, LOW); //ปิด
}
}
BLYNK_CONNECTED() {
Blynk.syncAll();
}
void setup()
{
Serial.begin(9600);
pinMode(D4,OUTPUT);
digitalWrite(D4, HIGH);
Blynk.begin(auth, ssid, pass);
}
void loop()
{
sensorValue = analogRead(analogInPin);
outputValue = map(sensorValue, 0, 1023,100,0); //คิดเป็นเปอร์เซ็น
Blynk.virtualWrite(V0,outputValue);
Blynk.run();
}
เอาข้อมูลที่เซตอัพในเอพมาดูหน่อยครับ รันแล้ว print ดูมันขึ้นว่าอะไร แอพมันออนรึยังมันเชื่อมได้ไหม ให้ข้อมูลแค่นี้ผมตอบให้ไม่ได้ครับ
แนบรูปตรงไหนหรอคับ
ซีเรียลมันปริ้น203022 เวลาเลื่อนslider
#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;
BLYNK_WRITE(V1){ //ควบคุมความชื้น //ยังติดปัญหา
t_slider = outputValue;
digitalWrite(D4, HIGH);
Serial.print('ON');
}
BLYNK_WRITE(V5)// ตั้งเวลา
{
if(param.asInt() == 0)
{
digitalWrite(D4, HIGH); // เปิด
}
if(param.asInt() == 1)
{
digitalWrite(D4, LOW); //ปิด
}
}
BLYNK_CONNECTED() {
Blynk.syncAll();
}
void setup()
{
Serial.begin(9600);
pinMode(D4,OUTPUT);
digitalWrite(D4, HIGH);
Blynk.begin(auth, ssid, pass);
}
void loop()
{
sensorValue = analogRead(analogInPin);
outputValue = map(sensorValue, 0, 1023,100,0); //คิดเป็นเปอร์เซ็น
Blynk.virtualWrite(V0,outputValue);
Blynk.run();
}
int t_slider = 0;
BLYNK_WRITE(V1){
t_slider = param.asInt();
Serial.print(t_slider);
}
แก้เป็น
int t_slider = 0;
BLYNK_WRITE(V1){
t_slider = param.asInt();
Serial.printIn(t_slider);
}
ขอดู widget อื่นด้วยครับ มีอะไร เซตอะไรไว้บ้าง
อธิบายโปรแกรมของตัวเองพอสังเขบหน่อยครับว่าตอนนี้มันทำอะไรได้แล้วบ้าง แล้วติดปัญหาที่ตรงไหนอยู่
ผมจะทําเครื่องรดนํ้าต้นไม้โดยมีโหมด
1.ตั้งเวลลาการทํางาน
2.ทํางานตามความชื้นที่ตั้งไว้
ที่ได้แล้ว
1.ตั้งเวลา
2.โชว์ค่าความชื้น
ที่ติดอยู่
1.กําหนดค่าความชื้นให้ทํางานโดยใช้widget
จนปัญญาแล้วจิง