Sari la conținut
ELFORUM - Forumul electronistilor

PIC transmitter - PIC receiver


le5100kw

Postări Recomandate

Doresc sa fac un emitator si un receptor pic care sa faca mai multe functii astfel: emitatorul la un buton anume sa=i spuna receptorului sa faca ceva anume. Problema sta la cod. M-am gandit sa fac un cod binar comanda (numar zecimal tradus in binar ex. 27 pentru comanda x sau ex. 20 pentru comanda y) si apoi urmat de un cod de sfarsit (numar zecimal 4 pt sfarsit de comanda). Aveti vre-un exemplu de cod si de un program de decodificat codul pentru receptor? Deoarece la receptie mi se pare mai greu de sincronizat.

Link spre comentariu
  • Răspunsuri 7
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • le5100kw

    4

  • crispus

    2

  • fratello

    1

  • MatyC

    1

Top autori în acest subiect

Daca emitatorul doar trimite comenzi, si receptorul doar executa nu vad pentru ce ai avea nevoie de cod de sfarsit.O intrebare care se ridica ar fi cum se face comunicarea? Ca daca se face de exemplu pe serial, daca trimiti 1 octet poti implementa 256 de comenzi :d.Probabil daca ai da mai multe detalii despre ce incerci sa faci, am putea veni cu sugestii mai concrete.

Link spre comentariu

HMMM Corect! :rade: Concret vreau sa-mi fac o masinuta PIC cu telecomanda PIC radio. Deci comenzile ar cam fi inainte inapoi stanga dreapta combinatiile lor si as mai vrea pe langa astea,inca niste comenzi libere cat m-ar tine codul (octetul). Ideea e ca vreau sa fac un cod solid astfel incat cele 2 MCU-uri sa se inteleaga si sa nu vorbeasca pe alte limbi :ras: . Problemuta este partea concreta de cod, sincronizarea si colectarea codului la receptor intr-o stiva si pe baza codului din stiva sa "bsf o iesire" :limb: . Vreau ca limbajul sa fie assembler.

Link spre comentariu

N-am inteles exact cum se face comunicatia fizic (radio, dar cine codeaza comanda in semnal radio si cine decodeaza unda radio intr-o comanda).

 

Daca ar fost seriala, programul pentru receptor ar fi aratat cam asa ceva (un fel de pseudocod):

 

la intreruperea de seriala:

unsigned char c = citeste din registru de seriala (nu mai stiu exact cum se face)queue.Enqueue(c);
iar in main ceva de genul:

while(1){	if(queue.Count > 0)	{		unsigned char comanda = q.Dequeue();		switch(comanda)		{			case 1:				FaComanda1();				break;		}	}}

In ideea ca primul comanda ajunsa e si prima care se executa (nu stiu de ce ai spus tu stiva).

 

Si codul poate fi translatat in asm relativ usor.

 

LE: Acuma am vazut schema :d. Cum se comunica cu modulatorul / demodulatorul de FM?

Link spre comentariu

Se da o telecomanda si o masinuta, ambele modificate. Vreau sa transmit comanda data de la telecomanda la masina. Ambele, masina si telecomanda sa aiba PIC16F84. Eu efectiv vreau sa inlocuiesc microcontrollerele de transmisie receptie din telecomanda si din masina cu PIC16F84 sau alt MCU. Vreau sa am propriul meu cod de transmisie de date sau comenzi PIC la PIC. Eu doresc un exemplu de program transmisie si unul receptie in ASSEMBLER pentru un cod de comanda format din cativa biti. De exemplu cand telecomanda trimite codul 27 binar masinii, masina sa decodeze acest cod 27 in comanda inainte-stanga.Un exemplu de controllere de transmisie receptie am pus mai jos.Modulatorul ar fi un circuit rf care se poate construi din bobine si tranzistoare, sau s-ar gasi in comert in seturi emitator-receptor :limb: .Nu ar avea importanta acum deocamdata partea radio ca oricum MCU-urile le pot testa prin optocuploare sau IR daca ele comunica intre ele corespunzator.

Link spre comentariu
  • 7 luni mai târziu...

A mai realizat cineva o telecomanda cu 2 PIC-uri. Unul emitator si altul receptor?Unde trebuie sa consult. Dati-mi o rutina de cod ASM, un exemplu de codulet la emitator si un cod la receptor.Daca nu stie nimeni am sa incerc eu singur.Deocamdata le voi testa prin fir, apoi IR, si daca se poate mai tarziu, radio.

Link spre comentariu

Studiaza pe aici ca sunt in asm daca tin minte.

http://jap.hu/electronic/codec.html

Eu unul nu ma omor dupa asm asa ca am testat de aici http://www.coolcircuit.com/project/rf_remote/index.html. Programul scris in C l-am adaptat la PIC12F675.

 

LE. Undeva cu explicatii mai detaliate http://www.sixca.com/eng/articles/remote/.

Iar aici un caz concret de aplicatie http://www.coolcircuit.com/project/8chrem/index.html

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări