Innehållsförteckning:
- Steg 1: Ansluter till I2C Network Bus
- Steg 2: Lägg till pullup -resistorerna
- Steg 3: Programmera slaven
- Steg 4: Programmera Master
Video: Ansluta två OOBoards tillsammans med I2C: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:47
Denna instruktion beskriver hur du ansluter två OOBoards med I2C.
Steg 1: Ansluter till I2C Network Bus
Det finns två I2C -bussar på OOBoards, en lokalbuss och en nätbuss.
OOPIC -koden är i huvudsak ett tolkat språk, dvs "koden" lagras i EEPROM och läses/tolkas av mikroprocessorn i realtid. EEPROM använder LOCAL I2C -bussen för att kommunicera med mikrokontrollern. Om du skulle titta på den här lokala bussen i oscilloskopet, skulle du se konstant prat. På OOBoards -korten är lokalbussen det som är anslutet till I2C -kontakten, det är inte nödvändigtvis vad vi vill ha. NETWORK -bussen är vanligtvis bussen som används för att kommunicera med andra enheter/oopics, på OOBoards har denna buss ingen kontakt. För att komma åt den här bussen måste du löda kablarna till stiften 42 och 37 på mikrokontrollen (markerad N_SDA, N_SCL på schemat).
Steg 2: Lägg till pullup -resistorerna
När SDA- och SCL -anslutningar har gjorts på varje processor kan de två korten
kopplas samman genom att ansluta SDA till SDA, SCL till SCL och ansluta en gemensam jordkabel mellan korten. Du kommer också att behöva ett uppdragningsmotstånd på varje linje (jag använde 12k, men det var precis vad jag hade liggande). Observera att du bara behöver ett pullup -motstånd per rad för totalt två motstånd (inte 4).
Steg 3: Programmera slaven
Nu när de fysiska anslutningarna är där måste du programmera slavens mikrokontroller. Jag har lagt till en kod nedan som ska komma igång.
Dim SLAVE As New oDDELinkDim LED As New oDIO1Sub Main () & aposset our I2C address to 2 (note, this must match the remote & aposaddress we set in the master code) ooPIC. Node = 2 & apossetup a LED LED. IOLine = 5 LED. Riktning = cvOutput & aposnow, länka utdata från vårt DDELink -objekt till & aposthe LED och slå på det … nu automatiskt blinkar lysdioden SLAVE. Output. Link (LED) SLAVE. Operate = cvTrueEnd Sub
Steg 4: Programmera Master
Slutligen programmerar du huvudmikrokontrollern. Var uppmärksam på linjerna som ställer in DDELinks. Location -egenskap: Om inte detta är korrekt inställt fungerar detta INTE!
Dim Master As New oDDELinkDim wire As New oWireDim hz1 As New oBitSub Main () & aposlink the 1 second timer to the bit we can access & aposthis bit will now switch one per second wire. Input. Link (ooPIC. Hz1) wire. Output. Länk (hz1) wire. Operate = cvTrue & aposthis anger I2C -adressen för vår lokala mikrokontroller och apostel I2C -gränssnittet är inte aktivt förrän en adress har ställts in ooPIC. Node = 1 & aposnow vi konfigurerar vårt DDELink -objekt, vår ingång är bit hz1 & aposnot att objektet har också en. Output -egenskap som används & apos när vi är i mottagningsläge Master. Input. Link (hz1) & aposthis är I2C -adressen för den fjärrkontrollen, observera att & aposin i slavkoden säger vi att den ska ha en adress på 2 Master. Node = 2 & aposugh … det här är den skitiga delen, detta är "adressen" för DDELink & aposobjektet i slave- och aposs -minnesutrymmet. För att räkna ut detta nummer måste vi öppna och kompilera slavkoden och sedan gå till Visa-> Kompilerad kod. & apos leta efter något i stil med: & aposL *. Construct. Begin; Dim som nytt oDDELink & aposwhere * är valfritt tal, och är namnet på ditt DDELink -objekt & aposin din slavkod. Raden nedanför den ska läsa något i stil med: & aposC0020: 041; Detta.. Adress & aposthe nummer till höger om & apos: & apos är adressen till slaven DDELink objekt Master. Location = 41 & aposthis berättar objektet som vi kommer att skicka data (dvs. kopiera data från vår. Input -egenskap & aposto slavarna.output -egenskapen (notera, om du ställer in detta för att få det är det motsatta) Master. Direction = cvSend & aposturn it on, men inget händer ännu … Master. Operate = cvTrue Do & aposcheck för att se om vi för närvarande överför data Om Master. Transmitting = cvFalse Då & om du placerar detta värde till 1 kommer mastern att skicka värdet till slaven och aposnoten, detta återställs automatiskt till 0 när överföringen är klar. Sync = 1 Slut Om LoopEnd Sub
Rekommenderad:
Låt oss fixa en Fitbit Charge 2 tillsammans. Rader på skärmen .: 3 steg
Låt oss fixa en Fitbit Charge 2 tillsammans. Linjer på skärmen .: Så cirka 13 fästen efter att ha köpt min första Fitbit började jag få linjer som gick över skärmen. Varje dag skulle en annan dyka upp ibland mer än en om dagen. Jag tog mycket väl hand om min Fitbit trodde jag och visste inte varför den började. en gång
Hur får man en termometer och LCD att fungera tillsammans ?: 10 steg
Hur man får en termometer och LCD att fungera tillsammans ?: Syftet med denna handledning är att visa dig hur du använder en DHT11 -termometer som visar temperatur och luftfuktighet på en 16 x 2 LCD -skärm
Prata med Alexa och Google Assistant tillsammans i en Raspberry Pi: 4 steg
Prata med Alexa och Google Assistant tillsammans i en Raspberry Pi: Kör Amazon Alexa och Google Assistant samtidigt i en Raspberry Pi. Ring något av deras namn, de tänder sina egna lysdioder och ringer för att svara. Sedan frågar du någon förfrågan och de svarar på den respektive. Du kan känna deras karaktär
Gör en cool Micro: bit Hovercraft tillsammans: 6 steg (med bilder)
Gör en Cool Micro: bit Hovercraft Together: För det mesta kan bilarna vi tillverkat bara köra på markytan. Idag ska vi skapa en svävare, som löper både i vattnet och på marken, eller till och med i luften. Vi använder två motorer för att blåsa luft under för att stödja hovercrafen
Lödning tillsammans blinkande RGB LED -projekt: 6 steg
Lödning Tillsammans Blinkande RGB LED -projekt: Känner du någon som vill lära sig lite om elektronik? Att koppla ihop vissa komponenter är det första steget i att starta resan. Eller kanske du bara vill testa några av dessa coola blinkande RGB -lysdioder! Med en total projektkostnad på mellan $ 2,00 per