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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 23 maja 2025, o 18:01


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
    Autor Wiadomość
    PostNapisane: 17 gru 2011, o 22:19 
    Offline
    Użytkownik

    Dołączył(a): 26 lis 2011
    Posty: 42
    Lokalizacja: Poznań
    Pomógł: 0

    Witam. Wraz z kolegami mamy wykonać model windy. Mamy problem z napisaniem programu.
    Przesyłam schemat i zalążek programu.

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

    Program nie jest napisany tak jak przykazała Pańska książka z tego powodu, że mamy to robić tak jak uczono nas na zajęciach.


    Trochę o windzie:
    - napęd ( silnik krokowy)
    -na każdym piętrze umieszczony jest kontaktron podłączony do INTów
    - III pozyje windy (piętra)

    Prosiłbym o sprawdzenie programu - czy to co jest jest w porządku . Oraz jak sprawić by po naciśnięciu
    switcha odpowiedzialnego za dojazd na dane piętro, nie musieć go trzymać aż do pojawienia się przerwania wyzwolonego przez kontaktron.


    Załączniki:

    Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



    Ostatnio edytowano 17 gru 2011, o 22:34 przez Qbol, łącznie edytowano 2 razy

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 gru 2011, o 22:26 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27405
    Lokalizacja: Szczecin
    Pomógł: 1043

    No, tym razem dane do pytania WZOROWE ;) wręcz przepiękne .... hmmm tylko jakby pytania konkretnego nie widzę ;)

    Nie mniej jednak jeśli sprecyzujesz je to z chęcią można pomóc przy tak zadanym pytaniu.

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 gru 2011, o 22:28 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    Rozumiem że teraz macie tak że winda jedzie jak trzymacie przycisk ??
    I nie wiecie jak zrobić by po jego puszczeniu jechała dalej i zatrzymała się dopiero przy odpowiednim czujniku ??

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 gru 2011, o 22:34 
    Offline
    Użytkownik

    Dołączył(a): 26 lis 2011
    Posty: 42
    Lokalizacja: Poznań
    Pomógł: 0

    Tak. Właśnie o to chodzi.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 gru 2011, o 19:57 
    Offline
    Użytkownik

    Dołączył(a): 26 lis 2011
    Posty: 42
    Lokalizacja: Poznań
    Pomógł: 0

    Nie wiemy też dlaczego nie działają przerwania. Kontaktrony reagują bo sprawdzaliśmy miernikiem jednak uC nie. Czy INT- y są dobrze zapisane?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 gru 2011, o 20:02 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27405
    Lokalizacja: Szczecin
    Pomógł: 1043

    To wprawdzie dla niektórych starszych procków nie jest błąd ale się kiedyś przejedziesz na tych makrach

    SIGNAL( );

    stosuj makra

    ISR( );

    w twoim przypadku np tak:

    Kod:
    ISR( INT0_vect );


    to po pierwsze, a po drugie to gdzieś pan zjadł globalne zezwolenie na przerwania:

    Kod:
    sei()
    ;

    ?????

    bez tego żadne przerwanie w procku nie ruszy ;)

    Ale ZARAZ ZARAZ - ale żeś pan masakrę odstawił ;) no tak to was na pewno nigdzie nie uczą ;)

    ty w ciele głównej funkcji main() wstawiłeś makra przerwań ? toż to się nawet nie powinno skopilować

    masz mniej więcej tak:

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


    No sorki - ale kolega się w ogóle nie przyłożył do czytania chyba ;)

    I jak będziesz dalej twierdził że ty albo wy piszecie programy inaczej niż w książce bo tak wam każą bo tak się nauczyliście - to współczuję - o ile tak ktoś wam każe :( ..... to będziecie jeszcze lata się uczyć aż w końcu dojdziecie do wniosku, że gdybyście parę lat wcześniej jednak zrobili tak jak w książce czyli tak jak się należy - to nie zmarnowalibyście tyle czasu :(

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 gru 2011, o 20:05 
    Offline
    Użytkownik

    Dołączył(a): 26 lis 2011
    Posty: 42
    Lokalizacja: Poznań
    Pomógł: 0

    Próby przeprowadzaliśmy z globalnym zezwoleniem na przerwania ;) więc to nie to. Spróbujemy tak jak Pan poradził.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 gru 2011, o 20:12 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27405
    Lokalizacja: Szczecin
    Pomógł: 1043

    Ale daj Pan spokój - że próby były bez sei() i też nie to.

    Przecież to trzeba zrozumieć - a nie tak coś na ślepo próbować.

    Przecież najpierw odblokowuje się jakieś tam specyficzne przerwania, w tym przypadku wasze INT0, INT1 INT2

    a potem no TRZEBA dać sei(); żeby mogły one wszystkie razem zacząć działać - toż bez sei() to jakaś istna bzdura niestety :(

    Poza tym wychodzą inne rzeczy. Tyle pisałem w książce. Należy pisać kod zgodnie z zasadami dobrego pisania. Więc funkcja główna main() niech będzie na górze a ciała wszystkich innych funkcji poniżej main'a. Na górze tylko deklaracje tych innych funkcji trzeba wyciągnąć.

    Inaczej robisz sam sobie krzywdę niestety. I jakbyś na zajęcia napisał program tak jak się należy - to jeszcze byś 6-kę dostał ;)

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 gru 2011, o 20:45 
    Offline
    Użytkownik

    Dołączył(a): 26 lis 2011
    Posty: 42
    Lokalizacja: Poznań
    Pomógł: 0

    Ahhh teraz widzę, że na forum wstawiłem nie ten kod który miałem. Oczywiście przerwania umieściłem przed main ale i tak nie działały.
    Próby bez sei(); nie było ;) źle Pan zrozumiał.

    Działa wreszcie, najprawdopodobniej przesądziło o tym:

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


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



    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: 9 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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