Использование SCL и SDA ESP8266-01 с GY-30 BH1750FVI для измерения люксов
Я следовал этому руководству, чтобы получить измерение люксов от GY-30 BH1750 с помощью Arduino.
Работает нормально. Но теперь я хочу использовать его с ESP8266-01.
Я прочитал, что пин 4 — это SDA, а 5 — это SCL для него. Но это не работает. Может кто-нибудь сказать, что мне нужно изменить в коде? Я «немного» запутался в адресации.
Ниже приведен код для Arduino:
#include <Wire.h>
int BH1750_address = 0x23; // Адрес i2c
byte buff[2];
void setup() {
Wire.begin();
BH1750_Init(BH1750_address);
delay(200);
Serial.begin(9600);
Serial.println("Starte Beleuchtungsstaerkemessung - blog.simtronyx.de");
}
void loop(){
float valf=0;
if(BH1750_Read(BH1750_address)==2){
valf=((buff[0]<<8)|buff[1])/1.2;
if(valf<0)Serial.print("> 65535");
else Serial.print((int)valf,DEC);
Serial.println(" lx");
}
delay(1000);
}
void BH1750_Init(int address) {
Wire.beginTransmission(address);
Wire.write(0x10); // 1 [люкс] включен
Wire.endTransmission();
}
byte BH1750_Read(int address) {
byte i=0;
Wire.beginTransmission(address);
Wire.requestFrom(address, 2);
while(Wire.available()){
buff[i] = Wire.read();
i++;
}
Wire.endTransmission();
return i;
}
@Dushyant Bangal, 👍3
0
Смотрите также:
- Проблемы с подключением I2C на ESP8266 — 12F, какие контакты использовать?
- esp8266-01 и Arduino UNO обмен данными через i2c
- ADS1115: измерение напряжения 5 В и питание от 3,3 В
- Варианты протокола для обмена данными между Arduino и ESP8266
- Отправка значений из arduino uno в wemos d1 r1
- Соединение i2c для MCP4725 (Dac) с Esp8266 wemos d1 mini
- HD44780 отображает неправильно черный на синем вместо белого на синем
- ESP8266 не работает с MPU 6050 по проводной библиотеке и I2C