Hallo,
ich habe heute ein neues Projekt angefangen.
Hier mal eine Vorstellung des Projektes:
ich möchte gerne einen Taster der an einem ATTiny85 (SLAVE) verbunden ist, mit einem Arduino(MASTER) abfragen und mit den Zustand 0 (off) oder 1 (on) eine LED ansteuern.
Bis jetzt, habe ich so etwas mit dem I2C noch nicht gemacht. Ich hoffe, dass ich von euch Unterstützung bekomme.
Mein Ansatz für den "Slave" würde jetzt so aussehen:
#include <TinyWireS.h>
#include <usiTwiSlave.h>
#define SLAVE_ADR 0x02
const int PIN_Button =1;
byte wert = 0;
void requestEvent()
{
TinyWireS.send(wert); //aktuellen Index auf Bus schreiben
wert = 0;
}
void setup()
{
TinyWireS.onRequest(requestEvent);
TinyWireS.begin(SLAVE_ADR);
pinMode(PIN_Button, INPUT);
}
void loop() {
if (digitalRead(PIN_Button) == HIGH) wert = 1;
}
Geht das so wie ich mir das vorstelle?
Danke schon vorab für die Hilfe.
Lieben Gruß
Im Prinzip geht das so, nur sollte man Adressen < 16 nicht verwenden, die sind für Spezialfälle reserviert.
Hier findest du einige Beispiele zu I2C Master-Slave, die dir sicher weiter helfen.
Guten Morgen,
danke für die Antworten.
Ich habe die Adresse jetzt >16 gewählt (danke für den Hinweis).
Die Beispiele habe ich mir jetzt auch mal angeguckt (danke HotSystem).
Nun wollte ich den Sketch in meine IDE überprüfen und habe folgende Meldung (siehe Foto) bekommen (Ahnungslos).
woran kann das liegen? :o
Gruß 
das einzige das ich in deinem Screenshot lesen kann ist "Fehlermeldung kopieren" ... also probier das mal.
soll heißen, einen Screenshot mit einem Fehler zu posten ist wirklich keine gute Idee höflich ausgedrückt.
Das liegt an der usiTwiSlave Library. Die kennt keine Methode onRequest.
ardouino:
....
Die Beispiele habe ich mir jetzt auch mal angeguckt (danke HotSystem).
.....
woran kann das liegen? :o
Ansehen reicht meist nicht, du solltest die auch verwenden.
Und wozu setzt du die "usiTwiSlave" ein ?
Die habe ich bisher nicht benötigt.
Hi HotSystem,
danke für den Hinweis, die "usiTwiSlave" wurde automatisch mit eingebunden als ich die "TinyWireS.h" eingefügt habe. Habe ich etwa die falsche lib ?
Gruß
ardouino:
Hi HotSystem,
danke für den Hinweis, die "usiTwiSlave" wurde automatisch mit eingebunden als ich die "TinyWireS.h" eingefügt habe. Habe ich etwa die falsche lib ?
Gruß
Dann nimm die usiTwiSlave einfach mal raus, ich habe die nie gebraucht.
Als TinyWireS nehme ich die von "Rambo" aus Github.
Danke HotSystem,
ich habe deine lib mal besorgt und das Kompilieren hat gleich ohne Fehlermeldung funktionier.
ich werde jetzt weiter rumbasteln und mal gucken wie weit ich komme 
Danke und ein lieben Gruß
ardouino:
Danke HotSystem,
ich habe deine lib mal besorgt und das Kompilieren hat gleich ohne Fehlermeldung funktionier.
ich werde jetzt weiter rumbasteln und mal gucken wie weit ich komme 
Danke und ein lieben Gruß
Prima und danke für die Rückmeldung.
Weiterhin viel Erfolg.