Агуулгын хүснэгт:

Arduino I2C Sniffer: 4 алхам
Arduino I2C Sniffer: 4 алхам

Видео: Arduino I2C Sniffer: 4 алхам

Видео: Arduino I2C Sniffer: 4 алхам
Видео: Видеоуроки по Arduino. I2C и processing (7-я серия, ч1) 2024, Долдугаар сарын
Anonim
Arduino I2C Sniffer
Arduino I2C Sniffer

I2C нь нэг хэлхээнд холбогдсон гадаад захын төхөөрөмжтэй микроконтроллертой холбогдоход хэрэглэгддэг цуваа протокол юм. Захын төхөөрөмж бүр тухайн мессежийг хүлээн авагч болохыг тодорхойлоход хэрэглэгддэг өвөрмөц ID дугаартай байх ёстой. Эдгээр хаягийг төхөөрөмжийн үйлдвэрлэгч томилдог бөгөөд ихэнх тохиолдолд үүнийг өөрчлөх боломжгүй байдаг. Үнэрлэгч нь холбогдсон төхөөрөмж хайж буй бүх боломжит хаягийг сканнердаж, олсон хаягаа мэдээлдэг. Энэ нь тэмдэглэгдээгүй чипийг танихад тусалдаг тул чипийн талаар илүү их мэдээлэл авахын тулд хаягийг Google -ээр хайж олох боломжтой болно.

Энэ төхөөрөмж нь Arduino UNO дээр Raspberry Pi i2cdetect скриптийн зан төлөвийг дуурайж, холбогдох бүх төхөөрөмжүүдийг хайж буй i2c хаягийг үнэрлэж, үр дүнг 16x02 LCD дэлгэц дээр сайхан хэвлэдэг.

Дэлгэц дээрх бүх зүйлийг багтаахын тулд хаягийн дээд ба доод хэсгийг хоёуланг нь үр дүнгийн дээр хэвлэсэн бөгөөд дээд хэсгийг тод үсгээр бичсэн байна. Хоёр товчлуур нь хаягийн хооронд шилжих боломжийг олгодог бөгөөд нэг дор 16 хаягийг харуулдаг. Хэрэв төхөөрөмж илэрсэн бол түүнийг бичих хаягаар харуулахын тулд W -ийг хэвлэх бөгөөд унших хаяг бол R -г харуулна. Хэрэв энэ хаягаар юу ч илрээгүй бол зураас (-) дэлгэц дээр гарч ирнэ.

Алхам 1: Материал

Материал
Материал
Материал
Материал

Сонголт 1

1 x Arduino UNO

1 x 16x02 хэмжээтэй LCD дэлгэц

1х 10К потенциометр

1x 330 ом эсэргүүцэл

3x түлхэх товчлуурууд

Холбогч кабель

1x I2C түвшин шилжүүлэгч (материалын зураг дээр байхгүй)

Сонголт 2

1 x Arduino UNO

LCD товчлуурын бамбай (бамбай дээрх товчлууруудыг ашиглахгүй)

3x түлхэх товчлуурууд

Холбогч кабель

1x I2C түвшин шилжүүлэгч (материалын зураг дээр байхгүй)

Сонголт 2 бол баригдах хувилбар юм, учир нь энэ бол миний гарт байсан зүйл юм. Түвшин шилжүүлэгч нь хэлхээний чухал хэсэг бөгөөд өнөө үед ихэнх төхөөрөмжүүд 3.3V логикийг ашигладаг бөгөөд Arduino -аас 5V нь гэмтдэг.

(Зураг дээр зурсан материал шаардлагагүй болно.)

Алхам 2: Хэлхээ

Хэлхээ
Хэлхээ
Хэлхээ
Хэлхээ
Хэлхээ
Хэлхээ

LCD нь Arduino -ийн жишээнүүдийн стандарт зүү, I2C -ийн үндсэн тээглүүр, товчлуурын 3 сэлбэг зүү ашиглан хэлхээ нь маш урагшаа урагшлах болно.

Хэрэв та LCD товчлуурын бамбайг ашиглаж байгаа бол LCD -ийн залгуур өөрчлөгддөг боловч үүнийг кодонд аль хэдийн тооцсон болно. LCD товчлуурын бамбай товчлуурыг ашиглах хоёр схемийн хоорондох нийцтэй байдлыг зөрчих аналог санал асуулгын аргыг шаарддаг тул ашигладаггүй (Shield ба дангаараа LCD)

Алхам 3: Код

Код
Код

LCD товчлуурын бамбайг ашиглаж байгаа тохиолдолд ноорог зургийн эхэнд #define LCD_SHIELD -ийг тайлбаргүйгээр үлдээх ёстой. Үгүй бол эхний диаграмыг ашиглахын тулд үүнийг тайлбарлана уу.

Алхам 4: Дүгнэлт

Дүгнэлт
Дүгнэлт
Дүгнэлт
Дүгнэлт
Дүгнэлт
Дүгнэлт

Код ба хэлхээг туршихын тулд BQ32000 RTC чип ба MMA8452Q хурдатгал хэмжигчийг ашигласан. Зураг дээр харагдаж байгаа шиг төхөөрөмж нь 4 хаягийг илрүүлж байна: 0x3A ба 0xD0 бичих хаяг, 0x3B ба 0xD1 унших хаяг. Энэ хаяг нь туршилтын төхөөрөмжтэй тохирч байгаа тул код ажиллаж байна.

Энэхүү төслийг туршихад шаардлагатай материалыг богино хугацаанд авахад тусалсан Бээжин Makerspace -ийн сайхан сэтгэлтэй охид Фу Яо, Лю Шин нарт баярлалаа гэж хэлмээр байна.

Зөвлөмж болгож буй: