INHOUDSOPGAWE:
- Stap 1: Koppel aan die I2C -netwerkbus
- Stap 2: Voeg die Pullup -weerstande by
- Stap 3: Programmeer die slaaf
- Stap 4: Programmeer die Meester
Video: Verbind twee OOBoards met behulp van I2C: 4 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:28
Hierdie instruksies dek hoe om twee OOBoards met I2C aan te sluit.
Stap 1: Koppel aan die I2C -netwerkbus
Daar is twee I2C -busse op die OOBoards, 'n plaaslike bus en 'n netwerkbus.
Die OOPIC -kode is in wese 'n geïnterpreteerde taal, dws die 'kode' word in EEPROM gestoor en intyds deur die mikroverwerker gelees/geïnterpreteer. Die EEPROM gebruik die LOCAL I2C -bus om met die mikrobeheerder te kommunikeer. As u na hierdie plaaslike bus op die ossilloskoop sou kyk, sou u konstante geklets sien. Op die OOBoards -borde is die plaaslike bus wat aan die I2C -aansluiting gekoppel is; dit is nie noodwendig wat ons wil hê nie. Die NETWERK -bus is gewoonlik die bus wat gebruik word om met ander toestelle/oopika te kommunikeer, op die OOBoards het hierdie bus nie 'n aansluiting nie. Om toegang tot hierdie bus te verkry, moet u drade aan penne 42 en 37 van die mikrokontroleerder soldeer (onderskeidelik gemerk N_SDA, N_SCL op die skema).
Stap 2: Voeg die Pullup -weerstande by
Sodra SDA- en SCL -verbindings op elke verwerker gemaak is, kan die twee borde
aan mekaar gekoppel word deur SDA aan SDA te koppel, SCL aan SCL en 'n gemeenskaplike aarddraad tussen die planke te koppel. U benodig ook 'n optrekweerstand op elke lyn (ek het 12k gebruik, maar dit was presies wat ek gehad het). Let daarop dat u slegs een weerstandsweerstand per lyn benodig vir 'n totaal van twee weerstande (nie 4 nie).
Stap 3: Programmeer die slaaf
Noudat die fisiese verbindings daar is, moet u die slaaf -mikrobeheerder programmeer. Ek het 'n paar kode hieronder bygevoeg wat u kan help.
Dim SLAVE as nuut oDDELinkDim LED as nuut oDIO1Sub Main () & stel ons I2C -adres op 2 (let op, dit moet ooreenstem met die afstandsbediening en die adres wat ons in die hoofkode stel) ooPIC. Node = 2 & stel 'n LED -LED op. IOLine = 5 LED. Rigting = cvOutput & aposnow, koppel die uitset van ons DDELink -voorwerp aan & aposthe LED, en skakel dit aan … nou outomaties sal die LED SLAVE knip. Output. Link (LED) SLAVE. Operate = cvTrueEnd Sub
Stap 4: Programmeer die Meester
Uiteindelik, programmeer die meester -mikrobeheerder. Gee noukeurig aandag aan die lyne wat die DDELink se. Lokasie -eiendom stel: tensy dit reg ingestel is, sal dit NIE werk nie!
Dim Master As New oDDELinkDim wire As New oWireDim hz1 As New oBitSub Main () & koppel die 1 sekonde timer aan die bietjie wat ons kan kry en aposthis bit sal nou een keer per sekonde draad skakel. Input. Link (ooPIC. Hz1) wire. Output. Skakel (hz1) draad. Operate = cvTrue & aposthis stel die I2C -adres van ons plaaslike mikrobeheerder in en die I2C -koppelvlak is nie aktief totdat 'n adres ingestel is ooPIC. Node = 1 & aposnow ons stel ons DDELink -voorwerp op, ons insette is die bietjie hz1 & aposnote dat die voorwerp het ook 'n. Uitgangseiendom wat gebruik word & as ons in die ontvangsmodus is Master. Input. Link (hz1) & aposthis is die I2C -adres van die eksterne mikrobeheerder, let op dat ons in die slaafkode sê dat ons 'n adres van 2 het Master. Node = 2 & aposugh … dit is die mal gedeelte, dit is die 'adres' van die DDELink & aposobject in die slawe & aposs geheue ruimte. Om hierdie nommer uit te vind, moet ons die slaafkode oopmaak en saamstel en dan na View-> Compiled Code gaan. & apos soek na iets soos: & aposL *. Construct. Begin; Dim as new oDDELink & aposwhere * is 'n getal, en is die naam van u DDELink -voorwerp en plaas u slaafkode. Die reël onmiddellik daaronder behoort iets te lees soos: & aposC0020: 041; Hierdie.. Adres & aposthe nommer regs van die & apos: & apos is die adres van die slaaf DDELink object Master. Location = 41 & aposthis vertel die voorwerp wat ons sal stuur data (dit wil sê, kopieer data van ons. Invoereiendom & aposto die slawe.uitput -eiendom (let op, as u dit stel om te ontvang, is dit die teenoorgestelde) Master. Direction = cvStuur en plaas dit aan, maar niks gebeur nog nie … Master. Operate = cvTrue Do & aposcheck om te sien of ons tans data stuur As Master. Transmitting = cvFalse Dan & as u hierdie waarde op 1 plaas, sal die meester die waarde na die slaaf en aposnoot stuur, dit word outomaties teruggestel op 0 na voltooiing van die transmissie Master. Sync = 1 Einde As LoopEnd Sub
Aanbeveel:
Beheer oor die hele wêreld met behulp van internet met behulp van Arduino: 4 stappe
Beheer oor die hele wêreld met behulp van internet met behulp van Arduino: Hallo, ek is Rithik. Ons gaan 'n internetbeheerde LED maak met u telefoon. Ons gaan sagteware soos Arduino IDE en Blynk gebruik. Dit is eenvoudig, en as u daarin geslaag het, kan u soveel elektroniese komponente beheer as wat u wil
Monitor versnelling met behulp van Raspberry Pi en AIS328DQTR met behulp van Python: 6 stappe
Monitering van versnelling met behulp van Raspberry Pi en AIS328DQTR Gebruik van Python: Versnelling is eindig, volgens ek volgens sommige wette van die fisika.- Terry Riley 'n Jagluiperd gebruik ongelooflike versnelling en vinnige spoedveranderinge wanneer hy jaag. Die vinnigste wesens aan wal gebruik af en toe sy hoogste tempo om prooi te vang. Die
I2C / IIC LCD -skerm - Gebruik 'n SPI LCD na die I2C LCD Display met behulp van SPI tot IIC module met Arduino: 5 stappe
I2C / IIC LCD -skerm | Gebruik 'n SPI LCD na die I2C LCD -skerm Met behulp van SPI na IIC -module met Arduino: Hallo ouens, aangesien 'n normale SPI LCD 1602 te veel drade het om aan te sluit, is dit baie moeilik om dit met arduino te koppel, maar daar is een module op die mark wat kan omskep SPI -skerm in IIC -skerm, sodat u slegs 4 drade moet aansluit
Verbind 4 speletjies met behulp van Arduino en Neopixel: 7 stappe (met foto's)
Connect 4 Game met Arduino en Neopixel: Eerder as om net 'n geskenkgeskenkie te gee, wou ek my nefies 'n unieke geskenk gee wat hulle kon saamstel en (hopelik) geniet. Alhoewel die Arduino -kode vir hierdie projek te moeilik is om te verstaan, is die basiese konsepte
Hoe om van 0 tot 99 te tel met behulp van 8051 mikrobeheerder met 7 segmentweergawe: 5 stappe (met foto's)
Hoe om van 0 tot 99 te tel Met behulp van 8051 mikrobeheerder met 7 -segmentweergawe: Hallo almal, in hierdie tutoriaal gaan ons u vertel hoe om van 0 tot 99 te tel met twee 7 -segment -skerms