Kommunikation über Pin 8 und 10 mit Arduino

  • Hallo,

    ich weiss nicht ob oder wo ich einen Denkfehler habe.

    Ich möchte den PiZero direkt mit einem Arduino UNO über die GPIOs verbinden. Auf der Pi-Seite nehmen ich Pin 8 und 10 und beim Arduino Pin 0 und 1. Dazwischen habe ich einen Pegelwandler der auf Pi-Seite für 3,3V und auf Arduino-Seite für 5V sorgt.

    Ich habe im Rasp-Config die Console disabled und die Serielle Schnittstelle enabled. TX RX sind über kreuz, also RX an TX und TX an RX.

    Im Python Script habe ich sowohl ttyAMA0 wie auch ttyS0 getestet.

    Auf der Arduino-Seite liegen 5V an beiden Pins und beim PI 3,3V

    Indikator für das Senden und Empfangen sind unter anserem die TX RX LEDs des Arduinos, aber da tut sich nichts.

    Wenn ich über das USB Kabel den Arduino am Pi anschließe funktioniert alles einwandfrei, natürlich mit geändertem tty.

    Warum ich nicht das USB Kabel nehme, weil es zu sperrig ist und zuviel Platz braucht.

    Ich hoffe jemand hat eine Idee...

    Viele Grüße Heiko

  • GND der Beiden auch verbunden?:conf:

    davon schreibst du nichts!

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Schau mal mach den stati im device tree, ob die UARTs enabled sind. Und dann könntest du probieren eine der alt-Pins zu aktivieren, falls die BCM 13/14 defekt sind.

  • Hallo,

    sowohl der Pegelwandler hat GND, auch PI und Arduino.

    zum Thema Device Tree habe ich folgendes in der contig.txt gefunden:

    # Enable audio (loads snd_bcm2835)

    dtparam=audio=on

    enable_uart=1

    Das mit den Alt-Pins habe ich nicht ganz verstanden.

  • sowohl der Pegelwandler hat GND, auch PI und Arduino.

    mag ja sein aber sind es immer dieselben? (also alle verbunden?)

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Eigendlich ja, da ich eine 5V und GND Bar habe, wo ich sowohl die 5V wie auch den GND verteile. Wobei ich den GND für den Pegelwandler für die 3,3V von den PI GPIOs nehme. Da aber die Stromversorgung (inkl. GND) für den PI auch von der 5V Bar kommt müsste damit auch der GND mit dem Arduino verbunden sein. Also Arduino und PI hängen am gleichen GND und 5V.

  • dann ist der Fehler im Aufbau, sonst aus der Beschreibung ist alles richtig

    alternativ kannst du ja mal PI und Ardu trennen und RxTx brücken, beide müssten ihr Echo empfangen!

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Es funzt...

    Ob der Wechsel des GND vom Pi auf die GND Bar der Grund war weiss ich nicht genau, ich hab's aber gemacht, denn auch Komissar Zufall hat geholfen um ein paar mir nicht bekannte Besonderheiten auf Arduino - Seite auf zu decken.

    • Die TX und RX LEDs melden wohl nur einen Datentransfer über den USB Port, denn über TX RX bleiben sie dunkel. Also konnte ich lange warten...
    • Beim Aufbau der Kommunikation über TX RX resettet der Arduino NICHT, im gegensatz zum USB Port. Dort startet die neue Kommunikationsverbindung den Arduino neu und er sendet den initialen Datenstring, den ich programmiert hatte um zu sehen ob die Kommunikation steht.
    • In meinem Python Script hatte ich immer auf den "Resetstring" gewartet. Über TX RX schickt nun der PI via Python eine Anfrage an den Arduino und wartet auf die Antwort, die dann auch kommt.

    Zum GND nochmal:

    Ich dachte, GND wäre immer eine, durch das gesamte System durchgehende Leiterbahn, die an jeder Abnahmestelle die gleiche Wirkung entfaltet, egal ob an PIN 6, 9, 14, 20, 25, 30, 34 oder 39?

    Vielen Dank nochmal.

    Heiko

  • Meistens ist GND auch so, und gerade beim PI. Was auch immer die Ursache da bei dir genau war, es sollte nicht am gewaehlten Pin haengen.

  • Beim Aufbau der Kommunikation über TX RX resettet der Arduino NICHT, im gegensatz zum USB Port. Dort startet die neue Kommunikationsverbindung den Arduino neu und er sendet den initialen Datenstring, den ich programmiert hatte um zu sehen ob die Kommunikation steht.

    wie sollte er auch, RESET wird über DTR ausgelöst und wenn du das nicht manuell machst über die Ports?

    Ich dachte, GND wäre immer eine, durch das gesamte System durchgehende Leiterbahn,

    auch das musst du prüfen oder sicherstellen!

    je nach Verschaltung kann ein GND auch schweben also PI und Arduino über deine Anschlüsse und damit den Pegelwandler auch != sein.

    Du hattest ja zu keiner Zeit ein belastbares Schaltbild gezeigt!

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!