Witam.
Próbuje stworzyć swoją własną centralkę alarmową.
Czujniki ruchu chciałem odizolować optycznie od reszty układu poprzez optotriaki. Niestety jest to jeden z moich pierwszych projektów więc nie do końca przemyślałem wszystkiego i jeden z optotriaków podłączyłem pod dedykowaną nóżkę procesora ADC6 (mowa tu o atmega8 w obudowie TQFP gdzie jest jedna noga dodatkowa tylko do ADC - 19 nóżka).
No trudno stało się (będzie nauczka) . Jako że druki optotriak został podłączony do PORTC.0 a to także ADC więc stwierdziłem, że pomiar czy czujka jest załączona czy też nie będę wykonywał właśnie poprzez ADC.
Niestety w mojej przygodzie z mikrokontrolerami nie miałem wcześniej styczności z ADC a przeszukałem już dużo postów bez rozwiązania problemu stwierdziłem, że odważę się napisać na forum.
Dla ułatwienia przedstawię schemat:
Oraz kod w bascom:
I teraz tak. Z założenia mojego schematu zwarcie do masy złącza
X1-3 powinno zapalić diodę Led_czujka1
X2-1 powinno zapalić diodę Led_czujka2
Niestety zupełnie nie wiem dlaczego ale obie diody zapalają mi się jednocześnie bez względu na to czy zwieram X1-3 czy też X2-1.
Bardzo proszę o pomoc w rozwiązaniu problemu.
Z góry dziękuje.
Próbuje stworzyć swoją własną centralkę alarmową.
Czujniki ruchu chciałem odizolować optycznie od reszty układu poprzez optotriaki. Niestety jest to jeden z moich pierwszych projektów więc nie do końca przemyślałem wszystkiego i jeden z optotriaków podłączyłem pod dedykowaną nóżkę procesora ADC6 (mowa tu o atmega8 w obudowie TQFP gdzie jest jedna noga dodatkowa tylko do ADC - 19 nóżka).
No trudno stało się (będzie nauczka) . Jako że druki optotriak został podłączony do PORTC.0 a to także ADC więc stwierdziłem, że pomiar czy czujka jest załączona czy też nie będę wykonywał właśnie poprzez ADC.
Niestety w mojej przygodzie z mikrokontrolerami nie miałem wcześniej styczności z ADC a przeszukałem już dużo postów bez rozwiązania problemu stwierdziłem, że odważę się napisać na forum.
Dla ułatwienia przedstawię schemat:
Oraz kod w bascom:
$regfile = "m8def.dat"
$crystal = 8000000
Dim Pomiar_adc As Word
Config Portd.3 = Output
Config Portd.5 = Output
Config Portb.0 = Output
Config Portd.1 = Output
Config Portd.0 = Output
Config Portc.4 = Output
Config Portc.3 = Output
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Enable Adc
Led_czujka1 Alias Portc.4
Led_czujka2 Alias Portc.3
Led_alarm_g Alias Portd.1
Led_alarm_r Alias Portd.0
Buzz Alias Portd.3
Alarm_audio Alias Portd.5
Alarm_led Alias Portb.0
Do
Pomiar_adc = Getadc(0)
If Pomiar_adc < 512 Then
Set Led_czujka2
Else
Reset Led_czujka2
End If
Pomiar_adc = Getadc(6)
If Pomiar_adc < 512 Then
Set Led_czujka1
Else
Reset Led_czujka1
End If
Loop
I teraz tak. Z założenia mojego schematu zwarcie do masy złącza
X1-3 powinno zapalić diodę Led_czujka1
X2-1 powinno zapalić diodę Led_czujka2
Niestety zupełnie nie wiem dlaczego ale obie diody zapalają mi się jednocześnie bez względu na to czy zwieram X1-3 czy też X2-1.
Bardzo proszę o pomoc w rozwiązaniu problemu.
Z góry dziękuje.
