Mit dem I2C-Modem ist es relativ einfach einen Bus Scan durchzuführen und so den I2C-Bus nach Teilnehmern mit unbekannten Slaveadressen zu durchsuchen.
Ich habe einfach eine FOR NEXT Schleife programmiert in der alle Adressen von 1 – 255 nacheinander abgefragt werden.
Antwortet ein I2C-Slave wird die Adresse in ein Textfeld eingetragen. Am Ende sieht man welche Teilnehmer sich am Bus befinden.
Wenn man von einem I2C-Slave die Adresse nicht kennt kann diese mit dem Makro herausgefunden werden.
Private Sub Command_SCAN_Click()
Dim ScanAdresse, A, I
TextBox_SCAN = „“
For ScanAdresse = 1 To 255
SENDBYTE (128) ‚Befehl 128 = Multiread + (Anzahl Bytes -1)
SENDBYTE (ScanAdresse) ‚Bus-Adresse des CON-TEMOD-I2C Moduls schreiben
A = READBYTE ‚Status vom Modem abfragen
If A = 192 Then
TextBox_SCAN = TextBox_SCAN & ScanAdresse & vbCrLf
End If
‚Lesepuffer leeren
Do: A = READBYTE : Loop Until A = -1
Next
End Sub
I Think ist a Problem of the App Inventor.
Why do you not Programm it with Arduino IDE?