Turinys:
- 1 žingsnis: kai kurios apvalkalo komandos
- 2 veiksmas. Pirmasis atvejis: „I2c“įrenginiai turi tą patį adresą
- 3 veiksmas: 2 atvejis: skirtingi I2c adresai
Video: „Raspberry PI Multiple I2C“įrenginiai: 3 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Nusivylęs, nes savo projekte negalite naudoti kelių tų pačių I2C įrenginių. Nereikia naudoti lėtų multiplekserių. Naujausias raspbian branduolys palaiko kelių I2C magistralių kūrimą naudojant GPIO kaiščius. Šis sprendimas yra super greitas.
1 žingsnis: kai kurios apvalkalo komandos
Prijunkite vieną iš savo „i2c“įrenginių, kol „Raspberry Pi“yra, paleiskite „Raspberry pi“ir paleiskite
sudo i2cdetect -y 1
Pamatysite lentelę, kaip parodyta paveikslėlyje. Pridedu BMP280 temperatūros ir barometrinio slėgio jutiklį. Pagal lentelę „i2c“adresas yra 0x76. Įsidėmėkite šį adresą.
Padarykite tai visiems savo „i2c“įrenginiams.
2 veiksmas. Pirmasis atvejis: „I2c“įrenginiai turi tą patį adresą
Tai visada buvo problemiškas atvejis. „I2c“magistralė gali valdyti kelis įrenginius, tačiau jie turėtų turėti skirtingus „i2c“adresus. Kai kurie „i2c“įrenginiai turi trumpiklius kitiems „i2c“adresams nustatyti, tačiau daugelis to nedaro. Tokiu atveju galite naudoti i2c multiplekserį (aparatinę įrangą), kad pasuktumėte i2c SDA (duomenys) ir SCL (laikrodis), arba galite sukurti papildomą ar daugiau i2c magistralės.
Sukursiu du papildomus autobusus, 3 ir 4 autobusus
Atidarykite cli ir paleiskite
cd /įkrova
sudo nano config.txt
Pridėkite šią kodo eilutę, pageidautina skyriuje, kuriame įgalinti „spi“ir „i2c“.
dtoverlay = i2c-gpio, magistralė = 4, i2c_gpio_delay_us = 1, i2c_gpio_sda = 23, i2c_gpio_scl = 24
Ši linija sukurs papildomą „i2c“magistralę (4 magistralė) GPIO 23 kaip SDA ir GPIO 24 kaip SCL (GPIO 23 ir 24 yra numatytieji)
Taip pat pridėkite šią eilutę, kad sukurtumėte „i2c“magistralę 3
dtoverlay = i2c-gpio, bus = 3, i2c_gpio_delay_us = 1, i2c_gpio_sda = 17, i2c_gpio_scl = 27
GPIO 17 bus SDA, o GPIO 27 - 4 i2c magistralės SCL.
Norėdami išeiti, paspauskite valdiklį X.
Pastaba dėl autobusų numeracijos ir tvarkos:
Niekada nenaudokite 0 ir 2 autobusų, jis naudojamas kitiems lentos dalykams, pvz., „Eprom“ant skrybėlių ir pan
2019 m. Balandžio mėn. Raspbian leidimui:
Visada turėtumėte pradėti nuo aukščiausios magistralės (šiuo atveju 4 magistralės) savo config.txt ir pereiti prie žemiausios magistralės (3 magistralės).
Žemiausias autobusas visada turi būti 3 autobusas
Jei jums reikia 5 papildomų autobusų, autobusai turi būti 7, 6, 5, 4, 3 eilės
Šios problemos dėl autobusų užsakymo nebuvo, kai iš pradžių buvo parašyta ši instrukcija. Atrodo, kad branduolyje buvo atlikti pakeitimai.
Išjunkite savo PI, išjunkite. Prijunkite savo „i2c“įrenginius prie 4 magistralės (SDA prie GPIO 23 ir SCL prie GPIO 24), o kitą - prie „i2c“3 magistralės (SDA prie GPIO 17 ir SCL prie GPIO 27).
Įjunkite pi.
Vykdyti:
sudo i2cdetect -l (mažosios raidės L)
Dabar pamatysite, kad taip pat išvardytas 3 ir 4 „i2c“autobusas. Taip pat paleiskite:
sudo i2cdetect -y 3
sudo i2cdetect -y 4
Dabar galite naudoti jutiklį savo programavimo kalba. Nepamirškite nurodyti teisingų „i2c“magistralių.
„Attach“yra populiaraus BMP280 temperatūros ir slėgio jutiklio pavyzdys. Joks multiplekseris negali taip greitai perskaityti 2 BMP280.
Taip pat pridedamas 2 „Sensirion SDP 810“jutiklių pavyzdys. Vėl dirba daug greičiau nei anksčiau naudojamas multiplekseris
Sukūriau python kodą, kad galėčiau perskaityti du naujus BMP388 iš „adafruit“.
Ateityje taip pat galiu pridėti kitų jutiklių prie
3 veiksmas: 2 atvejis: skirtingi I2c adresai
Paprasta. „i2c“yra autobusas. Autobuso tikslas yra bendrauti su keliais įrenginiais. Prijunkite įrenginius lygiagrečiai prie tos pačios i2c magistralės. Galite naudoti vieną autobusą.
Vykdyti:
sudo i2cdetect -y 1
Pamatysite išvardytus įrenginius.
Rekomenduojamas:
„Arduino Connect“keli „I2C“įrenginiai: 6 veiksmai
„Arduino Connect“keli „I2C“įrenginiai: Šioje pamokoje sužinosime, kaip prijungti kelis modulius su „I2C“ryšiu prie „arduino“. Žiūrėkite vaizdo įrašą! Mūsų atveju kaip pavyzdį naudosime 4 OLED ekranus, tačiau galite naudoti bet kuriuos kitus I2C modulius/ Pastaba: 4 OLED ekranai kartu
Sukurkite saugią zoną, kad „Android“/„IOS“/„WIN10“įrenginiai liktų neužrakinti: 6 veiksmai
Sukurkite saugią zoną, kad „Android“/„IOS“/„WIN10“įrenginiai liktų neužrakinti: Šiame straipsnyje norime sukurti šaunią programėlę, kuri galėtų sukurti saugią zoną jūsų įrenginiams atrakinti. Šio projekto pabaigoje jūs: išmoksite naudoti pirštų atspaudų jutiklį. Išmoksite suporuoti savo įrenginius su saugios zonos programėle
„Pasidaryk pats“daiktų interneto įrenginiai naudojant LED stygas: 9 žingsniai (su paveikslėliais)
„Pasidaryk pats“daiktų interneto įrenginiai, naudojantys LED stygas: (Atsakomybės apribojimas: nesu angliškai kalbanti.) Prieš kurį laiką mano žmona nusipirko LED lemputes, kad naktį apšviestų sodą. Jie sukūrė labai gražią atmosferą. Jie buvo apsodinti aplink medžius, bet atspėk, kas atsitiko, mes
Padarykite išimamą nešiojamojo kompiuterio vandens aušintuvą! ir kiti šaunūs įrenginiai: 6 žingsniai (su nuotraukomis)
Padarykite išimamą nešiojamojo kompiuterio vandens aušintuvą! ir kiti šaunūs įrenginiai: ši instrukcija parodys, kaip pasigaminti nuostabų nešiojamojo kompiuterio vandens aušinimo šilumos siurblį ir padėklų aušintuvą. Taigi kas iš tikrųjų yra šis šilumos ištraukėjas? Na, tai įrenginys, skirtas jūsų nešiojamam kompiuteriui atvėsti - visomis šio žodžio prasmėmis. Tai gali
Keli standieji diskai ar optiniai įrenginiai kompiuteryje, kurio tikrai negalima: 8 žingsniai
Keli standieji diskai ar optiniai įrenginiai kompiuteryje, kurio tikrai negalima: PIRMASIS ATSARGAS Taigi aš tai padariau pamokomą po daugelio metų trolinimo ir skaitymo, pagaliau turėjau drąsos pasidaryti savo. Trumpai tariant, aš jums parodysiu, kaip įdiegti aparatinę įrangą (šiuo atveju du IDE standieji diskai ir du IDE optiniai įrenginiai) į IDE m