try:
ser = serial.Serial('COM7', 9600)
print "Serial connected"
time.sleep(3.0)
except serial.SerialException:
print "no device connected - exiting"
sys.exit()
Laut Python funktioniert es und es kommt keine Fehlermeldung raus. Es liegt irgendwie an Arduino. RX und TX leuchten je nach delay auf. Wenn ich den Python Skript laufen lasse, dann hab ich in der SDK keine Verbindung mehr zur Arduino --> heißt Python hat zugriff auf Arduino, nur leider übersteht er halt nie die if bedingung. Leider weiß ich echt nicht mehr weiter
uwefed:
Die Sache funktioniert wenn Du probeweise über das Terminal von IDE Daten an den Arduino verschickst?
Grüße Uwe
Wie meinst das genau? Hab ein anders Programm probiert, mit der ich über das Terminal Daten ans Arduino verschicke. Das funktionierte. Aber mit meinem Code, kann ich keine Daten übers Terminal verschicken, da er ja aufs Python Skript abwartet und somit besteht keine Verbindung zwischen der SDK und Arduino.
JuergenR:
Hallo,
mit "if(Serial.available() > 0)"
wird geprüft ob Daten am Port angekommen sind, nicht ob der Port da ist.
Grüße,
Jürgen
Aha, dachte der Überprüft ob der Port da ist oder nicht. Und wie kann ich es überprüfen, ob der Port da ist?
Port da - oder nicht da - gibt es am Arduino nicht.
Der Standard-Port ist ja nicht dynamisch, wie z.B. am PC wo man mal schnell was per USB dazustecken kann.
Wenn Du mit einem Terminalprogramm vom PC Daten an den Arduino senden kannst und dieser sie sieht dann tippe ich daß das Problem auf der PC Seite liegt; entweder beim Programm oder beim Betriebssystem, das die Schnittstelle nicht richtig anspricht.
Grüße Uwe
Port da - oder nicht da - gibt es am Arduino nicht.
Der Standard-Port ist ja nicht dynamisch, wie z.B. am PC wo man mal schnell was per USB dazustecken kann.
Grüße,
Jürgen
Stimmt..aber ich brauche ja eine Überprüfung, ob eine Serialverbindung existiert oder nicht.
Liege ich da falsch?
uwefed:
Wenn Du mit einem Terminalprogramm vom PC Daten an den Arduino senden kannst und dieser sie sieht dann tippe ich daß das Problem auf der PC Seite liegt; entweder beim Programm oder beim Betriebssystem, das die Schnittstelle nicht richtig anspricht.
Grüße Uwe
Über das SerialMonitor von ArduinoSDK kann ich aufs Arduino zugreifen.
Also wenn ich nur das Arduino starte, dann blinkt nur das TX auf. Wenn ich das Python Skript starte, dann blinkt auch das RX mit.
Theoretisch können doch beide mit dem Arduino kommunizieren, sonst würde TX nicht aufleuchten (Arduino), sowie das Python Skript(RX).
Ich glaube es fehlt irgendwie noch die Verbindung über die Serial Schnittstelle..
Wenn das TX und das RX LED blinkt dann heißt das das Daten in beide richtungen verschickt werden. Hast Du die gleichen Parameter der seriellen Schnittstelle eingestellt (Baudrate, Start-Stop-Bit, Parität)?
Grüße Uwe
Auf der PC Seite kommt nix an, weil Arduino die if bedingung nicht besteht und somit kein "nein" oder "ja" rückgeben kann.
Habe nur nach der if bedingung noch ein else, wo ich im serial monitor sehen kann, dass er die if bedingung nicht erfüllt. Das sehe ich, aber mehr leider nicht..