# ¿Cómo utilizar los circuitos ht12 para transmitir 8 bits?



## Diederick (May 5, 2008)

Hola gente qué tal, sucede que estoy haciendo una comunicacion por radiofrecuencia con modulos tlp434, estoy utilizando el circuito HT12E para codificar la señal de envio, y el HT12D para decodificar la señal y posteriormente enviarla a un micro...

El problema es que he probado de mil maneras posibles (mirando el circuito que hay en el datasheet del ht12e, poniéndolos todos a tierra, conectando TE todos los puertos a vcc...) para *transmitir combinaciones de 8 bits a partir de los puertos A0 hasta A7 y nada ha dado resultado,* siempre que trato de hacerlo; simplemente comunica el mismo bit en todos los puertos A ó en el peor de los casos no transmite naada.

Si alguien a transmitido simultaneamente esta cantidad de bits con estos circuitos, le agradecería una pronta respuesta...problamente mi error sea un problema en la conexión...

Un saludo a todos....

Nota: Les dejo las hojas técnicas que he utilizado en mis pruebas.....


----------



## MaMu (May 6, 2008)

Partamos de una base y unifiquemos conceptos.
El HT12 solo transmite 4 bits de datos, y 8 bits de dirección. Es dedir, cuando haya una coincidencia de configuración entre las direcciones A0-A7 del trasmisor con las del receptor, ahi el receptor ACEPTA, los cuatro bits de datos, indicando un cambio de estado logico en su pin VT (valid transmit). El circuito HT12, es tri-state, por eso, tene cuidado cuando generas una dirección de hacerlo de forma correcta. 
Si por ejemplo, colocas A0-A7 todos con una resistencia de PullUps a VCC (10k por ejemplo), seteas el transmisor en la dirección 0xFF o bien 255, tene presente, que para que tu receptor reciba la transmisión, debe estar configurada igual, es decir, en la misma dirección. Luego, envias los 4 bits de datos, es decir, un bit por cada uno de los cuatro canales.

Espero haberte sido claro.

Saludos.


----------



## Diederick (May 7, 2008)

Oye gracias por la repuesta.......... pero acaso no es posible transmitir un dato de ocho bits con éstas pastillas?; si la respuesta es negativa; alguno de ustedes conoce alguna pareja de integrados en lugar de los HT12 que permita transmitir DATOS de 8 bits por radiofrecuencia (con módulos 434)?

Un saludo....


----------



## MaMu (May 8, 2008)

Podés transmitir 8 bits, o más, depende de como hagas el protocolo.
La familia HT cuenta con otros integrados de hasta 12bits que funcionan exactamente igual que el HT12E y su par D. No recuerdo los códigos en estos momentos, pero los hay de 8bits. Buscá Holtek (es el fabricante de línea HT) a ver que ICs ofrecen, pero que los hay, los hay, yo he usado uno de 8 bits.

Otro dato, el modulo TLP, de RF, transmite cualquier dato serie, independientemente del numero de bits. Si vos interconectas las patiras IN y OUT de la pareja de Ics HT, vas a ver que funcionan. El módulo TLP solo "interfasea" el medio de comunicacion.

Saludos.


----------



## boyperdidisimo (Jun 30, 2009)

Existe la posibilidad de que se pueda "sincronizar" A0-A7 para que de ese modo, pueda utilizar los 255 estados. De manera que pueda controlar infinidad de cosas, sin importar la encriptacion?



			
				MaMu dijo:
			
		

> Podés transmitir 8 bits, o más, depende de como hagas el protocolo.
> La familia HT cuenta con otros integrados de hasta 12bits que funcionan exactamente igual que el HT12E y su par D. No recuerdo los códigos en estos momentos, pero los hay de 8bits. Buscá Holtek (es el fabricante de línea HT) a ver que ICs ofrecen, pero que los hay, los hay, yo he usado uno de 8 bits.
> 
> Otro dato, el modulo TLP, de RF, transmite cualquier dato serie, independientemente del numero de bits. Si vos interconectas las patiras IN y OUT de la pareja de Ics HT, vas a ver que funcionan. El módulo TLP solo "interfasea" el medio de comunicacion.
> ...


----------



## Palmas (Ago 27, 2009)

