Set arduino slave address using dip switch (I2C)
hi,
i have program make slave read dip switch, set slave address using dip switch.
but nothing happen @ slave (it's slave not read dip switch address setting).
how set arduino slave address using dip switch?
thank you
slave program:-
master program:-
i have program make slave read dip switch, set slave address using dip switch.
but nothing happen @ slave (it's slave not read dip switch address setting).
how set arduino slave address using dip switch?
thank you
slave program:-
code: [select]
#include <wire.h>
#define led_out 13
#define add 10 // address initial
int address;
int = 0; // pin configure 1 or 0 hardware setting
int button;
void setup() {
pinmode(led_out, output);
digitalwrite(led_out,low);
pinmode(a, input); // read dip switch, address hardware setting
button = digitalread(a);
address = add + button;
serial.begin(9600);
wire.begin(address);
wire.onreceive(receiveevent);
}
void loop() {
}
void receiveevent(int howmany){
while (wire.available() > 0){
boolean b = wire.receive();
serial.print(b, dec);
digitalwrite(led_out, b);
}
serial.println();
} master program:-
code: [select]
#include <wire.h>
#define button 10
#define address 11 //address setting slave,
void setup() {
serial.begin(9600); // start serial output
pinmode(button, input);
digitalwrite(address, high);
wire.begin();
}
boolean last_state = high;
void loop() {
int button_state = digitalread(button);
if (button_state != last_state){
last_state = button_state;
serial.println("start");
wire.begintransmission(address);
serial.println("beginning transmission");
wire.send(button_state);
serial.println("sent data");
wire.endtransmission();
serial.println("ended transmission");
}
}
how have wired switch, exactly?
Arduino Forum > Using Arduino > Networking, Protocols, and Devices (Moderator: fabioc84) > Set arduino slave address using dip switch (I2C)
arduino
Comments
Post a Comment