Arduino MiniPro -> Bascom, analoge Abfrage

Thema: Arduino MiniPro -> Bascom, analoge Abfrage

  1. Avatar von Andree-HB

    Andree-HB:

    Arduino MiniPro -> Bascom, analoge Abfrage

    Hi Kollegen,
    ich programmiere derzeit kleinere Arduinos (MiniPro und Nano) mit Bascom (über das Programm XLOADER), was soweit auch klappt...nur kann ich warum auch immer keine Analogwerte einlesen. Es sind jeweils 328P`s drauf, der ADC wird gestartet, per getadc abgefragt....aber ich bekomme als Wert immer 1023 raus, egal was ich einspeise. (Pins digital, I2C, usw. ist Alles kein Problem)

    ...hat da schon mal Jemand ähnlich Erfahrung gemacht, habe ich vielleicht irgendwo einen Denkfehler gemacht, oder Arduino`s noch eine Eigenart ?
    (Bootloader sind jeweils noch drauf)


    Gruß
    Andree
     
  2. Avatar von HeXPloreR

    HeXPloreR:
    Hallo Andree,

    ist ja witzig ich hatte gestern genau das gleiche Problem. Wollte 5V über eine Widerstand (ca 2,5V) einlesen und wunderte mich über die 1023 - ich hatte so 512 erwartet.

    Die Lösung war ich hatte keinen Spannungsteiler aufgebaut.
    Natürlich muss der ADC auch über Config aktiviert werden.

    Viele Grüße
    Jörg
    Geändert von HeXPloreR (16.03.2015 um 17:34 Uhr)
     
  3. Avatar von Andree-HB

    Andree-HB:
    Moin Jörg,
    ich hatte ein Poti als Spannungsteiler dran...kann auch am Eingang die regelbare Spannung mit einem Meßgerät messen, aber irgendetwas funktioniert nicht.

    Habe die einfach Funktion aus der Hilfe zum getadc genommen, auf `nem "normalen" Mega8 funktioniert auch Alles.
    Ich vermute irgendetwas wegen Fuses oder Bootloader...hmm...


    Gruß
    Andree
     
  4. Avatar von HeXPloreR

    HeXPloreR:
    Das Programm wäre hilfreich?!

    Welchen Pin benutzt du? Es gehen ja standartmässig nur PORTC.0-.3 (.4-.5 nicht wenn man I²C mitbenutzt). Andere weiß ich jetzt nicht sicher.
     
  5. Avatar von Andree-HB

    Andree-HB:

    Pfeil

    Code: [Ansicht]
    $regfile = "m328pdef.dat"
    $crystal = 16000000
    $baud = 9600                                                'RS232 Baudrate definieren
    
    $hwstack = 250
    $swstack = 250
    $framesize = 450
    
    config PORTb.5 = output    '(die kleine onboard-LED/D12)
    portb.5=0
    
    Config Adc = Single , Prescaler = Auto
    Start Adc
    
    Dim W As Word
    
    Do
     W = Getadc(0)
     print w
     toggle portb.5  
     wait 1
    Loop
    End
    - - - Aktualisiert - - -

    klassischer Anfängerfehler von mir - ich habe vergessen anzugeben, welche Referenz er für den ADC nehmen soll,
    die Erweiterung auf REFERENCE = AVCC brachte den gewünschten Erfolg.
     
  6. Avatar von HeXPloreR

    HeXPloreR:
    Sehr gut. Habe grade in ein Programm geschaut - wäre nun auch mein Tipp gewesen die Reference anzugeben, denn sonst sieht der Code richtig aus

    Viele Grüße
    Jörg