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? 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 9 lip 2025, o 12:54


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
    Autor Wiadomość
    PostNapisane: 9 lut 2019, o 14:08 
    Offline
    Nowy

    Dołączył(a): 09 lut 2019
    Posty: 18
    Pomógł: 0

    Po pierwsze serdecznie witam na forum!

    Miałem nadzieję ogarnąć cały swój projekt samodzielnie, ale niestety utknąłem na zdecydowanie zbyt długo (goni mnie trochę ciasny termin).

    Potrzebuje drogą radiową wysłać sygnał trigger do ultradźwiękowego na dystansie max 3m. Ma to być stan wysoki trwający 10uS. Nic więcej.

    Planowałem użyć dwóch ATmeg. Mam teraz na stanie trzy 328P i jedną 88PA. Dane miały być wysłane przez FS100A (tak, wiem że to zło). Wiem, że słabo, ale nie mam już czasu ani funduszy zamawiać więcej nowych części.

    Z pomocą Mirka (Ave!) udało mi się ogarnąć środowisko do C w Eclipse, wgrywam spokojnie programy do kontrolera, nauczyłem się też przerwań (wewnętrznych i zewnętrznych).

    W rozwiązaniach znalezionych w sieci właściwie wszyscy z FS100A używają biblioteki Manchester.h.

    Spróbowałem więc dodać tylko biblioteki do testowego programu:

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


    Jednak choć udało mi się je znaleźć i dodać do projektu, otrzymałem błąd kompilatora (wtedy kod nie zawierał #include <Arduino.h>):
    fatal error: WProgram.h: No such file or directory

    Po szybkim googlowaniu dodałem biblioteki arduino, po czym kompilator odpowiedział:
    fatal error: pins_arduino.h: No such file or directory

    Tego problemu nie wiem jak obejść inaczej, niż kupując Arduino, co nie jest opcją (cena, czas, nie chcę Arduino, nie nadaje się ono do mojego projektu).
    Dodatkowo, jeśli się nie mylę, to ta biblioteka będzie potrzebować pinów RX i TX, które będą u mnie zajęte do wysyłania danych na konsolę na komputer. Choć w sumie to jeszcze dałoby się chyba pogodzić.

    Pytanie: jak dodać te biblioteki? Czy może zabieram się do tego od kompletnie złej strony i powinienem tę komunikację zrealizować w inny sposób? Ma ktoś może po prostu bibliotekę C dla FS100A?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 lut 2019, o 22:19 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2014
    Posty: 164
    Pomógł: 3

    Hej, jeżeli piszesz o eclipse i języku C to nie mieszaj w to arduino, bo te biblioteki po samym zainkludowaniu nie będą działać.
    Nie podałeś jaką płytkę programujesz i w jaki sposób (programator).
    Arduino ma swoje środowisko, w którym można oczywiście pisać w czystym C i C++, ale jeżeli próbujesz przenieść biblioteki napisane w C++ do C to to nie zadziała.

    A nie próbowałeś tych bibliotek..?
    https://github.com/goldsborough/Mavrchester
    https://github.com/ray66rus/avr

    Musisz sam zdecydować jakim językiem się posługujesz (przypuszczam że C) i wtedy na bieżąco rozwiązywać problem komunikacji.
    Moim zdaniem arduino Ci w tym nie pomoże.

    _________________
    ::::::: C ::::::::::
    :::::: C++ :::::::::



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 lut 2019, o 04:11 
    Offline
    Nowy

    Dołączył(a): 09 lut 2019
    Posty: 18
    Pomógł: 0

    Teraz widzę, że zawaliłem przedstawienie sytuacji.

    Mam wymienione kontrolery i wkładam je po prostu do płytek stykowych. Programuję przez USBasp, piszę zawzięcie w C, wspomagając się niebieską książką i googlem. Widzę, że nie rozumiałem na którym języku były oparte te biblioteki, które znalazłem.

    Te od Ciebie wyglądają naprawdę fajnie. W niedzielę je ogarnę i dam znać co i jak. Ogromne dzięki!



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 lut 2019, o 08:52 
    Offline
    Użytkownik

    Dołączył(a): 29 paź 2017
    Posty: 232
    Pomógł: 26

    Warto by było zakupić zieloną książkę Mirka. Jeśli zabawa z radiówką ma nie być tylko epizodem, to dobrze by przeczytać jak to działa. Od strony 83 masz opisane podstawy, a w kodach dołączonych do książki działające biblioteki do obsługi radiówek. Co więcej w GB jest też opisany sposób obsługi komend AT. W zasadzie cały projekt możesz oprzeć na kodach z tej książki. Niestety wymaga to nieco czasu, ale gdy przez to przebrniesz będziesz mieć gotowe rozwiązania na przyszłość. Dodatkowo forum jest że tak powiem oparte na tych książkach więc jak coś od razu nie zrozumiesz to pytaj.

    P/S
    Tutaj masz fragmenty książki udostępnione w sieci:
    https://atnel.pl/download/ksiazka/JCPPM8B_WYD_2.pdf
    Jest parę stron wstępu do radiówek.

    _________________
    Jestem na GG 31324
    Nowy soft, nowa nadzieja.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 lut 2019, o 19:47 
    Offline
    Nowy

    Dołączył(a): 09 lut 2019
    Posty: 18
    Pomógł: 0

    Jednak coś mi umyka przy dodawaniu bibliotek. Próbowałem dodać avr-master i o ile sama biblioteka: #include "rfproto.h" doszła grzecznie, to po dodaniu w main:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Przy okazji, jeśli pomysł dodatkowego mrugnięcia diodą w prototypie w razie problemów z inicjalizacją jest kiepski, to dajcie znać.

    Otóż po dodaniu fragmentu wyżej dostaję błąd:
    main.c:(.text.startup.main+0x4): undefined reference to `rf_init'
    collect2.exe: error: ld returned 1 exit status
    make: *** [RADIO_LED.elf] Error 1
    "make all" terminated with exit code 2. Build might be incomplete.

    Powinienem to użyć jakiegoś SYNTAX? Sorry za masę głupich pytań godnych amatora.

    Co zrobiłem: PPM na Project Explorer->Proporties->C/C++ Build->Settings->Tool Settings dodałem ścieżkę "C:\eclipse-workspace\libs\avr-master\AVRtest" w AVR Compiler ->Directories i w AVR C Linker Libraries -> Libraries Path

    Najwyraźniej coś robię źle i trochę się głupio czuje nie umiejąc sobie sam wygooglować jak to zrobić dobrze.

    Tymczasem zielona książka wskoczyła na listę zakupów.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 lut 2019, o 20:50 
    Offline
    Użytkownik

    Dołączył(a): 13 lut 2012
    Posty: 176
    Pomógł: 10

    Jeśli zasięg ma być 3 metry to nie lepiej skorzystać z NRF24L01. Mirek to świetnie przedstawił a same układy kosztują kilka złotych.
    Jeśli nie masz doświadczenia i zaplecza do testów to wspominanie FS100??? mogą być miną.


    Autor postu otrzymał pochwałę


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

    Dołączył(a): 25 lip 2013
    Posty: 2596
    Pomógł: 129

    Na NRFach dużo większe zasięgi można uzyskać.
    A biblioteka Mirka do NRFów jest wprost rewelacyjna (jak i inne jego zreszta też :) )



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 lut 2019, o 21:30 
    Offline
    Nowy

    Dołączył(a): 09 lut 2019
    Posty: 18
    Pomógł: 0

    W desperacji powoli skłaniam się ku temu. Mam nadzieję, że uda mi się to znaleźć w jakimś sklepie stacjonarnym w Krakowie. Nie zmienia to faktu, że wciąż byłoby miło umieć dodawać biblioteki do projektu.

    Co do samego problemu, po otwarciu rfproto.c znalazłem tam:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Przecież np w Atmega328P takiego rejestru zwyczajnie nie ma. Jest TIMSK0, 1 i 2, ale żaden z nich nia ma ustawialnego bitu 4. Może to jest problemem?

    Jak mówicie o bibliotece od Mirka to o tej za 19zł z najnowszego posta w aktualnościach na blogu?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 lut 2019, o 22:09 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 31 mar 2015
    Posty: 310
    Pomógł: 18

    Biblioteka Mirka jest dla tych co nie chcą myśleć - ja do tych należę - ale znam BB(podstawy programowania) i 19zl warto wydać dla wygody programowania.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 lut 2019, o 16:09 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 cze 2014
    Posty: 855
    Lokalizacja: pod Warszawą
    Pomógł: 58

    Irrehaare napisał(a):
    Co do samego problemu, po otwarciu rfproto.c znalazłem tam:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Przecież np w Atmega328P takiego rejestru zwyczajnie nie ma. Jest TIMSK0, 1 i 2, ale żaden z nich nia ma ustawialnego bitu 4. Może to jest problemem?


    No ale Ty przecież wiesz którego timera używasz więc popraw i zobacz.

    przykład dla timera0
    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 taki zapis jest bardziej czytelny nie sądzisz?

    _________________
    Pomóżcie mi stanąć na nogi



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 lut 2019, o 20:25 
    Offline
    Nowy

    Dołączył(a): 09 lut 2019
    Posty: 18
    Pomógł: 0

    @mczarny pełna zgoda, po prostu potrzebowałem potwierdzenia, że zdarza się, że bibliotekę czasem trzeba dopasować pod konkretny kontroler. Natomiast wyżej cytowałem bezpośrednio bibliotekę, sam stosuję dokładnie taki zapis jak przedstawiłeś, jakoś nigdy nie mogłem się przekonać do

    Tak jak napisałem wyżej, będę kupować NFR24L01. Kojarzy ktoś ogarnięty sklep w którym znajdę jakąś dobrą i drobną wersję bez ogromnej zewnętrznej anteny? Do tego bardzo by się przydało, żeby to mogli też szybko wysłać do mnie.



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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