emix95 Maj 15, 2012 Autor tematu Udostępnij Maj 15, 2012 Witam chciałem pod atmege 8 podłączyć sharp 340 pod pinc.0 wejście od sharpa a pod b.0 diode i jak coś zauważy to się zaświeci dioda czy ma ktoś taki prosty program bo taki nie działa: $regfile = "m8def.dat" $crystal = 12000000 'definiujemy z jakim taktowaniem będzie pracował Config Portc = Input 'port b jako wejścia Portc = &B00000000 'wszędzie stan spoczynkowy-0 Config Portb = Output 'pprt d jako wyjścia Portb = &B0000000 'wszędzie stan spoczynkowy-0 Do 'pętla nieskończona If Pind.0 = 1 Then 'jeżeli przycisk 1 wciśnięty Portb.0 = 1 'zapal diode Elseif Pind.1 = 1 Then 'jeżeli przycisk 2 wciśnięty Portb.0 = 0 'zgaś diodę End If 'koniec bloku warunkowego Loop 'koniec pętli End 'koniec programu
bartek1333 Maj 15, 2012 Udostępnij Maj 15, 2012 Witam chciałem pod atmege 8 podłączyć sharp 340 pod pinc.0 wejście od sharpa Piszesz, że sharp jest podłączony pod pinc.0, a w programie masz: If Pind.0 = 1 Then
emix95 Maj 15, 2012 Autor tematu Udostępnij Maj 15, 2012 zmieniłem to tylko problem że dioda cały czas się świeci.
bartek1333 Maj 15, 2012 Udostępnij Maj 15, 2012 If Pind.0 = 1 Then 'jeżeli przycisk 1 wciśnięty Portb.0 = 1 'zapal diode Elseif Pind.1 = 1 Then 'jeżeli przycisk 2 wciśnięty Portb.0 = 0 'zgaś diodę End If Na początku sprawdzasz Pind.0, potem Pind.1 (pomijam to że powinno być Pinc.0, ale o tym już napisałeś). Napisz w jednym i drugim warunku "pinc.0".
emix95 Maj 15, 2012 Autor tematu Udostępnij Maj 15, 2012 Teraz tak to wygląda. $regfile = "m8def.dat" $crystal = 12000000 'definiujemy z jakim taktowaniem będzie pracował Config Portc = Input 'port b jako wejścia Portc = &B00000000 'wszędzie stan spoczynkowy-0 Config Portb = Output 'pprt d jako wyjścia Portb = &B0000000 'wszędzie stan spoczynkowy-0 Do 'pętla nieskończona If Pinc.0 = 1 Then 'jeżeli przycisk 1 wciśnięty Portb.1 = 1 'zapal diode End If 'koniec bloku warunkowego Loop 'koniec pętli End
bartek1333 Maj 15, 2012 Udostępnij Maj 15, 2012 Sharp 340k, gdy widzi przeszkodę ma na wyjściu stan L. A ty sprawdzasz czy jest wysoki.
Phil Maj 16, 2012 Udostępnij Maj 16, 2012 A gdzie drugi warunek? Jak go nie dodasz to dioda będzie się cały czas świeciła.
emix95 Maj 16, 2012 Autor tematu Udostępnij Maj 16, 2012 czyli musze dodać If pindc.0 = 0 then pind.1 = 0 Tak?
emix95 Maj 18, 2012 Autor tematu Udostępnij Maj 18, 2012 Zrobiłem tak ale dioda nadal cały czas świeci $regfile = "m8def.dat" $crystal = 8000000 'definiujemy z jakim taktowaniem będzie pracował Config Portc = Input 'port b jako wejścia Portc = &B00000000 'wszędzie stan spoczynkowy-0 Config Portb = Output 'pprt d jako wyjścia Portb = &B0000000 'wszędzie stan spoczynkowy-0 Do 'pętla nieskończona If Pinc.0 = 1 Then 'jeżeli przycisk 1 wciśnięty Portb.1 = 1 Elseif Pinc.0 = 0 Then 'jeżeli przycisk 2 wciśnięty Portb.1 = 0 'zgaś diodę End If 'zapal diode 'koniec bloku warunkowego Loop 'koniec pętli End
Sabre Maj 19, 2012 Udostępnij Maj 19, 2012 emix95, brakuje ci podstawowej wiedzy i widzę u ciebie kompletny brak logicznego myślenia. To nic, że źle sprawdzasz przycisk, było już o tym wielokrotnie na tym forum, że switche zwiera się przyciskiem do masy a nie tak jak u ciebie do plusa zasilania. Pomyśl sam przez chwilę jak twoja biedna dioda ma się świecić, jak wciskasz przycisk na moment, pojawia się na nim 1, dioda się zapala, ale za ułamek sekundy ta dioda zgaśnie bo za chwilę znowu sprawdzasz czy przycisk jest wciśnięty i jeśli nie jest to gasisz diodę. Musiałbyś trzymać przycisk cały czas wciśnięty, żeby dioda się świeciła. Tylko, że znając życie masz wszystko źle podłączone, nie do tych pinów co trzeba. Zrób wszystko po bożemu to dostaniesz działający kod. Daj też jakieś zdjęcia w dobrej jakości tego twojego układu. Normalnie serce mi ściska jak czytam twoje posty o tym jak wszystko ci nie działa, pomimo, że wielokrotnie dostawałeś już odpowiedzi na swoje pytania.
emix95 Maj 19, 2012 Autor tematu Udostępnij Maj 19, 2012 Te przycisk itd to z czego innego zapomniałem usunąć a jak byś czytał to byś wiedział że chodzi o sharp 340k!
emix95 Maj 22, 2012 Autor tematu Udostępnij Maj 22, 2012 Ogólnie chodzi o to że jak sharp wykryje coś to dioda się zapala! Czyli potrzebuje taki kod if "czujnik wykrywa" then "dioda świeci" if"czujnik nie wykrywa" then "dioda nie świeci"
Robomaniak Maj 22, 2012 Udostępnij Maj 22, 2012 Bez obrazy ale weź się w garść. Jest to max 5 linijek kodu. Ściągnij sobie polskiego helpa do bascoma i poczytaj poradniki na forum itp. Bo jeśli już na tym etapie potrzebujesz gotowca to nie wróżę nic dobrego.
emix95 Maj 27, 2012 Autor tematu Udostępnij Maj 27, 2012 Dioda wciąż się sama pali. Czujnik nie widzi nic ale dioda świeci tu jest schemat.
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »