Talaan ng mga Nilalaman:
- Hakbang 1: Ang Ilang Mga Sumusumite ng Shell
- Hakbang 2: Isa sa Kaso: Ang Mga I2c Device ay Mayroong Parehong Address
- Hakbang 3: Kaso 2: Iba't ibang I2c Address
Video: Raspberry PI Maramihang Mga I2C Device: 3 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Nabigo dahil hindi ka makakagamit ng maraming mga parehong aparato I2C sa iyong proyekto. Hindi na kailangang gumamit ng mabagal na multiplexer. Sinusuportahan ng pinakabagong raspbian kernel ang paglikha ng maraming mga bus na I2C gamit ang mga GPIO pin. Ang solusyon na ito ay napakabilis.
Hakbang 1: Ang Ilang Mga Sumusumite ng Shell
Ikonekta ang isa sa iyong mga aparatong i2c habang ang iyong raspberry pi ay, simulan ang iyong raspberry pi at tumakbo
sudo i2cdetect -y 1
Makakakita ka ng isang talahanayan tulad ng sa kalakip na figure. Nag-attach ako ng isang BMP280 temp at barometric pressure sensor. Ang i2c address ay 0x76 ayon sa talahanayan. Tandaan ang address na ito.
Gawin ito para sa lahat ng iyong i2c device.
Hakbang 2: Isa sa Kaso: Ang Mga I2c Device ay Mayroong Parehong Address
Ito ang palaging ang may problemang kaso. Ang isang i2c bus ay maaaring hawakan ang maramihang mga aparato, ngunit dapat silang magkaroon ng iba't ibang mga i2c address. Ang ilang mga i2c aparato ay may mga jumper upang magtakda ng iba pang mga i2c address, ngunit marami ang hindi. Sa kasong ito maaari kang gumamit ng i2c multiplexer (hardware) upang paikutin ang i2c SDA (Data) at SCL (Clock) o maaari kang lumikha ng isang karagdagang i2c bus o higit pa.
Lilikha ako ng dalawang aditional busses, nl bus 3 at 4
Buksan ang Tala at patakbuhin
cd / boot
sudo nano config.txt
Idagdag ang sumusunod na linya ng code, mas mabuti sa seksyon kung saan pinagana ang spi at i2c.
dtoverlay = i2c-gpio, bus = 4, i2c_gpio_delay_us = 1, i2c_gpio_sda = 23, i2c_gpio_scl = 24
Lilikha ang linyang ito ng isang aditional i2c bus (bus 4) sa GPIO 23 bilang SDA at GPIO 24 bilang SCL (GPIO 23 at 24 ay mga default)
Idagdag din ang sumusunod na linya upang lumikha ng i2c bus 3
dtoverlay = i2c-gpio, bus = 3, i2c_gpio_delay_us = 1, i2c_gpio_sda = 17, i2c_gpio_scl = 27
Ang GPIO 17 ay ang SDA at ang GPIO 27 ay ang SCL para sa i2c bus 4.
Tipe control X upang lumabas.
Tandaan sa Pagnunumero ng Bus at order:
Huwag kailanman gumamit ng bus 0 at 2, ginagamit ito para sa iba pang mga bagay sa board tulad ng eprom sa mga sumbrero atbp
Para sa Abril 2019 na paglabas ng raspbian:
Dapat kang laging magsimula sa pinakamataas na bus (Bus 4 sa kasong ito) sa iyong config.txt at gumana hanggang sa pinakamababang bus (bus 3).
Ang pinakamababang bus ay palaging magiging bus 3
Kung kailangan mo ng 5 dagdag na mga bus, ang mga bus ay dapat na bi sa pagkakasunud-sunod ng 7, 6, 5, 4, 3
Ang isyu sa order ng bus ay wala doon kapag ang Instructable na ito ay orihinal na isinulat. Mukhang ang mga pagbabago ay ginawa sa kernel.
Patayin ang iyong PI, palitan ito ng. Ikonekta ang iyong mga aparatong i2c sa bus 4 (SDA sa GPIO 23 at SCL sa GPIO 24) at ang isa pa sa i2c bus 3 (SDA hanggang GPIO 17 at SCL sa GPIO 27).
Buksan ang pi.
Patakbuhin:
sudo i2cdetect -l (Mas mababang Kaso L)
Makikita mo ngayon na nakalista din ang i2c bus 3 at 4. Patakbuhin din:
sudo i2cdetect -y 3
sudo i2cdetect -y 4
Ngayon ay maaari mong gamitin ang iyong sensor sa iyong wika ng programa. Tandaan na tukuyin ang tamang i2c busses.
Ang paglakip ay isang halimbawa para sa tanyag na sensor ng Temperatura at Presyon ng BMP280. Walang multiplexer na makakabasa ng 2 BMP280s ng mabilis.
Ang isang halimbawa ng 2 Sensirion SDP 810 sensor ay nakakabit din. Muli na nagtatrabaho nang mas mabilis kaysa sa multiplexer na ginamit ko sa nakaraan
Lumikha ako ng code ng sawa upang mabasa ang dalawang bagong BMP388 mula sa adafruit.
Maaari din akong magdagdag ng iba pang mga sensor sa hinaharap sa
Hakbang 3: Kaso 2: Iba't ibang I2c Address
Simple ang i2c ay isang bus. Ang bus purpouse ay upang makipag-usap sa maraming mga aparato. Ikonekta ang mga aparato kahilera sa parehong i2c bus. Maaari kang gumamit ng bus isa.
Patakbuhin:
sudo i2cdetect -y 1
Makikita mo ang mga nakalistang aparato.
Inirerekumendang:
ASS Device (Anti-Social Social Device): 7 Mga Hakbang
ASS Device (Anti-Social Social Device): Sabihin na ikaw ang mabait na tao na gusto ang pagiging malapit sa mga tao ngunit ayaw sa kanila na lumapit. Ikaw din ay isang taong nagpapasaya at nahihirapang sabihin na hindi sa mga tao. Kaya hindi mo alam kung paano mo sasabihin sa kanila na tumalikod. Kaya, ipasok - ang ASS Device! Y
Tutorial: Paano Kinokontrol ng Arduino ang Maramihang Parehong Mga Device sa Address sa pamamagitan ng Paggamit ng TCA9548A I2C Multiplexer: 3 Mga Hakbang
Tutorial: Paano Kinokontrol ng Arduino ang Maramihang Parehong Mga Device sa Address sa pamamagitan ng Paggamit ng TCA9548A I2C Multiplexer: Paglalarawan: Ang TCA9548A I2C Multiplexer Module ay upang paganahin upang ikonekta ang mga aparato na may parehong I2C address (hanggang sa 8 parehong address I2C) na naka-hook hanggang sa isang microcontroller. Ang multiplexer ay kumikilos bilang isang gatekeeper, pinapatay ang mga utos sa napiling set o
Pagkontrol ng Maramihang mga LED Sa Python at Iyong Mga Piano ng GPP ng Iyong Raspberry Pi: 4 na Hakbang (na may Mga Larawan)
Pagkontrol ng Maramihang mga LED Sa Python at Mga GPIO Pins ng Iyong Raspberry Pi: Ipinapakita ng Tagubilin na ito kung paano makontrol ang maraming mga GPIO na pin sa iyong RaspberryPi upang mapagana ang 4 na LED. Ipapakilala ka rin nito sa mga parameter at kondisyunal na pahayag sa Python. Ang aming nakaraang Instructable Gamit ang Iyong Raspberry Pi's GPIO Pins to Con
Paggamit ng Higit sa 4 na Mga Motors - Pag-stack ng Maramihang Mga Motorshield: 3 Mga Hakbang
Paggamit ng Higit sa 4 na Mga Motors - Pag-stack ng Maramihang Mga Motorshields: Maaaring Ituro sa Vibrotactile Sensory Substitution at Augmentation Device (https: //www.instructables.com/id/Vibrotactile-Sens …) ay nagpapakita ng isang paraan kung paano bumuo ng isang aparato na nagsasalin ng isang pandama input sa vibratory stimuli. Ang mga vibratory stimuli na iyon ay
Paggawa Sa Maramihang Mga Computer (Para sa Mga Mag-aaral): 6 Mga Hakbang
Paggawa Sa Maramihang Mga Computer (Para sa Mga Mag-aaral): Ang pagtatrabaho sa maraming mga computer ay maaaring maging napakahirap. Hindi mo malalaman kung anong mga file ang nasa aling computer, maaari kang magkaroon ng mga problema sa maraming bersyon ng parehong file, at bilang isang resulta, maaari mong mawala ang iyong mga file nang magkasama o kahit papaano magkaroon ng iyong