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 12 kwi 2025, o 19:06


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 49 ]  Przejdź na stronę Poprzednia strona  1, 2
    Autor Wiadomość
    PostNapisane: 15 lut 2015, o 14:30 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    Krańcówka się przyda, bo po podaniu zasilania tarcza powinna obrócić się do punktu startowego. Potem już wiesz o ile kroków się poruszać. Tablica znaków jak najbardziej będzie potrzebna. Po porównaniu aktualnego znaku z tablicą otrzymasz indeks (lub wprost liczbę kroków jeśli wykorzystasz tablicę 2 wymiarową) i pamiętając aktualną pozycję przemieścisz tarczę gdzie potrzeba.

    Karta SD to kieski pomysł w tym przypadku (ciągłe przekładanie jest bez sensu). Najlepiej wykorzystaj UART, czy tam podepniesz przejściówkę USB-UART, moduł Bluetooth czy ATNEL-WIFI232-T to sprawa drugorzędna. Najlepiej zacząć od USB-UART oparty o FT232R. Nie musisz też pisać żadnego programu. Przynajmniej na razie. Wykorzystać możesz dowolny terminal RS232 np. BrayTerminal. Czytając książkę natrafisz na rozdział o komunikacji szeregowej wraz z prostą biblioteką. Jak się trochę pobawisz to wrócisz z pytaniami.


    Autor postu otrzymał pochwałę

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 lut 2015, o 17:17 
    Offline
    Użytkownik

    Dołączył(a): 20 sty 2015
    Posty: 31
    Pomógł: 0

    z tego co rozumiem to chyba zestaw ATB 1.04 posiada taką przejściówke :)http://www.atnel.pl/ft232r-programator-w-atb.html ?

    P.S. Nierówna praca silnika była spowodowana źle zaciśniętym kablem na płytce.


    ODPOWIEDZ :)

    http://atnel.pl/atb-przejsciowka-usb-rs232.html

    Proszę o podpowiedź sugestie ... dlaczego po wciśnięciu klawisz K3 silnik nie porusza się o jeden krok ? a raczej czemu nie reaguje silnik .

    Chciałbym mieć taką funkcje dzięki której był by wykonywany jeden krok ale już próbuje zrobić taką funkcje co niby powinna się wykonać 30 razy.

    Bez tego mego projektu dalej nie popchnę.


    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.


    dziękuje za wyrozumiałość

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 lut 2015, o 18:14 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    1. Jak stoi na krańcówce to nigdy stan JEDEN nie nadejdzie, bo najpierw sprawdzany jest KRA. W takim układzie co jest wyżej ma wyższy priorytet. Jak
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
    dasz na koniec tego warunku to będzie w porządku.

    2. Po wykonaniu jednego kroku ustaw stan na STOP inaczej wykona się znowu jeden krok i tak dopóki inny stan nie nastąpi
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 lut 2015, o 21:38 
    Offline
    Użytkownik

    Dołączył(a): 20 sty 2015
    Posty: 31
    Pomógł: 0

    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.


    Nie działa czemuś gdzieś jest jeszcze jakiś mankament no chyba że źle zrozumiałem Pana (wieku nie znam ale mam wrażenie jak by Twój zawód to wykładowca na uczelni).

    Chciałem również zrobić tak poprzez zdefiniowanie zmiennej dioda aby widzieć,że napewno silnik się nie drga po wciśnięciu przycisku K3 ale nawet po ruszeniu silniczka równiez nie zapala się dioda....

    A może ktoś inny z forumowiczów ma jakieś sugestie?
    Bo 630 wyświetleń same się nie robi no chyba że to przyszli nie doszli nowi użytkowicy forum.

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 lut 2015, o 22:40 
    Offline
    Uzytkownik zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 16 lip 2012
    Posty: 2088
    Lokalizacja: Leżajsk / Kraków
    Pomógł: 411

    Respect1523 napisał(a):
    Nie działa czemuś gdzieś jest jeszcze jakiś mankament

    No to sprawdź swoje połączenia, bo przetestowałem program bez żadnych zmian (użyłem LEDów zamiast silnika) i znośnie działa.

    Pin, który nazwałeś sobie dioda jest cały czas w stanie niskim (0V)
    Respect1523 napisał(a):
    no chyba że źle zrozumiałem Pana (wieku nie znam ale mam wrażenie jak by Twój zawód to wykładowca na uczelni).
    Dlatego na forum wszyscy są na ty


    Autor postu otrzymał pochwałę

    _________________
    Dragonus Cracovus: Biomagia



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2015, o 14:34 
    Offline
    Użytkownik

    Dołączył(a): 20 sty 2015
    Posty: 31
    Pomógł: 0

    Witam,

    Trochę mi się pochorowało, ale czas wracać.
    Oczywiście rady pomogły wszystko działa tak jak miało być.

    Wykonuje się jeden pełen obrót po wciśnięciu K3 u mnie to jest 510 kroków, dioda miga sygnalizując prace silniczka.

    Wrzuca poprawiony kod a może ktoś skorzysta.



    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.



    Czas na dalszą zabawę, wiedząc że tarcza ma 34 pola (narazie ma 33 ale zmienie na 34 pola aby nie bawić się w połówki kroków) , czyli przesunięcie o jedno pole to 15 kroków.

    Teraz pytanie co do tablicy jaką muszę stworzyć.

    czy mogę tak zdefiniować swoje przesunięcia krokowe do tablicy ?

    void [A, B, C,]; <---- wyczytałem w książce BB strona 146 że nie można używać typu zmiennej void ???

    czyli nie mogę tego tak zapisać w programie ?

    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.


    Jakoś nie dam rady tego rozkminić z tymi tablicami, proszę o jakieś uwagi sugestie jak powinienem się do tego zabrać.

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lut 2015, o 19:19 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2014
    Posty: 46
    Lokalizacja: okolice JOWISZA czasami PL
    Pomógł: 7

    Niech kolega się zastanowi.
    Chce Napisać dom taką maszynką. Pytanie gdzie jest literka d, gdzie o a gdzie m ? (oczywiście na tarczy).
    Wartość na tarczy = wartość tablicy (literka cyferka czy co tam jeszcze jest) wypisane w kolejności wystąpienia na tarczy
    (analogia do alfabetu a, b, c, .....itd )
    i teraz jak chcesz napisać "dom" swoją maszynką to :
    porównujesz wpis w tablicy z wprowadzoną literką (np przez UARTa)
    w jakiejś pętli jak się zgadza to tylko zapamiętujesz indeks pętli w zmiennej
    jak ustawiłeś tarcze jakąś krańcówką to wiesz gdzie jest na starcie pozycja 0( bo tablica zaczyna się od elementu o indeksie 0). wystarczy porównać wartość indeksu z wartością położenia tarczy,
    dalej już z górki kroki wprzód albo w tył o tyle, ile wynosi różnica położeń kroki, położenie tarczy.
    a kod do samodzielnego wykonania.
    Analiza Algorytmu:
    tarcza w pozycji 0
    Literka do porównania d
    tablica indeks 3
    porównanie co większe 0 czy 3 czyli tablica więcej
    czyli 3-0 =3 czyli d
    tarcza na pozycji 3 została
    następna literka do porównania to o
    tablica o indeksie 14 (liczone bez polskich znaków) czyli tablica więcej
    czyli 14-3 = 11 kroków dalej jest o od literki d na tarczy
    następna literka do porównania to o
    tablica o indeksie 14 (liczone bez polskich znaków)
    czyli 14-3 = 11 kroków dalej w przód jest o od literki d na tarczy
    tarcza w pozycji 14
    następna literka do porównania to m
    tablica o indeksie 12 (liczone bez polskich znaków)czyli tarcza na więcej - zmiana kierunku obrotów
    czyli 14-12 = 2 kroki wcześniej jest m od literki o na tarczy.

    ale to tylko pomysł początkującego. sorry ale ja tak tylko na szybko wymyśliłem może nie być optymalnie



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2015, o 15:32 
    Offline
    Użytkownik

    Dołączył(a): 20 sty 2015
    Posty: 31
    Pomógł: 0

    Jakoś smutno mi się zrobiło patrząc na zestaw ATB, że nic się nie świeci na LCD dodałem opcje wyświetlania co się dzieje w danej chwili w pracy urządzenia.



    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.


    Dwie rzeczy mi się nie podobają...

    1. po włączeniu urządzenia na LCD pojawiają się dwa napisy zamiast tylko ZEROWANIE dziwne bo po wyzerowaniu jest jeden napis wyzerowanie
    2. mruganie napisów <--- rozumiem, że to jest w pętli wykonywane i dla tego mruga


    Czekam oczywiście na pomoc w napisaniu tej tablicy, może jednak ktoś pomoże.

    Tak działa obecnie urządzenie.

    v= ( https://www.youtube.com/watch?v=fYZUYdl ... e=youtu.be )

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2015, o 16:49 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2014
    Posty: 46
    Lokalizacja: okolice JOWISZA czasami PL
    Pomógł: 7

    Jak wrócę do domu sprawdzę kod na atb

    poprawiony kod działający zgodnie z założeniami ale do obsługi klawiszy użył bym takiej jak w superdebunce w bb lub z blogu mirka :)


    poprawiono kolejność sprawdzania warunków
    wpierw krańcówka potem klawisze

    poprawiono/przerobiono definicję preprocesora na funkcję bo dużo tego było (KROK1,KROK2,KROK3,KROK4)

    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.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2015, o 19:59 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2014
    Posty: 46
    Lokalizacja: okolice JOWISZA czasami PL
    Pomógł: 7

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


     


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

    relizuje inicjacje wyświetlacza a kolega jej uzywa w pętli while(1) w funkcji wskazanej wyżej ------> dlatego mruga :) tyle razy się wyświetlacz inicjuje


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2015, o 21:18 
    Offline
    Użytkownik

    Dołączył(a): 20 sty 2015
    Posty: 31
    Pomógł: 0

    Super działa i dużo mi to wyjaśniło. <---- wielkie podziękowania brat_kamyka


    Jak patrze jak rośni licznik odwiedzin tego tematu to daje to kopa do dalszego rozwijania projektu.

    Teraz czas na tablice aby w pełni móc realizować zadanie z pierwszego postu.

    Oczywiście jeszcze komunikacja UART.

    Jeżeli jakiś użytkownik chciałby pobawić się również takim silniczkiem to polecam na początek http://allegro.pl/arduino-silnik-krokow ... 05104.html

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lut 2015, o 21:25 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2014
    Posty: 46
    Lokalizacja: okolice JOWISZA czasami PL
    Pomógł: 7

    to teraz:
    1. zadanie pomocnicze wyślij znak przez usarta do atmegi i wypluj go na wyświetlacz (taki debuger odbioru usarta)
    tutaj masz pomoc http://forum.atnel.pl/topic10755.html i oczywiście kniga tutaj zwana BB
    jak to zrobisz to
    2. przerób kod tak aby pozbyć się funkcji delay() bo avr sie marnuje i blokujesz wykonywanie kodu
    Kniga BB Rozdział projekt wielozadaniowy ----> czytaj timery programowe (co ile czasu coś wykonać)
    następnie
    3.definicja tablicy znaków na kole tak aby atmega znała kolejność znaków od położenia początkowego
    potem
    4.porównanie poszczególnych wartości z odebranym znakiem ----> czyli wiesz o ile i w którą stronę obrócić silnik .
    koniec zadania

    miłego programowania


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 lut 2015, o 00:10 
    Offline
    Użytkownik

    Dołączył(a): 20 sty 2015
    Posty: 31
    Pomógł: 0

    powalczę i zadam pytania.

    1. niestety mam jakis problem z komunikacją przez USB RS232 zestaw ATB 1.04rev

    Moje ustawienia jak jakiegoś screena brakuje dośle.
    Obrazek

    dostaje w consoli Putty.

    Obrazek



    jakieś pomysł co moge robić źle?

    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.

    _________________
    sig off ;(



    Ostatnio edytowano 22 lut 2015, o 15:42 przez Respect1523, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 lut 2015, o 15:40 
    Offline
    Nowy

    Dołączył(a): 17 paź 2014
    Posty: 23
    Pomógł: 1

    Spróbuj w pętli głównej dodać np:
    OSCCAL=200; //jak nie ruszy to wpisz 150 i sprawdź, 160 i sprawdź ... tak kolejno do powiedzmy 240



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 lut 2015, o 16:46 
    Offline
    Użytkownik

    Dołączył(a): 20 sty 2015
    Posty: 31
    Pomógł: 0

    1.nic nie pomogłem ehhh

    w programie Terminal tez jest niepoprawny odczyt


    2.nie wiem o co chodzi wsadziłem atmege 16 i wszystko zaczęło śmigać ....

    ktoś umie mi to wyjaśnić ? bo już zgłupiałem

    3. potrzebuje mieć w zestawie atmega32 bo na tej 16 nie działa mój główny projekt silniczka

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 lut 2015, o 20:05 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2014
    Posty: 46
    Lokalizacja: okolice JOWISZA czasami PL
    Pomógł: 7

    Witaj ponownie
    tak na szybko przejrzałem kod moje uwagi:
    1. czemu piszesz własne funkcje w main.c do wysyłania danych usart
    zamiast zawartych w bibliotece
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    2. brak
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
    przerwań odblokowanych bo ta biblioteka pracuje na przerwaniach
    3. do powtórnego czytania wykonania ćwiczeń BB rozdział 7.(USART)



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


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 lut 2015, o 22:49 
    Offline
    Użytkownik

    Dołączył(a): 20 sty 2015
    Posty: 31
    Pomógł: 0

    1.ok?
    2.ok?
    3.ok?



    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.


    Obrazek

    Dalej niestety nie działa na mojej atmedze32 tylko na 16 chyba czas inna kupić i przetestować.

    dziękuje za pomoc i uwagi

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 23 lut 2015, o 11:10 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2014
    Posty: 46
    Lokalizacja: okolice JOWISZA czasami PL
    Pomógł: 7

    Na spokojnie
    1. Czy dobrze ustawione fuse bity w atmega 32, czy dobrze ustawiona częstotliwość taktowania w projekcie?
    2. Co ile czasu chcesz wysyłać string UART-em?
    (podpowiedź przerwanie wykonuje się co 10 ms )
    lepiej zrobić to tak :
    http://forum.atnel.pl/topic7989.html#p89920
    czyli w przerwaniu ustawiać czas do przodu, bo do projektu jeszcze coś dojdzie (inne zadanie z inną częstotliwością wykonywane) i będzie kłopot.
    Do poczytania o licznikach w BB multipleksowanie LED.


    1. OK
    2. OK
    3. brak delay czyli OK

    PS.
    Zaraz zaraz w projekcie "maszynki" musisz odbierać znaki z PC a nie wysyłać czy się mylę?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 23 lut 2015, o 19:31 
    Offline
    Użytkownik

    Dołączył(a): 20 sty 2015
    Posty: 31
    Pomógł: 0

    1.Obrazek

    Obrazek

    W projekcie jest 8000000.

    2. W trakcie czytanie ale w końcu chyba zaczynam chociaż w jakimś stopniu rozumieć te timery.

    P.S. Tak tak dokładnie mam zamiar odbierać dane zewnątrz. Na początku czymś prostym potem chce napisać jakiś mały programik ale to zaznaczam potem :)

    _________________
    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: 49 ]  Przejdź na stronę Poprzednia strona  1, 2

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 9 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:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO