Stun_TV
(Stun TV)
9
ได้แล้วครับ ตอนนี้ถ้าไม่ได้วัดอะไรปั๊มจะไม่ทำงานต่อพอเอาจุ้มในดินแห้งปั๊มน้ำทำงานเลยครับ
void loop()
{
sensorValue = analogRead(sensorPin);
sensorValue = map(sensorValue, 0, 1023, 0, 100);
Serial.print(“Soil moisture: “);
Serial.print(sensorValue);
Serial.println(”%”);
if( sensorValue < 80 ) {
digitalWrite(RelayPin, HIGH);
}
else{
digitalWrite(RelayPin, LOW);
}
Stun_TV
(Stun TV)
10
คือผมจะสร้างปุ่มBottonขึ้นมาในแอพ Blynk สั่งเปิดปิดการทำงานผมควรทำยังไงบ้างหรอครับ
Stun_TV
(Stun TV)
11
ทำไมพอวัดดินเปียกแล้วรีเลย์ยังไม่ตัดหรอครับ
Remy_Martin
(Permpol Thanapunnamas)
12
แอดปุ่มเพิ่มมาครับ
ตัวอย่างโค้ต
button uses 0/1 (LOW/HIGH) values. Button sends 1 (HIGH) on press and sends 0 (LOW) on release.
You can change button state from hardware side. For example, turn on button assigned to virtual pin V1 :
Blynk.virtualWrite(V1, HIGH);
You can change button labels from hardware with :
Blynk.setProperty(V1, "onLabel", "ON");
Blynk.setProperty(V1, "offLabel", "OFF");
or change color :
//#D3435C - Blynk RED
Blynk.setProperty(V1, "color", "#D3435C");
You can also get button state from server in case your hardware was disconnected with Blynk Sync feature :
BLYNK_CONNECTED() {
Blynk.syncVirtual(V1);
}
BLYNK_WRITE(V1) {
int buttonState = param.asInt();
}
Remy_Martin
(Permpol Thanapunnamas)
13
ตอนนั้นค่า sensorValue ได้เท่าไหร่ครับ
Stun_TV
(Stun TV)
14
สูงสุดที่วัดได้1024ครับ ตอนนี้ผมทำได้แล้วครับ
Stun_TV
(Stun TV)
15
ขอบคุณครับ เลือกใช้ปุ่มไหนก้ได้ ในกรอบใช้มั้ยครับ
Remy_Martin
(Permpol Thanapunnamas)
16
แก้ไขได้อย่างไร แชร์กันหน่อยครับ
Remy_Martin
(Permpol Thanapunnamas)
17
เลือกตามลักษณะงานครับ อยากได้ปุ่มใหญ่ เลือกบน อยากได้เล็กๆ หน่อยก็อันล่าง แต่การทำงานเหมือนกัน
Stun_TV
(Stun TV)
18
ในส่วนนี้วางไว้ใน loop ใช้มั้ยครับ
Stun_TV
(Stun TV)
19
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h> //เรียกใช้ไลเบอรี่
#include <BlynkSimpleEsp8266.h>
#include <SimpleTimer.h>
#include <DHT.h>
#define DHTPIN 0 // กำหนดช่องพินของเซนเชอร์
#define DHTTYPE DHT22 // DHT 11 ชื่อ ของเซ็นเชอร์ที่ใช้
#define BLYNK_PRINT DebugSerial
int sensorValue = 0;
int sensorPin = A0;
int RelayPin = 2;
char auth[] = "mc8ARAWp_ZkKqm-sm0_jXmEJ9_jMFJgM";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "Sermphan_2.4GHz";
char pass[] = "0987297146";
BlynkTimer timer;
DHT dht(DHTPIN, DHTTYPE);
void myTimerEvent()
{
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t))
{
Serial.println("Failed to read from DHT sensor!");
return;
}
else
{
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.println(t);
Blynk.virtualWrite(V1, h);
Blynk.virtualWrite(V4, t);
}
}
void setup()
{
Serial.begin(9600);
pinMode(sensorPin, INPUT);
pinMode(RelayPin, OUTPUT);
digitalWrite(RelayPin, HIGH);
dht.begin();
Blynk.begin(auth, ssid, pass);
timer.setInterval(2000L, myTimerEvent);
}
void loop()
{
sensorValue = analogRead(A0);
if (sensorValue >= 999 && sensorValue <= 1024)
{
Serial.println(sensorValue);
digitalWrite(RelayPin, HIGH);
Blynk.virtualWrite(V2, HIGH);
}
else{
Serial.println(sensorValue);
digitalWrite(RelayPin, LOW);
}
delay(1000);
Blynk.setProperty(V2, "onLabel", "ON");
Blynk.setProperty(V2, "offLabel", "OFF");
Serial.print("Sensor = " );
Serial.println(sensorValue);
Blynk.run();
timer.run(); // Initiates BlynkTimer
}
BLYNK_CONNECTED() {
Blynk.syncVirtual(V2);
}
BLYNK_WRITE(V2) {
int buttonState = param.asInt();
}
ทำไมกดสั่งให้ทำงานหยุด แต่มันหยุดและเปิดการทำงานเองเลยอ่ะครับ
ผมต้องการให้กด ON เปิด กด OFF ปิด โดยการบังคับเองอ่ะครับ
Stun_TV
(Stun TV)
22
เราต้องมีอุปกรณ์อะไรต่อกับวงจรมั้ยครับ แบบมีปุ่มกดเพิ่มในบอร์ดงานอ่ะะครัย
Remy_Martin
(Permpol Thanapunnamas)
23
ไม่ต้องครับกดผ่าน แอพได้เลย
Stun_TV
(Stun TV)
25
ถ้ารดน้ำได้ถึงความชื้นตามที่กำหนกล่ะผมอยากใส่เวลาให้มันก่อนปั๊มหยุดทำงาน ควรทำยังไงบ้างครับ
Stun_TV
(Stun TV)
26
ผมจะทำให้พัดลมหมุนตามอุณหภูมิตามที่กำหนดควรทำไงครับ
Remy_Martin
(Permpol Thanapunnamas)
27
อยากได้เท่าไหร่กก็กำหนดได้จากบรรนี้ไงครับ