Sisällysluettelo:
Video: Arduino I2C Sniffer: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
I2C on sarjaprotokolla, jota käytetään kommunikoimaan mikro -ohjaimen kanssa samaan piiriin liitettyjen ulkoisten oheislaitteiden kanssa. Jokaisella oheislaitteella on oltava yksilöllinen tunnistenumero, jota kutsutaan osoitteeksi, jota käytetään tunnistamaan se tietyn viestin aiotuksi vastaanottajaksi. Laitteen valmistaja on määrittänyt nämä osoitteet, eikä useimmiten voi muuttaa niitä. Haistelija skannaa kaikki mahdolliset osoitteet ja etsii yhdistettyjä laitteita ja ilmoittaa löytämistään. Tämä auttaa tunnistamaan merkitsemättömiä siruja, koska osoite voidaan googlettaa saadaksesi lisätietoja sirusta.
Tämä laite jäljittelee Arduino UNO: lla Raspberry Pi i2cdetect -skriptin käyttäytymistä, haistaa kaikki mahdolliset i2c -osoitteet, jotka etsivät yhdistettyjä laitteita, ja tulostaa tulokset hienosti 16x02 LCD -näytölle.
Jotta kaikki ruudulle mahtuvat, sekä osoitteen ylä- että alaosa tulostetaan tulosten yläpuolelle, ja yläosa on lihavoitu. Kahdella painikkeella voit navigoida osoitteiden välillä ja näyttää 16 osoitetta kerrallaan. Jos laite havaitaan, W tulostetaan sen osoittamiseksi kirjoitusosoitteena ja R näytetään, jos se on lukuosoite. Jos kyseisessä osoitteessa ei havaita mitään, näytössä näkyy yhdysviiva (-).
Vaihe 1: Materiaalit
Vaihtoehto 1
1 x Arduino UNO
1 x 16x02 LCD -näyttö
1x 10K potentiometri
1x 330 ohmin vastus
3x painikkeet
Käynnistyskaapelit
1x I2C -tasonvaihtaja (ei materiaalikuvassa)
Vaihtoehto 2
1 x Arduino UNO
LCD -näppäimistön suoja (suojan painikkeita ei käytetä)
3x painikkeet
Käynnistyskaapelit
1x I2C -tasonvaihtaja (ei materiaalikuvassa)
Vaihtoehto 2 rakennetaan, koska se oli tällä hetkellä käsilläni. Tasonvaihtaja on tärkeä osa piiriä, koska nykyään useimmat laitteet käyttävät 3,3 V: n logiikkaa ja Arduinon 5 V vahingoittaa niitä.
(Kuvissa yliviivattua materiaalia ei vaadita.)
Vaihe 2: Piiri
Piiri on melko suoraviivainen käyttämällä LCD -näytön Arduino -esimerkkien vakiopistoketta, I2C: n oletusneuloja ja 3 painonappien varatappia.
Jos käytät LCD -näppäimistön suojaa, nestekidenäytön pistoke muuttuu, mutta se on jo otettu huomioon koodissa. LCD -näppäimistön suojapainikkeita ei käytetä, koska ne edellyttävät analogista pollausmenetelmää, joka rikkoo yhteensopivuuden kahden mahdollisen toteutuspiirin (suoja ja erillinen LCD) välillä
Vaihe 3: Koodi
Jos käytetään LCD -näppäimistön suojaa, #define LCD_SHIELD on jätettävä luonnoksen alussa kommentoimatta. Muussa tapauksessa kommentoi sitä käyttääksesi ensimmäistä kaaviota.
Vaihe 4: Johtopäätökset
Koodin ja piirin testaamiseen käytettiin BQ32000 RTC -sirua ja MMA8452Q -kiihtyvyysmittaria. Kuten kuvista näkyy, laite tunnistaa 4 osoitetta: 0x3A ja 0xD0 kirjoitusosoitteina ja 0x3B ja 0xD1 lukuosoitteina. Nämä osoitteet vastaavat testilaitteita, joten koodi toimii.
Haluan kiittää Pekingin Makerspacen ystävällisiä tyttöjä, Fu Yaoa ja Liu Xinia, jotka auttoivat minua saamaan tämän projektin testaamiseen tarvittavat materiaalit niin lyhyellä varoitusajalla.
Suositeltava:
I2C -rele ja Arduino IDE: 5 vaihetta
I2C Relay Met Arduino IDE: Tilaan mukavan relayboardin, mutta ArduinoIDE -ohjeita ei ollut, vain Raspberry Pi e.o. Opin käyttämään sitä Arduinon kanssa ja haluan jakaa sen, jotta voit säästää aikaa. Alkuperäinen RaspberryPi -esimerkki: wiki.52pi.com/index.php/DockerPi_4_Channel_R
Arduino UNO Logic Sniffer: 8 vaihetta (kuvilla)
Arduino UNO Logic Sniffer: Tämä projekti alkoi yksinkertaisena kokeiluna. Tutkiessani ATMEGA328P: n tietolomaketta toiseen projektiin löysin jotain melko mielenkiintoista. Ajastimen 1 tulon sieppausyksikkö. Sen avulla Arduino UNO: n mikro -ohjain voi havaita signaalin
I2C / IIC LCD -näyttö - Käytä SPI -nestekidenäyttöä I2C -nestekidenäyttöön SPI -IIC -moduulin käyttäminen Arduinon kanssa: 5 vaihetta
I2C / IIC LCD -näyttö | Käytä SPI LCD -näyttöä I2C LCD -näyttöön SPI to IIC -moduulin käyttäminen Arduinon kanssa: Hei kaverit, koska normaalissa SPI LCD 1602 -laitteessa on liikaa johtoja liitettäväksi, joten sen yhdistäminen arduinoon on erittäin vaikeaa, mutta markkinoilla on yksi moduuli, joka voi muuntaa SPI -näytön IIC -näyttöksi, joten sinun on liitettävä vain 4 johtoa
I2C / IIC LCD -näyttö - Muunna SPI -nestekidenäyttö I2C -nestekidenäytöksi: 5 vaihetta
I2C / IIC LCD -näyttö | Muunna SPI -nestekidenäyttö I2C -nestekidenäytöksi: spi lcd -näytön käyttäminen vaatii liikaa yhteyksiä, mikä on todella vaikeaa, joten löysin moduulin, joka voi muuntaa i2c LCD: n spi lcd: ksi, joten aloitetaan
Merkkinäytön I2c -sovitin (esimerkki I2c -liitäntä): 12 vaihetta (kuvien kanssa)
Merkkien nestekidenäyttöinen I2c -sovitin (esimerkki I2c -yhteydestä): Teen yhteysmallia merkkinäytön i2c -sovittimelle. Tarkista sivustoni päivitykset. merkkien LCD -näytöille, haarukkaprojekteille