Оглавление:
Видео: Сниффер Arduino I2C: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
I2C - это последовательный протокол, используемый для связи микроконтроллера с внешними периферийными устройствами, подключенными к той же цепи. Каждое периферийное устройство должно иметь уникальный идентификационный номер, называемый адресом, который используется для идентификации его как предполагаемого получателя данного сообщения. Эти адреса назначаются производителем устройства и в большинстве случаев не могут быть изменены. Сниффер сканирует все возможные адреса в поисках подключенных устройств и сообщает о найденных. Это помогает идентифицировать немаркированные чипы, так как затем адрес можно поискать в Google для получения дополнительной информации о чипе.
Это устройство имитирует на Arduino UNO поведение сценария Raspberry Pi i2cdetect, обнюхивая все возможные адреса i2c в поисках подключенных устройств и красиво распечатывая результаты на ЖК-экране 16x02.
Чтобы уместить все на экране, верхняя и нижняя части адреса печатаются над результатами, а верхняя часть - жирным шрифтом. Две кнопки позволяют перемещаться между адресами, показывая 16 адресов одновременно. В случае обнаружения устройства W будет напечатан, чтобы показать его как адрес записи, и R будет показан, если это адрес чтения. Если по этому адресу ничего не обнаружено, на экране будет отображаться дефис (-).
Шаг 1: материалы
Опция 1
1 х Arduino UNO
1 x 16x02 ЖК-экран
1x 10K потенциометр
1x 330 Ом резистор
3x кнопки
Соединительные кабели
1x переключатель уровня I2C (не на фотографии материалов)
Вариант 2
1 х Arduino UNO
LCD Keypad Shield (кнопки на экране не используются)
3x кнопки
Соединительные кабели
1x переключатель уровня I2C (не на фотографии материалов)
Вариант 2 - это тот, который будет построен, потому что это то, что у меня было под рукой в данный момент. Сдвигатель уровня является важной частью схемы, поскольку в настоящее время большинство устройств используют логику 3,3 В, а 5 В от Arduino повреждают их.
(На картинках зачеркнутый материал не требуется.)
Шаг 2: Схема
Схема довольно проста, используется стандартная распиновка для примеров Arduino для ЖК-дисплея, контакты по умолчанию для I2C и 3 запасных контакта для кнопок.
Если вы используете экран LCD Keypad Shield, распиновка ЖК-дисплея изменится, но это уже учтено в коде. Кнопки LCD Keypad Shield не используются, потому что для них требуется аналоговый метод опроса, который нарушает совместимость между двумя возможными схемами реализации (Shield и автономный ЖК-дисплей).
Шаг 3: Код
В случае использования экрана ЖК-клавиатуры, #define LCD_SHIELD необходимо оставить без комментария в начале эскиза. В противном случае закомментируйте его, чтобы использовать первую диаграмму.
Шаг 4: выводы
Для тестирования кода и схемы использовались микросхема BQ32000 RTC и акселерометр MMA8452Q. Как видно на рисунках, устройство определяет 4 адреса: 0x3A и 0xD0 как адреса записи и 0x3B и 0xD1 как адреса чтения. Эти адреса соответствуют тестовым устройствам, поэтому код работает.
Я хотел бы поблагодарить добрых девушек из Beijing Makerspace, Фу Яо и Лю Синь, за то, что они помогли мне получить материалы, необходимые для тестирования этого проекта, в такой короткий срок.
Рекомендуемые:
Релейный переключатель RFID Arduino Uno, с дисплеем I2C: 4 шага
RFID Arduino Uno Relay Switch, с дисплеем I2C: Здравствуйте, это мой первый проект, меня зовут Оскар, мне 13. Этот проект работает с дисплеем I2C, а не с обычным
Учебное пособие: как Arduino управлять несколькими устройствами с одинаковым адресом с помощью мультиплексора TCA9548A I2C: 3 шага
Учебное пособие: Как Arduino управлять несколькими устройствами с одинаковыми адресами с помощью мультиплексора TCA9548A I2C: Описание: Модуль мультиплексора I2C TCA9548A предназначен для подключения устройств с одним и тем же адресом I2C (до 8 одинаковых адресов I2C), подключенных к одному микроконтроллеру. Мультиплексор действует как привратник, доставляя команды выбранному набору
ЖК-дисплей I2C / IIC - Использование ЖК-дисплея SPI для ЖК-дисплея I2C Использование модуля SPI-IIC с Arduino: 5 шагов
ЖК-дисплей I2C / IIC | Используйте ЖК-дисплей SPI для ЖК-дисплея I2C Использование модуля SPI-IIC с Arduino: Привет, ребята, так как обычный ЖК-дисплей SPI 1602 имеет слишком много проводов для подключения, поэтому его очень сложно связать с Arduino, но на рынке доступен один модуль, который может преобразовать дисплей SPI в дисплей IIC, поэтому вам нужно подключить только 4 провода
Игра JumpMan Arduino HD44780 I2c: 4 шага
JumpMan Game Arduino HD44780 I2c: JumpMan очень прост на Arduino. В игре используются всего два «прыжка». и " сбросить " кнопки. В игре используется дисплей HD44780 2x16, подключенный по i2c. В игре мы пропускаем человека через деревья. Скорость игры растет
ЖК-дисплей I2C на NodeMCU V2 с Arduino IDE: 3 шага
ЖК-дисплей I2C на NodeMCU V2 с Arduino IDE: в этом кратком руководстве я покажу вам, как включить ЖК-дисплей с последовательным адаптером I2C на NodeMCU v2, используя ArduinoIDE и доступные библиотеки