Inhoudsopgave:
- Stap 1: Verbinding maken met de I2C-netwerkbus
- Stap 2: Voeg de pullup-weerstanden toe
- Stap 3: Programmeer de Slave
- Stap 4: Programmeer de Master
Video: Twee OOBoards met elkaar verbinden met behulp van I2C: 4 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:19
Dit instructable behandelt hoe u twee OOBoards kunt aansluiten met behulp van I2C.
Stap 1: Verbinding maken met de I2C-netwerkbus
Er zijn twee I2C-bussen op de OOBoards, een lokale bus en een netwerkbus.
De OOPIC-code is in wezen een geïnterpreteerde taal, dwz de "code" wordt opgeslagen in EEPROM en in realtime gelezen/geïnterpreteerd door de microprocessor. De EEPROM gebruikt de LOKALE I2C-bus om te communiceren met de microcontroller. Als je naar deze lokale bus op de oscilloscoop zou kijken, zou je constant geratel zien. Op de OOBoards-kaarten is de lokale bus wat is aangesloten op de I2C-connector, dit is niet noodzakelijk wat we willen. De NETWORK-bus is meestal de bus die wordt gebruikt om met andere apparaten/oopics te communiceren, op de OOBoards heeft deze bus geen connector. Om toegang te krijgen tot deze bus, moet u draden solderen op pinnen 42 en 37 van de microcontroller (respectievelijk gemarkeerd met N_SDA, N_SCL op het schema).
Stap 2: Voeg de pullup-weerstanden toe
Zodra SDA- en SCL-verbindingen op elke processor zijn gemaakt, kunnen de twee kaarten:
worden met elkaar verbonden door SDA aan SDA, SCL aan SCL te verbinden, en een gemeenschappelijke aardedraad tussen de kaarten aan te sluiten. Je hebt ook een pull-up-weerstand op elke lijn nodig (ik gebruikte 12k, maar dat was precies wat ik had liggen). Merk op dat je slechts één pullup-weerstand per lijn nodig hebt voor een totaal van twee weerstanden (niet 4).
Stap 3: Programmeer de Slave
Nu de fysieke verbindingen er zijn, moet je de slave-microcontroller programmeren. Ik heb hieronder wat code toegevoegd die je op weg zou moeten helpen.
Dim SLAVE als nieuw oDDELinkDim LED als nieuw oDIO1Sub Main() &zet ons I2C-adres op 2 (let op, dit moet overeenkomen met het afstandsbedieningsadres dat we in de mastercode hebben ingesteld) ooPIC. Node = 2 &apossetup an LED LED. IOLine = 5 LED. Direction = cvOutput &aposnow, koppel de output van ons DDELink-object aan &apostde LED, en zet hem aan… nu automatisch, zal de LED knipperen SLAVE. Output. Link(LED) SLAVE. Operate = cvTrueEnd Sub
Stap 4: Programmeer de Master
Programmeer tot slot de master-microcontroller. Let goed op de regels die de eigenschap. Location van de DDELink instellen: Tenzij dit correct is ingesteld, zal dit NIET werken!
Dim Master als nieuw oDDELinkDim-draad Als nieuw oWireDim hz1 Als nieuw oBitSub Main() &aposlink de timer van 1 seconde aan het bit waartoe we toegang hebben &aposthis bit schakelt nu eenmaal per seconde wire. Input. Link(ooPIC. Hz1) wire. Output. Link(hz1) wire. Operate = cvTrue &aposthis stelt het I2C-adres van onze lokale microcontroller in &aposthe I2C-interface is niet actief totdat een adres is ingesteld ooPIC. Node = 1 &aposNu we ons DDELink-object instellen, is onze invoer de bit hz1 &apos. object heeft ook een. Output-eigenschap die wordt gebruikt &aposwanneer we in de ontvangstmodus zijn Master. Input. Link(hz1) &aposthis is het I2C-adres van de externe microcontroller, merk op dat &aposin de slavecode, we vertellen dat deze een adres van 2 heeft Master. Node = 2 &aposugh…dit is het waardeloze deel, dit is het "adres" van het DDELink &aposobject in de geheugenruimte van de slave. Om dit nummer te achterhalen, &aposwe moeten de slave-code openen en compileren, en dan naar View->Compiled Code gaan. &aposzoek iets als: &aposL*. Construct. Begin;Dim als nieuw oDDELink &aposwhere * is een willekeurig getal en is de naam van uw DDELink-object &aposin uw slave-code. De regel direct eronder zou iets moeten zijn als: &aposC0020:041;This.. Address &aposhet nummer rechts van de &apos:&apos is het adres van het slave DDELink-object Master. Location = 41 &aposthis vertelt het object dat we zullen verzenden data (dwz kopieer data van onze. Input eigenschap &aposto de slaves.output eigenschap (let op, als je dit instelt om te ontvangen, is het het tegenovergestelde) Master. Direction = cvSend &apostzet het aan, maar er gebeurt nog niets… Master. Operate = cvTrue Do &aposcheck om te zien of we momenteel gegevens verzenden Als Master. Transmitting = cvFalse Dan &aposals deze waarde op 1 zet, zal de master de waarde naar de slave sturen &aposnote, dit wordt automatisch teruggezet naar 0 na voltooiing van de verzending Master. Sync = 1 End If LoopEnd Sub
Aanbevolen:
Controle geleid over de hele wereld met behulp van internet met behulp van Arduino - Ajarnpa
Controle over de hele wereld via internet met Arduino: Hallo, ik ben Rithik. We gaan een internetgestuurde led maken met je telefoon. We gaan software gebruiken zoals Arduino IDE en Blynk. Het is eenvoudig en als het je gelukt is, kun je zoveel elektronische componenten bedienen als je wilt Dingen die we nodig hebben: Hardware:
Toepassing van MCP-23008 met behulp van relaisinterface (I2C):: 6 stappen:
Toepassing van MCP-23008 met behulp van Relay Interface (I2C):: HelloGood Groeten..!! Ik (Somanshu Choudhary) namens Dcube tech ventures die relais gaan besturen via het I2C-protocol met behulp van Arduino nano en MCP23008
IoT Basics: uw IoT verbinden met de cloud met behulp van Mongoose OS: 5 stappen
IoT Basics: uw IoT verbinden met de cloud met behulp van Mongoose OS: als u een persoon bent die van knutselen en elektronica houdt, komt u vaker wel dan niet de term Internet of Things tegen, meestal afgekort als IoT, en dat het verwijst naar een reeks apparaten die verbinding kunnen maken met internet! Zo iemand zijn
Autonome regeling van het toerental van de motor met behulp van een feedbacksysteem van een op IR gebaseerde toerenteller - Ajarnpa
Autonome regeling van het toerental van de motor met behulp van feedbacksysteem van een op IR gebaseerde toerenteller: er is altijd behoefte aan automatisering van een proces, of het nu een eenvoudig/monsterlijk proces is. methoden om ons kleine stukje land water te geven / te irrigeren. Het probleem van geen huidige toevoerleiding
Hoe u gebruikersniveaus van NUMA toevoegt aan uw exemplaar van N met behulp van NumADD Firefox AddOn: 4 stappen
Gebruikersniveaus van NUMA toevoegen aan uw exemplaar van N NumADD Firefox-add-on gebruiken: Elke gebruiker van Metanet's N-database op gebruikersniveau NUMA weet hoe onhandig de interface is voor het kopiëren van door gebruikers gemaakte niveaus naar uw exemplaar van het spel. NumADD, elimineert de noodzaak van kopiëren en plakken en maakt het overzetten van niveaus het werk van één muisklik