Sadržaj:
- Korak 1: Povezivanje na I2C mrežnu sabirnicu
- Korak 2: Dodajte otpornike za izvlačenje
- Korak 3: Programirajte Slave
- Korak 4: Programirajte Master
Video: Povezivanje dvije OOBard ploče zajedno pomoću I2C: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:09
Ovo uputstvo pokriva kako spojiti dvije OOBard kartice pomoću I2C.
Korak 1: Povezivanje na I2C mrežnu sabirnicu
Postoje dva I2C autobusa na OOBoards, lokalna magistrala i mrežna sabirnica.
OOPIC kôd je u osnovi interpretirani jezik, tj. "Kôd" je pohranjen u EEPROM -u i čita ga/tumači mikroprocesor u stvarnom vremenu. EEPROM koristi LOCAL I2C sabirnicu za komunikaciju s mikrokontrolerom. Ako pogledate 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 je obično 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 otpornike za izvlačenje
Nakon što se povežu SDA i SCL veze na svakom procesoru, dvije ploče to mogu
spojiti spajanjem SDA na SDA, SCL na SCL i spajanjem zajedničke žice za uzemljenje između ploča. Također će vam trebati pull-up otpornik na svakoj liniji (koristio sam 12 k, ali to je ono što sam imao okolo). Imajte na umu da vam je potreban samo jedan pullup otpornik 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 kod 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 ovo mora odgovarati udaljenoj & adresnoj adresi koju smo postavili u glavnom kodu) ooPIC. Node = 2 & postavi LED LED. IOLine = 5 LED. Direction = cvOutput & aposnow, povežite izlaz našeg DDELink objekta sa & aposthe LED, i uključite ga … sada automatski, LED će treperiti SLAVE. Output. Link (LED) SLAVE. Operate = cvTrueEnd Sub
Korak 4: Programirajte Master
Na kraju, programirajte glavni mikrokontroler. Obratite posebnu pažnju na redove koji postavljaju svojstvo. Location DDELinka: Ako ovo nije pravilno postavljeno, ovo NEĆE uspjeti!
Dim Master kao nova oDDELinkDim žica kao nova oWireDim hz1 kao nova oBitSub Main () & aposinkrira tajmer od 1 sekunde do bita kojem možemo pristupiti & aposthis bit će se sada mijenjati jednom u sekundi žice. Link (hz1) wire. Operate = cvTrue & aposthis postavlja I2C adresu našeg lokalnog mikrokontrolera & aposthe I2C sučelje nije aktivno dok se ne postavi adresa 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 je I2C adresa udaljenog mikrokontrolera, imajte na umu da & aposin slave koda, kažemo mu da ima adresu 2 Master. Node = 2 & aposugh … ovo je sranje, ovo je "adresa" DDELink & aposobject u memorijskom prostoru slave & aposs. Da bismo shvatili ovaj broj, & aposwe moramo otvoriti i kompajlirati 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 to je naziv vašeg DDELink objekta & aposin vašeg slave koda. Redak ispod njega trebao bi glasiti nešto poput: & aposC0020: 041; This.. Address & aposthe number desno od & 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 (imajte na umu, ako ovo postavite da prima, to je suprotno) Master. Direction = cvSend & aposturn on, ali ništa se još ne događa … Master. Operate = cvTrue Uradite & aposcheck da vidite da li trenutno prenosimo podatke. Ako Master. Transmitting = cvFalse Tada & postavljanje 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 End If LoopEnd Sub
Preporučuje se:
Popravimo zajedno Fitbit Charge 2. Linije na ekranu .: 3 koraka
Popravimo zajedno 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 pojavljivao 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. Na njemu je pisalo: "ZA ZAŠTITU ŠIŠMIJEVA, PEĆINE I MINE SU ZATVORENE ULAZU U LJUDE". Mislio sam da je ovo neobično jer
Vodič za povezivanje PLSD -a: Povezivanje na Apple TV putem AirPlay -a [Neslužbeno]: 10 koraka
PLSD Vodič za povezivanje: Povezivanje na Apple TV putem AirPlay -a [Neslužbeno]: Sljedeći vodič pruža ilustraciju procesa povezivanja sa Apple TV -ima u konferencijskoj sali putem AirPlay -a. Ovaj neslužbeni izvor dostupan je iz ljubaznosti administraciji, osoblju i ovlaštenim gostima Perkins lokalne školske oblasti
Rad s dvije LED diode pomoću Arduino UNO -a 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
Nifty Neopixel natpisne ploče i ploče: 3 koraka
Nifty Neopixel natpisne ploče i ploče: Evo jednostavnog načina da napravite prilagođene natpisne ploče ili praktične natpise koje je potrebno postaviti u blizini skupe, krhke ili opasne opreme. Osvijetlite ih neopikselima kako biste istaknuli važnu poruku na znaku. Odlično za sajam proizvođača ili konvenciju