โปรเจคเรื่องตู้อบกล้วย **ติดปัญหาเรื่องโค้ด blynk

พี่ครับผมรบกวนขอรูปการต่อวงจรหน่อยครับ ผมลองทำตาม หน้าจอ LCD ไม่แสดงผลครับ
ขอบคุณครับ

พี่ครับผมรบกวนขอรูปการต่อวงจรหน่อยครับ ผมลองทำตาม หน้าจอ LCD ไม่แสดงผลครับ
ขอบคุณครับ

ทุกอย่างผ่านหมด ยกเว้นจอ LCD ไม่มีตัวเลขขึ้นครับ ทำยังไงครับ

ตอนนี้ต่อแบบไหนครับ ใช้โค้ตอะไรขอดูหน่อย

//โค้ตใช้ตามของคูณ 11184 น้ำแข็ง ครับ
#define BLYNK_PRINT Serial
#include “DHT.h”
#include <LiquidCrystal_I2C.h>
#include <SPI.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <DHT.h>
#define DHTPIN D5
#define DHTTYPE DHT22

char auth[] = “KOTY9C2PNZsEaJ6khVlr7WwskPuGaa9t”;
char ssid[] = “PTT_2.4G”;
char pass[] = “nttmi14982317”;

int Relay1 = D7;
int Relay2 = D6;
int Relay3 = D3;
int Relay4 = D4;

DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
SimpleTimer timer;

void sendSensor()
{
float h = dht.readHumidity();
float t = dht.readTemperature();

if (isnan(h) || isnan(t)) {
Serial.println(“Failed to read from DHT sensor!”);
return;
}

Blynk.virtualWrite(V5, h);
Blynk.virtualWrite(V6, t);
}
void setup() {
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
Serial.println(F(“DHTxx test!”));
Serial.println();
Serial.println(“Status\tHumidity (%)\tTemperature ©\t(F)”);
pinMode (Relay1,OUTPUT);
pinMode (Relay2,OUTPUT);
pinMode (Relay3,OUTPUT);
pinMode (Relay4,OUTPUT);

dht.begin();
lcd.begin();
timer.setInterval(1000L, sendSensor);
}
void loop() {
delay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
float f = dht.readTemperature(true);
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F(“Failed to read from DHT sensor!”));
return;
}
if (t >= 60){
digitalWrite (Relay1,LOW);
digitalWrite (Relay2,LOW);
digitalWrite (Relay3,LOW);
}
else if (t < 60)
{
digitalWrite (Relay1,HIGH);
digitalWrite (Relay2,HIGH);
digitalWrite (Relay3,HIGH);
Serial.println(“Relay 1,2,3 HIGH!”);
}
if (h <= 20){
digitalWrite (Relay4,LOW);

}
else if (h > 20)
{
digitalWrite (Relay4,HIGH);
Serial.println(“Relay 4 HIGH!”);
}
float hif = dht.computeHeatIndex(f, h);
float hic = dht.computeHeatIndex(t, h, false);
Serial.print(F(“Humidity: “));
Serial.print(h);
Serial.print(F(”% Temperature: “));
Serial.print(t);
Serial.print(F(” C “));
Serial.print(f);
Serial.print(F(” F Heat index: “));
Serial.print(hic);
Serial.print(F(” C “));
Serial.print(hif);
Serial.println(F(” F”));
lcd.setCursor(0, 0);
lcd.print(“Hum: “);
lcd.setCursor(4, 0);
lcd.print(h);
lcd.setCursor(9, 0);
lcd.print(”%”);
lcd.setCursor(0, 1);
lcd.print("Tem: ");
lcd.setCursor(4, 1);
lcd.print(t);
lcd.setCursor(9, 1);
lcd.print(“C”);
delay(2000);
Blynk.run();
timer.run();
}

ต่อวงจรตามนี้ครับ
index

มีต่อจริงรึยัง ตอนนี้ติดปัญหาในซิมใช่ไหมครับ

ต่อจริงแล้วครับ อัปโหลด ได้ แต่หน้าจอ ไม่มีตัวหนังสือขึ้นมาไห้เลยครับ

จอในซิมขึ้นไหมครับ

ไม่ขึ้นเลยครับท่าน

ตอนนี้ค่า t กับ h ออกไหม

ไม่ออกครับพี่ แต่ทดสอบใช้โค้ตอืนทดสอบหน้าจอขึ้นปกติครับ ไม่รู้ติดปัญหาตรงไหนครับ

ขอดูโค้ตที่ใช้งานได้หน่อยครับ ที่แยกออกมาจอออก

จากนั้นดูโค้ตที่แมตกันไม่ออกอันไหนอันที่ให้ไว้นั้นใช่ไหม

โค้ตที่ที่ทดสอบ ใช้โค้ตตาม โปรแกรมที่อยู่ใน arduiono ครับ

ใช้ได๋แล้วครับ ขอบคุณมากครับ

ขอแนวทางโค้ต โปรแกรม ครับ
เมื่อ ดีเลย์ ต่อ การทำงาน ไห้แสดงผลผ่าน blynk ครับ

แก้ไขอย่างไรหรอครับ ชี้แนะแนวทางหน่อยนะครับ

มองข้ามLiquidCrystal_I2C lcd(0x27, 16, 2);cแก้ตรง 0x27 เป็น 3f ครับ

1 Likes

// ถ้าผมต้องการชุดนี้แสดงสถานะทาง blynk on/off ต้องทำยังไงครับ
int Relay1 = D7;
int Relay2 = D6;
int Relay3 = D3;
int Relay4 = D4;

สถานะในที่นี้ แสดงแบบไหนครับ ปกติเวลากดปุ่ม on ที่ app มันก็จะ on ให้ ของแต่ละอันอยู่แล้ว หรือว่าหมายถึงใช้ widgit อื่นแสดง หรือเป็นการกดจากปุ่มที่ ฮาร์ทแวร์