domingo, 18 de enero de 2015

Arduino-Reloj con TFT color 1.8"

Página principal


Arduino
Reloj con TFT color 1.8"

xsetaseta@gmail.com

Me llegó hace tiempo un LCD de TFT color de 1.8", pero no conseguía hacerlo funcionar, ya lo daba por perdido.
Navegando por internet, descubrí esta página http://www.prometec.net/tft-spi18/ , en la cual utilizaba el LCD que tenía yo, y que le funcionaba perfectamente.
Monté el circuito tal y como lo decía y lo probé, funcionó a la primera, que alegría.
En mi ordenador donde trabajo , Debian 7, tengo  dos versiones de Arduino la que viene de serie la 1.0.1 y la 1.0.5 que instalé en mi directorio. Resultó que solo me funcionaba si la compilaba con la 1.0.1 , con la otra me daba bastantes errores, lo digo por si alguien le pasa lo mismo.
En la librería  Adafruit_QDTech existe un ejemplo de un reloj  TFT_Clock, pero el reloj toma la hora del compilador, por lo cual la hora siempre empezará el día de la compilación,  sirve solo como ejemplo.
Hace tiempo había hecho un reloj arnok.html, que utilizaba LCD 3310, de los que utilizaban los nokias, junto con un chip de reloj DS1302 
para mantener la hora.
En este montaje he añadido el reloj de tiempo real al ejemplo TFT_Clock, con lo cual se mantiene la hora aunque se apague el arduino.


Pin del TFT


Esquema del circuito.


Circuito montado.

PROGRAMA

LIBRERÍAS



Hasta pronto.
JUAN GALAZ

Bibliografía:
 http://www.prometec.net/tft-spi18/
 http://playground.arduino.cc/Main/DS1302
http://www.seta43.hol.es/arnok.html
 http://www.seta43.hol.es/electro.html

miércoles, 14 de enero de 2015

Receptor de FM para la frecuencia entre 50MHz y 108MHz.


Página principal
Arduino
Radio RDA5807 con RDS
LCD Nokia 3310
Parte 3
Receptor de FM para la frecuencia entre 50MHz y 108MHz.


Este montaje es una radio hecha con el chip RDA5807 y con  la visualización en un LCD 3310.
Es la continuación de mi anterior montaje rards.html , ahora el control se hace mediante botones.
Para este montaje he eliminado el decodificador de RDS.
El chip RDA5807 está diseñado para poder recibir señales de FM de cualquier parte del mundo.
Mediante el registro 03H  y los bits 3y2 se puede seleccionar las distintas banda de cada lugar del mundo.
Band Select.
00 = 87–108 MHz (US/Europe)
01 = 76–91 MHz (Japan)
10 = 76–108 MHz (world wide)
111 = 65 –76 MHz (East Europe) or 50-65MHz

El caso es que puedes tener un receptor de FM para la frecuencia entre 50MHz y 108MHz.
Le añadido un menú con varias opciones:
  • Búsqueda de emisoras.
  • Volumen del audio.
  • Banda.
  • Sintonía.

Recibiendo frecuencias entre 87-108Mhz


Recibiendo frecuencias entre 50-65Mhz


PROGRAMA


Saludos.
Juan Galaz


Bibliografía:

http://arduino.vom-kuhberg.de/index.php
http://www.seta43.hol.es/ardura.html
RADIO DATA SYSTEM- RDS- Por: Aitzol Zuloaga Izaguirre.
http://www.rds.org.uk/2010/Overview.htm




jueves, 8 de enero de 2015

Arduino-Radio RDA5807 con RDS-LCD Nokia 3310- Botones


Página principal
Arduino
Radio RDA5807 con RDS
LCD Nokia 3310
Parte 2


Este montaje es una radio hecha con el chip RDA5807 y con  la visualización en un LCD 3310.
Es la continuación de mi anterior montaje radiofm.html , ahora el control se hace mediante botones.
Le añadido un menú con varias opciones:
  • Búsqueda de emisoras.
  • Volumen del audio.
  • Información de la señal.
  • Sintonía.
Para el control mediante botones he utilizado el método de variar el voltaje en el pin A0 mediante resistencias y botones.
Es un método bastante sencillo y práctico, que permite mediante dos hilos, poder tener controlados bastantes botones.


Esquema del circuito.




Montaje de circuito.


Imagen del LCD

Se puede ver diferentes datos en el LCD, como pueden ser:

  • Nivel de señal.
  • Señal stereo o mono.
  • Volumen del audio.
  • Menú actual.
  • Frecuencia.
  • Nombre de la emisora.
  • Información que proporciona la emisora.

Señal de RDS.

Para el tipo de grupo solo he utilizado el  0000=Información básica de sintonía.



Primer menú de información.

Esta información se toma del código PI que transmite la emisora.




Segundo menú de información.



La cuestión de los datos que proporciona la emisora mediante el RDS es un tanto heterogénea.
La mayoría de las emisoras solo transmite en nombre de la emisora y las frecuencias alternativas.
En los datos que proporciona como frecuencias alternativas,  la mayoría carga una serie de frecuencia por defecto, las cuales solo 2 o 3 te sirvan.
El dato de hora y fecha es un tanto irregular, la mayoría no la transmite bien, y para colmo lo hace en modo de hora UTC, y la fecha en modo Juliano.
En la única emisora que pude implementar bien la hora, estaba adelantada en 5 minutos. Y en otras mandaban los datos erróneos.
Para la cuestión de la fecha, debías hacer unas cuantas operaciones en numero flotante, y he creído no necesario hacer complicado el programa.
El que quiera implementar el pasar la fecha de formato Juliano a modo DD/MM/YY  , puede ver el anexo G del  Maintenance of the RDS standard IEC 62106.

No he implementado la detección de errores en la señal RDS, por lo cual pueden aparecer datos erróneos.

El programa hecho en arduino esta lleno de comentarios y debug que me han ayudado para desarrollarlo.
No he querido eliminarlos debido a que sirven de ayuda para posibles cambios.

PROGRAMA


Saludos.
Juan Galaz


Bibliografía:

http://arduino.vom-kuhberg.de/index.php
http://www.seta43.hol.es/ardura.html
RADIO DATA SYSTEM- RDS- Por: Aitzol Zuloaga Izaguirre.
http://www.rds.org.uk/2010/Overview.htm