Hola, una consulta amigo, espero que me puedas dar el hilo de la madeja para seguir avanzando. Puedo reemplazar este code HT12E y el deco HT12D con un pic 16F84? Cuàl serìa la filosofìa del còdigo (programa). Saludos.

Palmas.


----------



## jorger53 (Ago 31, 2009)

Con el integrado que mencionas si se puede transmitir 8 bits pero necesitas dos de éstos y tienes que conectarlos según el circuito de aplicación para 8 bits.


----------



## metale (Sep 3, 2009)

Hola a todos, aprovechando este tema tengo una duda, yo consegui los modulos RF  de 433 mhz y le conecte el codificador HT12E  al TX y el decodoficador HT12D el RX, ahora segun un esquema que hay en dando vueltas en la net sobre esto en las cuatro salidas del deco se colocan 4 leds con sus respectivas resistencia para ver la salida al pulsar 4 micro switch en el emisor, ahora yo quisiera comandar esas salidas a 4 reles, vi otros esquemas similares poniendo un transistor como llave exitando su base con una resistencia a c/u de las salidas de este deco, y siempre quedan activas, es como que el deco nunca pone a cero las salidas y lo comprobe porque con los leds brillan tenue y cuando pulso en el tx ahi si el led correspondiente brilla mas fuerte. Bueno en resumen quisiera conectar los reles y alguno que me de una mano, capaz algo conecte mal y por eso las salidas quedan con un nivel bajo y no con 0, Gracias de antemano


----------



## shadow_x (Nov 30, 2009)

hola boyperdidisimo; segun he leido puedes usar  la terminal TLP del transmisor para transmitir un bus en linea; a mi se me ocurrira usarlo para enviar una serie de bits para sincronizacion como con un contador; les parece la idea?


----------



## sawer (Dic 8, 2009)

Hola soy nuevo en el foro y espero que te ayude mi aporte.. el integrado que podes usar que tiene 8 bits de Tx es el HT648L (abajo deje los enlaces de las hojas de datos del encoder y decoder!!). Tiene 8 bits de datos pero es un bajon que tenga 10 de address... estaria bueno conseguir alguno q tenga 12 bits de datos y como mucho 4 de address. Si alguien sabe de un integrado con esas caracterisiticas por favor hagamelo saber urgente que estoy haciendo un proyecto!!!

Salutes. Lucho

Me olvidaba de una cosa!!!
no se como sera tu receptor pero lo que podes hacer que es lo q voy a implementar: usando un micro controlador, un programa el cual tome los 2 bits mas significativos y en base a eso tomas los siguentes bits como datos distintos, para que se entienda lo q digo:

a b c d e f g h  (son los bits de datos, y A y B se los toma como referencia de "paquetes de datos")
0 0 x x x x x x   en ab=00 tenes 6 bits correspondientes a cdefgh ("paquete" n 1)
0 1 x x x x x x   en ab=01 tenes otros 6 bits ("paquete" n 2)
1 0 x x x x x x   (...)
1 1 x x x x x x   (...)

entonces implementando eso podes llegar a "expandir" (de cierta forma) los bits de informacion con 4x6= 24!!!


Otro consejooo!! mira siempre las ojas de datos de todos los mismos codificadores y decodificadores que si buscas en las mismas hay un listado de distintos tipos (en este caso) de modelos de HT ya que es una gran familia. Asi encontre este.

ahora si me fui abrazo! y el foro esta muuy bueno (h5)

Decoder: http://pdfdata.datasheetsite.com/web/537635/HT648L.pdf
Encoder: http://pdf1.alldatasheet.com/datasheet-pdf/view/82103/HOLTEK/HT640.html


----------



## akitolong (Abr 13, 2010)

hola gente, les hablo para preguntarles, estoy trabajando con los ht12-d/e pero estos codifican un nimero binario de 4bit con 8bit para la codificacion, y lo que pasa es que estoy buscando un codificador que pueda trasmitir 8bit de entreda con los bit quesean de condificacion, de antemano muchisimas gracias.


----------



## WudiWudi (May 16, 2010)

ahh, voy a creer, nadie me ha respondido si es totalmente necesario usar los modulos RF
alguien sabe?


----------



## Palmas (May 17, 2010)

Hola wudiwudi, los módulos de RF son necesarios si los datos que tienes en el modulo HT12E de tu proyecto quieres que llegue a algún lado, sino no. Saludos.
Palmas


----------



## Mandymiur (Ago 9, 2010)

