Siemka
Mam za zadanie do szkoły zrobić urządzenie (coś w stylu alarmu) które po wyczuciu ruchu będzie po prostu wyło. I ma być ono na pilota RC5, taki od telewizora.
To urządzenie pracuje w ten sposób:
Na pilocie naciskamy STANDBY i włącza się tryb "uzbrojenia". Świeci się dioda że przekaźnik który włącza czujnik ruchu jest zwarty. Kiedy czujnik wyczuje ruch podaje na optotriac napięcie (ominąłem przekaźnik w czujniku, dzięki czemu podaje napięcie około 9V). Optotriac "sygnalizuje" Attiny że czujnik wykrył ruch. Attiny załącza buzzer i dzwoni on dopóki nie naciśniemy znowu STANDBY.
Zrobiłem to tak jak mogłem i jak umiałem najlepiej jednak nie wiem czy wszystko jest ok. To jest na ATTiny2313, Czujnik ruchu to TFMS5360, optotriac to MOC3041, stabilizator 7805.
Załączam Schemat i kod(w bascomie)
Dzięki za pomoc
PS. Z mikrokontrolerami dopiero zaczynam zabawę.
Mam za zadanie do szkoły zrobić urządzenie (coś w stylu alarmu) które po wyczuciu ruchu będzie po prostu wyło. I ma być ono na pilota RC5, taki od telewizora.
To urządzenie pracuje w ten sposób:
Na pilocie naciskamy STANDBY i włącza się tryb "uzbrojenia". Świeci się dioda że przekaźnik który włącza czujnik ruchu jest zwarty. Kiedy czujnik wyczuje ruch podaje na optotriac napięcie (ominąłem przekaźnik w czujniku, dzięki czemu podaje napięcie około 9V). Optotriac "sygnalizuje" Attiny że czujnik wykrył ruch. Attiny załącza buzzer i dzwoni on dopóki nie naciśniemy znowu STANDBY.
Zrobiłem to tak jak mogłem i jak umiałem najlepiej jednak nie wiem czy wszystko jest ok. To jest na ATTiny2313, Czujnik ruchu to TFMS5360, optotriac to MOC3041, stabilizator 7805.
Załączam Schemat i kod(w bascomie)
Dzięki za pomoc
PS. Z mikrokontrolerami dopiero zaczynam zabawę.
$crystal = 1000000
$regfile "attiny2313.dat"
Config Pinb.7 = Output 'przekaźnik załączający czujnik
Pinb.7 = 1 'przekaźnik załączający czujnik standardowo wyłączony
Config Pinb.1 = Output 'buzzer
Config Pinb.5 = Input 'czujnik
Config Rc5 = Pinb.6 'czujnik IR(RC5)
Dim Address As Byte , Command As Byte
Enable Interrupts
Do
Getrc5(address , Command)
Command = Command And &B01111111
If Address = 0 And Command = 12 Then
Toggle Pinb.7
End If
Loop Until Pinb.5 = 0
If Pinb.5 = 0
Then
Do
Pinb.1 = 0
Loop Until Pinb.7 = 1
End If
End