- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 8 von 8

Thema: RN-Control / ATMega32 - Visual Basic als Terminal verwenden

  1. #1

    RN-Control / ATMega32 - Visual Basic als Terminal verwenden

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo an alle!

    Ich bin ganz neu hier im Forum bzw. auch auf dem Gebiet RN-Contol, deshalb habe ich auch gleich eine Frage:

    Noch kurz zum Projekt:
    Servos und Motoren sollen mit VB über RS232 (bis zu 100m Kabellänge) angesteuert werden und Sensordaten abgerufen werden.

    Bisheriger Erfolg:
    Ich habe ein Bascom Beispielprg. etwas geändert um Servos mit eingehenden Signalen an er RS232 Schnittstelle zu steuern; ein kleines Steuerpult mit VB programmiert; Steuerung funktioniert wunderbar.

    Nun zu meiner Frage:
    Wenn ich mit RN-Control einen "print" Befehl (Beispiel:abc) ausgebe, und mit VB abfrage erhalte ich jedoch nur
    Zahlen! - Mit dem Terminaleditor von Bascom funktioniert es allerdings!
    Hat jemand eine Lösung bzw kann man VB als Terminal verwenden?

    Mfg Mario

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    42
    Beiträge
    2.009
    Moin moin.

    Wenn du Print "abc" schreibst, welche Zahlen genau kommen dann an?
    Ich würde da jetzt z.B. 97 98 99 oder 61 62 63 erwarten.

    Zum Ansteuern von Servos hab ich auch schon mal was in VB geschrieben; ich geh mit den Daten aber nicht auf nen ATMega sondern auf ein Pololu-Servoboard. Die Ansteuerung erfolgt aber hier auch relativ einfach über ein 3-Byte-Kommando (0xFF, Servonummer, Position).
    http://cihome.kilu.de/bilder/softwar...ntrol_main.jpg
    #ifndef MfG
    #define MfG

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    24.05.2007
    Ort
    Im hohen Norden
    Beiträge
    227
    Moin moin,
    Du musst im VisualBasic Deine Empfangsvariable in den Chr-Befehl einbetten.
    Beispiel:
    Text1 = Text1 + Chr(Empfangszeichen)
    Wobei das Text1 Dein Ausgabefenster ist.

    Peter
    _________________________________________________
    [-X Quis custodiet ipsos custodes
    Ground-Effect-Stability-Robot www.peter-holzknecht.de

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    29.08.2006
    Ort
    Marktrodach
    Alter
    58
    Beiträge
    24

    Kabellänge

    100 m Kabel? Habe so etwas mit 15 Meter in Erinnerung...

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    42
    Beiträge
    2.009
    Je nach Baudrate. Bei 9600 wären noch gute 150m drin.
    Bei 1200 sogar > 1km.
    #ifndef MfG
    #define MfG

  6. #6
    So, danke für die schnellen Antworten!

    Hier ein Auszug von VB:


    Option Explicit
    Option Base 1

    Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

    Declare Function OPENCOM Lib "Port" (ByVal a$) As Integer
    Declare Sub CLOSECOM Lib "Port" ()
    Declare Sub SENDBYTE Lib "Port" (ByVal b%)
    Declare Function READBYTE Lib "Port" () As Integer
    Declare Sub DTR Lib "Port" (ByVal b%)
    Declare Sub RTS Lib "Port" (ByVal b%)
    Declare Sub TXD Lib "Port" (ByVal b%)
    Declare Function CTS Lib "Port" () As Integer
    Declare Function DSR Lib "Port" () As Integer
    Declare Function RI Lib "Port" () As Integer
    Declare Function DCD Lib "Port" () As Integer
    Declare Sub DELAY Lib "Port" (ByVal b%)
    Declare Sub TIMEINIT Lib "Port" ()
    Declare Sub TIMEINITUS Lib "Port" ()
    Declare Function TIMEREAD Lib "Port" () As Long
    Declare Function TIMEREADUS Lib "Port" () As Long
    Declare Sub DELAYUS Lib "Port" (ByVal l As Long)
    Declare Sub REALTIME Lib "Port" (ByVal i As Boolean)

    Jaecko: Bei print "0" erhalte ich Zahlen wie: 4,83,35,82 usw usw..

    Michl78: Bei Baud 4800 sollte eine Leitungslänge von 300 Metern mit einem Standardkabel möglich sein, ich bin sicherheitshalber auf 1200 runter um eventuelle Störungen zu vermeiden.

    holzi: Wie oben ersichtlich, lese ich das Byte am Port aus, wie komme ich dann auf das ursprünglich gesendete Zeichen?


    Mfg

  7. #7
    Hab da etwas interessantes auf http://home.wtal.de/Mischka/VB/COM/ gefunden!

    Werds am Abend mal ausprobieren!

  8. #8
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.693
    Zitat Zitat von Mario G.
    ... etwas interessantes ... gefunden! ... mal ausprobieren!
    Kennst Du das Terminal von Br@y? In diesem Link, rechts, ganz unten unter Download? Läuft bei mir als Standard. Und auch oberhalb von COM4 *ggg*.

    Edit (17:35): Ich habe jetzt in meinem Bestand auch einen Bildschirmdump des Terminals gefunden (nur Teilausschnitt, darunter kommt die Sende-Oberfläche):

    ................Bild hier  
    Ciao sagt der JoeamBerg

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen