Archivo de la etiqueta: USB

Sintonizador TDT USB

Aunque personalmente no me gusta demasiado ver la televisión siempre me encanta estar a la ultima y al menos conocer las tecnologías disponibles. Hace tiempo que no tenía ninguna capturadora de TV (creo que la última fue una AverMedia con el BT878). Por esos tiempos era difícil encontrar soporte en linux para una capturadora o sintonizadora. Hace poco anduve buscando el estado actual  y comparando software y hardware.

TDT USB

Entre las opciones encontré  este TDT USB con mando a distancia y la posibilidad de conectarlo a cualquier toma de TV que tengamos en casa. Las antenas externas en general no suelen gustarme demasiado además en la zona donde vivo la cobertura viene siendo muy baja. Puedes conseguir uno con envío gratis para cualquier cantidad.

Me extraña mucho que al buscar un dispositivo normalmente en las fichas de características viene solamente para que Windows vale y como mucho alguna referencia a MAC pero rara vez encontramos especificaciones para linux. Esta sintonizadora lleva el chipset EC168, el cual está incluido en LinuxTV por lo que funcionará perfectamente.

Para ellos necesitaremos instalar: Mercurial, el driver y el firmware (opcionalmente algun reproductor si no tenemos, por ejemplo kaffeine):

sudo apt-get install mercurial
sudo hg clone http://linuxtv.org/hg/~anttip/ec168/
sudo make
sudo make install
cd /lib/firmware/
sudo wget http://palosaari.fi/linux/v4l-dvb/firmware/ec168/dvb-usb-ec168.fw

Más información: http://linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers

Placa de Pantalla LCD con USB

Imagen de la LCD2550

Hace tiempo que deje de usar esta placa para mis desarrollos pero viendo que prometí publicar más sobre ella y esperando que alguien le pueda dar mejor uso que el que yo le he dado se me ha ocurrido publicar aquí todo lo referente a ella. Como podéis ver es de hace bastante tiempo. El esquema y fotolito están hechos en Eagle y los códigos de ejemplo en CCS. Como podéis ver en esta entrada es fácilmente adaptable al proyecto Pinguino pero los cambios no están hechos en el esquemático, si alguien se atreve a realizarlo y desea publicarlo colgaré aquí su colaboración.

Descarga del Pack de ficheros Eagle + Ejemplos.

Si seguís leyendo esta entrada podréis ver una recopilación de los proyectos que he realizado con ella. Sigue leyendo

Adaptando a Pinguino.

Hace tiempo que en los foros de A.R.D.E. comente que había hecho las pruebas para usar Pinguino (una especie de Arduino pero con un PIC 18F2550 ) con la LCD2550, ahora que tengo algo de tiempo os cuento los resultados:

LCD Modificada.

Para empezar he tenido que modificar el hardware, pero muy ligeramente he colocado una resistencia de pull up de 4k7 entre RA4 y +5v, y un pulsador de RUN entre RA4 y GND. A partir de hay solo toca jugar con el software. Cargamos el hex en nuestro pic y a funcionar, para empezar instalamos el software, y si es necesario también los drivers (Todo ello y el hex para el PIC18F2550 está disponible en http://www.hackinglab.org/ ).

Para empezar he modificado su programa de blink para usarlo con el backlight de la LCD:

// Parpadeo de retroiluminado basado en:
// Test blink with Pinguino jean-pierre MANDON 2008
// Modificado por BoOpS – FJSG

int bl=8;                    // Backlight conectado al pin 8
int tiempo;                    // declaramos tiempo como entero

void setup()
{
tiempo=300;                // tiempo de parpadeo 300ms (ciclo de 600ms)
pinMode(bl,OUTPUT);            // configuramos el pin como salida
}

void loop()
{

while (1)
{
digitalWrite(bl,HIGH);            // encendemos el retroiluminado
delay(tiempo);                // espera 300ms
digitalWrite(bl,LOW);            // apagamos el retroiluminado
delay(tiempo);                // espera 300ms
}
}

Con eso, compilamos y cargamos, ojo si estamos en linux tendremos que ejecutar el software como root.

Bueno para los que les gusten las comparaciones, no es ni mejor ni peor que Arduino. Eso si ligeramente más económico ya que nos ahorramos de algunos componentes como puede ser el conversor usb serie.

Próximamente espero migrar alguna de las librerias de LCD de Arduino y más cositas!

Jugando con los GPIO.

Hace tiempo, prácticamente a la semana de tener la Fonera 2.0 en mis manos estuve buscando las direcciones de los diferentes GPIO y me encontré con 6 GPIO “disponibles”, realmente 5 Leds mas un reset y un apagado:

GPIO:
1 -> Wireless Naranja
2 -> Wireless Verde
3 -> USB (Verde)
4 -> Power Verde
7 -> Power Naranja
5 -> Reset
6 -> Apagado

Su uso viene siendo el mismo que en las anteriores versiones, los registros estan en /proc/gpio/ y estan ordenados así:

NUM_DIR Dirección del puerto a 1 como salida y a 0 como entrada.
NUM_OUT Salida del puerto a 1 nivel alto (3v3) y a 0 nivel bajo (0v).
NUM_IN Entrada del puerto a 1 cuando lee nivel alto y a 0 cuando lee nivel bajo. (No me he parado a comprobar los margenes)

Así que os dejo un vídeo con el resultado:

El proceso ha sido bien sencillo, creamos un script al que he llamado prueba con el siguiente código: (Para crearlo basta con hacer: “vi prueba” después pulsaremos “i” y pegaremos el código, para guardarlo “ESC” y escribir “:wq!”)

echo 1 > /proc/gpio/1_dir
echo 1 > /proc/gpio/2_dir
echo 1 > /proc/gpio/3_dir
echo 1 > /proc/gpio/4_dir
echo 1 > /proc/gpio/7_dir
echo 0 > /proc/gpio/1_out
echo 0 > /proc/gpio/3_out
echo 0 > /proc/gpio/4_out
echo 0 > /proc/gpio/7_out
echo 0 > /proc/gpio/2_out
sleep 1
echo 1 > /proc/gpio/2_out
sleep 1
echo 1 > /proc/gpio/1_out
sleep 1
echo 1 > /proc/gpio/3_out
sleep 1
echo 1 > /proc/gpio/4_out
sleep 1
echo 1 > /proc/gpio/7_out
sleep 1
echo 0 > /proc/gpio/2_out
sleep 1
echo 0 > /proc/gpio/7_out

Por orden: Primero configuramos todos los registros como salidas, apagamos todos los leds y vamos encendiéndolos con esperas de 1 segundo.  Y finalmente apagamos dos de los leds.

Para ejecutarlo primero debemos darle permiso de ejecución: “chmod prueba +x” y para lanzarlo escribiremos “./prueba”.

¡Espero que os animeis y le pongais ruedas a alguna fonera!