Агуулгын хүснэгт:
- Алхам 1: Зарим Shell Comands
- Алхам 2: Нэгдүгээр тохиолдол: I2c төхөөрөмжүүд ижил хаягтай байна
- Алхам 3: Кейс 2: Янз бүрийн I2c хаяг
Видео: Raspberry PI олон I2C төхөөрөмжүүд: 3 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:03
Та төсөлдөө ижил I2C төхөөрөмжүүдийг ашиглах боломжгүй байгаа тул сэтгэл дундуур байна. Удаан мультиплексор ашиглах шаардлагагүй. Хамгийн сүүлийн үеийн raspbian цөм нь GPIO тээглүүр ашиглан олон I2C автобус үүсгэхийг дэмждэг. Энэхүү шийдэл нь маш хурдан юм.
Алхам 1: Зарим Shell Comands
Таны бөөрөлзгөнө pi байгаа үед i2c төхөөрөмжүүдийнхөө нэгийг холбож, бөөрөлзгөнө pi -ээ эхлүүлээд ажиллуулна уу
sudo i2cdetect -y 1
Хавсралт дээрх шиг хүснэгтийг харах болно. Би BMP280 температур ба барометрийн даралт мэдрэгчийг хавсаргасан. I2c хаяг нь хүснэгтийн дагуу 0x76 байна. Энэ хаягийг анхаарна уу.
Үүнийг i2c төхөөрөмжүүдийнхээ төлөө хий.
Алхам 2: Нэгдүгээр тохиолдол: I2c төхөөрөмжүүд ижил хаягтай байна
Энэ нь үргэлж асуудалтай байсан. I2c автобус нь олон төхөөрөмжтэй ажиллах боломжтой боловч өөр өөр i2c хаягтай байх ёстой. Зарим i2c төхөөрөмжүүд нь бусад i2c хаягийг тохируулах холбогчтой боловч ихэнх нь байдаггүй. Энэ тохиолдолд та i2c SDA (Өгөгдөл) ба SCL (Цаг) эргүүлэхийн тулд i2c мультиплексор (тоног төхөөрөмж) ашиглаж болно, эсвэл нэмэлт i2c автобус эсвэл түүнээс дээш үүсгэж болно.
Би nl автобус 3 ба 4 гэсэн хоёр нэмэлт автобус бий болгоно
Клипийг нээгээд ажиллуулна уу
cd /boot
sudo nano config.txt
Дараах кодын мөрийг spi болон i2c идэвхжүүлсэн хэсэгт нэмж оруулаарай.
dtoverlay = i2c-gpio, bus = 4, i2c_gpio_delay_us = 1, i2c_gpio_sda = 23, i2c_gpio_scl = 24
Энэ шугам нь GPIO 23 дээр SDA, GPIO 24 дээр SCL (GPIO 23 ба 24 нь анхдагчаар) хэлбэрээр нэмэлт i2c автобус (4 -р автобус) үүсгэх болно.
I2c автобус 3 үүсгэхийн тулд дараах мөрийг нэмнэ үү
dtoverlay = i2c-gpio, bus = 3, i2c_gpio_delay_us = 1, i2c_gpio_sda = 17, i2c_gpio_scl = 27
GPIO 17 нь SDA, GPIO 27 нь i2c 4 автобусны SCL байх болно.
Гарах бол X товчлуурыг дарна уу.
Автобусны дугаарлалт, захиалгын талаархи тэмдэглэл:
0, 2 автобусыг хэзээ ч бүү ашиглаарай, энэ нь малгай дээрх eprom гэх мэт самбар дээрх бусад зүйлд ашиглагддаг
2019 оны 4 -р сарын raspbian хувилбарын хувьд:
Та config.txt файлдаа үргэлж хамгийн өндөр автобуснаас (энэ тохиолдолд 4 -р автобус) эхэлж хамгийн бага автобус руу явах ёстой (3 -р автобус).
Хамгийн бага автобус үргэлж 3 -р автобус байх ёстой
Хэрэв танд 5 нэмэлт автобус шаардлагатай бол автобусууд 7, 6, 5, 4, 3 гэсэн дарааллаар явах ёстой.
Энэхүү зааварчилгааг анх бичиж байх үед автобусны захиалгатай холбоотой асуудал байгаагүй. Цөмд өөрчлөлт орсон юм шиг байна.
PI -ээ унтраагаад унтраа. I2c төхөөрөмжөө 4 -р автобусанд (SDA GPIO 23 руу, SCL -ийг GPIO 24 -д), нөгөөг нь i2c 3 -р автобусанд (SDA -г GPIO 17 -д, SCL -ийг GPIO 27 руу) холбоно уу.
Pi -г асаана уу.
Ажиллуулах:
sudo i2cdetect -l (Жижиг үсэг L)
I2c 3, 4 автобусыг мөн жагсаасан байгааг та одоо харах болно. Мөн ажиллуулах:
sudo i2cdetect -y 3
sudo i2cdetect -y 4
Одоо та мэдрэгчээ програмчлалын хэл дээрээ ашиглаж болно. Зөв i2c автобусыг зааж өгөхөө бүү мартаарай.
Хавсаргах нь алдартай BMP280 температур ба даралтын мэдрэгчийн жишээ юм. Ямар ч мультиплексор 2 BMP280 -ийг ийм хурдан уншиж чадахгүй.
2 Sensirion SDP 810 мэдрэгчийн жишээг мөн хавсаргасан болно. Дахин хэлэхэд миний урьд өмнө ашиглаж байсан мультиплексээс хамаагүй хурдан ажилладаг
Би adafruit -аас хоёр шинэ BMP388 уншихын тулд python кодыг бүтээсэн.
Би ирээдүйд https://github.com/JJSlabbert/Raspberry_PI_i2C_confict -т бусад мэдрэгчүүдийг нэмж болно.
Алхам 3: Кейс 2: Янз бүрийн I2c хаяг
Энгийн. i2c бол автобус юм. Автобусны зорилго бол олон төхөөрөмжтэй харилцах явдал юм. Төхөөрөмжүүдийг ижил i2c автобустай зэрэгцээ холбоно уу. Та нэг автобус ашиглаж болно.
Ажиллуулах:
sudo i2cdetect -y 1
Та жагсаасан төхөөрөмжүүдийг харах болно.
Зөвлөмж болгож буй:
Arduino Connect олон I2C төхөөрөмжүүд: 6 алхам
Arduino Connect олон I2C төхөөрөмжүүд: Энэхүү гарын авлагад бид I2C холболттой хэд хэдэн модулийг arduino руу хэрхэн холбох талаар сурах болно. Видеог үзээрэй! Манай тохиолдолд бид 4 OLED дэлгэцийг жишээ болгон ашиглах болно, гэхдээ та бусад I2C модулийг ашиглаж болно. Хэрэв та хүсвэл мэдрэгчийг анхаарна уу. Тэмдэглэл: 4 OLED дэлгэц
I2C: 9 алхам (зурагтай) бүхий олон тооны никси хоолойг удирдах олон талын I/O Extender ПХБ
I2C ашиглан олон тооны никси хоолойг удирдах олон талт I/O Extender ПХБ: Одоогийн байдлаар хувцасны чимэг хийх зориулалттай nixie хоолойг амьдралд нэвтрүүлэх сонирхол их байна. Nixie хоолойн цагны иж бүрдлийг зах зээл дээр худалдаанд гаргах боломжтой. Оросын хуучин никси хоолойн хуучин хувьцааны худалдаа идэвхтэй явагдаж байсан бололтой. Мөн энд байгаа Instructables дээр
LED утас ашиглан DIY IoT төхөөрөмжүүд: 9 алхам (зурагтай)
LED утас ашиглан DIY IoT төхөөрөмжүүд: (Анхааруулга: Би англи хэлээр ярьдаг хүн биш.) Хэсэг хугацааны өмнө манай эхнэр шөнө цэцэрлэгээ гэрэлтүүлэхийн тулд LED чийдэн худалдаж авсан. Тэд маш сайхан уур амьсгалыг бий болгосон. Тэднийг модны эргэн тойронд суулгасан боловч юу болохыг, юу болохыг бид таамаглаж байна
Зөөврийн компьютерын зөөврийн ус хөргөгч хийцгээе! болон бусад сэрүүн төхөөрөмжүүд: 6 алхам (зурагтай)
Зөөврийн компьютерын зөөврийн ус хөргөгч хийцгээе! болон бусад сэрүүн төхөөрөмжүүд: Энэхүү зааварчилгааны заавар нь зөөврийн компьютерт зориулан усан хөргөлттэй дулаан ялгаруулагч болон дэвсгэр хөргөгч хэрхэн хийхийг танд үзүүлэх болно. Тэгэхээр энэ дулаан сорогч гэж юу вэ? Энэ бол таны зөөврийн компьютерийг хөргөхөд зориулагдсан төхөөрөмж юм. Энэ нь бас
Хуучин батерейтай цахилгаан төхөөрөмжүүд: 5 алхам
Хуучин батерейтай цахилгаан төхөөрөмжүүд: Жижиг төхөөрөмжүүдийг хэт бат бөх учраас асахгүй байгаа камер, алсын удирдлага, GPS -ээр батерейгаа цэнэглээрэй. Энэхүү цаг/хуанли/термометр нь 3V цагны батерейг ашигладаг. Батерейг 2.44 вольт хүртэл цэнэггүй болтол 4 жил үргэлжилсэн. Шинэ батерей