Uart ttyS0 gibt nicht das richtige aus

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • hi ich hab meinen Raspberry pi 3 (jessie, neueste version mit allen updates)
    an meinen Arduino uno angeschlossen. man der seriellen schnittstelle.

    dann bin ich diesem tutorial gefolgt:http://tutorials-raspberrypi.de/arduino-raspbe…izieren-lassen/

    Wenn ich den arduino an meinem pc anschließe, den serieööen monitor öffne und "hallo" sende, funktioniert alles einwandfrei. Nur am pc leider.

    Wenn ich das selbe mit dem Raspberry versuche, ist die Ausgabe mal richtig und mal nicht. manchmal sind so eigenartige zeichen dazwischen.

    ich schreibe mal zur sicherheit beide codes hier drunter, aber der Arduinocode funktioniert ja nachweislich. es muss am pi oder an meinem python code liegen. bitte helft mir.

    Arduino-Code

    String number;

    void setup(){
    Serial.begin(9600);
    }

    void loop(){
    if (Serial.available()) {
    number = Serial.readString();
    Serial.println(number);
    }
    }

    Python-code:

    import Serial
    import time

    s = serial.Serial('/dev/ttyS=', 9600, timeout = 1)
    s.open()
    time.sleep(5)

    s.write("test")

    Gute = 0
    Schlechte = 0

    try:
    while True:
    s.write("test")
    response = s.readline()
    print response
    if response[1] == '1' :
    Gute += 1
    else:
    Schlechte += 1

    print Gute
    print Schlechte

    except KeyboardInterrupt:
    s.close()

    diese Gut/Schlecht dinge sind für mich um zu kontrolieren wieviel der ergebnisse gut wahren. das ergebnis ist ca 8500Gute zu 600Schlechte.
    manchmal gehts garnich.


    Das sind kleine fragezeichen und So zeichen, die kein mensch voher gesehen hat.
    So fallt über mich her. Wo ist mein fehler? :P

  • hey liebe leute. ich hab ein bisschen im forum gestöbert und aus dummheit natürlich den logic-level-converter vergessen. ist bestellt. ich hoffe ich hab den rx pin nicht beschädigt...
    woran kann ich erkennen ob er beschädigt wurde?

  • Du kannst anstatt einen Levelshifter auch zwei Widerstände nehmen.

    680 Ohm in die Leitung vom Arduino zum Pi. Am RX Eingang des Pi noch einen 1K Ohm nach GND. Das ganze geht auch mit jeweils doppelten Werten, solange das Teilungsverhältnis in etwa stimmt. Also 1,2K und 2,2K.

    Dann brauchst Du nicht auf den Levelshifter warten.

  • Seid wann funktionieren denn Spannungsteiler als Levelshifter? Der 1KOhm wird doch parallel zum GPIO betrieben, und der Gesamtwiderstand ist dann irgendetwas.

  • Auf den Levelshiftern aus China sind meißt auch nur Widerstände als Spannungsteiler verbaut, deren Werte ich aber nicht kenne.

    Ich benutze solche Spannungsteiler mit zwei Widerständen z.B. am RX Eingang des ESP8266 um Ihn mit 5V FTDI Kabel zu flashen.

    Ich hätte vielleicht noch schreiben können, dass das nicht Bidirektional funktioniert. Aber diese Funktion braucht er ja in seinem Fall auch nicht am RX.

    Nachtrag:

    Siehe hierzu:
    https://books.google.de/books?id=S9_bAwAAQBAJ&pg=PA360&lpg=PA360&dq=Raspberry+Widerstände+als+Levelshifter&source=bl&ots=r7_1yy9GmB&sig=FaM60nNry4LuTnvEe_BIX-NqBcs&hl=de&sa=X&ved=0ahUKEwjb79KDgtTMAhWCAcAKHURaC9MQ6AEITzAF#v=onepage&q=Raspberry%20Widerstände%20als%20Levelshifter&f=false

    Seite 361. Wobei der Autor 270 und 470 Ohm Widerstände nutzt, was mir zuwenig wäre.

    Einmal editiert, zuletzt von rmjspa (12. Mai 2016 um 09:49)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!