Mundarija:
- 1 -qadam: Ba'zi Shell buyruqlari
- 2 -qadam: Birinchi holat: I2c qurilmalari bir xil manzilga ega
- 3 -qadam: 2 -holat: Turli I2c manzillari
Video: Raspberry PI bir nechta I2C qurilmalari: 3 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Sizning loyihangizda bir xil I2C qurilmalarini ishlata olmaganingiz uchun xafa bo'ldingiz. Sekin multipleksorlardan foydalanish shart emas. Eng yangi raspbian yadrosi GPIO pinlari yordamida bir nechta I2C avtobuslarini yaratishni qo'llab -quvvatlaydi. Bu yechim juda tez.
1 -qadam: Ba'zi Shell buyruqlari
Sizning malina pi bo'lsa, i2c qurilmalaringizdan birini ulang, malina pi ni ishga tushiring va ishga tushiring
sudo i2cdetect -y 1
Siz qo'shimchadagi rasmdagi kabi jadvalni ko'rasiz. Menda BMP280 harorat va barometrik bosim sensori biriktirilgan. I2c manzili jadvalga muvofiq 0x76. Bu manzilga e'tibor bering.
Buni barcha i2c qurilmalaringiz uchun qiling.
2 -qadam: Birinchi holat: I2c qurilmalari bir xil manzilga ega
Bu har doim muammoli holat edi. I2c avtobusi bir nechta qurilmalarni boshqarishi mumkin, lekin ular har xil i2c manzillarga ega bo'lishi kerak. Ba'zi i2c qurilmalarida boshqa i2c manzillarini o'rnatish uchun o'tish moslamalari mavjud, lekin ko'pchilikda yo'q. Bunday holda siz i2c SDA (Ma'lumotlar) va SCL (Soat) ni aylantirish uchun i2c multipleksoridan (apparat) foydalanishingiz mumkin yoki qo'shimcha i2c avtobusini yoki undan ko'pini yaratishingiz mumkin.
Men ikkita qo'shimcha avtobus yarataman, nl avtobus 3 va 4
Klipni oching va ishga tushiring
CD /yuklash
sudo nano config.txt
Quyidagi kod qatorini qo'shing, spi va i2c yoqilgan bo'limda afzalroq.
dtoverlay = i2c-gpio, bus = 4, i2c_gpio_delay_us = 1, i2c_gpio_sda = 23, i2c_gpio_scl = 24
Bu yo'nalish GPIO 23 -da SDA sifatida GPIO 24 -da qo'shimcha i2c avtobusini (4 -avtobus) yaratadi va SCL sifatida (GPIO 23 va 24 -standart)
I2c avtobus 3 yaratish uchun quyidagi qatorni qo'shing
dtoverlay = i2c-gpio, bus = 3, i2c_gpio_delay_us = 1, i2c_gpio_sda = 17, i2c_gpio_scl = 27
GPIO 17 SDA bo'ladi va GPIO 27 i2c 4 -avtobus uchun SCL bo'ladi.
Chiqish uchun X tugmachasini bosing.
Avtobuslarni raqamlash va buyurtma berish haqida eslatma:
Hech qachon 0 va 2 -avtobuslardan foydalanmang, bu taxtadagi boshqa narsalar uchun, masalan, bosh kiyimdagi eprom va boshqalar
2019 yil aprel oyida raspbian versiyasi uchun:
Siz har doim config.txt -dagi eng yuqori avtobusdan (bu holda 4 -avtobus) boshlashingiz va eng past avtobusga o'tishingiz kerak (3 -avtobus).
Eng past avtobus har doim 3 -avtobus bo'lishi kerak
Agar sizga 5 ta qo'shimcha avtobus kerak bo'lsa, avtobuslar 7, 6, 5, 4, 3 tartibda bo'lishi kerak.
Dastlabki yo'riqnoma yozilganda, avtobus buyurtmasidagi bu muammo yo'q edi. Yadroga o'zgartirishlar kiritilganga o'xshaydi.
PI -ni o'chiring, o'chiring. I2c qurilmalaringizni 4 -avtobusga (SDA GPIO 23 va SCL GPIO 24 ga), ikkinchisi esa i2c 3 -avtobusga (SDA GPIO 17 ga va SCL GPIO 27 ga) ulang.
Pi -ni yoqing.
Yugurish:
sudo i2cdetect -l (kichik harf L)
Siz ko'rasiz, i2c 3 va 4 -avtobuslar ham ro'yxatda. Shuningdek ishga tushirish:
sudo i2cdetect -y 3
sudo i2cdetect -y 4
Endi siz sensorni dasturlash tilida ishlatishingiz mumkin. To'g'ri i2c avtobuslarini ko'rsatishni unutmang.
Qo'shish - mashhur BMP280 harorat va bosim sensori uchun namuna. Hech bir multipleksor 2 BMP280 -ni tez o'qiy olmaydi.
2 Sensirion SDP 810 datchiklariga misol ham ilova qilingan. Yana men ilgari ishlatgan multipleksorga qaraganda ancha tezroq ishlayapman
Men adafruitdan ikkita yangi BMP388 ni o'qish uchun python kodini yaratdim.
Kelgusida boshqa sensorlarni ham qo'shishim mumkin
3 -qadam: 2 -holat: Turli I2c manzillari
Oddiy. i2c - bu avtobus. Avtobusning maqsadi - bir nechta qurilmalar bilan aloqa qilish. Qurilmalarni bir xil i2c avtobusiga parallel ulang. Siz bitta avtobusdan foydalanishingiz mumkin.
Yugurish:
sudo i2cdetect -y 1
Siz ro'yxatga olingan qurilmalarni ko'rasiz.
Tavsiya:
Photoshop 2020 yordamida bir nechta rasmlarning fonini olib tashlang: 5 qadam
Photoshop 2020 yordamida bir nechta rasmlarning fonini olib tashlang: rasmning fonini olib tashlash hozir juda oson! Oddiy skript yordamida bir nechta (ommaviy) tasvirlar fonini olib tashlash uchun Adobe Photoshop 2020 -dan qanday foydalanish kerak
Arduino Connect bir nechta I2C qurilmalari: 6 qadam
Arduino Connect bir nechta I2C qurilmalari: Ushbu qo'llanmada biz bir nechta modullarni arduino -ga I2C ulanishi bilan ulashni o'rganamiz. Videoni tomosha qiling! Bizning misolimizda 4 ta OLED -displeydan foydalanamiz, lekin siz boshqa I2C modullaridan foydalanishingiz mumkin/ Agar xohlasangiz, sensorlar. Eslatma: 4 ta OLED displeyi
Arduino bir nechta servo dvigatellarni qanday ulash mumkin - PCA9685 qo'llanmasi: 6 qadam
Arduino bir nechta servo dvigatellarni qanday ulash mumkin - PCA9685 qo'llanmasi: Ushbu qo'llanmada biz PCA9685 moduli va arduino yordamida bir nechta servo dvigatellarni qanday ulashni bilib olamiz. Agar siz bir nechta dvigatellarni ulashingiz kerak bo'lsa, PCA9685 moduli juda yaxshi, bu haqda ko'proq o'qishingiz mumkin https : //www.adafruit.com/product/815Vi ni tomosha qiling
Python va Raspberry Pi -ning GPIO pinlari yordamida bir nechta LEDlarni boshqarish: 4 qadam (rasmlar bilan)
Python va Raspberry Pi -ning GPIO pinlari yordamida bir nechta LEDlarni boshqarish: Bu ko'rsatma RaspberryPi -dagi 4 ta LEDni quvvatlantirish uchun bir nechta GPIO pinlarini boshqarishni ko'rsatadi. Bundan tashqari, u sizni Python -dagi parametrlar va shartli bayonotlar bilan tanishtiradi. Oldingi ko'rsatmamiz sizning Raspberry Pi -ning GPIO pinlaridan foydalanib
Bir nechta mikrokontroldan bir nechta LEDni qanday chiqarish mumkin: 6 qadam (rasmlar bilan)
Bir nechta mikroto'lqinli pinlardan qanday qilib ko'p LEDlarni haydash mumkin: Ko'pgina mikrokontrolderlarning uch holatida (+V, GND yoki "yuqori impedansli") mavjudligidan foydalanib, siz N pinli N*(N-1) LEDlarni boshqarishingiz mumkin. Shunday qilib, PIC12Fxxx yoki ATtiny11 kabi 8pinli mikrokontroller beshta mavjud 20 ta LEDni boshqarishi mumkin