Zdalne sterowanie - Moduł radiowy 433Mhz

Dyskusje ogólne na temat "cyfrówki" czyli wszystko o TTL/CMOS, językach VHDL i VERILOG, bramkach, rejestrach, przerzutnikach... Dobre miejsce na pytania odnośnie uniwersalnych programatorów (np. Willem) a także podłączania własnych peryferiów do komputera PC.
maxxxior
Użytkownik
Posty: 210
Rejestracja: 19 mar 2010, 21:27
Lokalizacja: Skierniewice

Zdalne sterowanie - Moduł radiowy 433Mhz

Post autor: maxxxior » 07 wrz 2012, 15:17

Witam, zastanawiam się jak są sterowane takie samochodziki dla dzieci? Przymierzam się do zbudowania takiego samochodziku. Czy taki układ jak ten: http://allegro.pl/modul-radiowy-433mhz- ... 76201.html byłby dobry do takiego celu? Czy za pomocą tego mógłbym sterować 4 silniczkami?

Czy jest gdzieś w sieci opisany sposób zastosowania takiego modułu?

Awatar użytkownika
matrix
Użytkownik
Posty: 1786
Rejestracja: 15 mar 2006, 5:21
Lokalizacja: Sochaczew
Kontakt:

Post autor: matrix » 07 wrz 2012, 17:14

Za pomocą takiego modułu możesz uzyskać niemalże dowolną ilość kanałów, ale nie będziesz sterował tymi kanałami na raz.

maxxxior
Użytkownik
Posty: 210
Rejestracja: 19 mar 2010, 21:27
Lokalizacja: Skierniewice

Post autor: maxxxior » 07 wrz 2012, 17:26

Tzn ?

Awatar użytkownika
matrix
Użytkownik
Posty: 1786
Rejestracja: 15 mar 2006, 5:21
Lokalizacja: Sochaczew
Kontakt:

Post autor: matrix » 07 wrz 2012, 18:05

W danej chwili przez ten moduł można nadać tylko jeden rozkaz. Nawet jeśli zastosował byś dwa takie moduły do dwóch kanałów to będą się zakłócać.

Według mnie najprościej było by wysyłać rozkazy kolejno tak długo jak długo trzymane są przycicki. Tylko z dużą prędkością. Takie multiplexowanie nadawania.

maxxxior
Użytkownik
Posty: 210
Rejestracja: 19 mar 2010, 21:27
Lokalizacja: Skierniewice

Post autor: maxxxior » 10 wrz 2012, 20:47

Hmm...
Według mnie najprościej było by wysyłać rozkazy kolejno tak długo jak długo trzymane są przycicki. Tylko z dużą prędkością. Takie multiplexowanie nadawania.
A jak to wykonać?
Wiem, że można zastosować dekoder i enkoder, na przykład MC145026 i MC145028 tylko za bardzo nie wiem jak to wszystko wykonać.

Awatar użytkownika
matrix
Użytkownik
Posty: 1786
Rejestracja: 15 mar 2006, 5:21
Lokalizacja: Sochaczew
Kontakt:

Post autor: matrix » 10 wrz 2012, 21:00

Zobacz sobie kit avt1468.

maxxxior
Użytkownik
Posty: 210
Rejestracja: 19 mar 2010, 21:27
Lokalizacja: Skierniewice

Post autor: maxxxior » 10 wrz 2012, 22:10

No ok, tylko jak to teraz zrobić programowo zamiast zmieniania tych zworek? Bo w tym kicie to działa tak że na nadajniku i odbiorniku zakłądamy zworkę na ten sam pin tak?

I czy te układy HT12E i HT12D działają tak samo jak wymienione przeze mnie wyżej?

Awatar użytkownika
matrix
Użytkownik
Posty: 1786
Rejestracja: 15 mar 2006, 5:21
Lokalizacja: Sochaczew
Kontakt:

Post autor: matrix » 11 wrz 2012, 15:25

Masz dwa wyjścia. Albo będziesz miał dla dwóch kanałów dwa układy odbiorcze (chodzi o sam dekoder a nie odbiornik radiowy), albo za pomocą procka będziesz przemiatał wszystkie adresy i sprawdzał czy na wyjściu VT masz na wyjściu dekodera sygnał?

maxxxior
Użytkownik
Posty: 210
Rejestracja: 19 mar 2010, 21:27
Lokalizacja: Skierniewice

Post autor: maxxxior » 11 wrz 2012, 16:49

Druga opcja na pewno będzie dla mnie lepsza, tylko w ogóle nie rozumiem co teraz napisałeś...

Awatar użytkownika
matrix
Użytkownik
Posty: 1786
Rejestracja: 15 mar 2006, 5:21
Lokalizacja: Sochaczew
Kontakt:

Post autor: matrix » 11 wrz 2012, 17:10

Podłączasz wejścia adresowe do procka i program piszesz tak by ustawiał odpowiednią kombinację adresów na wejściach dekodera i sprawdzał jednocześnie czy pojawił się sygnał na wyjściu VT dekodera.

Czyli ustalasz sobie na przykład że:
- 1 kanał to jedna zworka na wejściu adresowym numer 1 dekodera
- 2 kanał to jedna zworka na wejściu adresowym numer 2 dekodera
- 3 kanał to jedna zworka na wejściu adresowym numer 3 dekodera
- 4 kanał to jedna zworka na wejściu adresowym numer 4 dekodera

W ten sposób sprawdzasz tylko 4 adresy. Jeśli przy sprawdzaniu któregoś będziesz miał na wyjściu VT sygnał to znaczy że ten kanał dziala.

Do tego trzeba by sprawdzić jak szybko może reagować odbiornik z dekoderem. Wiem że jak testowałem kit AVT1468 to po odebraniu właściwej transmisji sygnał na wyjściu VT utrzymuje się jakiś czas, ale pewnie jest on zależny od któregoś elementu. Trzeba przestudiować pdf'a od układów HT12X

maxxxior
Użytkownik
Posty: 210
Rejestracja: 19 mar 2010, 21:27
Lokalizacja: Skierniewice

Post autor: maxxxior » 11 wrz 2012, 17:47

OK, tylko jak teraz wysterować silniczki?
Nie wiem czy dobrze zrozumiałem: jeżeli w nadajniku podam na A0 sekwencje 01 to jeżeli do odbiornika dotrze ta sama sekwencja to na przykład wystaw na PB0 procesora jedynke(jedź do przodu) ?? chyba nie za bardzo rozumiem jak to zrealizowac...

Awatar użytkownika
kayron
Użytkownik
Posty: 2051
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 11 wrz 2012, 18:39

Nie bardzo rozumiem problem kolegi. Skoro w układzie i tak będzie mikroprocesor, to nie ma problemu, bo układ HT12 pozwala przesłać 4-bitowe dane, wiec wystarczy to zakodowania informacji o kierunku ruchu, a i zostanie jeszcze na duperele jak światła czy buczek. Natomiast odpowiednie sekwensje dla poszczególnych silników i tak wytworzy mikroprocesor, więc nie trzeba ich przesyłać, istotne sa tylko dane, lewo/prawo, prud / tył, stop co zajmie 3 bity, a czwarty mozna wykorzystac dowolnie.

Awatar użytkownika
matrix
Użytkownik
Posty: 1786
Rejestracja: 15 mar 2006, 5:21
Lokalizacja: Sochaczew
Kontakt:

Post autor: matrix » 11 wrz 2012, 18:41

Ja zrobiłbym to tak jak niżej, ale może ktoś zna lepszy sposób. No i oczywiście w bascomie.

Powiedzmy że
- PD.1 procka połączony jest z pin 1 dekodera
- PD.2 procka połączony jest z pin 2 dekodera
- PD.3 procka połączony jest z pin 3 dekodera
- PD.4 procka połączony jest z pin 4 dekodera
- PD.5 procka połączony jest z pin VT dekodera

Kod: Zaznacz cały

portd= &b00000010
 if VT=1 then

 end if
portd=&b00000100
 if VT=1 then

 end if
portd=&b00001000
 if VT=1 then

 end if
To tak w telegraficznym skrócie. Jedyne co będzie trochę tudniej zrealizować to sterowanie proporcjonalne, ale po zaprzęgnięciu timera już można to jakoś rozwiązać.

Można też użyć poleceń select case. Tak na szybko wpadło mi do głowy i mam nadzieję że to rozumowanie nie jest błędne.

Awatar użytkownika
kayron
Użytkownik
Posty: 2051
Rejestracja: 21 wrz 2008, 12:53
Lokalizacja: Poland
Kontakt:

Post autor: kayron » 11 wrz 2012, 19:19

Tylko że dodawanie kanałów niewiele wam daje, a tylko komplikuje układ odbiornika i nadajnika. Prościej stworzyć protokół, składający z bajtu Startu, komendy, danej, i STOPu, łącznie 20Bitów podzielanych w 5,czwórek. np, 0101, 0101 - START xxxx - komenda, dddd - dane, 1111 - STOP.Przy czym najistotniejsza jest sekwencja startu, czyli dwa pierwsze półbajty, Stop właściwie może być dolna wartością, nawet paradoksalnie równą Startowi, bo to tylko informacja kontrolna, i tak wiemy ile półbajtów, ma być po Starcie, wiec, wystarczy je liczyć, stop jest właściwie dla zasady i odgraniczenia, kolejnych ciągów danych.

maxxxior
Użytkownik
Posty: 210
Rejestracja: 19 mar 2010, 21:27
Lokalizacja: Skierniewice

Post autor: maxxxior » 11 wrz 2012, 20:53

Hmm, z rozumowania matrix'a jeszcze coś tam rozumiem, chociaż nie pisałem nigdy w bascomie tylko w C.

A z kayron'a praktycznie nic nie kumam... :/

ODPOWIEDZ