Witam serdecznie,
może mi ktoś wytłumaczyć jak można zrealizować woltomierz w bascomie na AVR? Przecież przetwornik w Atmega8 może mierzyć napięcie jedynie z zakresu 0-5V.. A ja potrzebuje 0-30VChciałem to zrobić w ten sposób żeby zastosować dzielnik napięcia 1:6 a wartość odczytana pomnożyć przez 6 i wtedy byłby zakres 0-30V, ale coś chyba ze zmiennymi pokręciłem..
Kod źródłowy:
'program obslugi wbudowanego w mikrokontroler 10-bitowego przetwornika A/C
$regfile = "m8def.dat"
$crystal = 1000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portb.0 , E = Portd.3 , Rs = Portd.2
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Dim Wart_ac As Word
Dim V As Single
Dim Wart_nap As String * 3
Dim Nap_wysw As String * 3
Start Adc
Do
Wart_ac = Getadc(1)
Cls
Lcd Wart_ac
Lowerline
V = Wart_ac * 0.0049
Wart_nap = Fusing(v , "#.&&")
Nap_wysw = 6 * Wart_nap
Lcd Nap_wysw
Waitms 500
Loop
End
Komunikat błędu:

może mi ktoś wytłumaczyć jak można zrealizować woltomierz w bascomie na AVR? Przecież przetwornik w Atmega8 może mierzyć napięcie jedynie z zakresu 0-5V.. A ja potrzebuje 0-30VChciałem to zrobić w ten sposób żeby zastosować dzielnik napięcia 1:6 a wartość odczytana pomnożyć przez 6 i wtedy byłby zakres 0-30V, ale coś chyba ze zmiennymi pokręciłem..
Kod źródłowy:
'program obslugi wbudowanego w mikrokontroler 10-bitowego przetwornika A/C
$regfile = "m8def.dat"
$crystal = 1000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portb.0 , E = Portd.3 , Rs = Portd.2
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Dim Wart_ac As Word
Dim V As Single
Dim Wart_nap As String * 3
Dim Nap_wysw As String * 3
Start Adc
Do
Wart_ac = Getadc(1)
Cls
Lcd Wart_ac
Lowerline
V = Wart_ac * 0.0049
Wart_nap = Fusing(v , "#.&&")
Nap_wysw = 6 * Wart_nap
Lcd Nap_wysw
Waitms 500
Loop
End
Komunikat błędu: