Sadržaj:
- Korak 1: Spajanje na I2C mrežnu sabirnicu
- Korak 2: Dodajte Pullup otpornike
- Korak 3: Programirajte slave
- Korak 4: Programirajte Master
Video: Povezivanje dvije OOBoard ploče zajedno pomoću I2C: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:38
Ovo uputstvo pokriva kako spojiti dvije OOBard kartice pomoću I2C.
Korak 1: Spajanje na I2C mrežnu sabirnicu
Na OOBoards -ima postoje dva I2C autobusa, lokalni autobus i mrežni sabirnik.
OOPIC kôd je u biti interpretirani jezik, tj. "Kôd" je pohranjen u EEPROM -u, a mikroprocesor ga čita/tumači u stvarnom vremenu. EEPROM koristi LOCAL I2C sabirnicu za komunikaciju s mikrokontrolerom. Kad biste pogledali ovaj lokalni autobus na osciloskopu, vidjeli biste neprestano brbljanje. Na OOBoards pločama lokalna sabirnica je ono što je spojeno na I2C konektor, to nije nužno ono što želimo. NETWORK sabirnica obično je sabirnica koja se koristi za komunikaciju s drugim uređajima/oopicima, na OOBoardovima ova sabirnica nema konektor. Da biste pristupili ovoj sabirnici, morate lemiti žice na pinove 42 i 37 mikrokontrolera (označeni N_SDA, N_SCL na shemi, respektivno).
Korak 2: Dodajte Pullup otpornike
Nakon što se povežu SDA i SCL veze na svakom procesoru, dvije ploče mogu
biti spojeni spajanjem SDA na SDA, SCL na SCL i spajanjem zajedničke uzemljene žice između ploča. Također će vam trebati pull-up otpornik na svakoj liniji (koristio sam 12k, ali to je ono što sam imao okolo). Imajte na umu da vam je potreban samo jedan otpornik za podizanje po liniji za ukupno dva otpornika (ne 4).
Korak 3: Programirajte slave
Sada kada postoje fizičke veze, morat ćete programirati pomoćni mikrokontroler. Dolje sam dodao neki kôd koji bi trebao započeti.
Priguši SLAVE kao novo oDDELinkDim LED kao novo oDIO1Sub Main () & postavi našu I2C adresu na 2 (imajte na umu da se ovo mora podudarati s udaljenom & adresnom adresom koju smo postavili u glavnom kodu) ooPIC. Node = 2 & apossetup LED LED. IOLine = 5 LED. Direction = cvOutput & aposnow, povežite izlaz našeg objekta DDELink sa & aposthe LED, i uključite ga … sada će automatski, LED dioda će treptati SLAVE. Output. Link (LED) SLAVE. Operate = cvTrueEnd Sub
Korak 4: Programirajte Master
Na kraju programirajte glavni mikrokontroler. Obratite posebnu pozornost na retke koji postavljaju svojstvo. Location DDELinka: Ako ovo nije ispravno postavljeno, ovo NEĆE uspjeti!
Dim Master As New oDDELinkDim žica kao nova oWireDim hz1 kao nova oBitSub Main () & aposinkrovati timer od 1 sekunde na bit kojem možemo pristupiti & aposthis bit će se sada mijenjati jednom u sekundi žice. Ulaz. Link (ooPIC. Hz1) žica. Link (hz1) wire. Operate = cvTrue & aposthis postavlja I2C adresu našeg lokalnog mikrokontrolera & aposthe I2C sučelje nije aktivno sve dok adresa nije postavljena ooPIC. Node = 1 & aposnow postavimo naš objekt DDELink, naš ulaz je bit hz1 & aposno napominjemo da Objekt također ima svojstvo. Output koje se koristi & apos kada smo u načinu primanja Master. Input. Link (hz1) & aposthis I2C adresa udaljenog mikrokontrolera, imajte na umu da & aposin slave code, kažemo mu da ima adresu 2 Master. Node = 2 & aposugh … ovo je usrani dio, ovo je "adresa" DDELink & aposobject u memorijskom prostoru slave & aposs. Da bismo shvatili ovaj broj, & aposwe moramo otvoriti i sastaviti slave kôd, a zatim otići na View-> Compiled Code. & aposlook za nešto poput: & aposL *. Construct. Begin; Dim as new oDDELink & aposwhere * je bilo koji broj i naziv je vašeg objekta DDELink & aposin vašeg slave koda. Redak ispod njega trebao bi glasiti nešto poput: & aposC0020: 041; This.. Address & aposthe number with the des of the & apos: & apos je adresa slave DDELink objekta Master. Location = 41 & aposthis govori objektu koji ćemo poslati data (tj. kopirajte podatke iz našeg. Input svojstva i aposto slaves.output svojstva (napomena, ako ovo postavite da prima, to je suprotno) Master. Direction = cvSend & aposturn on, ali ništa se još ne događa … Master. Operate = cvTrue Učinite & aposcheck da provjerite prenosimo li podatke. Ako Master. Transmitting = cvFalse Zatim & apospostavka ove vrijednosti na 1 uzrokuje da master pošalje vrijednost na slave & aposnote, to se automatski poništava na 0 po završetku prijenosa Master. Sync = 1 Kraj Ako je LoopEnd Sub
Preporučeni:
Omogućimo zajedno popraviti Fitbit Charge 2. Linije na ekranu .: 3 koraka
Omogućimo zajedno popraviti Fitbit Charge 2. Linije na ekranu. Dakle, otprilike 13 nosača nakon što sam kupio svoj prvi Fitbit počeo sam dobivati linije koje su išle po ekranu. Svaki dan bi se pojavio još jedan ponekad više od jednog dnevno. Brinuo sam se o svom Fitbitu, mislio sam i nisam znao zašto je to počelo. jednom
Divovski šišmiši- Kako integrirati dvije fotografije pomoću Pixlra: 7 koraka
Divovski šišmiši- Kako integrirati dvije fotografije pomoću Pixlra: Gore u ravnim vrhovima na zapadnoj padini Stjenovitih planina naišao sam na ovaj znak na cesti koju sam istraživao. Rečeno je: "ZA ZAŠTITU ŠIŠMIŠEVA, ŠPILJE I MINE SU ZATVORENE ULAZU U LJUDE". Mislio sam da je to neobično jer
Rad s dvije LED diode pomoću Arduino UNO u TinkerCAD krugovima: 8 koraka
Rad s dvije LED diode pomoću Arduino UNO -a u TinkerCAD krugovima: Ovaj projekt prikazuje rad s dvije LED i Arduino u TinkerCAD krugovima
UCL - Ugrađen // Svjetlosni traktor s dvije osi za solarne ploče: 7 koraka
UCL - Ugrađen // Svjetlosni traktor s dvije osi za solarne panele: sastavljeni projekt i pojedinačne 3D datoteke
Svjetlo upozorenja za rotacijske svjetionike u dvije boje u dvije boje: 6 koraka
Svjetlo upozorenja rotacijskog svjetionika u dvije boje: U ovom Instructable -u stvorit ćemo mini svjetlo. Znate, jedno od onih starinskih rotirajućih svjetala koje su stavljali na građevinsku opremu prije nego što su LED diode postale velike? Da. Jedan od onih. Ovaj će biti relativno jednostavan i malen