Sisukord:

Arduino I2C nuusutaja: 4 sammu
Arduino I2C nuusutaja: 4 sammu

Video: Arduino I2C nuusutaja: 4 sammu

Video: Arduino I2C nuusutaja: 4 sammu
Video: Видеоуроки по Arduino. I2C и processing (7-я серия, ч1) 2024, November
Anonim
Arduino I2C nuuskur
Arduino I2C nuuskur

I2C on jadaprotokoll, mida kasutatakse mikrokontrolleri suhtlemiseks sama vooluahela külge ühendatud välisseadmetega. Igal välisseadmel peab olema kordumatu ID -number, mida nimetatakse aadressiks, mida kasutatakse selle tuvastamiseks antud sõnumi adressaadina. Need aadressid määrab seadme tootja ja enamasti ei saa neid muuta. Nuusutaja skannib ühendatud seadmeid otsides kõiki võimalikke aadresse ja teatab leitud seadmetest. See aitab tuvastada märgistamata kiipe, kuna siis saab aadressi tehniliselt kiibi kohta lisateabe saamiseks googeldada.

See seade jäljendab Arduino UNO -l Raspberry Pi i2cdetect skripti käitumist, nuusutades kõiki võimalikke i2c -aadresse, mis otsivad ühendatud seadmeid, ja prindib tulemused kenasti 16x02 LCD -ekraanile.

Ekraanile sobitumiseks trükitakse tulemuste kohale nii aadressi kõrge kui ka madal osa, kõrge osa on paksus kirjas. Kaks surunuppu võimaldavad aadresside vahel navigeerida, näidates korraga 16 aadressi. Seadme tuvastamise korral prinditakse W, et näidata seda kirjutamisaadressina ja R näidatakse juhul, kui see on lugemisaadress. Kui sellel aadressil midagi ei tuvastata, kuvatakse ekraanil sidekriips (-).

Samm: materjalid

Materjalid
Materjalid
Materjalid
Materjalid

valik 1

1 x Arduino UNO

1 x 16x02 LCD -ekraan

1x 10K potentsiomeeter

1x 330 oomi takisti

3x nupud

Jumper kaablid

1x I2C taseme nihutaja (mitte materjalide pildil)

2. valik

1 x Arduino UNO

LCD klahvistiku kilp (kilbi nuppe ei kasutata)

3x nupud

Jumper kaablid

1x I2C taseme nihutaja (mitte materjalide pildil)

Variant 2 on see, mis ehitatakse, sest see oli mul hetkel käepärast. Taseme nihutaja on ahela oluline osa, kuna tänapäeval kasutab enamik seadmeid 3,3 V loogikat ja Arduino 5 V kahjustab neid.

(Piltidel pole kriipsutatud materjali vaja.)

2. samm: ahel

Vooluring
Vooluring
Vooluring
Vooluring
Vooluring
Vooluring

Vooluahel on üsna sirge, kasutades LCD -ekraani Arduino näidete jaoks mõeldud tavalist pistikut, I2C vaikimisi tihvte ja 3 varunõela nuppude jaoks.

Kui kasutate LCD -klahvistiku kaitsekilpi, LCD -ekraani pinout muutub, kuid seda arvestatakse juba koodis. LCD -klahvistiku kilbi nuppe ei kasutata, kuna need nõuavad analoogküsitlusmeetodit, mis katkestab ühilduvuse kahe võimaliku rakendusahela vahel (kilp ja eraldiseisev LCD)

3. samm: kood

Kood
Kood

Kui kasutatakse LCD -klaviatuuri kaitsekilpi, tuleb #define LCD_SHIELD visandi alguses märkimata jätta. Vastasel juhul kommenteerige seda esimese diagrammi kasutamiseks.

4. samm: järeldused

Järeldused
Järeldused
Järeldused
Järeldused
Järeldused
Järeldused

Koodi ja vooluahela testimiseks kasutati BQ32000 RTC kiipi ja kiirendusmõõturit MMA8452Q. Nagu piltidelt näha, tuvastab seade 4 aadressi: 0x3A ja 0xD0 kirjutusaadressidena ning 0x3B ja 0xD1 lugemisaadressidena. Need aadressid vastavad testimisseadmetele, nii et kood töötab.

Tahaksin tänada Pekingi Makerspace'i lahkeid tüdrukuid Fu Yao ja Liu Xini, kes aitasid mul selle projekti testimiseks vajalikud materjalid nii lühikese etteteatamisega kätte saada.

Soovitan: