Witam
Chciałbym usłyszeć Wasze zdanie na jeden temat. Otóż mam urządzonko zbudowane na bazie Atmegi8 - całość zamontowana na maszynie -gra i buczy (dzięki również Waszej pomocy za co bardzo dziękuję).
Maszyna ma czujnik podczerwieni, który bada przesuwające się na taśmie przedmioty (czujnik zasilany jest 24 VDC i ma 3 przewody VDC, GND, i SYGN przedmiot przechodząc przez czujnik powoduje iż owy czujnik podaje 24V na przewód SYGN jak zniknie to napięcie znika również z niego). Chciałbym aby Atmega zliczała te przedmioty (ich ilość) czyli inaczej mówiąc ilość impulsów i pomyślałem aby owy czujnik podłączyć do małego przekaźniczka 24VDC a on stykałby mi np. nóżkę Atmegi do masy GND i w ten sposób mógłbym wiedzieć kiedy znalazł się przedmiot w polu czujnika i liczyć go ale pytanie czy Atmega nie ma systemowo jakiegoś licznika impulsów? hmm bo pomyślałem aby napisać coś takiego
L - liczba przedmiotów
T - zmienna pomocnicza
Jak myślicie dobry sposób?
Chciałbym usłyszeć Wasze zdanie na jeden temat. Otóż mam urządzonko zbudowane na bazie Atmegi8 - całość zamontowana na maszynie -gra i buczy (dzięki również Waszej pomocy za co bardzo dziękuję).
Maszyna ma czujnik podczerwieni, który bada przesuwające się na taśmie przedmioty (czujnik zasilany jest 24 VDC i ma 3 przewody VDC, GND, i SYGN przedmiot przechodząc przez czujnik powoduje iż owy czujnik podaje 24V na przewód SYGN jak zniknie to napięcie znika również z niego). Chciałbym aby Atmega zliczała te przedmioty (ich ilość) czyli inaczej mówiąc ilość impulsów i pomyślałem aby owy czujnik podłączyć do małego przekaźniczka 24VDC a on stykałby mi np. nóżkę Atmegi do masy GND i w ten sposób mógłbym wiedzieć kiedy znalazł się przedmiot w polu czujnika i liczyć go ale pytanie czy Atmega nie ma systemowo jakiegoś licznika impulsów? hmm bo pomyślałem aby napisać coś takiego
L - liczba przedmiotów
T - zmienna pomocnicza
Set Portd.2
Do
If T = 1 Then Goto zniknal
jest:
If Pind.2 = 0 Then
Incr L #przedmiot w polu
T = 1 #zabezpieczenie przed zliczaniem nieskonczonym
End if
zniknal:
If Pind.2 = 0 Then
T = 0
End if
Loop Jak myślicie dobry sposób?