-
        

Ergebnis 1 bis 3 von 3

Thema: Tiny26 ADc servo LCD funzt aber?

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.02.2007
    Beiträge
    210

    Tiny26 ADc servo LCD funzt aber?

    Anzeige

    servus ich habs mittlerweile geschafft (DANK RIO CArneval on FTV bis 3Uhr)

    es läuft ADC misst perfekt die spannungen aus %V und 1Mohm poti via AREF=vcc

    und der timer 0 steuert perfekt das servo mit 0,5ms bis 2.5ms =180grad
    sauberes signal

    auch das lcd 20*2 tut seinen dinst im 100ms takt

    ALLES am TINY 26mit intern 8Mhz und Bascom 1.11.8.4 demo

    TOLL soweit

    jetzt würde ich noch gerne die werte des ADSC 0-1023 in spannungen
    auf dem lcd ausgeben
    teiler ist 0.00488 *1023=5V
    hat da jemand einen tip für mich in sachen kommawerte
    welche dim ist da das günstigste und ich bräuchte auch nur 2 kommastellen

    wie ich das machen könnte

    DANKE
    code folgt umgehend nach feierabend
    STK200 dongel an Lpt via HC244 auf tiny26 ISP und bascom 1.11.84
    sowie STK500

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    09.02.2005
    Ort
    München
    Alter
    32
    Beiträge
    389
    Also ich habs so gemacht
    Ergebnis = Wert * 0.0048828125
    Locate 2 , 7
    Lcd Fusing(ergebnis , "#.##") ; "V"
    MfG Matthias

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.02.2007
    Beiträge
    210
    danke werde ich dann heute abend gleich ausprobieren und hier posten

    leider sprengt das fusing den chip speicher

    aber es geht auch so mogeln is ja inn

    Code:
    '/////////////////////////////////////////////////////////
    '///  Bascom ISP Programmer TEST                       ///
    '///   PORT B toggel LED  SERVOan portb3 LCD
    '      ADC1 porta1=signal 0-5V         FUNKTION TYNY26 feb 2007
    '/////////////////////////////////////////////////////////
    $regfile = "AT26def.dat"                                    ' used device
    $crystal = 8000000
    
    $hwstack = 32                                               ' default use 32
    
    $swstack = 10                                               'default use 10 for
    
    $framesize = 40                                             'default use 40 for
    
    
    
    Ddra = &B11110000
    Config Adc = Free , Prescaler = 64 , Reference = Off
    Start Adc
    Config Pinb.3 = Output
    Config Pinb.4 = Output
    Config Pinb.5 = Output
    Config Servos = 1 , Servo1 = Portb.3 , Reload = 10
    Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Portb.5 , Rs = Portb.4
    Config Lcd = 20 * 2
    Const Teiler = 0.00488
    Const Teiler2 = 1.636
    Enable Interrupts
    
    
    
    
    Dim Wertad As Word
    Dim Tmp As Word
    Dim Wertse As Byte
    Dim Volt As Single
    
    Wertad = 500
    
    Do
    Waitms 10
    Wertad = Getadc(1)
    'If Wertad > 500 Then Set Porta.5
    'If Wertad < 500 Then Set Porta.6
    If Wertad > 1022 Then Wertad = 1022
    If Wertad < 10 Then Wertad = 10
    Tmp = Wertad / 4
    If Tmp > 150 Then Tmp = 150
    If Tmp < 40 Then Tmp = 40
    Wertse = Low(tmp)
    
    Servo(1) = Wertse
    
    Volt = Wertad * Teiler
    Cls
    Lcd "Volt :" ; Volt
    Locate 1 , 11 : Lcd " V    "                                '; Fusing(volt , "# . ##")
    Lowerline
    Wertse = Wertse - 40
    Volt = Wertse * Teiler2
    Lcd "Grad :" ; Volt
    Locate 2 , 13 : Lcd "    "                                  '; Fusing(volt , "# . ##")
    
    Waitms 100
    
    
    Loop
    
    'kein speicherplatz ehr auf dem chip fusing nicht möglich
    kann man testprogramme hier auch in eine codesamlung reinlegen
    STK200 dongel an Lpt via HC244 auf tiny26 ISP und bascom 1.11.84
    sowie STK500

Berechtigungen

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