Soil sensor และ BH1750 ต่อเข้าบอร์ด ESP8266 NodeMCU 1.0
ขาที่ใช้ไปแล้ว ได้แก่ D0 D1 D2 D3 D4 D5 D6 D7 D8 ซึ่งเป็นขา Relay ซะส่วนใหญ่
อยากทราบว่า สามารถต่อเข้าขา ไหนได้บ้างครับ
Soil sensor และ BH1750 ต่อเข้าบอร์ด ESP8266 NodeMCU 1.0
ขาที่ใช้ไปแล้ว ได้แก่ D0 D1 D2 D3 D4 D5 D6 D7 D8 ซึ่งเป็นขา Relay ซะส่วนใหญ่
อยากทราบว่า สามารถต่อเข้าขา ไหนได้บ้างครับ
ถ่าย ตัวที่ใช้มาดูหน่อยเป็น i2c รึป่าว
ขากรอบสีแดงผมได้ใช้หมดแล้ว ยังเหลือ เซนเซอร์อีก 2 ตัว ที่ยังไม่ได้ต่อ
Soil sensor และ BH1750 ครับ
ต้องย้ายพิน D1 และ D2 ออกมาต่อ I2C ครับ ทั้ง 2 เซ็นเซอร์ ต่อจุดเดียวกันได้เลย
D1 = SDL
D2 = SDA
ส่วนพินเดิม ย้าย
GPIO5 ==> GPIO10
GPIO4 ==> GPIO9
GPIO9
GPIO10
ประกาศตัวแปร ยังไงหรอครับ
สมมติ
int Relay1 ??? >>> ขา GPIO9
int Relay2 ??? >>> ขา GPIO10
ส่วน Soil sensor ต่อเข้าขาอะไรหรอครับ
digitalWrite(9, HIGH);
digitalWrite(10, HIGH);
ลืมดูว่าตัวนี้ไม่ใช่ I2C เอาเส้นสีเหลือต่อเข้า A0 ก็ได้แล้วสั่ง Read ค่าออกมา
Soil sensor ต่อได้แล้วครับ เหลือ แค่ BH1750 ผมใช้โค้ดตัวอย่าง ค่ามันก็ไม่เปลี่ยนแปลงถ้าในดู Serial monitor
/*
This is a simple example to test the BH1750 Light sensor
Connect the sensor to a NodeMCU ESP8266:
VCC <-> 3V3 [grey]
GND <-> Gnd [purple]
SDA <-> D2 [green]
SCL <-> D1 [blue]
ADDR <-> RX [yellow]
*/
#include <Wire.h>
#include <BH1750FVI.h>
// Settings
uint8_t ADDRESSPIN = 13;
BH1750FVI::eDeviceAddress_t DEVICEADDRESS = BH1750FVI::k_DevAddress_H;
BH1750FVI::eDeviceMode_t DEVICEMODE = BH1750FVI::k_DevModeContHighRes;
// Create the Lightsensor instance
BH1750FVI LightSensor(ADDRESSPIN, DEVICEADDRESS, DEVICEMODE);
void setup()
{
Serial.begin(115200);
LightSensor.begin();
Serial.println("Running...");
}
void loop()
{
uint16_t lux = LightSensor.GetLightIntensity();
Serial.print("Light: ");
Serial.println(lux);
delay(250);
}
ลองอันนี้
#include <BH1750FVI.h>
BH1750FVI LightSensor(BH1750FVI::k_DevModeContLowRes);
void setup()
{
Serial.begin(9600);
LightSensor.begin();
}
void loop()
{
uint16_t lux = LightSensor.GetLightIntensity();
Serial.print("Light: ");
Serial.print(lux);
Serial.println(" lux");
delay(250);
}
ปรับ delay จาก 250 เป็น 1000 หรือ 2000
ไม่ได้ผลครับ ผมคงทำเซ็นเซอร์มัน ช็อตอะครับ
มีตัวสำรองไหมลองเอามาเทสหน่อย