HOla con respecto a si los modulos RF son necesarios o no a mime parece que no siempre, porque quiero copiar un control para un porton y le saque una foto al circuito de ambas caras , donde no se observa ningun modulo rf, sino que el pin data out va conectado a la pata de untransistor, el cual no se cual es porque no le pude ver sus letras. voy a adjuntar las imagenes y si alguien sabe que trss es el que aparece en la figura y puede ayudarme se lo agradeceria.la foto del circuito de las pistas esta espejado, el de los componentes esta normal.


----------



## sepiroh (Sep 6, 2010)

Saludos a todos.

Resulta que el semestre pasado tuve que trabajar con esta familia de encoders. Y si me permiten, trataré de resolver algunas preguntas:

Para empezar, los módulos HT trabajan una codificación llamada Manchester. Es totalmente reproducible con un microcontrolador, si es que desean prescindir de estos módulos. Más información aqui: http://es.wikipedia.org/wiki/Codificación_Manchester

Por otra parte, si la intención es la trasmisión por radio, es completamente necesario el uso de los módulos RF. Éstos podrían ser sutituidos por algun emisor IR o Láser sin problemas. Incluso si se puentean físicamente los pines TX y RX del encoder/decoder la comunicación sigue establecida. Claro que el objetivo es la trasmision inalámbrica ¿No?. Los módulos de RF sirven como un "puente virtual" entre los pines.

Para concluir, sí es posible trasmitir una cantidad enorme de bits aprovechando la capacidad de direccionamiento de éstos módulos. Cada modulo puede ser configurado físicamente con una dirección. Supongamos que un microcontrolador controla la dirección y 4 bits de datos del emisor. Así por ejemplo el envío se parecería a esto:

1) El microcontrolador toma los 4 bits más bajos de la "palabra" que quieres mandar y los manda al codificador junto con la dirección 00.
2)El uC se espera un tiempo razonable
3)El uC toma los siguientes 4 bits y los manda poniendo la dirección 01 al emisor

Y así hasta enviar todos los bits. Del lado del receptor tenemos un solo módulo de RF y a él conectado en paralelo varios decodificadores. Uno con la dirección fija en 00, el otro en 01... Cuando cada módulo recibe un dato válido, avisa mediante el pin VT. Así que sólo esperamos a que el último VT se encienda para leer todos los bits de todos los decodificadores (recordemos que los decodificadores mantienen en la salida el dato hasta que llega uno nuevo). Incluyo una imagen esperando que se entienda mejor. Sólo tienen que cambiar el GAL22V10 por el microcontrolador que deseen, yo lo estaba trabajando con un CPLD.

Nota: Cuando hablo de un tiempo razonable, tuve que buscarlo por prueba y error. A mi me funciona con 100ms, si no, los módulos se pierden y deja de funcionar la comunicación. En ningun lado he encontrado información útil sobre medir y/o calcular y/o mejorar los tiempos. Si alguien sabe cómo hacerlo, agradecería mucho su ayuda.


----------



## Palmas (Oct 24, 2010)

Diederick dijo:


> Hola gente qué tal, sucede que estoy haciendo una comunicacion por radiofrecuencia con modulos tlp434, estoy utilizando el circuito HT12E para codificar la señal de envio, y el HT12D para decodificar la señal y posteriormente enviarla a un micro...
> 
> El problema es que he probado de mil maneras posibles (mirando el circuito que hay en el datasheet del ht12e, poniéndolos todos a tierra, conectando TE todos los puertos a vcc...) para *transmitir combinaciones de 8 bits a partir de los puertos A0 hasta A7 y nada ha dado resultado,* siempre que trato de hacerlo; simplemente comunica el mismo bit en todos los puertos A ó en el peor de los casos no transmite naada.
> 
> ...


 Hola, no s'e si aun te interesa la respuesta, pero te dire que con estos integrados no vas a poder transmitir 8 bits. a lo maximo 4 y NUNCA POR LOS PINES A0-A7 que son las direcciones que configurandolas IGUALES en el 12E y 12D, no interferiran con otros circuitos. Osea, estos pines son para setear que ambos integrados se entiendan y no interfieran con otros circuitos vencinos. Los datos los envias por los pines D0 hasta D3, y siempre y cuando el pin TE este a un valor cero. Saludos.
Palmas.


----------



