jueves, 13 de abril de 2017

Controlar un timbre, zumbador o buzzer pasivo con Python

En este post os voy a mostrar como usar los puertos GPIO y un pequeño programa en Python para controlar un timbre piezoeléctrico pasivo(también llamado zumbador o buzzer). aquí os dejo una imagen del que he usado yo.



Como podéis ver se parece mucho, pero mucho a un buzzer activo, luego os explico la diferencia.
Para ello voy a usar una placa protoboard, cables de conexión, 1 timbre activo, 1 resistencia (opcional, según el modelo de timbre que tengáis) y mi RaspberryPi. Si sois nuevos en esto os aconsejo leer los anteriores posts (del uso de los GPIO en el apartado Programación/GPIO).


1. Que es un buzzer pasivo


No soy ni mucho menos un experto pero voy a intentar explicarlo de forma fácil (si alguien sabe dar una mejor explicación por favor que haga un comentario en el blog).
Al igual que un buzzer activo se trata de un altavoz, pero nos permite generar tonos ya que debemos enviarle una señal ampliada o modificada para que emita un sonido. A efectos prácticos, el buzzer activo emite sonido solamente conectando el polo positivo y negativo, mientras que el buzzer pasivo emitirá un sonido al enviarle una señal modificada (amplificada). Si conectamos el buzzer pasivo como en el ejemplo del buzzer activo este no emite sonido. Tendremos que modificar la señal de salida para obtener un tono. Lo veremos con un ejemplo muy muy fácil.

2. Organización del circuito

En primer lugar vamos a ver como nos debe quedar nuestro circuito para poder controlar un timbre. Aquí os dejo una imagen para que veáis la distribución que he usado, tened cuidado y respetad la posición de los polos positivo y negativo del timbre (generalmente está indicado, en caso contrario la conexión más larga indica el polo positivo)



si no habéis leído los anteriores post sobre leds os recomiendo hacerlo (sobretodo el primero, en el que detallo el uso de las conexiones y hay un apartado al final sobre el uso de las resistencias, aquí está el link). 
Bien, como podéis ver uso el pin número 6 (cable azul para tierra, etiquetado como GROUND) y el pin número 12 (cable rojo para el positivo, etiquetado como GPIO18). En mi caso conecto el timbre directamente si ninguna resistencia. Si vuestro timbre requiere resistencia o no estáis seguros os recomiendo  usar una resistencia de 470 omnios (colocadla en el cable positivo antes del timbre). Si habéis puesto una resistencia y el timbre no suena o suena muy bajo, sustituid la resistencia por una menor. 

lunes, 3 de abril de 2017

Controlar un display de un dígito y siete segmentos con un chip 74HC595

En el anterior post vimos como controlar un display de forma directa con la Raspberry Pi. Pero aveces es necesario ahorrar en salidas GPIO, para usarlos con otros fines o bien porque nuestro dispositivo tiene un número de salidas limitado. En este post os voy a mostrar como usar un chip 74HC595 para controlar el display con solo 5 puertos GPIO y unos ejemplos en Python para poder practicar. El display es el modelo SMA42056



Como podéis ver el dispositivo dispone de 7 segmentos, más un punto en la parte inferior derecha, iluminados por led. Dispone de un total de 10 conexiones (5 en la parte superior y cinco en la inferior para hacerlo funcionar). 

El chip 74HC595 es lo que en inglés se llama un Shift Register, este modelo es del tipo 8 bits serial-in, parallel-out, o sea, que acepta la entrada de de 8 bits en serie y su salida es en 8 pines paralelos (no nos pongamos nerviosos... que ya lo iremos viendo). y la función básica es la de poder "multiplicar" los pines. Aquí tenéis una imagen

Para este ejercicio vamos a necesitar, cables de conexión, 1 display de un dígito de 7 segmentos, el chip 74HC595 y la RaspberryPi. Si sois nuevos en esto os aconsejo leer los anteriores posts (del uso de los GPIO en el apartado Programación/GPIO, y el anterior post para controlar el display de forma directa).


1. Distribución de las conexiones y los segmentos del display


Vamos a ver como se distribuyen las conexiones del display en relación con los segmentos del mismo, lo mejor es que veáis la siguiente imagen

como podéis ver, el display tiene un total de 10 pines, el pin 3 y 8 son los pines del cátodo o ánodo común (según el tipo de display que tengamos que se identifican con la letra K), sería el pin de tierra. Los pines 1, 2, 4, 5 en la parte inferior y los pines 6, 7, 9 y 10 en la superior son los polos positivos de cada uno de los segmentos del display, aunque se llame display de 7 segmentos, en total hay 8, ya que hay que tener en cuenta el punto decimal (DP) en la parte inferior derecha. En la imagen podéis ver la correspondencia entre los pines y los segmentos.


2.Distribución de las conexiones del chip 74HC595


Ahora vamos a ver como se distribuyen las conexiones de nuestro chip (a esto se le llama el pinning), aquí tenéis una imagen



para no equivocaros con la orientación del chip fijaos en la muesca con forma semicircular en un extremo del chip. Vamos a ver los pines que vamos a necesitar para los ejemplos que os muestro luego. En primer lugar las entradas (todas en la parte derecha de la imagen): MR, SHCP, STCP, OE, DS, VCC; y ahora las 8 salidas, Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7, todas ellas se encuentran en el lado izquierdo del chip excepto el Q0; y finalmente el pin GND también en el lado izquierdo.
Las entradas sirven para enviar la información al chip y que se pueda almacenar, y las salidas permiten enviar a otro dispositivo (en este caso un display) la información necesaria para que este se ilumine.
Para saber más sobre el funcionamiento de este chip os dejo el siguiente link

https://drive.google.com/file/d/0BzaKjvCRihgbNFVEOUY5NWRTSmc/view

3. Organización del circuito


En primer lugar vamos a ver como nos debe quedar nuestro circuito para poder controlar un display de un dígito. Aquí os dejo una imagen para que veáis la distribución que he usado, tened cuidado que en este ejercicio hay mucho cable.



si no habéis leído los anteriores post os recomiendo hacerlo.
Bien, ahora podría hacer una larga descripción de como he realizado el cableado (lo que sería bastante aburrido de leer) creo que es mejor usar una tabla para hacerlo más sencillo

Raspberry Pi Color cable Chip 74HC595 Color cable Display
GND negro GND (pin8) negro pin3 (K), pin 8 (K)
3V3 rojo Vcc (pin16)
GPIO17 verde DS (pin14)
GPIO27 gris claro STCP (pin12)
GPIO22 naranja SHCP (pin11)
GPIO25 amarillo MR (pin10)
SPISCLK (GPIO11) azul OE (pin13)
Q0 (pin15) lila pin1 (e)
Q1 (pin1) fucsia pin2 (d)
Q2 (pin2) azul oscuro pin4 (c)
Q3 (pin3) verde claro pin6 (b)
Q4 (pin4) azul claro pin7 (a)
Q5 (pin5) gris oscuro pin9 (f)
Q6 (pin6) naranja oscuro pin10 (g)
Q7 (pin7) amarillo oscuro pin5 (DP)

fijaos que el cable negro (GND) va conectado a un pin del Chip 74HC595, y a dos pines del display. El resto de conexiones creo que son bastante sencillas las que van de la Raspberry Pi al Cip y las que van del Chip al Display.
Tened en cuenta que si usáis otro modelo de chip o display las conexiones pueden ser diferentes, consultad la documentación técnica para no equivocaros. Por otro lado es mejor que os aseguréis que en la pestaña Interfaces de la pantalla de Configuración de Raspberry Pi, no tengáis activado el SPI, el I2C, etc. ya que vamos a usar pines GPIO que pueden tener varias funciones al activarlos.

jueves, 30 de marzo de 2017

The MagPi 56, la revista oficial de Raspberry Pi


Ya está disponible el número 56 de la revista The MagPi, (versión en inglés) la revista oficial de RaspberryPi, podéis descargar de forma gratuita este número con el siguiente enlace

https://www.raspberrypi.org/magpi-issues/MagPi56.pdf

Espero que os guste el contenido y que sea de amplia divulgación a ver si así pronto nos obsequian con otro número en castellano.

Aquí os dejo el link desde el que se puede acceder a todos los números de la revista, las ediciones espaciales y pos supuesto los números traducidos (bajo el título de Translated Edition #)


martes, 7 de marzo de 2017

Controlar un display de un dígito y siete segmentos

En este post os voy a mostrar como usar los puertos GPIO y un pequeño programa en Python para controlar de forma directa con la Raspberry Pi, un display de un dígito con siete segmentos. Aquí os dejo una imagen del que he usado yo (modelo SMA42056).



Como podéis ver el dispositivo dispone de 7 segmentos, más un punto en la parte inferior derecha, iluminados por led. Dispone de un total de 10 conexiones (5 en la parte superior y cinco en la inferior para hacerlo funcionar). Para este ejercicio vamos a necesitar, cables de conexión, 1 display de un dígito de 7 segmentos, 8 resistencias de 330 omnios y la RaspberryPi. Si sois nuevos en esto os aconsejo leer los anteriores posts (del uso de los GPIO en el apartado Programación/GPIO).


1. Distribución de las conexiones y los segmentos del display


Vamos a ver como se distribuyen las conexiones del display en relación con los segmentos del mismo, lo mejor es que veáis la siguiente imagen

como podéis ver, el display tiene un total de 10 pines, el pin 3 y 8 son los pines del cátodo o ánodo común (según el tipo de display que tengamos que se identifican con la letra K), sería el pin de tierra. Los pines 1, 2, 4, 5 en la parte inferior y los pines 6, 7, 9 y 10 en la superior son los polos positivos de cada uno de los segmentos del display, aunque se llame display de 7 segmentos, en total hay 8, ya que hay que tener en cuenta el punto decimal (DP) en la parte inferior derecha. En la imagen podéis ver la correspondencia entre los pines y los segmentos.


2. Organización del circuito


En primer lugar vamos a ver como nos debe quedar nuestro circuito para poder controlar un display de un dígito. Aquí os dejo una imagen para que veáis la distribución que he usado, tened cuidado que en este ejercicio hay mucho cable.



si no habéis leído los anteriores post os recomiendo hacerlo (sobretodo el primero, en el que detallo el uso de las conexiones y hay un apartado al final sobre el uso de las resistencias, aquí está el link). 
Bien, como podéis ver uso el pin número 3 (cable negro para tierra, etiquetado como GROUND) este cable hay que conectarlo a los pines K (superior e inferior) del display. El resto de cables salen de los GPIO y funcionarán como polo positivo. En el siguiente cuadro os muestro un resumen de las conexiones entre la RaspberryPi y el display

RaspberryPi Cable Display
GND negro K
GPIO14/TXD0 rojo a
GPIO15/RXD0 gris b
GPIO18/ amarillo c
GPIO23 marrón d
GPIO24 verde e
GPIO25 naranja f
GPIO8/SPICE0 azul g
GPIO7/SPICE1 rosa DP


tened en cuenta que si usáis otro modelo de display las conexiones pueden se diferentes, consultad la documentación técnica para no equivocaros. Por otro lado es mejor que os aseguréis que en la pestaña Interfaces de la pantalla de Configuración de Raspberry Pi, no tengáis activado el SPI, el I2C, etc. ya que vamos a usar pines GPIO que pueden tener varias funciones al activarlos.

miércoles, 1 de marzo de 2017

Raspberry Jam Barcelona 2017 (programa)


Hola a todos, hace unos días os anuncié la tercera edición de la Raspberry Jam en Barcelona (organizada por Ferran Fàbregas). 
Se celebrará el próximo 11 de Marzo de 2017 entre las 10:00 y las 18:00. La ubicación será en el Soko Teck (C/ Vallès i Ribot, 36, en el barrio de la Sagrera, Barcelona, ver mapa). Ya tenéis disponible toda la información, os dejo una imagen del cartel oficial,que incluye todas las actividades.



El evento es gratuito con charlas y talleres, excepto uno de ellos, es un taller especial (con 10 plazas) para crear una máquina arcade para dos jugadores, el taller incluye 2 joyticks y 12 botones, 4 botones de control, 1 Driver controlador, el cableado, una Raspberry Pi 3, tarjeta SD 8Gb con RetroPie, y material necesario de madera para construir la máquina arcade, la máquina una vez montada se tiene que conectar a una pantalla o tv.

Aquí tenéis el enlace para sacar las entradas


para más información enviad un correo a ferri.fc@gmail.com

martes, 28 de febrero de 2017

The MagPi 55, la revista oficial de Raspberry Pi


Ya está disponible el número 55 de la revista The MagPi, (versión en inglés) la revista oficial de RaspberryPi, podéis descargar de forma gratuita este número con el siguiente enlace

https://www.raspberrypi.org/magpi-issues/MagPi55.pdf

Espero que os guste el contenido y que sea de amplia divulgación a ver si así pronto nos obsequian con otro número en castellano.

Aquí os dejo el link desde el que se puede acceder a todos los números de la revista, las ediciones espaciales y pos supuesto los números traducidos (bajo el título de Translated Edition #)






Nueva Raspberry Pi Zero W y nuevo modelo de caja

1. Nueva Raspberry Pi Zero W

En el quinto aniversario de Raspberry Pi, la fundación nos ha presentado la nueva RaspberryPi Zero W. Se trata de una actualización del modelo más pequeño y económico. Y como podéis adivinar na novedara está relacionada con la W, ya que incorpora conectividad WiFi.




El nuevo modelo incorpora el mismo chip de la Raspberry Pi 3 B para dotarla de conexión WiFi 802.11n i Bluetooth 4.0. El resto de características se mantiene, al igual que el tamaño 65x30x5mm, os dejo la lista de especificaciones básicas