Мазмұны:

Raspberry PI бірнеше I2C құрылғылары: 3 қадам
Raspberry PI бірнеше I2C құрылғылары: 3 қадам

Бейне: Raspberry PI бірнеше I2C құрылғылары: 3 қадам

Бейне: Raspberry PI бірнеше I2C құрылғылары: 3 қадам
Бейне: Raspberry Pi Pico-ны PLC-ге қалай айналдыруға болады | Beremiz4Pico 2024, Шілде
Anonim
Raspberry PI бірнеше I2C құрылғылары
Raspberry PI бірнеше I2C құрылғылары
Raspberry PI бірнеше I2C құрылғылары
Raspberry PI бірнеше I2C құрылғылары

Сіз жобаңызда бірдей I2C құрылғыларының еселігін пайдалана алмайтындықтан ренжідіңіз. Баяу мультиплексорларды қолданудың қажеті жоқ. Соңғы raspbian ядросы GPIO түйреуіштерін қолдана отырып, көптеген I2C автобустарын құруды қолдайды. Бұл шешім өте жылдам.

1 -қадам: Кейбір Shell командалары

Кейбір Shell командалары
Кейбір Shell командалары

I2c құрылғыларының біреуін таңқурай пи тұрған кезде қосыңыз, таңқурай пиді іске қосыңыз және іске қосыңыз

sudo i2cdetect -y 1

Сіз тіркемедегі суреттегідей кестені көресіз. Менде BMP280 температурасы мен барометрлік қысым датчигі бар. I2c адресі кестеге сәйкес 0x76. Бұл мекен -жайға назар аударыңыз.

Мұны барлық i2c құрылғыларыңыз үшін жасаңыз.

2 -қадам: Бірінші жағдай: I2c құрылғыларының адрестері бірдей

Бірінші жағдай: I2c құрылғыларының адрестері бірдей
Бірінші жағдай: I2c құрылғыларының адрестері бірдей

Бұл әрқашан проблемалық жағдай болды. I2c шинасы бірнеше құрылғыларды өңдей алады, бірақ олардың i2c адрестері әр түрлі болуы керек. Кейбір i2c құрылғыларында басқа i2c адрестерін орнататын секіргіштер бар, бірақ көбінде жоқ. Бұл жағдайда i2c SDA (Деректер) мен SCL (Сағат) айналдыру үшін i2c мультиплексорын (аппараттық құрал) қолдануға болады немесе қосымша i2c шинасын немесе одан да көп құруға болады.

Мен екі қосымша автобус жасаймын, nl автобус 3 және 4

Клипті ашып, жүгіріңіз

CD /жүктеу

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 -те қосымша i2c шинасын (4 -автобус) жасайды және SCL ретінде (GPIO 23 және 24 әдепкі бойынша)

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 жылдың сәуірінде 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 -ге) қосыңыз.

Пиді қосыңыз.

Іске қосу:

sudo i2cdetect -l (кіші әріп L)

Енді сіз i2c 3 және 4 -автобустың да көрсетілгенін көресіз. Сондай -ақ іске қосыңыз:

sudo i2cdetect -y 3

sudo i2cdetect -y 4

Енді сенсорды бағдарламалау тілінде қолдануға болады. Дұрыс i2c автобустарын көрсетуді ұмытпаңыз.

Attach - әйгілі BMP280 температура мен қысым сенсорының мысалы. Ешбір мультиплексор 2 BMP280 жылдам оқи алмайды.

2 Sensirion SDP 810 датчиктерінің мысалы да бекітілген. Бұрын мен қолданған мультиплексорға қарағанда әлдеқайда жылдам жұмыс істейді

Мен adafruit -тен екі жаңа BMP388 оқу үшін питон кодын жасадым.

Мен болашақта басқа сенсорларды қосуға болады

3 -қадам: 2 -жағдай: Әр түрлі I2c адрестері

Қарапайым. i2c - бұл автобус. Автобустың мақсаты - көптеген құрылғылармен байланысу. Құрылғыларды i2c шинасына параллель жалғаңыз. Сіз бір автобусты пайдалана аласыз.

Іске қосу:

sudo i2cdetect -y 1

Сіз тізімделген құрылғыларды көресіз.

Ұсынылған: