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



Teraz jest 28 mar 2024, o 11:06


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: 230
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: 163
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: 2561
Pomógł: 126

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ł: Google [Bot] i 6 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