Olá Garagistas
Estou tentando comunicar 2 arduinos atraves do protocolo I2C, procurando na net encontrei um post Gammon, eplicando bem como é a configuração e a programação, porém como não conheço muito de programação, peço aos colegas se podem me dar uma ajudinha na interpretação do código, para que eu possa desenvolver meu código.
Preciso chegar ao ponto de que ao enviar um código para o mestre o escravo execute a operação, como: acionar um relé, aumentar e diminuir um dimmer, enviar comandos IR para controlar aparelhos.
Conto com ajuda dos colegar.
Obrigado
Código Mestre:
// Written by Nick Gammon
// February 2012
#include <Wire.h>
const byte SLAVE_ADDRESS = 42;
const byte LED = 13;
void setup () {
Wire.begin ();
pinMode (LED, OUTPUT);
} // end of setup
void loop () {
for (byte x = 2; x <= 7; x++) {
Wire.beginTransmission (SLAVE_ADDRESS);
Wire.write (x);
if (Wire.endTransmission () == 0)
digitalWrite (LED, HIGH);
else
digitalWrite (LED, LOW);
delay (200);
} // end of for loop
} // end of loop
Código Escravo:
// Written by Nick Gammon
// February 2012
#include <Wire.h>
const byte MY_ADDRESS = 42;
void setup ()
{
Wire.begin (MY_ADDRESS);
for (byte i = 2; i <= 7; i++)
pinMode (i, OUTPUT);
Wire.onReceive (receiveEvent);
}
void loop()
{ // nothing in main loop
} // called by interrupt service routine when incoming data arrives
void receiveEvent (int howMany)
{
for (int i = 0; i < howMany; i++)
{
byte c = Wire.read ();
// toggle requested LED
if (digitalRead (c) == LOW)
digitalWrite (c, HIGH;
else
digitalWrite (c, LOW);
} // end of for loop
} // end of receiveEvent
fonte: http://www.gammon.com.au/forum/?id=10896
Tags:
OI EV BH, seguem os códigos comentados
Rui
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por