Բովանդակություն:
- Քայլ 1: Որոշ Shell հրահանգներ
- Քայլ 2: Առաջին դեպք. I2c սարքերն ունեն նույն հասցեն
- Քայլ 3: Գործ 2: Տարբեր I2c հասցեներ:
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Վրդովված, քանի որ ձեր նախագծում չեք կարող օգտագործել նույն I2C սարքերի բազմապատիկը: Անհրաժեշտ չէ դանդաղ մուլտիպլեքսեր օգտագործել: Վերջին raspbian միջուկը աջակցում է GPIO կապում օգտագործվող բազմաթիվ I2C ավտոբուսների ստեղծմանը: Այս լուծումը շատ արագ է:
Քայլ 1: Որոշ Shell հրահանգներ
Միացրեք ձեր i2c սարքերից մեկը, քանի դեռ ձեր ազնվամորու pi- ն է, սկսեք ձեր ազնվամորի pi- ն և աշխատեք
sudo i2cdetect -y 1
Կտեսնեք աղյուսակ, ինչպես կցված նկարում: Ես կցել եմ BMP280 ջերմաստիճանի և բարոմետրիկ ճնշման տվիչ: Ըստ աղյուսակի i2c հասցեն 0x76 է: Նշեք այս հասցեն:
Դա արեք ձեր բոլոր i2c սարքերի համար:
Քայլ 2: Առաջին դեպք. I2c սարքերն ունեն նույն հասցեն
Սա միշտ եղել է խնդրահարույց դեպքը: I2c ավտոբուսը կարող է կարգավորել բազմաթիվ սարքեր, սակայն դրանք պետք է ունենան տարբեր i2c հասցեներ: Որոշ i2c սարքեր ունեն jumpers ՝ այլ i2c հասցեներ սահմանելու համար, բայց շատերը ՝ ոչ: Այս դեպքում կարող եք օգտագործել i2c մուլտիպլեքսեր (սարքավորում) i2c SDA (Տվյալներ) և SCL (ockամացույց) պտտելու համար կամ կարող եք ստեղծել լրացուցիչ i2c ավտոբուս կամ ավելի:
Ես կստեղծեմ երկու լրացուցիչ ավտոբուս ՝ 3 -րդ և 4 -րդ ավտոբուսներ
Բացեք cli- ն և վազեք
cd /boot
sudo nano config.txt
Ավելացրեք հետևյալ տողի ծածկագիրը, նախընտրելի է այն հատվածում, որտեղ spi և i2c միացված են:
dtoverlay = i2c-gpio, ավտոբուս = 4, i2c_gpio_delay_us = 1, i2c_gpio_sda = 23, i2c_gpio_scl = 24
Այս գիծը կստեղծի լրացուցիչ i2c ավտոբուս (ավտոբուս 4) GPIO 23 -ի վրա ՝ որպես SDA և GPIO 24 ՝ որպես SCL (GPIO 23 -ը և 24 -ը կանխադրված են)
Ավելացրեք նաև հետևյալ տողը ՝ i2c ավտոբուս 3 ստեղծելու համար
dtoverlay = i2c-gpio, ավտոբուս = 3, i2c_gpio_delay_us = 1, i2c_gpio_sda = 17, i2c_gpio_scl = 27
GPIO 17 -ը կլինի SDA, իսկ GPIO 27 -ը ՝ SCL i2c ավտոբուս 4 -ի համար:
Դուրս գալու համար սեղմեք հսկիչ X- ը:
Նշում ավտոբուսների համարակալման և կարգի վերաբերյալ.
Երբեք մի՛ օգտագործեք 0 և 2 ավտոբուսները, այն օգտագործվում է տախտակի այլ իրերի համար, օրինակ ՝ գլխարկներ գլխարկների վրա և այլն
2019 -ի ապրիլյան raspbian թողարկման համար.
Դուք միշտ պետք է սկսեք ամենաբարձր ավտոբուսից (այս դեպքում ՝ Ավտոբուս 4) ձեր config.txt- ում և անցեք ամենացածր ավտոբուսով (ավտոբուս 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 BMP280s:
Կից է նաև 2 Sensirion SDP 810 տվիչների օրինակ: Կրկին շատ ավելի արագ աշխատելով, քան նախկինում օգտագործած մուլտիպլեքսերը
Ես ստեղծեցի պիթոնի ծածկագիր ՝ adafruit- ից երկու նոր BMP388- ներ կարդալու համար:
Հետագայում կարող եմ նաև այլ սենսորներ ավելացնել
Քայլ 3: Գործ 2: Տարբեր I2c հասցեներ:
Պարզ. i2c- ը ավտոբուս է: Ավտոբուսների տարածքը պետք է շփվի բազմաթիվ սարքերի հետ: Միացրեք նույն i2c ավտոբուսին զուգահեռ սարքերը: Դուք կարող եք օգտվել ավտոբուսից մեկից:
Գործարկել:
sudo i2cdetect -y 1
Դուք կտեսնեք թվարկված սարքերը:
Խորհուրդ ենք տալիս:
Arduino Connect բազմաթիվ I2C սարքեր `6 քայլ
Arduino Connect Multiple I2C Սարքեր. Այս ձեռնարկում մենք կսովորենք, թե ինչպես միացնել մի քանի մոդուլ I2C միացումով arduino- ին: Դիտեք տեսանյութը: Մեր դեպքում մենք որպես օրինակ կօգտագործենք 4 OLED դիսփլեյ, բայց դուք կարող եք օգտագործել ցանկացած այլ I2C մոդուլներ/ ցանկության դեպքում տվիչներ: Նշում. 4 OLED ցուցադրում է համատեղ
Էլեկտրական բազմակի զառախաղ `3 քայլ
Էլեկտրական բազմաշերտ զառեր. Կան շատ նախագծեր, որոնք սովորեցնում են ձեզ, թե ինչպես պատրաստել էլեկտրական կամ լուսադիոդային զառեր հրահանգների տեղում, սակայն այս նախագիծը տարբեր է, այս էլեկտրական զառերը կարող են հարմարեցվել տարբեր քանակությամբ: Դուք կարող եք ինքներդ ընտրել զառախաղի կողմը
Բազմակի USB պորտ ՝ առանց որևէ PCB- ի: 4 քայլ
Բազմաթիվ USB պորտ ՝ առանց որևէ PCB- ի: Սա իմ երկրորդ ուսանելի տարբերակն է, և այստեղ ես ձեզ հետ կկիսեմ այն նախագիծը, որտեղ դուք կարող եք կատարել մի քանի USB պորտ ՝ ձեր համակարգչում օգտագործելու համար, քանի որ երբ տնից աշխատում եք, շատերի օգտագործման մեծ խնդիր ունեք: սարքեր, քանի որ սարքերի մեծ մասն այժմ հ
Բազմակի էլեկտրոնային մոմեր `3 քայլ
Էլեկտրոնային մոմեր. Էլեկտրոնային մոմերը բազմիցս տեղադրվել են Instructables- ում, ինչու՞ այս մեկը: Տանը ես ունեմ այս փոքրիկ կիսաթափանցիկ ամանորյա տները, որոնք ունեն լուսադիոդային պատկերացում և փոքր մարտկոց: Որոշ տներ ունեն մոմի էֆեկտով լուսադիոդներ, իսկ ոմանք ՝ լուսադիոդներ
Օգտագործելով ավելի քան 4 շարժիչ - բազմակի շարժիչաշերտերի հավաքում `3 քայլ
4 -ից ավելի շարժիչների օգտագործումը ներթափանցում թրթռումային գրգռիչների մեջ: Այդ թրթռացող գրգռիչներն են