mBot seriell mit einem ESP32 verbinden

Mittels der Arduino IDE wird auf dem mBot ein C-Programm mBot-seriell-steuern-2024-12-07.zip aufgespielt, welches die gewünschten Daten der Sensoren auf die serielle Schnittstelle schreibt.
Diese Daten sollten dann
- im "Seriellen Monitor" der Arduino IDE,
- in der "Kommandozeile" von Thonny,
- einem Pythonprogramm auf dem PC oder
- mit einem Programm zum Herstellen von Verbindungen über serielle Schnittstellen, wie Putty,
empfangen werden können.

  1. Sensordaten des mBot senden
    		 

  2. Sensordaten des mBot auf dem ESP32 empfangen
  3. Dazu müssen beide seriell verbunden werden.
    Am mCore des mBot kann über die oben neben der USB-Buchse befindliche vierpolige Buchsenleiste mit der Beschriftung "TX RX GND 5V" (siehe mCore Ansicht) eine Verbindung zum ESP32 hergestellt werden.
    In diese Buchsenleiste kann ein WLAN- oder Bluetooth-Modul von Makeblock gesteckt werden. Wir verbinden

    	mBot     ESP32
    	UART0    UART2
    	----------------------
    	GND   -   GND
    	TX    -   RX - GPIO16, über einen Spannungsteiler 5V auf 3,3V 
    	RX    -   TX - GPIO17, ESP-Ausgang liefert 3,3V, das reicht für sicheren H-Pegel des Arduino.
    	5V    -   ... frei ...
    	
    Unter Spannungsteiler 5V auf 3,3V kannst du sehen, wie durch einen Spannungsteiler am 5V-Pin eines Arduino die Spannung auf 3,3V abgesenkt wird.
    Am Potentiometer kann die Eingangsspanung am Pin 2 eingestellt werden, um zu sehen, wann über das Programm ein H-Pegel erkannt und auf den Ausgang am PIN3 geschalten wird.
    		 


    Die empfangenen Daten entsprechen nicht unserer Vorstellung.
    Im Datensalat kann man aber die von mBot gesendeten Daten erkennen.
    Verschiedene Versuche, die fehlerhaften Zeichen auszublenden, liefern aber nicht die Daten in gewünschten Anordnung z.B. "0, 567, 400".

    Abhilfe schafft diese Lösung, um die ich ChatGPT gebeten habe.
    		 


    Jetzt sind die Daten korrekt angeordnet, drei Zahlenwerte durch Kommata getrennt.

  4. ESP32 sendet Daten zum mBot.

    Der mCore auf dem mBot muss ein anderes Programm aufgespielt bekommen.
    Bereite den mBot entsprechend mBot per ESP-Now fernsteuern vor.