Tabla de contenido:
- Paso 1: Conexión al bus de red I2C
- Paso 2: agregue las resistencias de pullup
- Paso 3: Programe el esclavo
- Paso 4: Programe el Máster
Video: Conectar dos OOBoards juntos usando I2C: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:44
Este instructivo cubre cómo conectar dos OOBoards usando I2C.
Paso 1: Conexión al bus de red I2C
Hay dos buses I2C en los OOBoards, un bus local y un bus de red.
El código OOPIC es esencialmente un lenguaje interpretado, es decir, el "código" se almacena en EEPROM y el microprocesador lo lee / interpreta en tiempo real. La EEPROM usa el bus I2C LOCAL para comunicarse con el microcontrolador. Si mirase este bus local en el osciloscopio, vería un parloteo constante. En las placas OOBoards, el bus local es lo que está conectado al conector I2C, esto no es necesariamente lo que queremos. El bus NETWORK suele ser el bus que se utiliza para comunicarse con otros dispositivos / oopics, en los OOBoards este bus no tiene conector. Para acceder a este bus, debe soldar cables a los pines 42 y 37 del microcontrolador (marcados como N_SDA, N_SCL en el esquema respectivamente).
Paso 2: agregue las resistencias de pullup
Una vez que se realizan las conexiones SDA y SCL en cada procesador, las dos placas pueden
conectarse entre sí conectando SDA a SDA, SCL a SCL y conectando un cable de tierra común entre las placas. También necesitará una resistencia pull-up en cada línea (usé 12k, pero eso es lo que tenía por ahí). Tenga en cuenta que solo necesita una resistencia pullup por línea para un total de dos resistencias (no 4).
Paso 3: Programe el esclavo
Ahora que las conexiones físicas están ahí, necesitará programar el microcontrolador esclavo. Agregué un código a continuación que debería ayudarlo a comenzar.
Atenúe SLAVE como nuevo oDELinkDim LED como nuevo oDIO1Sub Main () y establezca nuestra dirección I2C en 2 (tenga en cuenta que esto debe coincidir con la & aposaddress remota que configuramos en el código maestro) ooPIC. Node = 2 & aposconfigure un LED LED. IOLine = 5 LED. Direction = cvOutput & aposnow, vincule la salida de nuestro objeto DDELink a & aposthe LED, y enciéndalo … ahora automáticamente, el LED parpadeará SLAVE. Output. Link (LED) SLAVE. Operate = cvTrueEnd Sub
Paso 4: Programe el Máster
Finalmente, programe el microcontrolador maestro. Preste mucha atención a las líneas que establecen la propiedad. Location de DDELink: a menos que se establezca correctamente, ¡NO funcionará!
Dim Master como nuevo oDELinkDim wire como nuevo oWireDim hz1 como nuevo oBitSub Main () & aposlink el temporizador de 1 segundo al bit al que podemos acceder & aposthis bit ahora alternará una vez por segundo wire. Input. Link (ooPIC. Hz1) wire. Output. Link (hz1) wire. Operate = cvTrue & aposthis establece la dirección I2C de nuestro microcontrolador local y aposthe La interfaz I2C no está activa hasta que se establece una dirección ooPIC. Node = 1 & aposnow we setup nuestro objeto DDELink, nuestra entrada es el bit hz1 & aposnote que el El objeto también tiene una propiedad. Output que se usa & apos cuando estamos en modo de recepción Master. Input. Link (hz1) & aposthis es la dirección I2C del microcontrolador remoto, tenga en cuenta que & aposin el código esclavo, le decimos que tenga una dirección de 2 Master. Node = 2 & aposugh… esta es la parte de mierda, esta es la "dirección" del DDELink & aposobject en el espacio de memoria del esclavo & aposs. Para averiguar este número, & apos tenemos que abrir y compilar el código esclavo, luego ir a Ver-> Código compilado. & aposbusque algo como: & aposL *. Construct. Begin; Dim as new oDDELink & apos donde * es cualquier número, y es el nombre de su objeto DDELink & apos en su código esclavo. La línea inmediatamente debajo debería leer algo como: & aposC0020: 041; Esta … dirección & aposte número a la derecha del & apos: & apos es la dirección del objeto esclavo DDELink Master. Location = 41 & aposthis le dice al objeto que estaremos enviando datos (es decir, copie datos de nuestra propiedad. Input y aposto la propiedad.output de los esclavos (tenga en cuenta que si configura esto para recibir, es lo contrario) Master. Direction = cv Enviar y apostar, pero todavía no sucede nada … Master. Operate = cvTrue Do & aposcheck para ver si estamos transmitiendo datos actualmente If Master. Transmitting = cvFalse Entonces & aposfigurar este valor en 1 hará que el maestro envíe el valor al esclavo & aposnote, esto se restablece automáticamente a 0 una vez completada la transmisión Master. Sync = 1 Fin Si LoopEnd Sub
Recomendado:
Arreglemos un Fitbit Charge 2 juntos. Líneas en la pantalla: 3 pasos
Arreglemos un Fitbit Charge 2 juntos. Líneas en la pantalla: Entonces, aproximadamente 13 monturas después de comprar mi primer Fitbit, comencé a recibir líneas que iban a través de la pantalla. Todos los días aparecía otro a veces más de uno al día. Cuidé muy bien mi Fitbit, pensé y no sabía por qué comenzó. una vez
¿Cómo hacer que un termómetro y una pantalla LCD funcionen juntos?: 10 pasos
¿Cómo hacer que un termómetro y una pantalla LCD funcionen juntos?: El objetivo de este tutorial es mostrarle cómo usar un termómetro DHT11 que mostrará la temperatura y la humedad en una pantalla LCD de 16 x 2
Habla con Alexa y el Asistente de Google juntos en una Raspberry Pi: 4 pasos
Hable con Alexa y el Asistente de Google juntos en una Raspberry Pi: ejecute Amazon Alexa y el Asistente de Google al mismo tiempo en una Raspberry Pi. Llamen a cualquiera de sus nombres, encienden sus propios LED y suenan para responder. Luego haces alguna petición y te la responden respectivamente. Puedes conocer su carácter
Haga un aerodeslizador genial: bit Hovercraft juntos: 6 pasos (con imágenes)
Hagamos juntos un aerodeslizador genial: la mayoría de las veces, los autos que fabricamos solo pueden correr sobre la superficie del suelo. Hoy vamos a crear un aerodeslizador, que corre tanto en el agua como en tierra, o incluso en el aire. Usamos dos motores para soplar aire debajo para sostener el aerodeslizador
Suelde juntos el proyecto LED RGB parpadeante: 6 pasos
Solder Together Flashing RGB LED Project: ¿Conoce a alguien que quiera aprender un poco sobre electrónica? El cableado de algunos componentes es el primer paso para iniciar el viaje. ¡O tal vez solo quieras probar algunos de estos fantásticos LED RGB parpadeantes! Con un costo total del proyecto de entre $ 2.00 a