Мазмұны:

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 - бұл бір контурға бекітілген сыртқы перифериялық құрылғылармен микроконтроллерді байланыстыру үшін қолданылатын сериялық хаттама. Әрбір перифериялық құрылғыда бірегей идентификатор нөмірі болуы керек, ол оны берілген хабарды алушы ретінде сәйкестендіру үшін қолданылады. Бұл адрестерді құрылғы өндірушісі тағайындайды және көбіне өзгертуге болмайды. Шифер қосылған құрылғыларды іздейтін барлық ықтимал мекен -жайларды сканерлейді және тапқандары туралы хабарлайды. Бұл таңбаланбаған чиптерді анықтауға көмектеседі, себебі чип туралы қосымша ақпарат алу үшін адресті Google арқылы тексеруге болады.

Бұл құрылғы Arduino UNO -да Raspberry Pi i2cdetect сценарийін қайталайды, қосылған құрылғыларды іздейтін барлық ықтимал i2c адрестерін иіскейді және нәтижелерін 16x02 СКД экранында жақсы басып шығарады.

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

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

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

1 -нұсқа

1 x Arduino UNO

1 x 16x02 СКД экраны

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

1х 330 Ом резисторы

3x түймелері

Өтпелі кабельдер

1x I2C деңгей ауыстырғышы (материалдар суретте жоқ)

2 -нұсқа

1 x Arduino UNO

СКД пернетақта қалқаны (қалқандағы түймелер қолданылмайды)

3x түймелері

Өтпелі кабельдер

1x I2C деңгей ауыстырғышы (материалдар суретте жоқ)

2 -нұсқа - бұл менің қолымда болатын нәрсе. Деңгейді ауыстыру схеманың маңызды бөлігі болып табылады, өйткені қазіргі кезде көптеген құрылғыларда 3.3В логика қолданылады, ал Arduino 5В оларды зақымдайды.

(Суреттерде сызылған материал қажет емес.)

2 -қадам: Схема

Схема
Схема
Схема
Схема
Схема
Схема

СКД үшін Arduino мысалдары үшін стандартты түйреуішті, I2C үшін әдепкі түйреуіштерді және түймелер үшін 3 қосалқы түйреуішті қолдана отырып, схема өте қарапайым.

Егер сіз СКД пернетақтасы қалқанын қолдансаңыз, СКД үшін түйін өзгереді, бірақ бұл кодта қарастырылған. СКД пернетақтасы қалқанының түймелері қолданылмайды, себебі олар аналогты сұрау әдісін қажет етеді, бұл екі ықтимал енгізу схемасы арасындағы үйлесімділікті бұзады (Қалқан және жалғыз СКД)

3 -қадам: код

Код
Код

СКД пернетақтасы қалқаны пайдаланылған жағдайда, эскиздің басында #define LCD_SHIELD түсініктемесіз қалдыру керек. Әйтпесе, бірінші диаграмманы қолдану үшін түсініктеме беріңіз.

4 -қадам: Қорытынды

Қорытынды
Қорытынды
Қорытынды
Қорытынды
Қорытынды
Қорытынды

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

Мен бұл жобаны қысқа мерзімде сынау үшін қажетті материалдарды алуға көмектескен Пекин Makerspace мейірімді қыздарына, Фу Яо мен Лю Синьге алғыс айтқым келеді.

Ұсынылған: