Fråga Box pussel (16 / 20 steg)
Steg 16: Andra Arduino med I2C
På min pussel låda har jag en andra Arduino (en Arduino Uno) med en Nixie rör sköld som fungerar som en timer. Här är anslutningarna:Arduino Mega Arduino Uno
SDA---> SDA
SCL---> SCL
GND---> GND
Vin---> Vin (detta kan inte vara nödvändigt... någon som vet säkert).
Master (Arduino Mega) kommunicerar på samma sätt som den normalt gör. Slaven (Arduino Uno) ställs in såhär i setup():
Wire.BEGIN(4); gå med i2c bussen med adress #4
Wire.onReceive(receiveEvent); Anmäl dig
så du behöver bara definiera recieveEvent (detta är i exemplet som följer med Arduino IDE (det är enligt tråd i exemplen)
void receiveEvent(int howMany)
{
medan (1 < Wire.available()) / / loopa igenom alla utom sist
{
char c = Wire.receive(); ta emot byte som ett tecken
Serial.Print(c); skriva ut den
}
int x = Wire.receive(); ta emot byte som ett heltal
Serial.println(x); skriva ut heltalet
}
För mig har jag bara master skicka en sak som talar om för timerstarten.
Här är en riktigt bra tutorial om hur du ansluter flera Arduinos
http://hacknmod.com/Hack/How-to-Connect-Multiple-Arduino-Microcontrollers-using-I2C/