Sommario:
- Passaggio 1: connessione al bus di rete I2C
- Passaggio 2: aggiungere i resistori di pullup
- Passaggio 3: programma lo slave
- Passaggio 4: programma il Master
Video: Collegamento di due OOBoard insieme utilizzando I2C: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:05
Questa istruzione spiega come collegare due OOBoard utilizzando I2C.
Passaggio 1: connessione al bus di rete I2C
Ci sono due bus I2C sulle OOBoard, un bus locale e un bus di rete.
Il codice OOPIC è essenzialmente un linguaggio interpretato, ovvero il "codice" viene memorizzato in EEPROM, e letto/interpretato dal microprocessore in tempo reale. La EEPROM utilizza il bus I2C LOCALE per comunicare con il microcontrollore. Se dovessi guardare questo autobus locale sull'oscilloscopio, vedresti un chiacchiericcio costante. Sulle schede OOBoards, il bus locale è ciò che è collegato al connettore I2C, non è necessariamente quello che vogliamo. Il bus NETWORK è solitamente il bus che viene utilizzato per comunicare con altri dispositivi/oopic, sulle OOBoard questo bus non ha un connettore. Per accedere a questo bus, è necessario saldare i fili ai pin 42 e 37 del microcontrollore (segnati rispettivamente N_SDA, N_SCL sullo schema).
Passaggio 2: aggiungere i resistori di pullup
Una volta effettuate le connessioni SDA e SCL su ciascun processore, le due schede possono
essere collegati tra loro collegando SDA a SDA, SCL a SCL e collegando un filo di terra comune tra le schede. Avrai anche bisogno di un resistore di pull-up su ogni linea (ho usato 12k, ma è proprio quello che avevo in giro). Si noti che è necessario solo un resistore di pullup per linea per un totale di due resistori (non 4).
Passaggio 3: programma lo slave
Ora che ci sono le connessioni fisiche, dovrai programmare il microcontrollore slave. Ho aggiunto del codice di seguito che dovrebbe iniziare.
Dim SLAVE As New oDDELinkDim LED As New oDIO1Sub Main() &imposta il nostro indirizzo I2C su 2 (nota, questo deve corrispondere all'indirizzo remoto che abbiamo impostato nel codice master) ooPIC. Node = 2 &apossetup a LED LED. IOLine = 5 LED. Direction = cvOutput &aposnow, collega l'output del nostro oggetto DDELink a &aposthe LED e accendilo… ora automaticamente, il LED lampeggerà SLAVE. Output. Link(LED) SLAVE. Operate = cvTrueEnd Sub
Passaggio 4: programma il Master
Infine, programma il microcontrollore master. Presta molta attenzione alle righe che impostano la proprietà. Location di DDELink: a meno che non sia impostato correttamente, NON funzionerà!
Dim Master As New oDDELinkDim wire As New oWireDim hz1 As New oBitSub Main() &aposlink il timer di 1 secondo al bit a cui possiamo accedere &aposthis bit ora passerà una volta al secondo wire. Input. Link(ooPIC. Hz1) wire. Output. Link(hz1) wire. Operate = cvTrue &aposthis imposta l'indirizzo I2C del nostro microcontrollore locale &aposl'interfaccia I2C non è attiva fino a quando non viene impostato un indirizzo ooPIC. Node = 1 &aposnow impostiamo il nostro oggetto DDELink, il nostro input è il bit hz1 &aposnota che il l'oggetto ha anche una proprietà. Output che viene utilizzata &aposquando siamo in modalità di ricezione Master. Input. Link(hz1) &aposquesto è l'indirizzo I2C del microcontrollore remoto, si noti che &apos nel codice slave, gli diciamo di avere un indirizzo di 2 Master. Node = 2 &aposugh…questa è la parte schifosa, questo è l'"indirizzo" del DDELink &aposobject nello spazio di memoria dello slave. Per calcolare questo numero, è necessario aprire e compilare il codice slave, quindi andare su Visualizza->Codice compilato. &aposcerca qualcosa come: &aposL*. Construct. Begin;Dim as new oDDELink &aposwhere * è un qualsiasi numero ed è il nome del tuo oggetto DDELink &apos nel tuo codice slave. La riga immediatamente sotto dovrebbe essere qualcosa del tipo: &aposC0020:041;This.. Address &aposil numero a destra di &apos:&apos è l'indirizzo dell'oggetto slave DDELink Master. Location = 41 &aposthis indica l'oggetto che invieremo data (cioè, copia i dati dalla nostra proprietà. Input &aposto la proprietà slaves.output (nota, se lo imposti per ricevere, è l'opposto) Master. Direction = cvSend &aposaccendilo, ma non sta succedendo ancora nulla… Master. Operate = cvTrue Fare &aposcheck per vedere se stiamo attualmente trasmettendo dati Se Master. Transmitting = cvFalse Quindi &apossettando questo valore su 1 farà sì che il master invii il valore allo slave &aposnote, questo viene automaticamente reimpostato su 0 al completamento della trasmissione Master. Sync = 1 End If LoopEnd Sub
Consigliato:
Consente di riparare un Fitbit Charge 2 insieme. Linee sullo schermo.: 3 passaggi
Consente di riparare un Fitbit Charge 2 insieme. Linee sullo schermo.: Quindi circa 13 supporti dopo aver acquistato il mio primo Fitbit ho iniziato a ricevere linee che attraversavano lo schermo. Ogni giorno un altro si presentava a volte più di uno al giorno. Mi sono preso molta cura del mio Fitbit pensavo e non sapevo perché è iniziato. una volta
Collegamento di Arduino WiFi al cloud utilizzando ESP8266: 7 passaggi
Connettere Arduino WiFi al Cloud usando ESP8266: In questo tutorial ti spiegheremo come connettere il tuo Arduino al cloud IoT tramite WiFi. Configureremo un setup composto da un Arduino e un modulo WiFi ESP8266 come IoT Thing e lo prepareremo per comunicare con il cloud AskSensors.L
Come far funzionare insieme un termometro e un display LCD?: 10 passaggi
Come far funzionare insieme un termometro e un display LCD?: Lo scopo di questo tutorial è mostrarti come utilizzare un termometro DHT11 che visualizzerà la temperatura e l'umidità su uno schermo LCD 16 x 2
Collegamento del motore ad Arduino utilizzando L293D: 3 passaggi
Collegamento del motore ad Arduino usando L293D: un motore è l'elemento base della robotica e se stai imparando Arduino, imparare a collegare un motore ad esso è molto importante. Oggi lo faremo usando L293D ic. Un circuito integrato per il driver del motore L293D è davvero importante. In caso contrario, sarà
UCL - Collegamento di Node-red a un PLC Siemens utilizzando KEPserver: 7 passaggi
UCL - Collegamento di Node-red a un PLC Siemens utilizzando KEPserver: RequisitiNode-red: https://nodered.org/docs/getting-started/installationKEPserver: https://www.kepware.com/en-us/kepserverex-6 -6-rilascio