Mundarija:
- 1 -qadam: I2C tarmoq avtobusiga ulanish
- 2 -qadam: tortishish rezistorlarini qo'shing
- 3 -qadam: Qulni dasturlash
- 4 -qadam: Magistrni dasturlash
Video: I2C yordamida ikkita OOBoardni bir -biriga ulash: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
Bu ko'rsatma I2C yordamida ikkita OOBoardni qanday ulashni o'z ichiga oladi.
1 -qadam: I2C tarmoq avtobusiga ulanish
OOBoards -da ikkita I2C avtobuslari, mahalliy avtobus va tarmoqli avtobus mavjud.
OOPIC kodi asosan talqin qilinadigan tildir, ya'ni "kod" EEPROMda saqlanadi va real vaqtda mikroprotsessor tomonidan o'qiladi/talqin qilinadi. EEPROM mikrokontroller bilan aloqa qilish uchun LOCAL I2C avtobusidan foydalanadi. Agar siz osiloskopda ushbu mahalliy avtobusga qarasangiz, doimiy suhbatni ko'rasiz. OOBoards taxtalarida I2C ulagichiga ulangan mahalliy avtobus, bu biz xohlagan narsa emas. NETWORK avtobusi odatda boshqa qurilmalar bilan aloqa qilish uchun ishlatiladigan avtobusdir, OOBoards -da bu avtobusda ulagich yo'q. Ushbu avtobusga kirish uchun siz simlarni mikrokontrollerning 42 va 37 -chi pinlariga lehimlashingiz kerak (sxemada N_SDA, N_SCL bilan belgilangan).
2 -qadam: tortishish rezistorlarini qo'shing
Har bir protsessorga SDA va SCL ulanishlari o'rnatilgandan so'ng, ikkita taxtani ulash mumkin
SDA -ni SDA -ga, SCL -ni SCL -ga ulash va taxtalar orasidagi umumiy topraklama simini ulash orqali bir -biriga bog'langan. Bundan tashqari, sizga har bir chiziqda tortish qarshiligi kerak bo'ladi (men 12k ishlatardim, lekin bu men yotgan joy). E'tibor bering, har bir satrda jami ikkita rezistor uchun bitta tortish qarshiligi kerak (4 emas).
3 -qadam: Qulni dasturlash
Endi jismoniy ulanishlar mavjud bo'lganda, siz qul mikrokontrollerni dasturlashingiz kerak bo'ladi. Men sizni boshlashingiz kerak bo'lgan ba'zi kodlarni qo'shdim.
Dim Qul yangi oDDELinkDim LED sifatida yangi oDIO1Sub Main () va I2C manzilimizni 2 ga aylantiring (esda tuting, bu biz bosh kodda o'rnatgan masofaviy va aposadressga mos kelishi kerak) ooPIC. Node = 2 & LED LED. IOLine = 5 LED yo'nalishi. = cvOutput & aposnow, DDELink ob'ektining chiqishini LEDga & aposthe ga ulang va uni yoqing … endi avtomatik tarzda LED SLAVE. Output. Link (LED) SLAVE. Operate = cvTrueEnd Sub
4 -qadam: Magistrni dasturlash
Nihoyat, asosiy mikrokontrollerni dasturlashtiring. DDELink. Location xususiyatini belgilaydigan satrlarga katta e'tibor bering: Agar bu to'g'ri sozlanmasa, bu ishlamaydi!
Dim Master yangi oDDELinkDim sim sifatida yangi oWireDim hz1 sifatida yangi oBitSub Main () & 1 soniya taymerini biz kira oladigan bir songa ulang & aposthis bit endi sekundiga bir marta o'tkaziladi. Link (hz1) tel. Operate = cvTrue & aposthis mahalliy mikrokontrolerimizning I2C manzilini o'rnatadi va manzilni o'rnatmaguncha I2C interfeysi aposthe faol emas, ooPIC. Bizda Master. Input. Link (hz1) va aposthis - bu masofaviy mikrokontrolderning I2C manzili, "qul kodini aposin qilish uchun biz 2 manzilga ega bo'lishni aytamiz." Master. Node = 2 & aposugh… bu yomon qism, bu DDELink va aposobjectning qul va boshqa xotira maydonidagi "manzili". Bu raqamni aniqlash uchun & aposwe qul kodini ochishi va kompilyatsiya qilishi kerak, keyin View-> Compiled Code-ga o'tish kerak. & aposlook kabi bir narsaga qarang: & aposL *. Construct. Begin; Dim yangi oDDELink & aposwhere * har qanday raqam bo'lib, bu sizning DDELink ob'ektingizning nomi va qul kodingizni aposin. Darhol quyidagi satrda shunday narsa yozilishi kerak: & aposC0020: 041; Bu … & aposning o'ng tomonidagi manzil va aposthe raqami: & apos - bu Master DDELink ob'ektining manzili Master. Location = 41 & aposthis biz yuboradigan ob'ektni bildiradi. Ma'lumotlar (ya'ni, ma'lumotlarni bizning. Input xususiyatidan ko'chirish va qullarga aposto. nusxa ko'chirish xususiyati = cvTrue Do & aposcheck biz hozirda ma'lumotlarni uzatayotganimizni bilish uchun agar Master. Transmitting = cvFalse Keyin & bu qiymatni 1 ga uzatish ustaga qiymatni qulga yuborishiga olib keladi va bu uzatish tugagandan so'ng avtomatik ravishda 0 ga qaytariladi. = LoopEnd Sub bo'lsa, 1 tugatish
Tavsiya:
Node.js yordamida Raspberry Pi -ni bulutga qanday ulash mumkin: 7 qadam
Node.js yordamida Raspberry Pi -ni bulutga qanday ulash mumkin: Ushbu qo'llanma Raspberry Pi -ni bulutga, ayniqsa Node.js. yordamida AskSensors IoT platformasiga ulamoqchi bo'lganlar uchun foydalidir. Agar sizda Raspberry Pi yo'qmi? Agar sizda hozir Raspberry Pi bo'lmasa, men sizga malina olishni maslahat beraman
Gigant yarasalar- Pixlr yordamida ikkita fotosuratni qanday birlashtirish mumkin: 7 qadam
Gigant ko'rshapalaklar- Pixlr yordamida ikkita fotosuratni qanday birlashtirish mumkin: Rokki tog'larning g'arbiy yonbag'iridagi tekis tepalarda, men izlayotgan yo'lda bu belgini uchratdim. Unda " BATSLARNI HIMOYA QILISH UChUN, G'ORLAR VA MINALAR INSON KIRILISHIGA YAXSHI BO'LGAN " deb yozilgan edi. Men buni g'ayrioddiy deb o'yladim, chunki
Arduino WiFi -ni bulutga ESP8266: 7 qadam yordamida ulash
ESP8266 yordamida Arduino WiFi -ni bulutga ulash: Ushbu qo'llanmada biz sizga Arduino -ni WiFi orqali IoT bulutiga qanday ulashni tushuntiramiz. AskSensors buluti bilan bog'lanish uchun
TinkerCAD sxemalarida Arduino UNO yordamida ikkita LED bilan ishlash: 8 qadam
TinkerCAD sxemalarida Arduino UNO yordamida ikkita LED bilan ishlash: Ushbu loyiha TinkerCAD sxemalarida ikkita LED va Arduino bilan ishlashni namoyish etadi
Bluetooth Amp + izolyatsiya kaliti (ikkita kuchaytirgich bir juft karnayni ulashadi): 14 qadam (rasmlar bilan)
Bluetooth Amp + izolyatsiya kaliti (ikkita kuchaytirgich bir juft karnayni ulashadi): Menda Rega P1 yozuv pleyeri bor. U 90 -yillardagi Hitachi midi tizimiga ulangan (MiniDisc, hech bo'lmaganda), men Gumtree -dan bir necha quid evaziga sotib olgan TEAC dinamiklariga ulanganman, chunki men Tec -dagi original dinamiklardan birini vayron qildim