## jeanander (Ago 30, 2012)

Hola amigos, una duda, sepuede transmitir voz directamnete con los modulos de 433 mhz, es decir colocar una señal analoga en la entrada del transmisor y recibir la misma señal analoga pr el receptor. saludos a todos.


----------



## miguelus (Ago 31, 2012)

jeanander dijo:


> Hola amigos, una duda, sepuede transmitir voz directamnete con los modulos de 433 mhz, es decir colocar una señal analoga en la entrada del transmisor y recibir la misma señal analoga pr el receptor. saludos a todos.



Los módulos a los que haces referencia son para transmitir en modo XON/XOFF por lo que solo pueden transmitir Datos "Ceros y Unos".
Si en la entrada del módulo TX no hay señal (TTL) el módulo no transmite, y si en la entrada  ponemos un "1" TTL el módulo transmite

Sal U2


----------



## miborbolla (Ago 31, 2012)

Como lo comente en otra sección del foro, es mejor olvidarse de estos modulos HT12 y lograr la comunicación entre microcontroladores por medio de software, y en el caso de microcontroladores que tienen la interface UART aprovecharla y utilizar un baudaje como maximo de 1200 bps, y si no, basarse en la emulacion de puerto UART o en su defecto con codificacion Manchester (utilizada por los ht12), Hoy los compiladores mas populares cuentan con estas rutinas.

Saludos


----------



## Luno (Ago 31, 2012)

Hola y muy buenas noches al foro. 

Yo necesitaba 12 bits de datos y pues en la serie de los HT's solo hay hasta 8 bits de datos.

Quería saber si con esta configuración lograría los 12 bits de datos y asimismo 4096 combinaciones(2^12 en los bits de datos) ?

PD: Se muy poco de programaciones en Pic, y recien me estoy iniciando en lo que es el lenguaje C, lo más básico hasta ahora. Por eso acudo a estos integrados HT.


----------



## cosmefulanito04 (Sep 1, 2012)

Eso está mal. Fijate que estás poniendo en corto las tres salidas de los HT12E. 

Lo que deberías hacer es serializar esos 12 bits en el tiempo usando solo un HT12E y un HT12D, es decir 1ero mandás 4 bits, luego los 2dos 4 bits y por último los 3eros 4 bits, completando así un mensaje.


----------



## Luno (Sep 3, 2012)

Hola cosmefulanito04, la verdad no me habia percatado de ese error.

Pero, lo que mencionas limitaría mis condiciones, mira tengo este otro esquema, me funcionaría?.....
Lo pregunto nada más para saber, aunque no creo usar 3 Transmisores, por eso solo lo pregunto 
Gracias!


----------



## cosmefulanito04 (Sep 3, 2012)

Luno dijo:


> Hola cosmefulanito04, la verdad no me habia percatado de ese error.
> 
> Pero, lo que mencionas limitaría mis condiciones, mira tengo este otro esquema, me funcionaría?.....
> Lo pregunto nada más para saber, aunque no creo usar 3 Transmisores, por eso solo lo pregunto
> ...



Los problemas que vas a tener ahí (además del aumento del costo ), es que los 3 transmisores van a trabajar a la misma frecuencia, por lo tanto la señal de c/u se va a tapar con la del otro, generando ruido, haciendo imposible la decodificación del mensaje por parte del receptor.

El otro inconveniente, es que solo tenés un receptor y por lo tanto los mensajes que mandes nuevamente deberán ser multiplexados en el tiempo, es decir 1ero mando por un transmisor... luego el otro y así. Esto en principio solucionaría el 1er problema (que los transmisores se interfieran entre sí), pero de esta forma estarías haciendo lo mismo que te sugerí yo.

Otra alternativa *"de alto costo"*, sería usar 3 transmisores y 3 receptores con distintas frecuencias de trabajo, de tal forma que ningún transmisor interfiera con el otro.

¿Por qué no podrías multiplexar en el tiempo como te dije? si es por un tema de velocidad, te aconsejo que olvides los HT12D/E que son muy lentos y busques otros Deco/Cod más rápidos.


----------



## oFRGOo (Nov 29, 2012)

