-         

Ergebnis 1 bis 5 von 5

Thema: Maximalwert aufs Display, wie geht das (bascom)?

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.02.2006
    Beiträge
    178

    Maximalwert aufs Display, wie geht das (bascom)?

    Anzeige

    Hallo,
    ich bin gerade dabei mich in die materie einzuarbeiten.
    Mein "Projekt":
    ich möchte einen Analogen Eingang (von ca. 2-3 Volt) auf dem Display ausgeben inkl. Maximalwert.
    Nun meine Probleme:
    1. Wie kann ich die gemessenen Werte für das Display trimmen, so dass diese den Bereich linear von 0 bis 1000 anzeigen?
    2. Wie kann ich einen Maximalwert speichern im 2-zeilen-Display(meine angehängte Routine funktioniert nicht, was ist hier der Fehler)?




    Do

    Maxi = W
    'analogwert auslesen
    W = Getadc(channel)
    Maxi2 = W
    'analogwert ins display
    Locate 1 , 1
    Lcd "Wert: " ; W ; " "

    'wert in die untere zeile (display), wenn maximal
    If Maxi2 > Maxi Then
    Locate 2 , 1
    Lcd "Maxwert: " ; W ; " "
    End If

    'rücksetzen des maximalwertes
    If Pind.5 = 0 Then
    W = 0
    Maxi = 0
    Maxi2 = 0

    Cls
    End If


    Waitms 100

    Loop
    End

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.02.2006
    Beiträge
    178
    ja, o.k., das mit dem Maximalwert ist geklärt, es muss oben heißen:

    If W > maxi then
    maxi = W

    und dann kann man maxi einfach auf das display ausgeben lassen.
    maxi2 kann man vergessen.
    so einfach ist das, aber irgendie muss man doch draufkommen....

    bein meiner 1. (falschen) version, da wurde ja immer nur der letzte wert mit dem aktuellen verglichen und bei jeder änderung nach oben auf dem Display ausgegeben. Falsch und kompliziert noch dazu.


    Holger

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.03.2005
    Beiträge
    199
    Ich schreib mal die Frage hier rein weils zu der Thema passt.

    Versuche schon seit paar TAgen mit Bascom Hilfe Analog Wert einzulesen und Auf Lcd anzeigen Lassen.Am Pina.0 ist ein Poti angebracht.
    folgender Code.

    $regfile = "m16def.dat"

    Config Lcd = 40 * 4
    Config Adc = Single , Prescaler = Auto
    Start Adc
    Dim W As Word , Channel As Byte
    Channel = 0

    Do
    W = Getadc(channel)
    Lcd "Channel" ; Channel ; "value" ; W
    Incr Channel
    if channel >7 then channel = 0
    Loop
    End

    so wie ich es verstanden hab muss eigentlich die Variable W den aktuellen ADC wert enthalten.
    danke

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.03.2005
    Beiträge
    199
    Mit dem Befehl Channel = 0 lege ich ja die Pina.0 fest.Oder?
    Gruß Michi

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.02.2006
    Beiträge
    178
    Ich denke, du müsstest im datenblatt des m16 nachsehen, welche pins ad-Wandler-eingänge sind. wenn es pina.x ist, dann liegst du hier wohl richtig. dein programm liest die ganzen a-pins durch, wird aber nur an pina.0 einen vernünftigen wert bringen, weil du hier ja das poti hast.
    Ist das Poti auf pluspol ?
    In deiner Schleife solltest du vielleicht noch einen Stopp einbauen um überhaupt was erkennen zu können. Vielleicht Waitms 500?

    Was zeigt dein Display eigentlich an?

Berechtigungen

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