logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[ATmega32][BASCOM] Przetwornik analogowo-cyfrowy

bar_bur 31 Maj 2010 21:40 1506 3
REKLAMA
  • #1 8139610
    bar_bur
    Poziom 9  
    Witam!
    Próbuję napisać program który:
    - odczytuje wartość z ADC0
    - jeśli napięcie > 1.00 V to zapal diodę LED1
    - jeśli nie zapal LED2

    Napisałem taki kawałek:
    
    ' Konfiguracja
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Start Adc
    ' Potem odczyt:
    getadc(0)
    ' i sprawdzenie:
     If getadc(0) > warość Then
       Led1 = 1 'Zapal
       Else
       Led2 = 1 'Zapal
    

    Jaką wartość powinienem obrać?
    Jak ustawiłem 128 to nic się działo (sprawdzałem miernikiem - było 1.03 V).
    Dzięki za pomoc!
  • REKLAMA
  • #2 8139744
    Logan
    Poziom 30  
    Przeznaczenie:
    
    Pobiera wynik przetwarzania z wbudowanego układu A/D.
    
    Składnia:
    
    zmienna = GETADC( nr_kanału [, offset ] )
    
    gdzie:
    
    zmienna	zmienna do której wpisana będzie przetworzona wartość,
    
    (c) Zbigniew Gibek, 2002-2005   (c) MCS Electronics, 1999-2005
  • REKLAMA
  • #3 8139825
    sulfur
    Poziom 24  
    Nie znam układu, ale:

    przetwornik ADC jest 10 bitowy a zatem ma 1024 kombinacje
    jeśli napięcie odniesienia masz na poziomie 2,56V czyli realnie odczyt napięcia masz co 2,56V/1024=2,5mV
    Z obliczeń wynika zatem, że przy dokładnym źródle na poziomie 2,56V pożądaną wartością jest 400.
    Jeśli napięcie odniesienia wynosi 5V pożądaną wartością jest 205.
  • #4 8140262
    bar_bur
    Poziom 9  
    Dzięki za odpowiedzi - o to mi chodziło.
REKLAMA