Danke Rabenauge, danke Achim.S.
.. teste das Ding .. mit der Lib. von Adafruit .. Und auch die Adresse kannst du so easy rausfinden: .. I2C-Scanner ..
Libs für Arduino - na ja, ich kann KEIN "arduinolanguage", kenne auch nicht die arduino-IDE und hab sie nicht installiert. Danke für den Tip mit dem Scanner - den habe ich in (fast) allen meinen I²C-Masterplatinen. Beim Archie z.B. sucht der Zentralrechner nach seiner Peripherie (nur die I²C-Slaves) und meldet die auf die Startseite (und reagiert auch intern drauf). Also - Adressbereich softwaremässig umgestellt
Code:
// ============================================================================= =
void i2clook (void) // Welche I²C-Devices existieren? Liste ?
{ // Aufruf main =>
// Teste I²C-Schreibadressen von 0x70hex bis 0xAC, 112 - 254 (früher bis 0xFC)
// ##>> Testbereich evtl. neu definieren
// Erfolgsmeldung(en) ausgeben mit Adresse dez und hex, Fehlsuche mit "-"
uint8_t jaflag = 0; // Ja-Flag
u8 aktptr = 0; // Aktuelle I²C-Adresse
// - - - - - - - - - - - - - - -
und siehe da, der Test bringt ein glaubhaftes Ergebnis (copy&past vom Terminal) :
Cxxx arno_x00 328/20 16 Apr 2017 09:28
UART0_64 110 k
Suche I²C-Devices im Bereich 0x00/_0dez - 0xFC/252dez
Jedes '-' bedeutet: Slave/s nicht vorhanden oder defekt
------------------------------------------------------------
Slave addr 120 dez = 0x78
------------------------------------------------------------------
I²C-Slaves gesucht bis (dez) 252
.. Gibt ja kaum ein anständiges Datenblatt dazu. Scheinbar verträgt das Oled 3,3V und 5V ..
Meins verträgt wohl die 5V - denn der Scan läuft mit 3,3 V und 5V - jeweils als Versorgung und Signalpegel.
Ok, der erste Schritt ist also getan: das Ding reagiert auf Zuruf. Sozusagen noch immer. Jetzt kommt der schwierige(re) Teil, die softwareseitige Implementierung des Dings. Da hoffe ich, dass das nicht sooo lange dauert :-/ -- leider habe ich KEIN einziges einfaches, kurzes, verständliches Beispiel in AVR8/C gefunden :-/
Danke allen Helfern für Ihre Mitarbeit!
@Achim.S: das ELV Ding ist recht schick, wenn man sich mal dran gewöhnt hat. Beispiel (zufällig):
Code:
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Fahre Servo 1 auf PWM 400 - und lies sofort Daten zurück
v----- Dies ist der Befehl zum Adressieren des Targets
v v--- Stopbefehl
v v v-- Dies ist die Adresse, ab der geschrieben wird
s 84 p w 64 01 01 90 01 00 00 00 00 00 01 p s8460p r10p < < Nur EIN Befehlsstring :-)
hex-Adresse 64 65 66 67 68 69 6A 6B 6C 6D
dez-Adresse 100 101 102 103 104 105 106 107 108 109
=======================================================
Läuft aber leider nur über das (eher gewöhnungsbedürftige HTerm)
Lesezeichen