21.12.2019, 07:47
(Dieser Beitrag wurde zuletzt bearbeitet: 21.12.2019, 08:05 von Der kleine Punky.)
Ok sorry muss beim schreiben wenigstens ein bisschen mehr ruhe an den Tag legen.
So sieht es zur Zeit aus. Ok die RTC fehlt noch im Bild ist aber glaube ich zur Zeit nicht so wichtig.
Wenn ich OE vom Level Shifter auf High (3,3 Volt) stecke ist der I²C Bus nicht mehr Ansprechbar.
Ich habe auch schon A4 und A5 am Nano für I²C benutzt verändert aber nichts der Bus ist Tod.
Gott seid dank bis jetzt kommt er immer wieder wenn ich OE auf GND Stecke. Dann kann ich auch den MCP wieder die LED Leuchten lassen in sofern denke ich das am PI noch nichts Kaputt ist. Mir gehen langsam echt die Ideen aus.
Das ist das Nano Prg nichts wirklich aufregendes geht ja erstmal ums testen der Bus Verbindung
TXS0108E so heißt der Levelshifter / Pegel Wandler / Logik Level Converter
https://www.briandorey.com/post/raspberr...protection Der Sagt auch das es geht ?
So sieht es zur Zeit aus. Ok die RTC fehlt noch im Bild ist aber glaube ich zur Zeit nicht so wichtig.
Wenn ich OE vom Level Shifter auf High (3,3 Volt) stecke ist der I²C Bus nicht mehr Ansprechbar.
Ich habe auch schon A4 und A5 am Nano für I²C benutzt verändert aber nichts der Bus ist Tod.
Gott seid dank bis jetzt kommt er immer wieder wenn ich OE auf GND Stecke. Dann kann ich auch den MCP wieder die LED Leuchten lassen in sofern denke ich das am PI noch nichts Kaputt ist. Mir gehen langsam echt die Ideen aus.
Code:
//https://create.arduino.cc/projecthub/PIYUSH_K_SINGH/master-slave-i2c-connection-f1aa53
//https://oscarliang.com/raspberry-pi-arduino-connected-i2c
//https://www.direcs.de/2013/10/recopter3-kommunikation-mit-i2c-zwischen-arduino-und-raspberry-pi-mit-python/
//https://github.com/markusk/recopter
// Include the required Wire library for I2C
#define NODE_ADDRESS 37
#define PAYLOAD_SIZE 1
byte nodePayload[PAYLOAD_SIZE];
#include <Wire.h>
int LED = 13;
int x = 0;
void setup() {
Serial.begin(9600);
// Define the LED pin as Output
pinMode (LED, OUTPUT);
// Start the I2C Bus as Slave on address 25Hex
Wire.begin(NODE_ADDRESS);
// Attach a function to trigger when something is received.
Wire.onReceive(receiveEvent);
Wire.onRequest(requestEvent); // erstelle ein Anfrage-Ereignis
}
void receiveEvent(int howMany) {
while (1 < Wire.available()) { // loop through all but the last
char c = Wire.read(); // receive byte as a character
Serial.print(c); // print the character
}
int x = Wire.read(); // receive byte as an integer
Serial.println(x); // print the integer
}
void requestEvent()
{
nodePayload[0] = NODE_ADDRESS;
Wire.write(nodePayload, PAYLOAD_SIZE);
}
void loop() {
//If value received is 0 blink LED for 200 ms
if (x == 0) {
digitalWrite(LED, HIGH);
delay(400);
digitalWrite(LED, LOW);
delay(400);
}
//If value received is 3 blink LED for 400 ms
if (x == 3) {
digitalWrite(LED, HIGH);
delay(800);
digitalWrite(LED, LOW);
delay(800);
}
delay(100);
}
TXS0108E so heißt der Levelshifter / Pegel Wandler / Logik Level Converter
https://www.briandorey.com/post/raspberr...protection Der Sagt auch das es geht ?