hola diederick y bueno a los otros dos últimos comentarios, yo también tengo el mismo problema, y conversando con algunos amigos, en la universidad nos surgió la idea de transmitir solo 4 bits( aunque queríamos mandar 8 bits) la solución fue que al recibir esos 4 bits, los recibiera un pic el cual le haría la entrega el ht 12D, así solo le enviaríamos con 4 bits un total de 16 comando o combinaciones como 0000,0001,0010,0011,00100 y así cada numero binario seria una señal que le enviaríamos con las direcciones de un jostick de playstation, el cual para mi mala suerte el sistema que hice solo funciona si es que uso swicth o botones, ya que para los jostick de palancas que tienen el mando de playstation, tiene dos palancas, y solo puedo enviar cuatro señales por una palanca, bueno ahora también intente conectarlos en serie como el anterior caso pero no funciona por lo mismo que explico el compañero anterior, yo trate de simularlo pero viendo los datasheet se puede deducir esos problemas de corte y de conexión, bueno ahora estoy buscando un encoder que pueda transmitir 8 canales, si lo consigo te lo informo, por mientras adjunto lo que  investigue.


----------



## cosmefulanito04 (Nov 30, 2012)

Solución sin usar uC (en tu caso pic):

- Usar un shifter de 8bits del lado del receptor y de esa forma obtener 8bits con 2 envíos.

Solución usando directamente uC:

- Si ya tenés un uC del lado del transmisor, agregá otro del lado del repector, y no uses los HT, directamente usá un puerto serie o algo que permita entablar una comunicación. 

La ventaja de está última opción es que te permite una comunicación mucho más veloz y trabajar con tramas de datos del tamaño que necesitas. También te permitiría mandar datos analógicos (previamente convertidos con un ADC) y de esa forma poder trabajar con un control analógico.

Acá en el foro un usuario subió material como entablar la comunicación mediante uC a través de los módulos RF.


----------



## oFRGOo (Dic 2, 2012)

gracias cosmefulanito, pero en mi caso mi inconveniente es q*ue* ne*c*e*s*ito enviar 8 bit´s, por q*ue* si envió 2 y recibo 8, es bueno pero no me ayuda mucho, mi pro*b*lema es en el lado del tra*n*smisor necesaria mente tengo 8 datoas a transimitr y sobre el microcontrolador, podría ser, ¿alguna sugerencia de cual usar?


----------



## cosmefulanito04 (Dic 2, 2012)

oFRGOo dijo:


> gracias cosmefulanito, pero en mi caso mi inconveniente es q nesecito enviar 8 bit´s, porq si envio 2 y recibo 8, es bueno pero no me ayuda mucho, mi proplema es en el lado del trasmisor necesaria mente tengo 8 datoas a transimitr y sobre el microcontrolador, podria ser, alguna sugerencia de cual usar?



Dejando de lado la solución empleando técnicas digitales lógicas, para resolverlo fácilmente usando uC, te recomiendo que te consigas cualquiera que tenga una UART ya resuelta por hardware.

Del lado de los PIC mucho no conozco (será cuestión que te metas en el foro e investigues), por el lado de los AVR, con un atmega8 te alcanza y sobra.

Una vez que tenés los 2 uC (lado transmisor y lado receptor), mediante el código vas a tener que resolver las tramas de comunicación entre los dos equipos (no es muy difícil, es solo enviar varios bytes por puerto serie).

Acá tenés un aporte que te puede ser útil:

https://www.forosdeelectronica.com/f24/control-rf-modulos-433mhz-economicos-nanoaporte-86716/


----------



## nison fontalvo (Sep 20, 2014)

hola soy nilson estube leyendo  recomendaciones del foro sobre tener 8 canales o mas en un rc con los modulos tws y rws y los integrados ht12e y ht12d, que son los mismo que utilizo para hacer mi auto a rc. teniendo en cuenta estas recomendaciones  recomendaciones lo que hice fue utilizar un solo ht12e para el trasmisor y dos ht12d para el receptor cada uno con diferente direcciones una direccion en la patilla A0 y la otra en la patilla A1 y pues si me funciono pero tenia que cambiar manualmente las direcciones en el ht12e del trasmisor y pues quisiera que me ayudaran  de como hiciera para tener esos 8 canales de salida y ochos pulsadore si tener que hacer eso manualmente o quizas es por que tengo que usar dos ht12e tambien

espero sus respuestas, ya que apenas estoy comenzando en esto de la ing. elctronica y una respuesta es muy importante ya que puedo aprender. gracias


----------

