Talaan ng mga Nilalaman:
Video: Arduino I2C Sniffer: 4 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Ang I2C ay isang serial protocol na ginamit upang makipag-usap sa isang microcontroller na may panlabas na mga peripheral na nakakabit sa parehong circuit. Ang bawat paligid ay dapat magkaroon ng isang natatanging numero ng ID na tinatawag na address na ginagamit upang makilala ito bilang inilaan na tatanggap ng isang naibigay na mensahe. Ang mga address na iyon ay itinalaga ng gumagawa ng aparato at ang karamihan sa mga oras ay hindi mababago. Sinusuri ng isang sniffer ang lahat ng mga posibleng address na naghahanap ng mga konektadong aparato at iniuulat ang mga nahahanap nito. Tumutulong ito na makilala ang mga hindi naka-marka na chips habang ang address ay maaaring maging google para sa karagdagang impormasyon tungkol sa maliit na tilad.
Ginagaya ng aparatong ito sa isang Arduino UNO ang pag-uugali ng script ng Raspberry Pi i2cdetect, sinisinghot ang lahat ng posibleng mga i2c address na naghahanap ng mga konektadong aparato at pini-print ang mga resulta nang maayos sa isang 16x02 LCD screen.
Upang magkasya ang lahat sa screen, ang parehong mataas at mababang bahagi ng address ay naka-print sa itaas ng mga resulta, ang mataas na bahagi ay nasa isang naka-bold na typeface. Pinapayagan ng dalawang mga pindutan ng push na mag-navigate sa pagitan ng mga address, na nagpapakita ng 16 mga address nang paisa-isa. Kung sakaling may napansin na aparato, mai-print ang W upang maipakita ito bilang isang pagsulat na address at ipapakita ang R kung sakaling ito ay isang address ng pagbabasa. Kung sakaling walang napansin sa address na iyon, isang hyphen (-) ay ipapakita sa screen.
Hakbang 1: Mga Kagamitan
Pagpipilian 1
1 x Arduino UNO
1 x 16x02 LCD screen
1x 10K potensyomiter
1x 330 ohm risistor
3x Mga pindutan ng push
Mga kable ng jumper
1x I2C level shifter (wala sa larawan ng mga materyales)
Pagpipilian 2
1 x Arduino UNO
LCD Keypad Shield (hindi gagamitin ang mga pindutan sa kalasag)
3x Mga pindutan ng push
Mga kable ng jumper
1x I2C level shifter (wala sa larawan ng mga materyales)
Ang Opsyon 2 ay ang itatayo sapagkat iyon ang nasa kamay ko sa ngayon. Ang antas ng shifter ay isang mahalagang bahagi ng circuit dahil sa kasalukuyan ang karamihan sa mga aparato ay gumagamit ng 3.3V lohika at ang 5V mula sa Arduino ay nakakasira sa kanila.
(Sa mga larawan, hindi kinakailangan ang naka-cross out na materyal.)
Hakbang 2: Circuit
Ang circuit ay medyo tuwid pasulong, gamit ang karaniwang pinout para sa mga halimbawa ng Arduino para sa LCD, ang mga default na pin para sa I2C at 3 ekstrang mga pin para sa mga pushbutton.
Kung sakaling gagamitin mo ang LCD Keypad Shield, ang pinout para sa LCD ay nagbabago ngunit isinasaalang-alang na sa loob ng code. Ang mga pindutan ng LCD Keypad Shield ay hindi ginagamit sapagkat nangangailangan sila ng isang paraan ng pagbobotohan ng analog na pumipigil sa pagiging tugma sa pagitan ng dalawang posibleng mga circuit ng pagpapatupad (Shield at mag-iisa na LCD)
Hakbang 3: Code
Sakaling magamit ang LCD Keypad Shield, ang #define LCD_SHIELD ay dapat iwanang hindi komportable sa simula ng sketch. Kung hindi man, puna ito upang magamit ang unang diagram.
Hakbang 4: Mga Konklusyon
Para sa pagsubok sa code at circuit, isang BQ32000 RTC chip at isang MMA8452Q accelerometer ang ginamit. Tulad ng makikita sa mga larawan, ang aparato ay nakakakita ng 4 na mga address: 0x3A at 0xD0 bilang mga address ng pagsulat, at 0x3B at 0xD1 bilang mga nabasa na address. Ang mga address na ito ay tumutugma sa mga test device kaya't gumagana ang code.
Nais kong pasalamatan ang mga mabait na batang babae sa Beijing Makerspace, Fu Yao at Liu Xin, sa pagtulong sa akin na makuha ang mga kinakailangang materyal para sa pagsubok sa proyektong ito sa isang maikling paunawa.
Inirerekumendang:
Arduino UNO Logic Sniffer: 8 Hakbang (na may Mga Larawan)
Arduino UNO Logic Sniffer: Nagsimula ang proyektong ito bilang isang simpleng eksperimento. Sa panahon ng aking pagsasaliksik sa datasheet ng ATMEGA328P para sa isa pang proyekto, nakita ko ang isang bagay na medyo nakakainteres. Ang Timer1 Input Capture Unit. Pinapayagan nitong makita ang microcontroller ng aming Arduino UNO na makakita ng isang senyas
Particle Sniffer: 6 Hakbang (na may Mga Larawan)
Particle Sniffer: Habang nagtatrabaho kasama ang mga naunang proyekto sa pagtatasa ng PM2.5 ay napansin ko ang sagabal ng hindi magagawang hanapin ang mga puntong pinagmumulan ng maliit na polusyon ng maliit na butil. Karamihan sa sampling na ginawa ng mga munisipalidad at koleksyon ng imahe ng satellite ay nakakolekta ng malawak na mapagkukunan na hindi
I2C / IIC LCD Display - Gumamit ng isang SPI LCD sa I2C LCD Display Gamit ang SPI to IIC Module With Arduino: 5 Hakbang
I2C / IIC LCD Display | Gumamit ng isang SPI LCD sa I2C LCD Display Gamit ang SPI to IIC Modyul Sa Arduino: Kumusta mga tao dahil ang isang normal na SPI LCD 1602 ay may maraming mga wires upang kumonekta kaya napakahirap i-interface ito sa arduino ngunit may isang module na magagamit sa merkado na maaaring i-convert ang SPI display sa IIC display kaya kailangan mong ikonekta ang 4 na wires lamang
I2C / IIC LCD Display - I-convert ang isang SPI LCD sa I2C LCD Display: 5 Mga Hakbang
I2C / IIC LCD Display | I-convert ang isang SPI LCD sa I2C LCD Display: ang paggamit ng spi lcd display ay nangangailangan ng maraming mga koneksyon upang gawin na talagang mahirap gawin kaya natagpuan ko ang isang module na maaaring i-convert ang i2c lcd sa spi lcd upang magsimula tayo
Snorkel Sniffer: 4 na Hakbang
Snorkel Sniffer: Ang mga pinto ay sarado sa paglipad at tulad ng maraming iba pang mga katulad na flight ng isang labis na pagkaantok ay maaabot ka. Habang nagbabayad kami ng buwis, gising ako ng isang babaeng nasa harapan namin na sumisigaw ng " tulungan mo siya! &Quot; " tulungan mo siya !!!! " "