Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 27 kwi 2026, o 23:12


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 25 lip 2013, o 21:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 gru 2012
Posty: 729
Lokalizacja: Białystok
Pomógł: 12

Witam ponownie ;)

Gdy ogarnąłem mostek H nadszedł czas na czujniki TSOP 4836.
Problem pojawił się na samym początku.
Wygląda to tak jakby warunek się ciągle spełniał.

No ale od początku :) Napisałem kawałek kodu do odbioru 6 czujników podczerwieni TSOP. Gdy 3 czujniki odbierają sygnał w tym samym czasie silniki mają kręcić się w odpowiednią stronę. Jednak jest problem w tym że silniki kręcą się nawet jeśli warunek nie jest spełniony.
Wygląda to tak. Włączam zasilanie, świecę diodą IR na tsopy, silniki się zaczynają kręcić, przestaje świecić, silniki nadal się kręcą i nie da się ich żadnym ifem zatrzymać :( Tak samo reaguje reszta ifów. Gdy jeden się spełni, spróbowanie zmiany ifa kończy się próbą zmiany obrotu silnika jednak potem kręci się i tak w poprzednią stronę. Przykładowym ifem który się ciągle spełnia jest: if (CZUJNIK1 && CZUJNIK2 && CZUJNIK3) atakuj();

Oto kody
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Myślę że minisumo.c jest zbędne bo tam są tylko funkcje do silników.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lip 2013, o 21:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 gru 2012
Posty: 729
Lokalizacja: Białystok
Pomógł: 12

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Poprawiony .h
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Zmieniłem dwa operatory logiczne w DDRD, DDRA itp.
Po tej zmianie gdy inny if się spełnia silnik zmienia swoje obroty choć i tak ciągle się kręci.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lip 2013, o 21:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 gru 2012
Posty: 729
Lokalizacja: Białystok
Pomógł: 12

No to chyba wystarczy if(...) else DCS_STOP;
Jednak czy to nie będzie konfliktowało z innymi ifami.
Teraz to jedno koło się nie kręci...
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Edit:
Zobaczyłem że gdy nie puszczam lekkich sygnałów przez diodę IR to wtedy silniki ładnie przestają pracować. Może gdy zamontuję zwykłe diody IR do układu będzie dobrze. No bo w sumie przeciwnik nie wysyła takich sygnałów (nie chodzi o 36kHz)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lip 2013, o 22:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 gru 2012
Posty: 729
Lokalizacja: Białystok
Pomógł: 12

Genialne! Dzięki, teraz w moich rękach obrót :)

Edit:
Mission compleated :) Mam nadzieje że zatrzymania są spowodowane pilotem który przekazuje sygnał "seriami" (widziałem przez kamerę :) )

Teraz została ostatnia sprawa, z ADC ale mam nadzieję że chociaż to sam ogarnę ;)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 15 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO