Postanowiłem zrobić użytek z procesora, aby rozwiązać mój problem z napływającą wodą w piwnicy
Wymyśliłem sobie że w przedpokoju mam mieć Diodę alarmową która będzie mnie informować o zbyt dużym poziomie wody (będzie pulsować) nazwiemy ją B0
Gdy czujnik poziomu D1 poda stan "1" na portd.1 , wtedy dioda B0 miga alarmując mnie o niebezpiecznym poziomie wody, wtedy Ja nacisnę switch (portd.0=0) nazwiemy go D0 który załączy pompę (portb.1=1), oraz zapali diodę D0 na stałe informując mnie że pompa jest załączona
Napisałem odpowiedni program który spełnia w/w wymogi ale znalazłem błąd który może spowodować samoczynne załączenie pompy (portb.1)
Błąd ten polega na tym że gdy w nieodpowiednim momęcie czujnik poda "1" na portd.1 następuje załaczenie portb.0 i portb.1
Kod: Zaznacz cały
$regfile = "attiny2313.dat"
$crystal = 1000000
'sterownik pompy
Config Portb = Output
Config Portd = Input
Portb = 255
Portd = &B00000011
Dim A As Byte
Do
If Pind.1 = 0 Then 'jeżeli zadziała czujnik D1
Waitms 500
Pulseout Portb.0 , A , 6000 ' to ma pulsowac dioda B0 (ALARM)
End If
If Pind.0 = 0 Then 'jeżeli nacisnę D0
Waitms 500
Toggle Portb.0 'ma zapalić diodę B0
Toggle Portb.1 'oraz włączyć pompę
End If
Loop
End