Hallo,
ich habe ein kleines Problem mit meiner Schaltung.
Ich will ein Arduino Board als Master und mehrere Slaves in form von ATtiny 45 betreiben. Habe es auch so weit zum laufen bekommen, aber nur so weit das der Slave dem Master etwas übermittelt.
Meine Wunschvorstellung wäre es aber, dass der Master dem Slave einen Befehl übermittelt und der zwei Ausgangsports hat, die er AN und AUS schalten kann.
für meinen Master habe ich erstmal folgenden Code:
#include <TinyWireM.h>
#include <USI_TWI_Master.h>
void setup()
{
// put your setup code here, to run once:
TinyWireM.begin();
TinyWireM.requestFrom(requestEvent);
}
void loop()
{
}
void requestEvent(uint8_t slaveAddr)
{
TinyWireM.beginTransmission(2); //startet die Übertragung
TinyWireM.send('F'); //überträgt ein char zum Slave
TinyWireM.endTransmission(); //beendet die Übertragung
delay(500);
TinyWireM.beginTransmission(2); //startet die Übertragung
TinyWireM.send('d'); //überträgt ein char zum Slave
TinyWireM.endTransmission(); //beendet die Übertragung
delay(500);
}
für meinen Slave (ATtiny45) habe ich folgenden Code verwendet:
//i2c Slave
#include <TinyWireS.h>
#include <Wire.h>
void setup()
{
TinyWireS.begin(2); // join i2c bus with address #2
TinyWireS.onReceive(receiveEvent); // register event
pinMode(1 ,OUTPUT);
}
void loop()
{
}
// function that executes whenever data is received from master
// this function is registered as an event, see setup()
void receiveEvent(int howMany)
{
while(TinyWireS.available())
{
char c = TinyWireS.receive(); // receive byte as a character
switch (c)
{
case 'd':
digitalWrite(1 ,LOW);
break;
case 'F':
digitalWrite(1 ,HIGH);
break;
}
}
}
Das hier sind die Keywords zu den Bibliotheken.
#######################################
Syntax Coloring Map For TinyWireM
#######################################
#######################################
Datatypes (KEYWORD1)
#######################################
#######################################
Methods and Functions (KEYWORD2)
#######################################
begin KEYWORD2
beginTransmission KEYWORD2
endTransmission KEYWORD2
requestFrom KEYWORD2
send KEYWORD2
receive KEYWORD2
#######################################
Instances (KEYWORD2)
#######################################
TinyWireM KEYWORD2
#######################################
Constants (LITERAL1)
#######################################
#######################################
Syntax Coloring Map For TinyWireS
#######################################
#######################################
Datatypes (KEYWORD1)
#######################################
#######################################
Methods and Functions (KEYWORD2)
#######################################
begin KEYWORD2
send KEYWORD2
available KEYWORD2
receive KEYWORD2
#######################################
Instances (KEYWORD2)
#######################################
TinyWireS KEYWORD2
#######################################
Constants (LITERAL1)
#######################################
Vielen Dank schon mal im Voraus.