-         
+ Antworten
Ergebnis 1 bis 7 von 7

Thema: AD Wandler richtig benützen

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    31.01.2004
    Beiträge
    585

    AD Wandler richtig benützen

    Hallo!

    Ich wollte unter Bascom mit dem Befehl PRINT einen AD-Port in einem Terminal ausgeben.
    Mein Code sah so aus:

    Config PortC = Input
    Do
    Print PortC.5
    Loop

    Aber das fuktionierte irgendwie nicht.
    Dann versuchte ich, den Wert von PortC.5 in einer Variable zu speichern, und diese auszugeben:

    Config PortC = Input
    Dim printvar as integer
    printvar = PortC.5
    Do
    Print printvar
    Loop

    Aber da kamen auch nur Fehler.
    Wie kann ich einen AD-Wert eines Pins in einem Terminal ausgeben?

    Mfg,
    ShadowPhoenix

    PS: Statt PORTC funktionierte es auch NICHT mit PINC.

  2. #2
    Gast
    Aber da kamen auch nur Fehler.
    Was heisst "da kamen nur Fehler" ?

    Beim compilieren kommen bei mir in Bascom bei beiden Versionen deines Codes keine Fehler.

    Oder kommen bei der Ausgabe Fehler, wenn du das Programm im Controller ausführst?

    Was das Programm angeht, würde ich da eine kleine Pause in die Schleife einfügen. So schnell wie der Controller die Schleife durchlaufen kann ist eine serielle Schnittstelle nicht, d.h. der Controller muss immer warten bis die Übertragung fertig ist. Da ist es glaube ich besser die Wartezeit selber zu definieren.
    Ausserdem liest du´in Version 2 nur einmal den Eingang ein und gibst dann in der Schleife immer denselben Wert aus. Besonders viel Sinn ergibt das nicht, einen Fehler sollte es allerdings auch nicht verursachen.

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    28.04.2004
    Ort
    Nähe Köln
    Alter
    49
    Beiträge
    247
    Hallo

    Schau doch mal in der Hilfe von Bascom unter getadc.

    Du mußt den AD Wandler erst einstellen und starten.

    Danach kannst du halt mit getadc den Wert deines gewünschten AD port einlesen.

    MFG
    Dieter

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    31.01.2004
    Beiträge
    585
    @Gast

    Bei Code2 kommen bei mir sehr wohl Fehler: (hmm)
    -Error: Can't find HW-register [DDRC ]
    -Error: Invalid Datatype [0]

    @Dino

    Wenn mein Code nun so aussieht, könnte das dann funktionieren?

    Config Adc = Single , Prescaler = Auto
    Start Adc
    Dim W As Word , Channel As Byte

    Channel = 0
    Do
    W = Getadc(channel)
    Print "Channel " ; Channel ; " value " ; W
    Incr Channel
    If Channel > 7 Then Channel = 0
    Loop
    End


    MfG,
    ShadowPhoenix

  5. #5
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.943
    Blog-Einträge
    1
    Abfrage und Anzeige des Wertes über RS232 z.B. beim RNBFRA Board

    Code:
    Const Ref = 5 / 1023 
    
    Dim I As Byte 
    Dim W As Word 
    Dim Volt As Single 
    
    Config Adc = Single , Prescaler = Auto 
    
    $baud = 9600 
    $crystal = 8000000                                          'Quarzfrequenz 
    Portd.6 = 0                                                 'Schrittmotoren erst mal ausschalten 
    
    
    Start Adc 
    Do 
       W = Getadc(4) 
       Volt = W * Ref 
       Volt = Volt * 5.2941 
       Print "Spannung: " ; Volt 
    
       Waitms 200 
    Loop 
    
    End

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von Michael
    Registriert seit
    17.01.2004
    Ort
    Karlstadt
    Alter
    47
    Beiträge
    1.244
    Hallo ShadowPhoenix,
    Bei Code2 kommen bei mir sehr wohl Fehler: (hmm)
    -Error: Can't find HW-register [DDRC ]
    -Error: Invalid Datatype [0]
    Du hast den Chip falsch eingestellt -->Options->Compiler->Chip
    Wenn mein Code nun so aussieht, könnte das dann funktionieren?
    klar, den hast du ja direkt aus der Hilfe kopiert.
    Hast du ihn auch verstanden?
    Gruss, Michael

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    28.04.2004
    Ort
    Nähe Köln
    Alter
    49
    Beiträge
    247
    Hallo Gast

    Der Code sollte so schon gehen. Du kennst aber den Simulator in Bascom. Der kann auch AD Wandler simulieren. Drücke doch mal F2 in Bascom.

    MFG
    Dieter

+ Antworten

Berechtigungen

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