Índice:
- Etapa 1: Conectando ao barramento de rede I2C
- Etapa 2: adicionar os resistores pullup
- Etapa 3: programar o escravo
- Etapa 4: programe o mestre
Vídeo: Conectando dois OOBoards juntos usando I2C: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
Este instrutível cobre como conectar dois OOBoards usando I2C.
Etapa 1: Conectando ao barramento de rede I2C
Existem dois barramentos I2C nos OOBoards, um barramento local e um barramento de rede.
O código OOPIC é essencialmente uma linguagem interpretada, ou seja, o "código" é armazenado na EEPROM e lido / interpretado pelo microprocessador em tempo real. A EEPROM usa o barramento I2C LOCAL para se comunicar com o microcontrolador. Se você olhasse para esse barramento local no osciloscópio, veria conversas constantes. Nas placas OOBoards, o barramento local é o que está conectado ao conector I2C, não é necessariamente o que queremos. O bus NETWORK é normalmente o bus que é usado para comunicar com outros dispositivos / opics, nos OOBoards este bus não tem um conector. Para acessar este barramento, você deve soldar os fios aos pinos 42 e 37 do microcontrolador (marcados com N_SDA, N_SCL no esquema, respectivamente).
Etapa 2: adicionar os resistores pullup
Uma vez que as conexões SDA e SCL são feitas em cada processador, as duas placas podem
ser interligados conectando SDA a SDA, SCL a SCL e conectando um fio terra comum entre as placas. Você também precisará de um resistor pull-up em cada linha (usei 12k, mas era exatamente o que eu tinha por aí). Observe que você só precisa de um resistor pullup por linha para um total de dois resistores (não 4).
Etapa 3: programar o escravo
Agora que as conexões físicas estão lá, você precisará programar o microcontrolador escravo. Eu adicionei um código abaixo que deve ajudá-lo a começar.
Dim SLAVE As New oDDELinkDim LED As New oDIO1Sub Main () & aposset nosso endereço I2C para 2 (note, isso deve corresponder ao remoto & apaddress que definimos no código mestre) ooPIC. Node = 2 & apossetup an LED. IOLine = 5 LED. Direction = cvOutput & aposnow, vincule a saída de nosso objeto DDELink ao LED e ligue-o … agora automaticamente, o LED piscará SLAVE. Output. Link (LED) SLAVE. Operate = cvTrueEnd Sub
Etapa 4: programe o mestre
Finalmente, programe o microcontrolador mestre. Preste muita atenção às linhas que definem a propriedade. Location do DDELink: A menos que seja definido corretamente, isso NÃO funcionará!
Dim Master As New oDDELinkDim wire As New oWireDim hz1 As New oBitSub Main () & aposlink o 1 segundo temporizador para o bit que podemos acessar & apos este bit irá agora alternar uma vez por segundo fio. Input. Link (ooPIC. Hz1) wire. Output. Link (hz1) wire. Operate = cvTrue & aposthis define o endereço I2C de nosso microcontrolador local & apos a interface I2C não está ativa até que um endereço seja definido ooPIC. Node = 1 & apos agora que configuramos nosso objeto DDELink, nossa entrada é o bit hz1 & apos note que o objeto também tem uma propriedade. Output que é usada & aposquando estamos no modo de recebimento Master. Input. Link (hz1) & aposthis é o endereço I2C do microcontrolador remoto, observe que & aposin no código escravo, dizemos que ele tem um endereço 2 Master. Node = 2 & aposugh… esta é a parte ruim, este é o "endereço" do DDELink & aposobject no espaço de memória do slave & aposs. Para descobrir esse número, & apos, precisamos abrir e compilar o código escravo e ir para Exibir-> Código Compilado. & aposprocure algo como: & aposL *. Construct. Begin; Dim as new oDDELink & aposwhere * é qualquer número e é o nome do seu objeto DDELink & aposin seu código escravo. A linha imediatamente abaixo deve ser algo como: & aposC0020: 041; This.. Address & aposthe número à direita do & apos: & apos é o endereço do objeto DDELink escravo Master. Location = 41 & aposthis diz ao objeto que iremos enviar dados (ou seja, copie os dados de nossa propriedade. Input & aposto para a propriedade.output dos escravos (note, se você definir isso para receber, é o oposto) Master. Direction = cvSend & aposturn on, mas nada está acontecendo ainda … Master. Operate = cvTrue Faça & aposcheck para ver se estamos atualmente transmitindo dados If Master. Transmitting = cvFalse Então & aposdefinir este valor para 1 fará com que o mestre envie o valor para o escravo & aposnote, isto é automaticamente redefinido para 0 após a conclusão da transmissão Master. Sync = 1 End If LoopEnd Sub
Recomendado:
[2020] Usando dois (x2) Micro: bits para controlar um carro RC: 6 etapas (com imagens)
[2020] Usando dois (x2) micro: bits para controlar um carro RC: Se você tiver dois (x2) micro: bits, já pensou em usá-los para controlar remotamente um carro RC? Você pode controlar um carro RC usando um micro: bit como o transmissor e outro como o receptor. Quando você usa o editor MakeCode para codificar um micro: b
Conectando o Arduino WiFi à nuvem usando ESP8266: 7 etapas
Conectando Arduino WiFi à nuvem usando ESP8266: Neste tutorial, vamos explicar como conectar seu Arduino à nuvem IoT através de WiFi. Vamos configurar uma configuração composta de um Arduino e um módulo WiFi ESP8266 como um IoT Thing e torná-lo pronto para se comunicar com a nuvem AskSensors.L
Noções básicas de IoT: conectando sua IoT à nuvem usando o Mongoose OS: 5 etapas
Noções básicas de IoT: conectando sua IoT à nuvem usando o Mongoose OS: se você é uma pessoa que adora mexer e eletrônica, na maioria das vezes encontrará o termo Internet das coisas, geralmente abreviado como IoT, e que refere-se a um conjunto de dispositivos que podem se conectar à Internet! Ser tal pessoa
Conectando o motor ao Arduino usando L293D: 3 etapas
Conectando o motor ao Arduino usando L293D: Um motor é o bloco de construção básico da robótica e, se você está aprendendo o Arduino, aprender a conectar um motor a ele é muito importante. Hoje faremos isso usando L293D ic. Um IC de driver de motor L293D é realmente importante. Caso contrário, será
UCL - Conectando Node-red a um PLC Siemens usando KEPserver: 7 etapas
UCL - Conectando Node-red a um PLC Siemens usando KEPserver: RequirementsNode-red: https://nodered.org/docs/getting-started/installationKEPserver: https://www.kepware.com/en-us/kepserverex-6 -6-release