Невозможно обнаружить дисплеи I2C с помощью Arduino Nano
Все кабели проверены и работают:
SCL - A5
SDA - A4
VCC - 5V
GND - GND
Я использую плату Arduino Nano и дисплей I2C - я перепробовал все, чтобы заставить его работать, и теперь я убежден, что это аппаратная неисправность. Используя сканер адресов Arduino I2C, он не может найти устройство, хотя оно подключено правильно (я проверял несколько раз).
Вот код, который я использовал, i2c_scanner, и вот что получилось:
Scanning...
No I2C devices found
Scanning...
No I2C devices found
Scanning...
No I2C devices found
Scanning...
No I2C devices found
Scanning...
No I2C devices found
Scanning...
No I2C devices found
Scanning...
No I2C devices found
... это все, что я получаю.
Есть ли какие-нибудь предложения, или у меня проблемы с выводом данных на плату?
@Baddog22, 👍4
Обсуждение5 ответов
Попробуйте добавить несколько подтягивающих резисторов к линиям I2C, это может немного помочь. Некоторые 2k2 - 4k7, вероятно, подойдут :)
Этот белый провод подключен к VIN вместо GND на вашей плате Arduino. Вам нужно переместить провод через один слот на макетной плате.
Почему вы не отредактировали свой предыдущий ответ и не добавили эту информацию к нему, вместо того чтобы опубликовать другой ответ?, @Greenonline
@Greenonline Два ответа отличаются по содержанию, поэтому я опубликовал их как два разных ответа. Иначе я не уверен, почему я сделал это 3 года назад., @Richard the Spacecat
Кажется, у вас здесь две проблемы:
- Как уже было отмечено, белый провод подключен не к тому контакту на Arduino
- Кроме того, вам нужно припаять заголовки к Arduino. На штырьках нет припоя, а это значит, что нет соединения. Вам нужно припаять эти заголовки; похоже, вы просто поместили Arduino сверху, что не будет работать с заголовками
Согласен полностью. Засовывать штыревые контакты в отверстия просто не получится. Их **надо** припаять., @Nick Gammon
Проверьте перемычку пайки на дисплее. Обратите внимание, что пример кода предназначен для одного адреса, но поддерживаются два адреса. Попробуйте другой адрес в коде или спаяйте контактные площадки ЖК-дисплея, чтобы выбрать адрес, соответствующий коду. У меня была та же проблема, напечатанный адрес на контактных площадках ЖК-дисплея — это только последние биты адреса, которые имеют значение.
У меня была та же проблема, с потерей большого количества времени, я попробовал подать ток от другого источника (Arduino) все работает, я думаю, что эти клоны Nano имеют некоторые ошибки в выходном напряжении, нужно проверить. В общем, так что это сработало.
Я не уверен, ответ это или комментарий., @Greenonline
@Greenonline Вы можете пометить его как "не ответ", но он, вероятно, будет отклонен, и вам сообщат причину: флаги не должны использоваться для обозначения технических неточностей или вообще неверного ответа. По моему мнению, если человек собирается ответить на вопрос трехлетней давности, который OP забросил, лучше бы это был хороший ответ. Этот ответ не решает ни одной из проблем, которые ясно видны на картинке OP, и не указывает на неправильную проводку. Вы можете попробовать пометить его как "очень низкое качество" и посмотреть, что произойдет., @VE7JRO
@VE7JRO - Хороший момент, я отметил его как "Не ответ", но я отозвал его по указанным вами причинам, хотя он был бы лучше в качестве комментария. Я оставлю его, хотя очевидный ответ - это ответ Anonymous Penguin, так как я не хочу зарабатывать еще больше отклоненных флагов :-). Кроме того, я не уверен, почему есть *два* ответа от *одного и того же* пользователя., @Greenonline
- Отправка и получение различных типов данных через I2C в Arduino
- Как работают функции вне цикла void?
- Как отображать переменные на 0,96-дюймовом OLED-дисплее с библиотекой u8glib?
- Как отправить строку на мастер с помощью i2c
- Как выбрать альтернативные контакты I2C на ESP32?
- Что означает в I2C «NACK получен»?
- NodeMCU с RFID RC522 и LCD-модулем интерфейса I2C вместе
- Несколько датчиков I2C с одинаковым адресом
Для использования i2c вам обычно нужны подтягивающие резисторы на sda и scl, за исключением случаев, когда они есть у подчиненного устройства. Добавьте 2 подтягивающих резистора в вашу схему (можно использовать 10k, этого должно быть достаточно)., @jfpoilpret
Сначала вам необходимо понять, как работает I2C., @Chetan Bhargava
@ChetanBhargava, что он неправильно понял?, @Christopher Thomas