контакты nodemcu + показания датчиков
Что такое контакты SDA и SCL в NodeMCU? (Контакты 20 и 21 в Arduino MEGA2560) Я уже реализовал простой проект для считывания показаний двух акселерометров с Arduino и отправки их по Wi-Fi в базу данных Firebase. Ранее я использовал Arduino Mega для того же проекта, и датчики выдавали показания примерно от -300 до 300. Теперь, когда я перешёл на NodeMCU, датчики стали очень чувствительными и выдают показания до 65500+. При очень небольшом изменении угла показания по оси падают до 20 или меньше.
Я использовал выводы D1 и D2 для SCL и SDA. Правильно ли установлены выводы? И как это исправить?
1 ответ
У ESP8266 нет аппаратного двухпроводного интерфейса. Интерфейс I²C реализован программно, поэтому вы можете использовать любые два контакта, указав их в коде с помощью Wire.begin(SDA, SCL).
Я предполагаю, что есть другая проблема. Например, 65500+ похоже на переполнение целого числа. ((uint16_t) -1 == 65535)
- Водонепроницаемый датчик температуры SPI.
- NodeMCU с RFID RC522 и LCD-модулем интерфейса I2C вместе
- Несколько датчиков I2C с одинаковым адресом
- Что выбрать между датчиками температуры и влажности: AM230x или DHT22?
- Путаница между SPI и I2C для SSD1306 OLED
- Проблемы с подключением I2C на ESP8266 — 12F, какие контакты использовать?
- Как подключить MPU9250 к NodeMCU с помощью SPI или I2C Slave?
- Лазерный датчик ToF (VL53L0X) не работает