Sadržaj:

Arduino I2C njuškalo: 4 koraka
Arduino I2C njuškalo: 4 koraka

Video: Arduino I2C njuškalo: 4 koraka

Video: Arduino I2C njuškalo: 4 koraka
Video: Update WiFly Module with Comm Operator 2024, Studeni
Anonim
Arduino I2C njuškalo
Arduino I2C njuškalo

I2C je serijski protokol koji se koristi za komunikaciju mikrokontrolera s vanjskim perifernim uređajima spojenim na isto kolo. Svaki periferni uređaj mora imati jedinstveni identifikacijski broj nazvan adresa koji se koristi za identifikaciju kao namjeravanog primatelja date poruke. Te adrese dodjeljuje proizvođač uređaja i najčešće se ne mogu promijeniti. Njuškač skenira sve moguće adrese tražeći povezane uređaje i prijavljuje one koje pronađe. To pomaže u identificiranju neoznačenih čipova jer se tada adresa može tehnički proguglati za više informacija o čipu.

Ovaj uređaj na Arduinu UNO oponaša ponašanje Raspberry Pi i2cdetect skripte, njušeći sve moguće i2c adrese tražeći povezane uređaje i lijepo ispisujući rezultate na LCD ekranu veličine 16x02.

Kako bi stalo na ekran, visoki i niski dijelovi adrese ispisuju se iznad rezultata, a visoki dio je podebljano. Dva gumba omogućuju navigaciju između adresa, prikazujući istovremeno 16 adresa. U slučaju da je uređaj otkriven, W će se ispisati kako bi se prikazao kao adresa za pisanje, a R bi se prikazao u slučaju da je to adresa za čitanje. U slučaju da se ništa ne otkrije na toj adresi, na zaslonu će se prikazati crtica (-).

Korak 1: Materijali

Materijali
Materijali
Materijali
Materijali

opcija 1

1 x Arduino UNO

1 x 16x02 LCD zaslon

1x 10K potenciometar

1x otpornik od 330 ohma

3x tipke

Kratki kabeli

1x mjenjač razine I2C (nije na slici materijala)

Opcija 2

1 x Arduino UNO

Štitnik LCD tipkovnice (gumbi na štitu se neće koristiti)

3x tipke

Kratki kabeli

1x mjenjač razine I2C (nije na slici materijala)

Opcija 2 će biti izgrađena jer je to ono što sam trenutno imao pri ruci. Mjenjač razine važan je dio kruga jer danas većina uređaja koristi logiku od 3,3 V, a 5V iz Arduina ih oštećuje.

(Na slikama precrtani materijal nije potreban.)

Korak 2: Krug

Krug
Krug
Krug
Krug
Krug
Krug

Krug je prilično ravan, koristi standardni pinout za Arduino primjere za LCD, zadane pinove za I2C i 3 rezervne pinove za tipke.

U slučaju da koristite štitnik LCD tipkovnice, ispis za LCD se mijenja, ali to se već razmatra u kodu. Gumbi štitnika LCD tipkovnice ne koriste se jer zahtijevaju analognu metodu ispitivanja koja prekida kompatibilnost između dva moguća implementacijska kruga (štit i samostalni LCD)

Korak 3: Kodirajte

Kodirati
Kodirati

U slučaju da se koristi štitnik LCD tipkovnice, #define LCD_SHIELD se mora ostaviti bez komentara na početku skice. U protivnom, komentirajte kako biste upotrijebili prvi dijagram.

Korak 4: Zaključci

Zaključci
Zaključci
Zaključci
Zaključci
Zaključci
Zaključci

Za testiranje koda i sklopa korišten je čip BQ32000 RTC i akcelerometar MMA8452Q. Kao što se može vidjeti na slikama, uređaj detektira 4 adrese: 0x3A i 0xD0 kao adrese za pisanje, te 0x3B i 0xD1 kao pročitane adrese. Ove adrese odgovaraju ispitnim uređajima pa kôd radi.

Želio bih zahvaliti ljubaznim djevojkama iz Beijing Makerspacea, Fu Yaou i Liu Xin, što su mi pomogle da u tako kratkom roku dobijem materijale potrebne za testiranje ovog projekta.

Preporučeni: