Мазмуну:

Arduino I2C Sniffer: 4 кадам
Arduino I2C Sniffer: 4 кадам

Video: Arduino I2C Sniffer: 4 кадам

Video: Arduino I2C Sniffer: 4 кадам
Video: Декодер протоколов | Часть первая I2C сниффер 2024, Июль
Anonim
Arduino I2C Sniffer
Arduino I2C Sniffer

I2C - ошол эле схемага тиркелген тышкы перифериялык түзүлүштөр менен микроконтроллерди байланыштыруу үчүн колдонулган сериялык протокол. Ар бир перифериялык түзүлүштүн уникалдуу ID номери болушу керек, ал аны берилген билдирүүнү алуучу катары аныктоо үчүн колдонулат. Бул даректер түзмөк өндүрүүчүсү тарабынан берилет жана көбүнчө аны өзгөртүү мүмкүн эмес. Кыдыруучу туташкан түзмөктөрдү издеп, мүмкүн болгон бардык даректерди сканерлейт жана тапкандары жөнүндө кабарлайт. Бул белгисиз чиптерди аныктоого жардам берет, анткени чип жөнүндө көбүрөөк маалымат алуу үчүн дарегин Google аркылуу текшерүүгө болот.

Бул түзмөк Arduino UNOдо Raspberry Pi i2cdetect сценарийинин жүрүм -турумун туурайт, мүмкүн болгон i2c даректерин туташтырылган түзмөктөрдү издеп жана жыйынтыктарын 16x02 ЖК экранда жакшы басып чыгарат.

Экрандын баарына туура келиши үчүн, даректин жогорку жана төмөнкү бөлүктөрү жыйынтыктардын үстүндө басылат, жогорку бөлүгү калың тамгада. Эки баскыч баскыч бир убакта 16 даректи көрсөтүп, даректердин ортосунда чабыттоого мүмкүндүк берет. Түзмөк табылган учурда, W жазуу дареги катары көрсөтүү үчүн басылып чыгарылат, ал эми окуу дареги болсо R көрсөтүлөт. Эгерде ал даректе эч нерсе аныкталбаса, экранда дефис (-) көрсөтүлөт.

1 -кадам: материалдар

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

Option 1

1 x Arduino UNO

1 x 16x02 ЖК экран

1x 10K потенциометр

1х 330 Ом каршылыгы

3x баскычтар

Өтмө кабелдер

1x I2C деңгээлди алмаштыруучу (материалдык сүрөттө эмес)

Опция 2

1 x Arduino UNO

LCD баскыч калканы (калкандагы баскычтар колдонулбайт)

3x баскычтар

Өтмө кабелдер

1x I2C деңгээлди алмаштыруучу (материалдык сүрөттө эмес)

2 -вариант курула турган нерсе, анткени менде азыр бар болчу. Деңгээл которгуч схеманын маанилүү бөлүгү болуп саналат, анткени азыркы учурда көпчүлүк түзмөктөр 3.3V логикасын колдонушат жана 5V Arduino аларды бузат.

(Сүрөттөрдө сызылган материал талап кылынбайт.)

2 -кадам: Circuit

Circuit
Circuit
Circuit
Circuit
Circuit
Circuit

Схема LCD үчүн Arduino мисалдары үчүн стандарттык пинту, I2C үчүн демейки казыктарды жана баскычтар үчүн 3 запастык казыкты колдонуп, түз эле алдыга жылат.

Эгерде сиз LCD клавиатура калканчын колдонсоңуз, анда ЖК үчүн пинту өзгөрөт, бирок бул коддун чегинде каралат. LCD клавиатура калкан баскычтары колдонулбайт, анткени алар аналогдук сурамжылоо ыкмасын талап кылат, бул эки ишке ашыруу схемасынын ортосундагы шайкештикти бузат (Shield жана жалгыз ЖК)

3 -кадам: Код

Code
Code

ЖК клавиатура калканы колдонулган учурда, #define LCD_SHIELD эскиздин башында комментарийсиз калтырылышы керек. Болбосо, биринчи диаграмманы колдонуу үчүн комментарий жазыңыз.

4 -кадам: Жыйынтыктар

Жыйынтыктар
Жыйынтыктар
Жыйынтыктар
Жыйынтыктар
Жыйынтыктар
Жыйынтыктар

Кодду жана схеманы текшерүү үчүн BQ32000 RTC чипи жана MMA8452Q акселерометр колдонулган. Сүрөттөрдөн көрүнүп тургандай, аппарат 4 даректи аныктап жатат: 0x3A жана 0xD0 жазуу даректери катары, жана 0x3B жана 0xD1 окуу даректери катары. Бул даректер тест түзмөктөрүнө туура келет, андыктан код иштеп жатат.

Мен бул долбоорду сыноо үчүн керектүү материалдарды кыска убакыттын ичинде алууга жардам бергени үчүн Beijing Makerspace компаниясынын боорукер кыздары Фу Яо менен Лю Синге ыраазычылык билдирем.

Сунушталууда: