Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

komunikacja między 2xAtmega8 przez TxD/RxD 433Mhz w standardzie rs232

korno95 14 Paź 2013 23:30 2217 13
  • #1 14 Paź 2013 23:30
    korno95
    Poziom 5  

    Witam, zakupiłem taki eksperymentalny nadajnik+odbiornik.
    http://electropark.pl/moduly-komunikacji/3471...munikacji-rf-nadajnik-i-odbiornik-433mhz.html
    Jest to cienizna/gdyż ma mały zasięg i nie ma wyprowadzenia na antenę zew. Ale chodzi mi tylko o opanowanie tej sztuki jaką jest przesył danych za pomocą standardu rs232. Nadajnik podłączyłem do TxD, odbiornik do RxD i tyle z elektroniki.
    Teraz zaczyna się programowanie. I nic nie kumam.
    Tak naprawdę nigdzie nie mogę znaleźć dobrego opisu co i jak. Czytałem dokumentację Atmegi8 i miliony innych rzeczy. Był na elektrodzie podobny temat lecz zakończył się - kup gotowca. Proszę o wytłumaczenie schematu konfigurowania połączenia jak i wysyłania ramki. Byłbym naprawdę bardzo wdzięczny.

    0 13
  • Pomocny post
    #2 14 Paź 2013 23:35
    korrus666
    Poziom 40  

    W dokumentacji Atmegi masz wszystko dokładnie opisane odnośnie konfiguracji UART. Proponuję ustawić niedużą prędkość na początek 1200 b/s. Ramkę sobie sam ustalasz. Załóż że na początku wysyłasz jakieś 2 konkretne bajty a w odbiorniku sprawdzasz czy takie właśnie przyszły i jeśli tak to czytasz resztę danych. Przyjmujesz sobie jakąś stałą liczbę przesyłanych bajtów i na końcu np sumę kontrolną żeby potwierdzić poprawność danych. Zrób na początek komunikację przez UART bez modułów bezprzewodowych. Jak Ci zacznie działać to podepnij moduły.

    0
  • #3 15 Paź 2013 15:47
    dondu
    Moderator Mikrokontrolery Projektowanie

    korno95 napisał:
    Nadajnik podłączyłem do TxD, odbiornik do RxD i tyle z elektroniki.
    Teraz zaczyna się programowanie. I nic nie kumam.

    Najpier określ, co potrafisz i czy cyt. "nic nie kumam", mamy rozumieć jako całość Twojej wiedzy o mikrokontrolerach, elektronice i programowani, czy tylko o przesyłaniu danych drogą radiową?

    Jeżeli mamy rozumieć, że nie kumasz niczego, to pokaż najpierw schemat całości.


    EDIT:
    Następne tematy zakładaj już w dziale: https://www.elektroda.pl/rtvforum/forum12.html

    0
  • #4 15 Paź 2013 16:41
    rekinisko
    Poziom 22  

    Lepiej było zainwestować w dwie sztuki BTM411.

    0
  • #5 15 Paź 2013 17:20
    korno95
    Poziom 5  

    ogarniam język C, elektronikę niezbędne podstawy.
    "Nic nie kumam" odnosi się do UARTu.
    Ten nadajnik + odbiornik kupiłem tyko i wyłącznie dla celów eksperymentalny, gdy już opanuję , zainwestuję w coś lepszego. Na razie męczę się z połączeniem ich.

    0
  • #6 15 Paź 2013 20:37
    excray
    Poziom 39  

    rekinisko napisał:
    Lepiej było zainwestować w dwie sztuki BTM411.

    I wydać 200zł tylko po to aby pobawić się w przesyłanie danych. "Mondre". Jak już coś zmieniać to na serię RFMxx która kosztuje w granicach 15zł za moduł.

    0
  • #7 15 Paź 2013 21:04
    rekinisko
    Poziom 22  

    excray napisał:
    rekinisko napisał:
    Lepiej było zainwestować w dwie sztuki BTM411.

    I wydać 200zł tylko po to aby pobawić się w przesyłanie danych. "Mondre". Jak już coś zmieniać to na serię RFMxx która kosztuje w granicach 15zł za moduł.


    "Mądry" Panie (bo tak się to piszę po Polsku) nie widziałem wzmianki o kosztach i ich ograniczeniach w pierwszym poście. Takie moduły można tanio nabyć z odzysku, skoro ja mogłem to inni też mogą i można zamknąć się w kwocie 50zł za parę. Wystarczy poszukać w czym siedzą. Sam posiadam podobne moduły jak w temacie autora i wiem, że mimo starań i chęci sprawiają kłopoty. Co nie znaczy, że je odradzam. Połączenie za pomocą modułów o których wspomniałem eliminuje liczenie sum kontrolnych oraz jest odporne na obce sygnały ponieważ bazuje na adresach MAC i działa w obie strony.

    0
  • #8 15 Paź 2013 21:13
    korno95
    Poziom 5  

    Dobra a więc tak: napisałem programy w C na podst. dokumentacji do Amtegi 8.
    Nadajnik (Atmega8 )ma czytać dane z 2 tact switchów i w zależności który jest na ON i ma wysyłać inną informację do drugiej Atmegi8 , która ma zapalać jedną z 2 podłączonych do niej diod. Na razie idzie wszystko po kablu. Coś jest jednak nie tak. Dioda na wyjściu PC5 ciągle świeci. Układ nie reaguje na wciśnięcia przycisków 1 i 2. Diody zgaszone.

    0
  • #9 15 Paź 2013 22:01
    2rs232
    Poziom 17  

    Jeśli chcesz porównać zmienną z 1 zapisz to tak:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Teraz Masz tak:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #10 15 Paź 2013 22:11
    korno95
    Poziom 5  

    Rzeczywiście. Masz rację. Po wrzuceniu poprawionej wersji na Atmegę zgasła tylko ta nieszczęsna dioda, lecz nadal brak komunikacji.

    0
  • Pomocny post
    #11 15 Paź 2013 22:19
    2rs232
    Poziom 17  

    Niestety w twoim programie jest jeszcze kilka błędów (szczegóły później).
    Napisz jeszcze czy w opcjach projektu definiujesz odpowiednio F_CPU.

    0
  • #12 15 Paź 2013 22:22
    korno95
    Poziom 5  

    znaczy, z tego co mi się wydaje jest to zawarte w pliku Makefile. Wybiera się konkretny procesor, dlatego logiczne dla mnie jest że od razu definiuje odpowiednie dla procesora taktowanie.

    0