ปัญหาการใช้จอ LCD I2C ครับ ใครรู้บ้างช่วยที

กระทู้คำถาม
ผมพยามใช้ LCD แสดงผลโดยใช้ได้ปกติ แต่ผมเปลียน LCD รุ่นเดียวกันแต่กับไม่แสดงผล. ผมลองต่อ LCD ตัวใหม่ อีก 2 ตัวใหม่ก็ไม่ได้ (ด้านหลังบอร์ด I2C จะมีจัมเปอร์ให้เราบัดกรี 3 จุดคือ A0, A1, A2 ก็ทำเหมือนตัวแรกที่ใช้งานได้ แต่ก็ไใ่แสดงผลครับ)  ผมใช้กับ Arduino Uno R3 ครับ
code
#include <MapFloat.h>
#include <LCD.h>
#include <LiquidCrystal.h>
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x3F
#define BACKLIGHT_PIN 3
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
float WATERPIN = 12;
float sensorPin = A0;
float sensorValue = 0.0;
float percentValue = 0.0;
float Max = 70.0;
float Min = 20.0;
void setup() {
  Serial.begin(9600);
  lcd.begin(16,2);
  lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
  lcd.setBacklight(HIGH);
  pinMode(WATERPIN, OUTPUT);
  
}

void loop() {
  
  sensorValue = analogRead(sensorPin);
  Serial.println("\n\nAnalog Value: ");
  Serial.println(sensorValue);
  
  percentValue = mapFloat(sensorValue, 1024.00, 200.00, 0.00, 100.00);

  if (percentValue >= Min)
  {
    digitalWrite(WATERPIN, HIGH);
    
  }
  if(percentValue <= Max)
  {
    digitalWrite(WATERPIN, LOW);
    
  }
  Serial.print("\nPercentValue: ");
  Serial.print(percentValue);
  Serial.print("%");
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("  L=20%  H=70%");
   lcd.setCursor(0,1);  
  lcd.print("Moisture= ");
  lcd.print(percentValue);
  lcd.print("%");

  
  
  delay(1000);  
}
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่