- 3D-Druck Einstieg und Tipps         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Diagrammproblem LCD Werte richtig umrechnen und Dimensionier

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.12.2005
    Ort
    NRW
    Alter
    48
    Beiträge
    142

    Diagrammproblem LCD Werte richtig umrechnen und Dimensionier

    Anzeige

    E-Bike
    Habe ein problem mit meinem Array und der LCD Anzeige.

    Ich muss meinen Stromwert zB. 2,455 A in eine Pixelposition umrechnen.
    Kann jemand mal über die Dimensionierung der Variablen schauen und die Machbarkeit meiner Berechnung bei Bascom? Mein Taschenrechner machts richtig.
    Der Stromwert muss mal 7,5 gerechnet werden um in meinem Diagramm an der richtigen Stelle zu sein. Achja o Ampere ist bei mir bei der Pixelzeile 52. Den Wert habe ich dann mit mal minus 1 wieder positiv gedreht. da mein diagramm ja nicht auf dem kopf stehen soll.
    Das Diagramm Fängt bei Pixel 8 an. Deshalb schreibe ich auch erst bei Zeiger 8 in das Array.
    Wenn noch nichts in das Array geschrieben worden ist, lese ich dann Nullen aus?

    Die Pixel werden leider am oberen Rand des Displays angezeigt und auch nur jedes 2. Das Display oder der Atmega 168 stürzt ab.



    Code:
    Pixelzeiger = 8     'beim programmstart vor do
    Dim Pixelpuffer(127) As Byte
    Dim Pixelzeiger As Byte
    Dim Pixelschreibzeiger As Byte
    Dim Pixel As Single
    Dim Pixel1 As byte
    
    'Wird jede sekunde abgefragt
    '----------------------------------Diagramm Pixelwerte speichern------------
       Pixelzeiger = Pixelzeiger + 1
       If Pixelzeiger => 127 Then
       Pixelzeiger = 8
       end if
       Pixel = Strom * 7.5
       Pixel = 52 - Pixel                                       'pixelposition 0 A
       Pixel = Pixel1                                           ' single in byte umwandeln  
    
       Pixelpuffer(pixelzeiger) = Pixel1
     
      End If
    
    'auslesen auf Display
    
    For Pixelschreibzeiger = 8 To 127
    Pset Pixelschreibzeiger , Pixelpuffer(pixelschreibzeiger) , 1
    Next

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.12.2005
    Ort
    NRW
    Alter
    48
    Beiträge
    142
    hat keiner ne idee ?

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.12.2005
    Ort
    NRW
    Alter
    48
    Beiträge
    142
    achtung habe selber noch fehler gefunden.
    Programm stürzt jetzt auch nicht mehr ab. Fehler der gleiche.

    Habe die Programmteile editiert!

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Ich war gerade dabei, dir diese Fehler auch zu sagen.
    Übriggeblieben ist der in der Zeile
    Pixel = Pixel1 ' single in byte umwandeln
    Pixelpuffer(pixelzeiger) = Pixel1 'Müsste das evtl. anders herum sein???????

    Pixel1 hast du nirgendwo benutzt oder gesetzt, wird also immer 0 sein.
    Dein Programm ist ja sicherlich umfangreicher als nur der Ausschnitt hier.
    Denn so für sich wird das sicherlich nicht gehen.

    Gruß

    Rolf

  5. #5
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Du mischt da ein paar datentypen, das mag der Bascom nicht so sehr
    Code:
    DIM  pixelstring AS STRING  * 4
    DIM  pixelzahl AS BYTE 
    
       Pixelstring = Fusing(pixel1 , "#.")    ' fusing ergibt einen string
       Pixelzahl = VAL(Pixelstring)            
       Pixelpuffer(pixelzeiger) = Pixelzahl
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  6. #6
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    ah ja.

    kann das verkehrt sein ?

    Pixel = Pixel1 ' single in byte umwandeln
    soll wohl sein
    Pixel1 = Pixel
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.12.2005
    Ort
    NRW
    Alter
    48
    Beiträge
    142
    Hi for_ro,
    habe mir gerade das Array in Text ausgeben lassen, kommt immer eine null raus. Da hast du recht. Was meinst du mit pixel 1 habe ich niergendwo benutzt oder gesetzt?
    Pixel 1 ist nur für die byteumwandlung für das array un dort steht doch pixel1 drin!?
    Pixelpuffer(pixelzeiger) = Pixel1

    Liegt hier mein denkfehler? es müsste doch so richtig rum geschrieben sein. Ich möchte den wert pixel1 in das array schreiben.

    Ich danke dir für deine mühe.

    Ja mein Programm ist mittlerweile 13kb groß, da sieht man leicht den Wald vor lauter Bäumen nicht.

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.12.2005
    Ort
    NRW
    Alter
    48
    Beiträge
    142
    DDDDAAAANNNKKKEE
    Pixel1 = Pixel war der Fehler.

    Ich war gestern bestimmt 13 Stunden am programmieren.
    Zuerst wollte ich mit fusing eine ganzzahl bekommen. Das hat mich 4 Stunden gekostet.

    Ich bin happy......endlich, wenns nicht weiter geht, dann verliehrt man die Lust

    Ich danke euch.

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Sorry, mein Kommentar war in die falsche Zeile gerutscht.
    Ich meinte: Pixel = Pixel1 andersherum, du willst ja die single in eine Byte quetschen. Ob das so geht musst du mal sehen. Single benutzen bringt dir immer eine Menge Zusatzcode in dein Programm. Und du brauchst das hier nicht wirklich. Du könntest auch mit 15 multiplizieren und dann shiften (durch 2 teilen).

    Gruß

    Rolf

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.12.2005
    Ort
    NRW
    Alter
    48
    Beiträge
    142
    Du meinst damit ich keine kommastellen benutzen brauch?
    Aber mein Amperewert hat kommerstellen. 0,332 A z.B

    Funktioniert das trotzdem?
    Wie sollte ich dan Pixel dimensionieren?

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test