control remoto wifi - pdf... · |junio 2013 5 40 el triunfo de la robótica educativa lo que...

88
Control Remoto WiFi para tiras de LED, relés, actuadores y motores Placa Controladora Wi-Fi l Recicla tu Fuente de Alimentación ATX Controlando Electrónica con la EFL l Localizador de Modelos Diseña tu Propio Integrado (6) l Arduino en Marcha De BASIC a Python (2) Duelo de Medidores LCR Konrad Zuse: del Z1 al Z4 l El triunfo de la Robótica Educativa www.elektor-magazine.es Junio 2013 | 6,50 e magazine

Upload: dohanh

Post on 04-Mar-2018

225 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

ControlRemoto WiFi

para tiras de LED, relés, actuadores y motores

Placa Controladora Wi-Fi l Recicla tu Fuente de Alimentación ATX Controlando Electrónica con la EFL l Localizador de ModelosDiseña tu Propio Integrado (6) l Arduino en MarchaDe BASIC a Python (2) Duelo de Medidores LCR

Konrad Zuse: del Z1 al Z4 l El triunfo de la Robótica Educativa

www.elektor-magazine.es

Junio 2013 | 6,50 e

magazine

Page 2: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

Naamloos-2 1 20-04-12 08:46

Page 3: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

$25 off

A lifetime of electronics engineering projects, tips,

and analysis, packed onto a portable, USB flash

drive. Keep your archive current with a digital

subscription and download new issue PDFs directly

to the drive! Plus, with 32 GB of storage, there’s plenty

of room for your own notes and projects.

Offer ends 6/30/13

*Complete archive includes all issues in print through time of purchase.

Visit www.cc-webshop.com to purchase.

You’ll have plenty of summer reading with Circuit Cellar’s CC Gold issues archive.

Naamloos-4 1 29-04-13 09:22

Page 4: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

mag

azin

e

4 | junio 2013 | www.elektor-magazine.es

21 Elektor World•La válvula en el Taper•Conseguir el control

22 Día 1 — Hazlo tal como quieresEmpezando con DesignSpark PCB y configurándolo a tu gusto. Este tutorial te muestra cómo configurar tus preferencias personales en esta última versión del software de diseño de PCB.

25 Los Bigotes del GatoEl Diodo de Cristal FRIHO D.R.P. de nuevo en uso.

12 Tarjeta Controladora Wi-FiControla tu casa desde tu teléfono móvil con esta placa controladora WiFi universal. Te enseñamos cómo controlar el color de un tira de LED RGB, pero lo puedes usar para una amplia variedad de aplicaciones.

30 Recicla tu Fuente de Alimentación ATXEsta placa adaptadora de ATX para banco de trabajo convierte cualquier fuente de alimentación ATX de ordenador en una fuente adecuada para alimentar tus prototipos y cualquier otro uso.

34 Arduino en marcha (6): Desde la Electrónica a la CarpinteríaUna experiencia única en la que veremos como la electrónica se puede aplicar también a la artesanía tradicional.

44 Controlando nuestra propia electrónica fácilmente con EFLUtilizando el código de la librería de firmware embebido (EFL) de Elektor, Se puede generar rápidamente el código para un proyecto embebido sin necesidad de conocer que tipo de interfaz se utilizará. Este herramienta ayuda a los principiantes y a los expertos.

54 Diseña tu propio integrado (5)Aunque las aplicaciones FPGA se pueden diseñar empleando diagramas esquemáticos con símbolos lógicos, en la práctica se hace habitualmente con un lenguaje de descripción de hardware. Una ventaja de esta aproximación es que las funciones son a menudo más fáciles de expresar en algoritmos que en esquemas. En consecuencia, en esta entrega te guiamos en el proceso de programación de una aplicación FPGA.

Community Proyectos

DesignSpark

Contenidos Volumen 34 - nº 396

Page 5: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

www.elektor-magazine.es | junio 2013 | 5

40 El Triunfo de la Robótica EducativaLo que pudimos ver durante la Semana de la Robótica 2013 en la Universidad de Alcalá de Henares.

74 Retrónica. Konrad Zuse: del Z1 al Z4, y más alláDesde los primeros días de las matemáticas y el pensamiento lógico, la gente ha tratado de encontrar maneras de simplificar el trabajo repetitivo involucrado. Este artículo da un vistazo a las impresionantes contribuciones al desarrollo del computador que hizo Konrad Zuse. Editor de la serie: Jan Buiting.

81 HexadokuEl rompecabezas mensual de Elektor con un toque de electrónica.

86 Próximo mes en ElektorUn vistazo a los artículos previstos para ser publicados en la próxima edición de Elektor.

64 De BASIC a Python (2)En esta segunda entrega trabajamos en el trazado gráfico y la síntesis de Fourier. Y sin demasiado esfuerzo creamos un interfaz gráfico de usuario.

72 Localizador de Modelos PerdidosConstruye este localizador por radio detección y nunca más perderás tu avión de radio control. Simplemente enciende el receptor y apunta directamente para encontrar el avión accidentado.

Magazine

28 Duelo de Medidores LCRUna rápida comparación entre el Medidor LCR de 500 ppm de Elektor y otros dos dispositivos de medida LCR.

26 Mantén los terminales ‘flotantes’Cosas a tener en cuenta al programar la placa FPGA de Elektor.

Labs

8 Noticias & Nuevos ProductosUna selección de noticias recibidas de la industria electrónica, laboratorios y organizaciones.

Industria

51 Robots SanitariosUn encuentro con Alice, un robot pensado para la asistencia sanitaria, en el laboratorio del proyecto Services of Electro-mechanical Care Agencies (SELEMCA).

Tech the Future

Junio 2013Volumen 34 - nº 396

Page 6: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Comunidad

6 | junio 2013 | www.elektor-magazine.es

Volumen 34, Número 396, Junio 2013Depósito Legal: GU.3-1980 31/12/2006ISSN 0211-397X

Editor:Elektor International Media Spain, s.l.Jerez de los Caballeros, 228042 – Madrid, EspañaTeléfono: +34 91 101 9395Fax: +34 91 101 9396Internet: www.elektor.es

Elektor se publica 10 veces al año con edición doble para Enero/Febrero y Julio/Agosto.

Suscripciones:Elektor International Media Spain, s.l.Apartado de Correos 6201128042 – Madrid, EspañaTeléfono. +34 91 101 9395Internet: www.elektor.es/miembrosEmail: [email protected]

Oficinas Centrales:Elektor International Media b.v.P.O. Box 11 NL-6114-ZG SusterenThe Netherlands.Teléfono: +31 (0)46 4389444,Fax: (+31) 46 4370161

Publicidad: Elektor International Media Spain, s.l.Apartado de Correos 6201128042 – Madrid, EspañaTeléfono. +34 91 101 9395Fax: +34 91 101 9396Internet: www.elektor.esEmail: [email protected] y condiciones de publicidad disponibles bajo petición.

Derechos de autorLos circuitos descritos en esta revista son exclusivamente para uso doméstico. Los derechos de autor de todos los gráficos, fotografías, diseños de circuitos impresos, circuitos integrados programados, discos, CD-ROM’s, portadores de software y los textos de los artículos publicados en nuestros libros y revistas (que no sean anuncios de terceros) están registrados por Elektor International Media BV y no pueden ser reproducidos o difundidos de ninguna forma ni por ningún medio, incluidas fotocopias, escaneos o grabaciones, parcial o totalmente sin la previa autorización escrita del Editor. También será preciso disponer del citado permiso antes de almacenar cualquier parte de esta publicación en sistemas de recuperación de cualquier naturaleza. Los circuitos, dispositivos, componentes, etc., descritos en esta revista pueden estar protegidos bajo patente. El Editor no acepta responsabilidad alguna en ausencia de identificación de la citada patente(s) u otra protección. La presentación de diseños o artículos implica que el Editor está autorizado a modificar los textos y los diseños presentados y a utilizar los contenidos en otras publicaciones y actividades de Elektor International Media. El Editor no garantiza la devolución del material a él enviado.

RenunciaLos precios y descripciones de los productos relacionados con la publicación están sujetos a modificación. Excluidos errores y omisiones. Las opiniones expresadas a lo largo de los distintos artículos, así como el contenido de los mismos, son responsabilidad exclusiva de sus autores. Así mismo, el contenido de los mensajes publicitarios es responsabilidad de los anunciantes.Los precios y descripciones de los elementos relacionados con la publicación están sujetos a cambios. Están excluidos los errores u omisiones.

© Elektor International Media b.v. 2012

El EquipoEditor: Eduardo Corral ([email protected])

Redacción Internacional: Harry Baggen, Thijs Beckers, Jan Buiting, Wisse Hettinga, Denis Meyer, Jens Nickel, Clemens Valens

Equipo de diseño: Thijs Beckers, Ton Giesberts, Luc Lemmens, Raymond Vermeulen, Jan Visser

Diseño gráfico y preimpresión: Giel Dols, David Márquez, Mart Schroijen

Director online: Daniëlle Mertens

Director de marca: Wisse Hettinga

Director general: Don Akkermans

Cuestión de PlacasDe acuerdo a los principales intereses de nuestros lectores, el diseño y producción de PCB ocupa un puesto bastante alto. Las placas de Elektor son famosas en todo el mundo no solo por su cualidad, sino tam-bién por su consistente apariencia. ¿Cómo surgió esto?Aquí en Elektor, el cambio del diseño manual del arte final utilizando cinta de enmascarar y técnicas de reproducción fotográfica a un proceso hecho al 100 % sobre un PC fue gradual, y tuvo lugar en los primeros años 90. La utilización del PC para dibujar un esquema y después ejecutar un programa de diseño de PCB no fue forzada o incuso sugerida por los editores en ese momento. En aquel entonces, algunos de los más jóvenes diseñadores del laboratorio se lanzaron audazmente a descubrir las ventajas del trazado con PB, suministrando eventualmente archivos en lugar de dibujos a sus compañeros del departamento de diseño de PCB. Otros continuaron pegados al lápiz, al papel y la goma de borrar con resultados igualmente buenos particularmente en RF y diseños críticos con el espacio. No importa cómo se llegara el diseño final, Elektor no producía nunca sus placas en masa realmente – esto era siempre cosa de los fabricantes de PCB. Nosotros, sin embargo, nos encargamos de almacenar y empaquetar lo que ha debido ascender a una cantidad de cientos de miles de estas placas azules y verdes. Además, a día de hoy los Laboratorios de Elektor tienen sus propios recursos para grabar y taladrar sus propias pla-cas. El equipo se utiliza para hacer prototipos y piezas únicas de cualquier placa, de simple o doble cara, de montaje convencional o SMD.Aún recuerdo la excitación en el laboratorio y las oficinas editoriales cuando llegaba un paquete conteniendo unas 500 placas de algún diseño publicado recientemente. Al final, el orgulloso diseñador era capaz de ver el fruto de sus esfuerzos en el diseño. Más importante, sin embargo, era que ¡lectores de todo el mundo eran capaces de montar sus circuitos en placas magníficamente fabricadas con acabados profesionales!Hoy en día, no solo tenemos la satisfacción de publicar estos estupendos diseños y obtener vuestra respuesta, además la de sostener en la mano una placa de circuito impreso per-fectamente mecanizada y con un número de producción de Elektor impreso para ayudar a su identificación.

Eduardo Corral, Editor

Page 7: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

www.elektor-magazine.es | junio 2013 | 7

¿No eres patrocinador aún? Ponte en contacto con nosotros en [email protected] (+34 911019395) para reservar tu propio espacio en la próxima edición de nuestra revista

Nuestras redes

Te conectamos conUnited KingdomWisse Hettinga+31 (0)46 [email protected]

USAHugo Vanhaecke+1 [email protected]

GermanyFerdinand te Walvaart+31 46 [email protected]

FranceDenis Meyer+31 46 [email protected]

NetherlandsHarry Baggen+31 46 [email protected]

SpainEduardo Corral+34 91 101 93 [email protected]

ItalyMaurizio del Corso+39 [email protected]

SwedenWisse Hettinga+31 46 [email protected]

BrazilJoão Martins+55 11 4195 [email protected]

PortugalJoão Martins+351 [email protected]

IndiaSunil D. Malekar+91 [email protected]

RussiaNataliya Melnikova+7 (965) 395 33 [email protected]

TurkeyZeynep Köksal+90 532 277 48 [email protected]

South AfricaJohan Dijk+27 78 2330 694 / +31 6 109 31 [email protected]

ChinaCees Baay+86 21 6445 [email protected]

AudioXpress www.audioamateur.com . . . . . . 2

Circuit Cellar www.circuitcellar.com . . . . . . . . 3

Eurocircuits www.elektorpcbservice.com . . . .88

Soclutions www.soclutions.com . . . . . . . . . 9

Empresas Colaboradoras

Page 8: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

8 | junio 2013 | www.elektor-magazine.es

•Industria

National Instruments ha anunciado hoy los fra-me grabbers GigE Vision de dos puertos NI PCIe-8236 y NI PCIe-8237R que ofrecen tecnología PoE. El NI PCIe-8237R ofrece E/S a través de NI LabVIEW FPGA, inclu-yendo entradas y salidas digitales con aislamiento óptico, así como líneas bidireccionales TTL para implementar contadores personalizados, señales PWM y entradas de encoders. También ofrece opciones de trigger avanzadas y opciones de sincronización, tales como disparos de bajo jitter y baja latencia basados en FPGA, así como soporte

del bus de sincronización RTSI. Ambos frame grabbers son totalmente com-patibles con las especificaciones de aislamiento del estándar PoE con el fin de proporcionar una seguridad adicio-

nal al sistema de visión artificial y a sus operadores. También puede inte-ractuar con las cámaras de bajo coste PoE más recientes, así como con las cámaras de visión artificial que no son PoE GigE Vision y tienen longitudes del cable de hasta 100 m.“Con estos nuevos frame grabbers, se puede alimentar a la cámara, realizar disparos y adquirir imágenes desde un único cable Ethernet”, dijo James Smith, director del marketing industrial embe-bido de National Instruments. “Los in-genieros están constantemente siendo desafiados a hacer más con menos, por lo que esta es una gran ventaja para cualquier persona que vaya a crear un sistema de visión artificial.”

www.ni.com

El modelo 3DC09AOI se caracteriza por diseño un compacto y robusto que supera los estrictos requerimientos de la industria de la automoción.

PREMO, empresa representada en Es-paña por Anatronic, S.A., ha desarro-llado una nueva antena electromag-nética 3D-coil para aplicaciones KES (Keyless Entry System) en sistemas de apertura de vehículos.El nuevo modelo 3DC09AOI, con for-mato de bajo perfil (10,5 x 9,5 x 3 mm), se compone de tres devanados ortogonales, cada uno de ellos en los tres ejes del espacio, y cumple con el estándar AEC-Q-200 para responder a los estrictos requerimientos de la in-dustria de la automoción.Esta antena isotrópica de montaje su-perficial (SMD) ofrece metalización la-

teral para permitir procesos de recono-cimiento automático de soldadura de visión óptica automática (AOI).Los pads tienen terminación en oro para garantizar una conectividad se-gura y fiable entre el componente y la circuitería de la PCB y, en combina-ción con los meniscos laterales forma-dos durante el proceso de soldadura, contribuyen a aumentar el contacto mecánico más de un 25 por ciento en comparación con productos similares del mercado.La nueva antena electromagnética se distingue por elevada robustez, ya que los bobinados están totalmente pro-tegidos por una matriz polimérica al vacío de alta estabilidad (dilataciones por debajo de 200 ppm) y notable re-sistencia térmica (soporta doble reflow de +270 °C).

El transponder 3DC09AOI, que tiene un índice de protección IP685 y ope-ra en el rango de temperatura de -40 a +85 °C, también se caracteriza por ofrecer un valor estándar de L=14 mH con sensibilidad superior a 9 mVpp/App/m @20 kHz y mantener un factor de calidad Q de 6, pudiendo fabricarse con valores electromagnéticos diferen-tes en cada uno de los ejes en función de las necesidades del cliente.

www.anatronic.com

Simplificación de los sistemas de visión artificial con un capturador de fotogramas alimentado por Ethernet

Antena electromagnética 3D-coil para sistemas de apertura KES de vehículos

Page 9: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

Noticias

www.elektor-magazine.es | junio 2013 | 9

Publicidad

Microchip anuncia la ampliación de su catálogo para LIN con el transceptor conforme a LIN 2.1 y SAE J2602-2 y el modelo de bajo consumo MCP2003A, los chips base de sistema (System Basis Chips, SBC) LIN MCP2021A, MCP2022A, MCP2025 y MCP2050, y el dispositivo System in Package (SiP) PIC16F1829LIN. Estos dispositivos incluyen opciones de alta integración como un regulador de tensión, temporizador supervisor de ven-tana, salida de supervisión de batería y un microcontrolador. Además se caracterizan por su alta robustez, incluyendo unos niveles de compatibilidad electromagnética (EMC) y descarga electrostática (ESD) superiores a 15 kV en el bus LIN y las patillas de tensión de la batería, cumpliendo o superando así los requisitos de los fabricantes de automóviles como la Versión 1.3 de los requisitos de hardware de fabricantes OEM para interfaces LIN, CAN y FlexRay en aplicaciones de automóviles (“OEM Hardware Requirements for LIN, CAN and FlexRay Interfaces in Automotive Applications”). El re-gulador de tensión integrado en algunos de los dispositivos también ha sido especialmente diseñado para funcionar en el entorno del automóvil y puede resistir el estado inverso de la batería, transitorios de volcado de carga de +43V y arranque con doble batería. Esta robustez permite estable-cer una comunicación fiable en entornos adversos mientras que el elevado nivel de integración disminuye el coste y la complejidad al tiempo que ocupa menos espacio.El nuevo SiP PIC16F1829LIN incorpora un microcontrolador Flash de 8 bit, un regulador de tensión y un transceptor LIN, así como periféricos como convertidor A/D de 10 bit, comparadores y temporizadores; todo ello en un encapsu-lado SSOP de 20 patillas. Este dispositivo se suma a la am-plia gama de microcontroladores PIC® eXtreme Low Power (XLP) de 8 y 16 bit de Microchip que integran periféricos USART avanzados. El periférico USART avanzado facilita la conectividad a los transceptores y los SBC en la capa física de LIN. Tanto si se trata de SiP como de soluciones autó-nomas, las corrientes en modo dormido de los microcon-troladores XLP de Microchip, a partir de 9 nA, hacen que resulten muy apropiados para aplicaciones alimentadas con batería y permiten reducir el consumo en los vehículos.Microchip suministra una amplia gama de herramientas, software, diseños de referencia e información como sopor-te para el desarrollo con este catálogo para LIN, al que se puede acceder en línea desde su LIN Design Centre en

http://www.microchip.com/get/STR3. Entre las herramientas para LIN ya dispo-nibles se encuentran el analizador serie LIN (APGDT001); la tarjeta de demostra-ción PICDEM™ CAN-LIN 3 (DM163015); la tarjeta hija ECAN™/LIN PICtail™ Plus (AC164130); y la tarjeta de demostra-ción PICkit™ 28-Pin LIN (DM164130-3). Entre los diseños de referencia disponi-bles están el elevalunas eléctrico antipe-llizcos (APGRD002) y el módulo de ilumi-

nación ambiental del habitáculo con LIN (APG000027).Los seis dispositivos nuevos de Microchip para LIN ya se en-cuentran disponibles para muestreo y producción en volumen.www.microchip.com

Microchip amplía su catálogo para LIN 2.1/ SAE J2602-2 con un nuevo transceptor, chips base del sistema y dispositivos System-in-Package

Page 10: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

10 | junio 2013 | www.elektor-magazine.es

•Industria

Módulo embebido XBee Wi-Fi para soluciones M2M basadas en la nube

STMicroelectronics amplía su línea de IC SoC set-top box

Comunicaciones 802.11b/g/n de ultra bajo consumo en monito-rización industrial, rastreo de bienes y mercan-cías, automatización en el hogar y control de depósitos.DIODE, a través de su División de Electrónica, anun-cia la disponibilidad de la última versión del módulo embebido XBee Wi-Fi de Digi Interna-tional con el objetivo de acelerar el despliegue de soluciones M2M ba-sadas en la nube (cloud) y propor-cionar capacidades IP-to-device y device-to-cloud.Este módulo de bajo consumo ofrece serial-to-Wi-Fi networking en el for-

mato XBee y ahora incluye Native iDigi Device Cloud (para tareas de

adquisición de datos y gestión de dispositivo), interface Soft

Access Point (AP) y Wi-Fi Protected Setup

(WPS).La conectivi-dad iDigi De-

vice Cloud dota de acceso a los

datos del dispositivo para agilizar la creación

o la integración de la apli-cación y permite tanto confi-

guración remota como descarga de firmware.Gracias al interface Soft AP, el mó-dulo puede actuar como un punto de acceso. Así, los clientes se pue-den conectar a diversos dispositi-

vos, como termostatos o básculas, que normalmente carecen de inter-face de pantalla LCD o teclado des-de un ordenador portátil (laptop) o Smartphone.La función WPS se convierte en otra manera de incorporar módulos Xbee Wi-Fi con ratios over-the-air de hasta 72 Mbps a una red 802.11b/g/n (Wi-Fi) con tan sólo apretar un botón.El módulo también posee UART e inter-face SPI para optimizar la integración con microcontroladores embebidos y se encuentra disponible en versiones through-hole y de montaje en super-ficie (SMT) para incrementar la flexibi-lidad en el proceso de diseño y reducir el coste de desarrollo y el tiempo de llegada al mercado.

www.diode.es

Los nuevos productos proporcionan un excelente balance de CPU, calidad de vídeo, seguridad y reducción de mate-riales.

STMicroelectronics, uno de los mayo-res fabricantes de productos semicon-ductores, ha incorporado nuevos dis-positivos a su catálogo de set-top box (STB) system-on-chip (SoC) IC para equipos de televisión terrestre, cable, IP, Over-The-Top y satélite.El modelo STiH253, que amplía la ofer-ta de ST de soluciones compatibles con grabadores de vídeo digital (DVR), es un IC de emisión de vídeo digital que integra un demodulador DVB-T2 para STB terrestres.La otra novedad es el STiH271EL, es-pecialmente indicado para aquellas aplicaciones sensibles al precio que re-quieren funcionalidad zapper (mando)

sin comprometer las presta-ciones de vídeo.El “núcleo” de esta familia de IC SoC STB de ST se encuentra en un motor de procesamiento me-jorado con funciones on-chip para posibili-tar un diseño de producto final más eficiente. Esto permite que los operadores utilicen memoria de menor coste y cumplan los requeri-mientos de bajo consumo.Los nuevos STB SoC respaldan un am-plio rango de códec multimedia y bro-adcast HD, formatos híbridos e IP y es-tándares de seguridad y protección de contenido con stacks de middleware de compañías líderes de la industria.Esta gama extiende el acceso a man-dos HD, PVR, clientes Internet Proto-col (IP) y dual-HD boxes que soporten

servicios conectados a televisión (Internet Protocol TV), ca-

nales de información y vídeo Over-The-Top (OTT), juegos, catch-

up TV y redes sociales.Por lo tanto, los nuevos

dispositivos complemen-tan la línea de SoC para

aplicaciones de set-top box IP genérico (STiH207), cable /

terrestre HD (STiH273) y satélite HD (STiH237 y STiH239). La compatibili-dad en pin y software de toda la fami-lia también contribuye a optimizar los diseños de OEM.Las primeras muestra de los IC SoC STiH253 y STiH271EL se suministran en encapsulados BGA de 23 x 23 y 27 x 27 mm.

www.st.com

Page 11: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

Noticias

www.elektor-magazine.es | junio 2013 | 11

Microchip anuncia dos nuevos microcontroladores PIC® de 8 bit, el PIC16F527 y el PIC16F570, que combinan el sencillo manejo de un microcontrolador PIC y peri-féricos analógicos de bajo coste para crear una familia bien integrada y económica que resulta apropiada para una amplia variedad de aplicaciones. Estos microcontro-ladores, que integran un módulo doble de amplificador operacional integrado, un convertidor A/D de 8 bit y dos comparadores, son ideales para sistemas que exigen acondicionamiento de señal y amplificación para inter-pretar las entradas analógicas.

El PIC16F527 y el PIC16F570 que emplean una arqui-tectura de 8 bit de pequeño tamaño y alta eficiencia, añaden diversas funciones que potencian el sencillo manejo y la robustez del sistema. Esta capacidad de interrupción por hardware completamente nueva ofre-ce a los diseñadores la libertad de implementar más funciones complejas sin añadir software, mientras que la función BOR (Brown-Out Reset) puede detectar fa-llos en la alimentación del sistema y reiniciar de forma segura el microcontrolador con el fin de evitar que la memoria se vea afectada. Los dos microcontroladores también incorporan memoria Flash de programa con lectura/escritura automática, que permite una funcio-nalidad de EEPROM de datos con un uso intensivo. Es-tas características principales, junto con la integración de periféricos analógicos de uso habitual, hacen que el PIC16F527 y el PIC16F570 se adapten bien a un gran número de productos sensores de bajo coste, como de-tectores de humo, detectores de monóxido de carbono,

fotosensores y módulos de interface de sensor para el automóvil.El microcontrolador PIC16F527 se suministra en encapsulados PDIP, SOIC, SSOP y QFN de 20 pati-llas y ya se encuentra disponible para su muestreo y producción en volumen. El PIC16F570 se sumi-nistra en encapsulados PDIP, SOIC, SSOP y QFN de 28 patillas y está previsto que se encuentre disponible en junio para muestras y producción en volumen.

www.ni.com

Microchip integra amplificadores operacionales en microcontroladores PIC® de 8 bit de bajo coste

Más informacíon y pedidos en www.elektor.es/retronics

Retronics80 cuentos de la electrónica del pasadoEste libro (en inglés) es una recopilación de 80 entregas de Retrónica publi-cadas entre 2004 y 2012. Las historias abarcan equipos de prueba clásicos, ordenadores prehistóricos, componentes ya olvidados, los proyecto de Elektor que alcanzaron un gran éxito, todo ello con el propósito de hacer que los ingenieros sonrían, se sienten, se opongan, babeen o experimenten el tufillo de la nostalgia.

193 páginas • ISBN 978-1-907920-18-9 • 29,95 €

-10% para miembros GREEN

NUEVO

Publicidad

Page 12: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

12 | junio 2013 | www.elektor-magazine.es

Llevó su tiempo completar el proyecto con el que nos vamos a encontrar. Todo comenzó hace un año con un sistema de Automatización de Domés-tica [1] que, originalmente, fue desarrollado por dos aprendices de los Laboratorios de Elektor, Koen y Jesper. Una parte de su sistema era una tira de LEDs RGB controlada a través de Ether-net, es decir, por cable. La idea era buena, pero

yo pensaba que una conexión sin hilos sería una solución más llamativa. Además, también bus-caba una aplicación basada en un navegador web, compatible con la mayoría de los navegadores y que usase deslizadores para controlar el color de la tira de LEDs. Así, Koen tenía la intención de desarrollar todo el conjunto pero, por desgracia, su período de aprendizaje finalizó antes de que

Clemens Valens (Elektor.Labs)

Tarjeta Controladora Wi-Fi Controla tiras de LEDs RGB, motores, relés y artilugios, pero sin hilos

Con los módulos Wi-Fi ya generalizados, es el momento de empezar a añadir aplicaciones a nuestra red Wi-Fi doméstica. Controlar nuestra casa desde el teléfono móvil nunca ha sido tan fácil gracias a la placa controladora Wi-Fi universal que presentamos aquí. Aunque la vamos a usar para controlar una tira de LEDs RGB, podemos usar la placa para un amplia abanico de aplicaciones diferentes.

Page 13: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

tarjeta controladora wi-fi

www.elektor-magazine.es | junio 2013 | 13

pudiese acabar el proyecto y volvió de nuevo a la universidad. Antes de dejar Elektor, Koen me explicó los problemas con los que estaba tra-bajando, alguno de los cuales aún necesitaba que fuese encauzado correctamente. Así pues, me tocó a mí finalizar el proyecto, ¡qué pasó los siguientes meses en la mesa de mi despacho cogiendo polvo! Cuando, finalmente, encontré el tiempo y las ganas de ponerme con ello, me costó recordar la mayoría de las cosas que Koen me había dicho y, básicamente, tuve que comen-zar desde el principio.El circuito de Koen era, principalmente, un micro-controlador (MCU) ATmega328 AVR, que contro-laba tres MOSFETs, con señales PWM, para regular la intensidad de los tres colores. Para la conexión Wi-Fi, había usado un módulo WizFi220 de la casa WIZnet, que se comunicaba con la MCU a través de un sencillo enlace serie. Como yo tenía shield de Arduino que contenía este módulo Wi-Fi [2] y como una placa Arduino Uno está basada en un ATmega328, decidí construir mi prototipo como una aplicación Arduino. Todo lo que nece-sitaba era un segundo shield con los MOSFETs sobre ella para poder controlar la tira de LEDs. Todo esto lo puse rápidamente sobre una placa de prototipos (ver Figura 1). Así pues, llegó la hora de programar. Analizar los comandos HTTP recibidos del módulo Wi-Fi y devolver las respuestas requeridas, no fue algo demasiado complicado, pero cuando quise cambiar la página web me encontré con los pro-blemas de Koen. Lo primero de todo eran los deslizadores que controlan el color de la tira de LEDs desde el interior de un navegador que ale-gremente había seleccionado. Entonces aprendí que no hay deslizadores en el HTML estándar. Buscando en Internet, descubrí que HTML 5 podría soportar deslizadores, pero sólo unos pocos navegadores lo soportan, por lo que HTML 5 no era una opción. Koen había resuelto este tema usando las librerías JQuery y JQuery-UI [3] de JavaScript. Dichas librerías son librerías ‘online’ para páginas web que acostumbran a implementar todo tipo de controles ingeniosos y otras funciones. Algunos inconvenientes de estas librerías es que son ‘online’, lo que significa que necesitamos una conexión de Internet para usarlas, además de que son demasiado gran-des para colocarlas en el interior de la memo-ria de programa del micro. Como no tenía otra solución, decidí aceptar el uso de las librerías JavaScript ‘online’.

Mirando en el código de la página web de Koen, recordé de repente el problema que él me había mencionado antes de dejarnos: por alguna razón, el módulo Wi-Fi cerraba la conexión después de recibir un comando, impidiendo que el navegador enviase más comandos. En consecuencia, sólo podemos cambiar el color de la tira de LEDs una vez, a menos que reiniciásemos el módulo. Koen había encontrado un pequeño truco usando un JavaScript complicado que hacía que el navega-dor cambie sus puertos de comunicación antes de enviar un comando. Esta alternativa también implicaba usar el comando HTTP GET para enviar el dato del color, cuando lo que realmente sig-nifica este comando es que obtiene datos de un servidor (¿quién lo habría adivinado?). Para enviar datos, lo lógico es usar el comando POST (o PUT).Sin embargo, una solución mucho más elegante es el de añadir la línea “Connection: close” a la respuesta del servidor ante un comando GET. Ahora ya podía borrar el script alternativo haciendo que en la página fuese mucho más inte-ligente, a la vez que podría cambiar y utilizar el comando POST, que, en mi opinión, era mucho más apropiado. Esta es la apariencia del comando POST cuando es enviado por el navegador Firefox (el dato del color está al final):

Figura 1.Prototipo basado en una placa Arduino Uno, un módulo de extensión Wi-Fi de Elektor (120306) y un trozo de una placa para prototipos.

Page 14: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

14 | junio 2013 | www.elektor-magazine.es

compatible Arduino y con un programa que había sido compilado en un IDE Arduino. Si queréis más detalles sobre esto, por favor visitad la refe-rencia [4]. Podría haberme detenido aquí, pero quise mejorar el circuito ya que no me pare-cía correcto tener una pila de tres placas para un circuito tan sencillo. Buscando un micro con menos terminales me dí cuenta de que no podía mantenerme sobre la plataforma AVR de Atmel ya que los componentes que podrían ser ade-cuados eran difíciles de conseguir. Sin embargo, resultó que tenía por la mesa un par de micros PIC18F14K50 de Microchip. Se trata de una MCU de 20 terminales con USB, algo que era intere-sante ya que esto me podía servir para poder hacer una configuración cómoda, basada en PC, del módulo Wi-Fi (ver también [2]). Otra pres-tación interesante es el programa cargador de arranque (‘bootloader’) por USB que Microchip proporciona (gratuitamente), lo que nos permite un desarrollo fácil del ‘firmware’ sin necesidad de un programador especial. Por desgracia, este MCU sólo dispone de un canal PWM, por lo que he tenido que implementar el control del color PWM de tres canales por medio de programa.Exportar el código AVR a un PIC debería haber sido un ejercicio sencillo y directo pero, real-mente, no lo fue. Por supuesto, tenía cosas com-plicadas que hacer, ya que quería incluir las fun-cionalidades USB y el cargador de arranque, pero Microchip debería haberlo hecho más sencillo. Estaba utilizando mi super compilador XC8, con todas las prestaciones posibles que Microchip dice que tiene, pero me fue imposible conse-guir que el código USB se pudiese compilar, sin hablar del trabajo asociado. Al final, conseguí el código buscado en las Librerías de Aplicación de Microchip v2012-10-15 y, sólo después de muchas horas de búsquedas infructuosas con las configuraciones y las ‘pragmas’ del compila-dor, encontré una información en algún lugar de Internet donde decía que el compilador XC8 no era compatible (aún) con las Librerías de Aplica-ción de Microchip. ¡No me digas! Necesitaba otro compilador. De nuevo Internet vino a mi rescate y en 15 minutos ya tenía una versión oficial, con todas sus funcionalidades, del compilador C18 y trabajando sin esa cantidad de mensajes. Otros 15 minutos más y ya tenía el ejemplo del puerto serie USB cargado y ejecutándose.Ahora era el momento de añadir mi código Wi-Fi – que iba bastante bien excepto en el volcado de todos los datos en la memoria RAM segmentada

POST / HTTP/1.1Host: 192.168.2.15User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Firefox/17.0Accept: */*Accept-Language: en-US,en;q=0.5Accept-Encoding: gzip, deflateDNT: 1Connection: keep-aliveContent-Type: application/x-www-form-ur-lencoded; charset=UTF-8Content-Length: 23Origin: nullPragma: no-cacheCache-Control: no-cache

red=79&green=10&blue=20

El siguiente paso fue el conseguir que la página web tuviese una apariencia bonita en los dispo-sitivos móviles. En mi ‘smartphone’ los desliza-dores que se mostraban eran muy pequeños, haciendo imposible moverlos con algo de preci-sión. La solución fue la de añadir la ‘meta-eti-queta’ (‘meta tag’) viewport en la cabecera de la página web, de esta manera:

<meta name=’viewport’ content=’width=de-vice-width, user-scalable=no’ />

Con esta línea añadida al código HTML de la página web, ahora la pantalla de mi teléfono móvil Android se rellena adecuadamente, a la vez que tiene la misma buena apariencia en un PC. (Sobre un iPad solo ocupaba una cuarta parte de la pantalla y no he tratado de mejorar esto).Al mismo tiempo, también he optimizado el tamaño del resto del programa y, ahora, mi obje-tivo era conseguir que todo cupiese en la menor cantidad de memoria posible. Una mejora impor-tante vino en la compresión de la página web. Podemos hacer esto con ‘gzip’ y, a continuación, añadir la línea “Content-encoding: gzip” a la respuesta del servidor. La mayoría de los nave-gadores (si no todos) tienen que saber cómo gestionar las páginas web ‘zipped’ (‘comprimi-das’). La desventaja de hacer esto es que ahora es más complicado cambiar la página web. Sin embargo, sólo hacemos esto cuando su diseño está acabado.

En este punto ya tenía un prototipo que fun-cionaba correctamente, basado en un hardware

Page 15: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

tarjeta controladora wi-fi

www.elektor-magazine.es | junio 2013 | 15

pues, volví sobre la tabla de depuración donde descubrí que la interrupción USB parecía mante-ner activa la interrupción del puerto serie, lo que provocaba la pérdida de datos. A estas alturas ya estaba bastante harto de todo esto y decidí simplemente deshabilitar el puerto USB en el modo Wi-Fi en lugar de ir al fondo del problema.

del PIC – y hacer un intento. Y, por supuesto, funcionó – diréis vosotros. Pues no, no es así. Realmente sólo funcionaba un poco. Podía cam-biar el color de la tira de LEDs una o dos veces, pero enseguida la comunicación Wi-Fi se dete-nía. Cuando controlaba la tira de LEDs sobre el puerto serie USB funcionaba correctamente. Así

22p22p

100n

1k

1k

1k 1k 1k

WizFi220

USB-B

IRL540

IRL540

IRL540

1N5819

47k

47k

BZX79-C3V0

ICSP

MCP1825S-3302E/AB

10u 10V 100n 10u 10V 100n

EXPANSION

1k

10k

GND

3V3+V5+

Vin

RXDTXD

GPIO27

GPIO29

LM2575T-5.0/NOPB

1N5819

330u 16V100u 50V

1N5819

330u 1A

3x 1N5819

BARREL JACK

12345678

17181920

911011213141516

IC1

PIC18F14K50-I/P

X1

12MHzC1C2

C3

R1

S1

R2

D5

D6

D7D8

R3 R4 R5

1

2

1

345678

9

1011121314151617

18

19202122

4232252627

120718 - 11

282930

31

32 33 34

35363738394041424344454647

48

MOD1

1234

K1

T1

T2

T3

D1

R6

R7

D2

1 2 3 4 5 6

JP1

IC2

C4 C5 C6 C7

12345

JP2

R8

T4

BC547

R9

TP1

3PT2PT

TP4

TP5TP6

TP7

TP8

1

2

3

5

4

IC3

D3 C8C9

D4

L1

12

JP3

D9D10D11

K2

K3

+5V

Vin

+3V3

LINK

OKRXD

+3V3

3V3+V5++5VVin

VSSD+D-

VUSBRC0RC1RC2RB4

RB5/RXRB6

VDDRA5/OSC1RA4/OSC2RA3/MCLRRC5RC4RC3RC6RC7RB7/TX

EXT ANT

GND

JTAG_TCKJTAG_TDOJTAG_TDIJTAG_TMSJTAG_NTRSTALARM1RTC_OUT1

VBAT

DC_DC_CNTLALARM2ADC1ADC2MSPI_MISO/GPIO6MSPI_MOSI/GPIO7MSPI_CLK/GPIO5VOUT_1V8

GND

MSPI_CS0/GPIO4MSPI_CS1/GPIO13I2C_CLK/GPIO9PWM0/GPIO10GPIO19/CLK_44MHZ GPIO20/CLK_22MHZ

GPIO21/CLK_11MHZI2C_DATA/GPIO8

SSPI_MISOSSPI_CLKSSPI_CS

SSPI_MOSI

GND

VIN_3V3 EN_1V8 VDDIO

EXT_RESETNUART1_CTS/GPIO26UART1_RTS/GPIO27

UART1_RX/GPIO3UART1_TX/GPIO2UART0_TX/GPIO1

UART0_RTS/GPIO25UART0_RX/GPIO0

UART0_CTS/GPIO24GPIO31GPIO30GPIO29GPIO28

GND

VBUSD-D+GND

OFF

FB

123456

Figura 2.Esquema eléctrico del circuito de la Placa Controladora Wi-Fi. ¿Os habéis dado cuenta de que la gente siempre conecta el ‘jack’ de alimentación al revés? El terminal central se supone que es la conexión de masa. He sido algo retorcido aquí debido a las consideraciones de diseño de la placa.

Page 16: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

16 | junio 2013 | www.elektor-magazine.es

Una FlowBoard compatible con FlowStone 3 [5]. Alguna cosa que aún no he conseguido

imaginar.

Para conseguir que sean posibles estas diferen-tes aplicaciones, la placa ha sido equipada con un regulador conmutado de manera que puede ser alimentada con una fuente de alimentación continua (DC) desde 7 V a 40 V, sin llegar a gastar demasiadas calorías. La placa también puede ser alimentada desde el puerto USB, pero debemos tener en mente que el módulo Wi-Fi puede llegar a consumir bastante poten-cia cuando está transmitiendo. Un regulador lineal más grande de 3,3 V, proporciona la ali-mentación para el módulo Wi-Fi (debido a los requerimientos de corriente, no podemos usar el regulador de 3,3 V integrado en la MCU). El módulo viene acompañado por tres LEDs de estado que indican si está conectado a un punto de acceso o no y si hay intercambio de datos. Como el micro está alimentado con 5 V y el módulo Wi-Fi lo está con 3,3 V, se ha aña-dido la circuitería de conversión de nivel para las entradas del módulo Wi-Fi. El micro puede trabajar directamente con señales de entrada de un nivel de 3,3 V.El micro funciona con un oscilador de cristal de 12 MHz para conseguir una temporización USB correcta. El pulsador conectado al terminal de reset (‘reinicio’), el MCLR, servirá principalmente para activar el modo cargador de arranque (la entrada de reinicio externa debe estar deshabili-tada para que ésta funcione, es decir, la bandera MCLRE=OFF). Si no necesitamos el cargador de arranque, este pulsador puede funcionar como botón de reset o también puede usarse para cualquier otra función.Los tres MOSFETs, dimensionados de manera con-servadora, proporcionan una RDS(on) de 0,077 Ω, pueden trabajar con hasta 100 V y están protegi-dos por diodos de ‘flyback’ (anti-rebote), con lo que también pueden trabajar con cargas induc-tivas. Como conector de salida, he optado por un bloque terminal para circuito impreso estándar de cuatro terminales, con una separación entre terminales de 5,08 mm, pensando incluso que la mayoría de las tiras de LEDs que he visto están equipadas con un conector con separación de ter-minales más pequeña. Sin embargo, como no se lo estándar que son estos conectores o si están conectados todos ellos de la misma manera, el preferido una solución más flexible. Así, podemos

(Os sugiero que hagáis un intento si verdadera-mente estáis interesados. Por favor, informadme si encontráis una solución).

Construyendo todoAhora, mi segundo prototipo (basado en un PIC) estaba funcionando como se deseaba, con los elementos que quería utilizar (ver Figura 2). Finalmente había llegado el momento de diseñar una bonita placa. Como el objetivo era controlar una tira de LEDs, decidí construirla dentro de una pequeña y discreta caja. La placa estaba diseñada de manera que la caja necesitase unos mínimos retoques, especialmente cuando usa-mos la versión azul transparente que nos permite ver el estado de los LEDs en su interior. En este caso no es necesario realizar ningún taladrado, sólo tenemos que añadir algunos separadores en su interior.Incluso con una MCU de 20 terminales, varios terminales permanecen sin uso, por lo que he añadido alguna funcionalidad extra a la placa. Esto hace que, junto con el programa cargador de arranque, la placa sea una plataforma mucho más versátil, la cual podremos utilizar en otras aplicaciones. Puede ser usada como:

Un controlador Wi-Fi de (tira) LEDs RGB. Un controlador de tres canales que conmuta

relés o controla motores por Wi-Fi o por USB (o por ambos).

Un adaptador de puerto serie a USB. Un sistema de prototipos rápidos con Wi-Fi,

puerto de expansión y tres canales de alimentación.

Figura 3.Una típica tira de LEDs RGB con un cable adaptador recuperado de una fuente de alimentación de un PC.

Page 17: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

tarjeta controladora wi-fi

www.elektor-magazine.es | junio 2013 | 17

El pulsador necesita una tapa de la altura corres-pondiente. El modelo de 16 mm queda casi a ras de la cara superior de la caja.Para montar la placa en la caja necesitamos recortar en la tapa superior los cuatro separa-dores que mantienen la caja unida. Una forma de hacer esto es con una broca larga. No debemos recortar mucho o los tornillos no tendrán nada de material al que atornillarse. También tendre-mos que separar los dos trozos de plástico que permiten mantener la batería en su lugar.El módulo Wi-Fi tiene un pequeño conector para una antena mejor (ver Figura 5). Si lo utilizas, simplemete déjalo colgando.

fabricar fácilmente un cable adaptador a partir de, por ejemplo, el cable de de alimentación de una disquera (ver Figura 3).Para el conector de alimentación podemos usar, bien un ‘jack’ de terminal central (similar al de los PCs), o bien un bloque terminal estándar, de dos terminales y de 5,08 mm de separación. Un diodo proporciona una protección básica contra inversión de polaridad.Un conector de extensión tipo ‘header’, de 5 terminales, permite el uso de los puertos libres del micro para propósitos personalizados. Una fila de puntos de prueba extiende este conec-tor en una dirección; el conector de programa-ción serie interno (ICSP) lo amplía en la otra dirección. Todos estos terminales dan acceso a 10 terminales del micro y a todas las tensio-nes de alimentación. También hay disponibles un LED, conectado a RC4, y un pulsador. Como el programa de aplicación puede ser cambiado fácilmente gracias al cargador de arranque y al interfaz USB, estas acciones convierten a la placa en una excelente plataforma para realizar rápidos prototipos.Todos los componentes (excepto el módulo Wi-Fi) son elementos estándar de taladro pasante, por lo que no deben suponer ningún problema en el montaje de la placa. Sugiero que se monte primero el módulo Wi-Fi, ya que colocarlo en la posición correcta es algo complicado debido a la cantidad de conexiones que tiene. Hay que señalar que los reguladores de tensión deben ser montados sobre su vientre (ver Figura 4 o en la cara de soldadura de la placa). La razón de ello es que, si no usamos la caja que se pro-pone y los montamos verticalmente, no pueden ser atornillados fácilmente a un radiador (no es que realmente se necesite uno). Los MOSFETs deben estar tumbados sobre su espalda para que quepan en la caja.Si los LEDs deben asomar a través de la caja, deberemos taladrar primero los agujeros para conocer la longitud correcta de sus terminales. El LED D5 (conectado a RC4) y cada pulsador, han sido colocados exactamente bajo un sepa-rador, de manera que podamos hacer agujeros para ellos sin tener que hacer la tediosa medida primero, sólo habrá que taladrar los separado-res. La caja dispone de una trampilla para pilas, lo que permite que podamos montar los LEDs de estado del módulo Wi-Fi en la cara de soldadura, para que podamos verlos sólo cuando abrimos la trampilla.

Figura 4.La placa casi acabada, revisión 1.0; y totalmente ensamblada. La Rev 1.1 es idéntica excepto en algunos componentes que han sido ligeramente desplazados para que quepa mejor en su caja.

Figura 5.Tres antenas de 2,4 GHz, una de Winizen (superior) y las otras dos suministradas amablemente por las chicas de 2J (www.2j-antennae.com).

Page 18: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

18 | junio 2013 | www.elektor-magazine.es

detectar ahora la placa como un HID. Si es la primera vez que hacemos esto en un PC Windows, tenemos que mostrarle el fichero .INF que hemos conseguido en la descarga previa.

En el PC, lanzamos la herramienta HIDBoo-loader conseguida también en la descarga (para Windows; para la versión Linux o Mac descargaremos la aplicación de la página web de Microchip) (ver Figura 6). Esta aplicación debería reconocer la placa instantáneamente.

Buscaremos y cargaremos nuestro fichero eje-cutable (fichero HEX) y, a continuación, pul-saremos sobre el botón ‘program’.

Para salir del modo cargador de arranque y arran-car la aplicación, pulsaremos sobre el botón de Reset o apagaremos y encenderemos la fuente de alimentación de la placa sin mantener pulsado S1.

Configurando el módulo Wi-Fi En [2] os muestro cómo configurar el módulo WizF1220 a través de un puerto serie usando comandos AT. Esta técnica es muy útil si, por ejemplo, queremos que el micro reconfigure el módulo “al vuelo”. También permite la con-figuración de opciones no accesibles por otros medios. La placa que se presenta aquí tiene un modo especial que permite esta manera de con-figurar el módulo. El módulo Wi-Fi ofrece una manera más fácil si lo único que queremos hacer es conectarlo a una red Wi-Fi existente. En este caso tenemos que colocar el módulo en el modo denominado Punto de Acceso Limitado (o LAP, del inglés, Limited Access Point). La placa tam-bién puede hacer esto.Para ambos métodos, tenemos que colocar pri-mero la placa en modo “USB a serie”. Para hacer esto, conectamos RC2 a + 5 V (por ejemplo, con un hilo o un conector de extensión) y, a continua-ción, conectamos la placa a un puerto USB libre de nuestro PC. El LED D5 comienza a parpadear y podemos comenzar a enviar comandos AT al nuevo puerto COM virtual (el número o el nom-bre será el que obtengamos de nuestro sistema operativo). Si el módulo Wi-Fi está conectado a un PA (‘Punto de Acceso’, por ejemplo, cuando los LEDs de estado ‘LINK’ y ‘OK’ están los dos encendidos), escribiremos “+++” en un programa terminal de puerto serie para forzar al módulo a entrar en el modo comando (el LED ‘OK’ deberá apagarse). Ahora usaremos la referencia [2] para conFigurar el módulo.

Programando la placaEl ‘firmware’ que podemos descargar para este proyecto desde [6], contiene el programa carga-dor de arranque, la aplicación de la tira de LED RGB y los elementos de configuración, en un único fichero HEX. Volcaremos el fichero HEX en el MCU usando un programador adecuado (PICKIT, ICD u otro) y ya estará todo. Con el programa cargador programado en el MCU, estamos listos para cargar nuestra propia aplicación. El proce-dimiento es el siguiente:

Sin alimentar la placa, nos aseguraremos de que JP3 no está montado.

Conectar la placa a un puerto USB libre de nuestro PC.

Pulsar el pulsador S1 y mantenerlo pulsado mientras colocamos el puente JP3. Realmente, en lugar de JP3, he usado un pulsador del tipo “normalmente cerrado” (NC) (los microinte-rruptores son ideales para ello). En este caso, mientras mantenemos pulsado S1, pulsaremos brevemente del microinterruptor para entrar en el modo cargador de arranque (‘bootloader’).

El PC (con Windows, Linux o Mac) debería

Figura 6.Usad esta herramienta para volcar una nueva aplicación a la Placa Controladora Wi-Fi.

Figura 7.La página de configuración del módulo WizFi, que está accesible en modo Punto de Acceso Limitado, nos hace la vida mucho más fácil.

Page 19: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

tarjeta controladora wi-fi

www.elektor-magazine.es | junio 2013 | 19

dual. Seguidamente, en el campo “S2W Con-nection method” escribimos “1,1,,80”. Esto nos llevará a una pasarela serie que escucha sobre el puerto 80, el puerto HTTP por defecto usado por los navegadores web. De nuevo, podemos usar cualquier otro valor. Hecho esto, pulsamos sobre el botón “Save”.El enlace “Administration Settings” nos permite introducir la contraseña del módulo. Yo no he usado esta opción.Cuando hayamos acabado con la configuración, pulsaremos sobre el enlace “Logout”. Ahora deberemos ver el mensaje “Rebooting…” (“Rei-niciando…”) y la conexión Wi-Fi se perderá. El módulo WizFi se reiniciará y tratará de conec-tarse directamente a la red seleccionada. Si todo va bien, los LEDs “LINK” y “OK” se encenderán, lo que significa que ahora podemos conectar la placa. Introducimos la dirección IP del módulo en el navegador y esperamos hasta que nos apa-rezca la página de la Figura 8. Cuando la página se haya cargado correctamente estaremos listos para jugar.

Para poner el módulo Wi-Fi en el modo LAP se requiere algo de destreza. Miremos al LED que parpadea más de cerca y observemos su ritmo de parpadeo. Cuando creamos que esta-mos listos, pulsaremos S1 justo cuando el LED esté apagado y lo mantendremos presionado durante dos parpadeos completos. Soltaremos el botón sólo cuando el LED se apague de nuevo después del segundo parpadeo. Si consegui-mos hacer esto de manera adecuada entonces, después de un segundo aproximadamente, los tres LEDs de estado Wi-Fi comenzarán repenti-namente a parpadear rápidamente varias veces y el módulo entrará en el modo LAP. (Si con-tamos tres parpadeos el módulo volverá a su configuración por defecto de fábrica, lo que es un modo rápido de sacarlo de cualquier confi-guración dudosa). Si tenemos la placa conec-tada a un monitor de puerto serie, podremos ver el mensaje:

IP SubNet Gateway 192.168.1.1: 255.255.255.0: 192.168.1.1[OK]

Ahora debemos asegurarnos de que el módulo está en alcance del PA que queremos usar con la placa. Verificamos nuevos puntos de acceso con un PC, un Smartphone o una tableta. Si todo va bien, deberíamos ver un mensaje con la etiqueta “WizFiAPxxxx” donde xxxx es un número. Nos conectamos a él (se trata de un PA abierto por lo que no necesitamos ninguna clave de paso) y en el navegador colocamos una dirección 192.168.1.1. Deberíamos ver una página similar a la de la Figura 7. Ahora pulsamos sobre el enlace “Find Available Wireless Networks” (“Encontrar Redes Wi-Fi Disponibles”). Aparecerá una lista con todas las redes que están en alcance, en la que podemos seleccionar la que queremos. A continuación, pulsamos sobre la opción “Save And Continue” (“Salvar y Continuar”). Esto nos llevará de nuevo a la primera pantalla que ahora nos mostrará los detalles de la red seleccionada. Dependiendo de la configuración de seguridad de esta red, tendremos que entrar la clave de acceso. Ahora pulsamos sobre el botón “Save” (“Salvar”) para almacenar la configuración. Con-tinuamos pulsando sobre el enlace “Network Set-tings (TCP/IP)” y rellenamos el formulario. Yo prefiero utilizar una IP estática para el módulo de manera que siempre conoceré su dirección, pero esto lo decide cada uno de manera indivi-

Figura 8.La página web de la Placa Controladora Wi-Fi tal y como se ve desde un ‘smartphone’ con Android. ¿Está el azul semi-encendido o semi-apagado?

Page 20: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

20 | junio 2013 | www.elektor-magazine.es

Enlaces en Internet

[1] Elektor Home Control: www.elektor-labs.com/node/2325

[2] Extensión Wi-Fi/Bluetooth: www.elektor.es/120306

[3] JQuery(UI): http://jquery.com & http://jque-ryui.com

[4] Versión Arduino: www.elektor-labs.com/node/2373

[5] FlowStone (en este número): www.elektor.es/130064

[6] Firmware, ficheros Eagle PCB, BOM; pedidos: www.elektor.es/120718

Fue divertido poder controlar las luces de mi casa desde el exterior con mi teléfono móvil. Sin embargo, este no es el uso que he planifi-cado para la placa. Mi intención es conectarla a la puerta motorizada del garaje donde mi telé-fono móvil será la llave. También será posible dar acceso a nuestra casa a alguien, incluso cuando nosotros estemos fuera. Además, esta placa está llena de posibilidades, ¡usad vuestra imaginación!

(120718)

Lista de materialesResistencias (5%, 0.25W)R1,R2,R3,R4,R5,R8 = 1kΩR6,R7 = 47kΩR9 = 10kΩ

CondensadoresC1,C2 = 22pF, cerámico, 50V, paso 2,5 mmC3,C5,C7 = 100nF, Z5U, 50V, paso 5 mmC4,C6 = 10µF 63V, radial, paso 2,5 mmC8 = 330µF 16V, radial, paso 3,5 mmC9 = 100µF 50V, radial, paso 3,5 mm

InductoresL1 = 330µH 1A, paso 5 mm, por ejemplo, Würth Elek-

tronik, modelo 7447452331

SemiconductoresD1,D3,D4,D9,D10,D11 = 1N5819D2 = 3V diodo zéner, por ejemplo, BZX79-C3V0D5,D6,D7,D8 = LED, verde, 3mmIC1 = PIC18F14K50-I/PIC2 = MCP1825S-3302E/AB

IC3 = LM2575T-5.0/NOPBT1,T2,T3 = IRL540T4 = BC547

VariosMOD1 = WizFi220 con antena, Elektor # 130076-92.JP1 = conector ‘pinheader’ de 6 terminales, paso 2,54

mm, vertical.JP2 = conector ‘pinheader’ de 5 terminales, paso 2,54

mm, vertical.JP3 = conector ‘pinheader’ de 2 terminales, paso 2,54

mm, vertical.Puente para JP3.K1 = conector hembra USB-B.K2 = Conector 1x4, 90deg, paso 5,08 mm, por ejem-

plo MSTBA4.K3 = conector para tensión DC.Conector DIP de 20 terminales para IC1.S1 = Multimec tipo RA3FTL6 con tapa, tipo S09-16.0X1 = Cristal de cuarzo de 12 MHz, encapsulado

HC49/S.Caja, Hammond modelo 1593QGY.Placa, Elektor Ref. 120718-1

12

34

56

23

1

Page 21: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

alrededor del mundo

www.elektor-magazine.es | junio 2013 | 21

Compilado por Wisse Hettinga

Elektor World

La válvula en el Taper: los lectores comentanLectores de Elektor como vosotros, demuestran constantemente el verdadero espíritu que hay detrás de la revista, mejorando y ampliando el contenido editorial con vuestras propias investigaciones y experimentos. Los artículos relacionados con los componentes son aún los más populares y, en el último artículo de la sección Elektor World del pasado mes de abril, mostramos la ‘Válvula en el Taper’ y nos habéis pedido más detalles.Entre otros, Christopher Kessler de Alemania y Jan Swenker de Holanda, han buscado y

desenterrado más información sobre esto. Christopher encontró las especificaciones de esta válvula buscando por ”Valvo Fotovervielfacher 1978-79”. En total encontró 6 páginas de la información sobre el dispositivo, donde también aparecía que su precio actual era unos 30 dólares. La información de Jan confirma la fecha de origen: 1978. También nos indicó el libro “Hamamatsu Photomultiplier Tubes” de 1986 (podemos encontrar el PDF en Internet). El libro tiene las especificaciones de un tubo equivalente y sustituto, el modelo R1450... ¡Es el momento de poder tener en nuestras manos esta válvula para trabajar!Muchas gracias a Jan y Christopher

Conseguir el control“En ingeniería, la teoría de sistemas de control se concentra en cómo manipular las entradas de un sistema para cambiar su comportamiento. Los hobistas están familiarizados con sistemas de control de lazo abierto muy sencillos, tales como los basados en motores paso a paso. Pero hoy día, los kits de proyectos de cualquier tipo, desde los grandes robots para coches hasta el modelo de avión auto-pilotado, exigen que los aficionados aprendan más sobre la teoría que hay detrás de los sistemas complejos de control de circuito cerrado”, dice Brian Douglas en su ensayo “Tech the Future”, en la edición de junio de 2013 de la revista Circuit Cellar. Los aficionados no vuelven a las aulas, ellos trabajan sobre Internet, educándose ellos mismos en las páginas web y cambiándose al software y hardware open source”. Douglas debe saberlo. El ingeniero de sistemas de control con base en Seattle, tiene una página web en YouTube dedicada a fomentar la comprensión práctica de la teoría de sistemas de control, www.youtube.com/user/ControlLectures. Douglas es uno de los conocidos ensayistas de CC que aparece en la sección “Tech the Future”, que se centra en desarrollar tendencias y descubrimientos en la tecnología. Visitad circuitcellar.com/category/tech-the-future para leer más sobre los ensayos de Douglas y otros.

Page 22: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

22 | junio 2013 | www.elektor-magazine.es

Hoy os voy a hablar de cómo hacer cambios de una configuración global usando la tecnología de ficheros de DesignSpark de forma que consigamos hacer que DesignSpark trabajé como a nosotros nos gusta.

ComenzandoPero antes de empezar a configurar DesignSpark es importante saber que DesignSpark usa estilos para especificar las reglas de formato para pri-mitivas de diseño como formas, texto y pistas. Cada estilo tiene un nombre para poder refe-rirse a él fácilmente, justo como lo hacemos en un procesador de textos. Normalmente intento

crear nombres que den significado al estilo, de manera que podamos saber qué estilo es sin tener que verificar directamente sus propieda-des. Por ejemplo, si tenemos un estilo llamado ‘Vía’, es válido si sólo tenemos un tipo de vía, pero llamándolo ‘Via (0.45 mmx0.95 mm)’ con-seguimos que sea obvio que este estilo es para una vía que tiene un taladrado de 0,45 mm y un ‘pad’ de cobre de 0,95 mm. Podemos aña-dir los estilos personalizados que queramos a la tecnología de ficheros, aunque este artículo intentará centrarse sobre los estilos por defecto del sistema, como ‘[Symbol Names]’, que es el nombre de estilo utilizado para los indicadores de referencias y los nombres de componentes.Además, no debemos olvidar verificar dos veces la ruta del fichero de tecnología de DesignSpark, que se puede cambiar en la pestaña ‘General’ del menú ‘Settings->Preferences’. En mi instalación yo lo he cambiado a ‘C:\Users\Public\Documents\DesignSpark PCB 5.0\Technology’. Si este camino es incorrecto, DesignSpark no encontrará ningún fichero de tecnología automáticamente, lo que hará mucho más complicado su uso. Podemos verificar si el camino del directorio es correcto si contiene ficheros con las extensiones .ptf y .stf.

Ficheros de la tecnología de esquemáticosLos ficheros de tecnología de esquemáticos son donde podemos configurar:• losestilosdelíneausadosparaconexionesde

terminales y uniones;• estilosdetextopredefinidosusadosenel

esquemático (fuente, tamaño, etc.);• cómosedibujaránvarioselementosdelínea

(solida, discontinua, etc.);• cómosedibujaránloselementosdelíneade

conexión (sólido, ancho, etc.);

Niel Greunding

Día 1 – Hazlo tal como quieresLos buenos amigos de RS Components acaban de lanzar su versión 5.0 de DesignSpark PCB, y la primera cosa que me gusta hacer con una nueva herramienta es configurarla como a mí me gusta. DesignSpark nos permite configurar todo a partir de ficheros base o globalmente.

Figura 1.Esquemático con parámetros por defecto.

Figura 2.Fuente por defecto establecida en Arial.

Page 23: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

TRUCOS Y CONSEJOS

• cualquiernodoeléctricopredefinido,aunqueyo haría esto mejor en el esquemático;

• cualquierclasedenodoeléctricopredefinido(masa, alimentación, etc.);

• loscoloresusadosparadibujarvarioselementos.

Podemos cambiar estos parámetros en el menú ‘Settings->Design Technology’ y en el menú ‘View->Colors’.Podemos ver que los parámetros por defecto se asemejan a cargar un proyecto ejemplo. El esquemático del proyecto chipKit Max32 tiene una apariencia como el de la Figura 1.Personalmente encuentro que el estilo de las fuentes es un poco antiguo, por lo que me gusta cambiarlo a Arial, ya que es un tipo de fuente estándar. Des-pués de jugar un poco durante unos minutos, tene-mos el resultado que podemos ver en la Figura 2.Así pues, ¿cómo implementamos esto en el fichero de tecnología de esquemáticos? La pri-mera cosa que tenemos que hacer es abrir el fichero de tecnología de esquemáticos default.stf, que normalmente está localizado en C:\Users\Public\Documents\DesignSpark PCB 5.0\Tech-nology y que se abrirá como un documento de esquemáticos en blanco. Ahora abrimos el menú Settings->Design Technology y cambiamos los estilos de texto de Net Names, Pin Names, Pin Numbers y Symbol Names para usar la fuente de Arial con una altura de 80. También he cam-biado el estilo de texto Normal a Arial, pero con un tamaño de fuente de 120. Después, he que-rido ir al menú View->Colors y he cambiado los campos Pin Names y Pin Numbers a negro.Una vez que hemos hecho todos nuestros cam-bios, salvamos el fichero de tecnología de manera que podamos usarlo en nuevas páginas de esque-máticos seleccionando ‘default.stf’ en la ventana de menú de nuevo documento.

Ficheros de la tecnología PCB Los ficheros de tecnología PCB son una de las mejores características de DesignSpark ya que nos permiten combinar todas nuestras reglas de diseño básicas y el apilado de capas en ficheros que se pueden usar de nuevo muy fácilmente. Por ejemplo, tengo un fichero para placas de doble cara de bajo coste y otro para placas de cua-tro capas. Puedo seleccionar qué fichero quiero utilizar cuando creo un nuevo documento PCB. Esta característica no es muy común con otros paquetes de diseño de PCBs.

El fichero de tecnología PCB nos permite configurar:• Lasunidadesdediseño(mm,mils,etc.)yla

resolución. • Lasrejillasdediseño,especialmente,larejilla

de trabajo.• Elapiladodecapasyloscolores.• El espaciadoentrepistasy las reglasde

separación.• Losestilosdelos‘pads’ydelaspistas,aun-

que, normalmente, especificaremos los estilos de los ‘pads’ en nuestras librerías de compo-nentes y sólo especificaremos los estilos de las pistas por defecto en el fichero de tecnología.

• Lasclasesdenodospordefecto,aunque,nor-malmente, yo las especifico en el esquemático.

• Lasreglasde‘rutadoautomático’y‘colocaciónautomática’.

• Loselementosdediseñobásicoscomoformasde placa, taladros de montaje, etc.

Vamos a ver cómo funciona esto iniciando nuestro trabajo con un ejemplo para una sencilla placa de dos capas. El primer paso es copiar el fichero de tecnología existente, de manera que no tenga-mos que comenzar desde cero. Así pues, vamos a comenzar con C:\Users\Public\Documents\Desig-nSpark PCB 5.0\Technology\metric.ptf y lo sal-varemos con un nuevo nombre como my2layer.ptf. Lo primero que tenemos que modificar son las unidades de diseño en el menú Settings->U-nits. Yo siempre uso milímetros con una precisión de cuatro cifras decimales, pero si preferimos las unidades imperiales, elegiremos ‘in’ o ‘mil’. Podemos configurar nuestro diseño de rejilla pre-ferido en el menú Settings->Grids.La configuración de las capas se hace en la pes-taña Layers, dentro del menú Settings->Design Technology. Por defecto, la métrica del fichero de tecnología tiene ya definidas las capas Top Silkscreen, Top Copper, Documentation, Bottom Copper y Bottom Silkscreen. Como todas mis

Figura 3.Configuración de las capas.

Page 24: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

24 | junio 2013 | www.elektor-magazine.es

Track Styles. Para una placa de 10 mil/10 mil yo configuraría los anchos de pista de señal, normal y mínimo, en 0,25 mm. El ancho de pista de alimen-tación puede ser el que queramos para el ancho normal, pero recomiendo hacer que el mínimo sea de 0,25 mm, para que podamos ‘rutar’ las pistas de alimentación sobre los ‘pads’ de los componen-tes. El paso final es editar los estilos de vía en la pestaña Pad Styles. Para una placa de dos capas de tecnología básica, usaría una vía con un tala-dro de 0,45 mm y un ‘pad’ de 0,95 mm. También podemos definir otros estilos de vía si queremos usar una variedad diferente de tamaños de vía.En este punto ya tenemos configuradas las reglas básicas de diseño y las limitaciones para una placa básica de dos capas, que podemos volver a usar fácilmente en placas futuras de dos capas. Cuando creamos un nuevo diseño de PCB, selec-cionaremos el fichero de tecnología adecuado cuando se nos pida en el PCB Creation Wizard.

ConclusiónAhora que hemos configurado los parámetros por defecto de DesignSpark, los siguientes pasos son configurar las librerías de DesignSpark y crear algu-nas plantillas de documentación. Por suerte, Desig-nSpark viene con un gran conjunto de librerías que hacen que el inicio sea mucho más sencillo.

(130172)

placas son de montaje superficial, he añadido las capas Top Paste, Top Solder Mask, Bottom Solder Mask y una capa Bottom Past. Podemos añadir más capas pulsando sobre el botón Add y entrando en los parámetros de capas, tal y como se muestra en la Figura 3.Una vez que hemos añadido todas las capas que queremos, las podemos ordenar correctamente en la pila de capas, moviéndolas hacia arriba o hacia abajo en la ventana Layers. Una vez lo hayamos hecho, deberíamos ver algo como lo de la Figura 4.A continuación, pasamos a configurar las reglas de espaciado pulsando sobre la pestaña Spacings. Aquí veremos una matriz de todas las reglas de espaciado entre los diferentes tipos de objetos. Para una placa básica de dos capas, con pistas de 10 mil y espaciado de 10 mil, las reglas tendrían una apariencia como la de la Figura 5.Además, tampoco debemos olvidar pulsar sobre la pestaña Rules. Los parámetros importantes son el anillo anular mínimo y el espaciado de compo-nentes. Después de esto, es el momento de con-figurar el ancho de pista por defecto en la pestaña

Figura 5.Reglas de diseño.

Figura 4.Configuración de las capas.

Neil Gruending, como ingeniero de diseño de electrónica, ha usado numerosos paquetes CAD para PCB a lo largo de los años. Neil es bastante particular con estas herramientas y le gusta aprender cómo maximizar su productividad con ellas tanto como sea posible. También le gusta compartir lo que ha aprendido en su página web www.gruending.net y en Twitter como @ngruending.

24 | junio 2013 | www.elektor-magazine.es

Page 25: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

Normalmente, cuando comienzo a escribir un artí-culo, para inspirarme, miro lo que tengo alrede-dor en mi escritorio. Para esta edición del Extraño Mundo de los Componentes vino a mis ojos un Diodo de Cristal, modelo FRIHO D.R.P. Se men-cionaba en un viejo Catálogo Bauer de radio, de 1926 [1] (estamos hablando aquí de componentes realmente viejos) y es uno de los componentes principales de los viejos sistemas radio de cristal.Para ser sincero, no tengo ni idea de cómo o cuándo compré este componente, pero en mis primeros años yo solía pasar mucho tiempo ojeando tras-tos en una conocida tienda llamada Quakkelstein, en Vlaardingen, Holanda. Lo más probable es que fuese aquí donde lo conseguí y desde entonces ha estado viviendo en mi escritorio o en mi cajón. Ahora este componente nos devuelve a los prime-ros días de la Radio. Es un diodo de ‘bigotes de gato’ automatizado. Al girar el mando se cambia la posición de un pequeño hilo (el bigote) en el cris-tal de galena, permitiéndonos encontrar el mejor punto de trabajo para que el diodo haga lo que un diodo debería hacer: dejar pasar la corriente sólo en una dirección. Esto era lo que suponía escuchar la Radio en aquellos días. Para conseguir una señal decente teníamos que ajustar y fijar la bobina, el condensador y el diodo de rectificador.Pero, ¿cómo de buenos eran estos diodos compa-rados con los de hoy día? Medir las características de un diodo es realmente simple. Básicamente, si queremos hacer un trabajo decente para conse-guir la característica I-V, todo que necesitamos es una fuente de alimentación, un voltímetro y un amperímetro. Hacer que este diodo fun-cionase correctamente era, cuando menos, un reto. Tenemos que jugar un poco para encon-trar el punto correcto donde el efecto de diodo alcanza su punto máximo. Comencé la tentativa de encontrar dicho punto con un óhmetro, pero pronto tuve que concluir que esta opción no iba a servir. Los resultados de las medidas eran de todo tipo. Estaba a punto de rendirme cuando decidí hacer un último intento y usar algún ins-trumento más. Finalmente, un generador HP, un osciloscopio Hameg HMO1522 y una resistencia de 330 ohmios, me dieron algunos resultados prometedores. En la Figura 2 el osciloscopio muestra una señal muy rizada pero, con un poco de imaginación, podemos ver el recorte que el diodo FRIHO produce en la señal de sinusoidal

entrada. La Figura 3 muestra la característica de un diodo actual con el mismo sistema de medida.Mirando los resultados ¡me sorprendí de que un componente como el FRIHO D.R.P. realmente fun-cionase! Hoy día existe una variedad enorme de diodos para todo tipo de aplicaciones. Pequeños diodos de señal, diodos Zéner, diodos varicap o varactores, diodos túnel…, y todos ellos están disponibles en una variedad de encapsulados. Es interesante darse cuenta de que, de alguna manera, todos ellos están relacionados con este viejo diodo de ‘Bigote de Gato’.

(130169)

Wisse Hettinga (Elektor)

Los Bigotes del GatoEL EXTRAÑO MUNDO DE LOS COMPONENTES

1

2

3

Page 26: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Labs

26 | junio 2013 | www.elektor-magazine.es

La Placa de Desarrollo FPGA de Elektor publicada en la edición de diciembre de 2012 [1], usa una tarjeta micro SD para almacenar los datos de con-figuración necesarios en el arranque de la FPGA. La tarjeta también puede ser usada para almacenar datos, bien por la FPGA, bien por el microcontrola-dor, o bien por un PC conectado a través de USB.Trabajando en una aplicación para la placa, el dise-ñador Raymond Vermeulen se topó de repente con problemas al usar la tarjeta SD. Después de pro-gramar el FPGA con un nuevo ‘firmware’ reciente-mente escrito, la placa de la FPGA al completo dejó de ser detectada por Windows. Se hicieron varias

tentativas para solucionar el problema, como des-conectar y volver a conectar el cable USB, buscar errores de programa, etc; pero todo fue en vano. Parecía que la tarjeta SD se había estropeado de forma repentina. Sin embargo, las pruebas de la tarjeta en un lector demostraron que funcionaba correctamente, con lo que el error tenía que estar en otra parte. ¿Pero dónde?Verificamos cualquier defecto de diseño posible, y lo hicimos dos veces, se probó cada punto de soldadura, pero no encontramos ningún fallo. Volviendo sobre sus pasos, Raymond programó la FPGA una vez más y entonces se le vino algo a la cabeza: cuando se programa la FPGA el entorno desarrollo software requiere que se configure una buena cantidad de parámetros. En las opciones de configuración (ver captura de pantalla), los terminales de entrada-salida (E/S) no usados pueden ser configurados. De hecho, deben serlo. En ese momento Raymond se confesó culpable de haber descuidado justo lo que él había estado diciendo constantemente a todos los usuarios de la Placa de Desarrollo FPGA de Elektor que tenían que hacer: colocar todos los terminales de E/S sin usar en forma ‘flotante’.Como los terminales de datos de la tarjeta SD están directamente conectados, tanto con el microcontrolador como con la FPGA en la Placa de Desarrollo FPGA de Elektor, es obligatorio que estos terminales se dejen ‘flotantes’ en la FPGA cuando no están en uso. Por defecto, el entorno de desarrollo deja las E/S sin uso en modo ‘pull down’ que, en la mayoría de los casos, va bien. ¡Pero en esta aplicación no es así y esta configu-ración tiene que ser cambiada de forma activa a ‘float’ (‘flotante’)!Después de que Raymond corrigiese este ajuste y programase de nuevo la FPGA, la Placa de Desa-rrollo FPGA cobró vida otra vez y la aplicación de Raymond comenzó a funcionar sin problemas. ¡Un claro caso de practicar lo que uno predica, Ray-mond! Aliviado de haber encontrado al culpable, se volvió hacia mí justo cuando yo entraba a los labo-ratorios preguntado si alguien tenía alguna historia interesante para las páginas .LABS de este mes...

(130036)

Internet Link

[1] www.elektor.com/120099

Thijs Beckers (Editorial de Elektor)

Mantén los terminales ‘flotantes’

Page 27: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

www.elektor-projects.com

Sharing Electronics Projects

¡Elektorízate! Visita www.elektor-labs.com

Elektor.LABS es una comunidad online para apasionados de la electrónica. Un lugar donde compartir tus proyectos y tomar partido en aquellos que otros hayan creado. Se trata de un sitio en el cual discutir sobre desarrollos y electró-nica en general.

El equipo de editores e ingenieros de Elektor te ofrecerá su apoyo hasta fi nali-zar satisfactoriamente tus proyectos. Así mismo, te ayudarán a redactar un artículo para ser publicado en Elektor.MAGAZINE, ¡e incluso desarrollar un producto comple-to que puedes vender en Elektor.STORE!

Sharing Electronics Projects Sharing Electronics Projects

¡Elektorízate! Visita www.elektor-labs.com¡Elektorízate! Visita

elektor labs

Úneteya

Adv Elektor labs 121101 ES.indd 1 05-11-12 15:19

Page 28: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Labs

28 | junio 2013 | www.elektor-magazine.es

• “¿Noseríainteresantecompararnuestroúltimomedidor LCR 500 ppm con uno de Hameg que nos han prestado?”

• “Sí, podría ser interesante.”• “Siqueréis,puedotraerunmedidorantiguo

de mi colección de Retrónica.”• “Imponente. ¡Vamos a ver la comparativa de

los tres!”

Tuve este reciente chat de café con unos colegas en el Centro de Operaciones de Elektor que ter-minó poniéndome frente a tres Medidores LCR, con un fondo completamente diferente, para una rápida prueba práctica. El medidor Hameg (HM8118 [1], cortesía de Rohde & Schwarz Holanda [2]) es un instrumento profesional con un precio de venta de unos 2.000 €. El antiguo medidor del departamento de Retrónica es el modelo Puente de Impedancia 1650-A de General Radio Company (GRC), fabricado en 1960, con un coste de unos 1000 $ de los de entonces [3]. Y, finalmente, el Medidor LCR 500 ppm de Elek-tor [4], que debería costarnos menos de 400 $ en componentes.

Comencé con el antiguo medidor de GRC. Como el aparato es más viejo que yo y ‘menos intuitivo’ en términos de funcionamiento (al menos que yo), lo primero que hice fue echar una hojeada al manual. Necesité bastante tiempo para ajus-tar las cosas y conseguir una lectura de medida exacta. Aquí está el desglose:

• leerelmanual:10minutos;• entendercómomediruncondensadorcorrec-

tamente: 5 minutos;• realizarunamedidareal(configurandolosajus-

tes para una desviación ‘cero’): 3 minutos.

Para ser justos, si vamos a usar el 1650-A dia-riamente, probablemente deberíamos ser capa-ces de ahorrar el 80% del tiempo necesario para una sola medida. De todos modos, supone más de medio minuto por medida. Aunque tengo que confesar que el aspecto, el tacto y la sensación que los robustos diales e interruptores añaden carácter a este equipo.Ahora tenemos al HM8118. Como todo dispo-sitivo moderno, éste es (más o menos) de los de ‘enchufar-y-trabajar’. Después de la secuen-

Thijs Beckers (Editor de Elektor)

Duelo de Medidores LCR

Gráfico comparativo

DUT Unidad Bajo Test) GRC 1650-A Hameg HM8118 Elektor LCR Meter

Resistencia 8.2 Ω 8.22 Ω8.2458 Ω(Vx=31,86 mV, Ix=3.862 mA)

8.2379 Ω(Vm=31.13 mV, Im=3.779 mA)

Condensador 100 nF100 nFD: 0.0267

102.03 nFD: 0.01205Rs=19.20 Ω(Vx=364.9 mV, Ix=233.9 µA, 1 kHz)

102.20 nFD: 0.013Rs=19,20 Ω(Vm=398.1 mV, Ix=256.0 µA, 1 kHz)

Condensador 100 µF92 µFD: 0.1

94.475 µFD: 0.10099Rs=170.27 mΩ(Vx=7.301 mV, Ix=4.312 mA, 1 kHz)

92.400 µFD: 0.090Rs=155.4 mΩ(Vm=7.076 mV, Ix=4.091 mA, 1 kHz)

Inductor 1 mH1.255 mHQ: 0.63

995.85 µHQ: 0.49189Rs=12.722 Ω(Vx=52.60 mV, Ix=3.711 mA, 1 kHz)

993.2 µHQ: 0.492Rs=12.681 Ω(Vm=51.18 mV, Ix=3.621 mA, 1 kHz)

Page 29: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

comparativa de medidor lcr

www.elektor-magazine.es | junio 2013 | 29

cia de calibración automática el DUT (Dispo-sitivo Bajo Prueba) se inserta en el soporte de prueba (Hameg HZ181) y las propiedades solicitadas del componentes son mostradas al instante en la pantalla LCD azul retroiluminada. Tiempo estimado: 40 segundos desde el princi-pio hasta el final, sin leer el manual. ¿Medidas secuenciales? Vamos a suponer que el cambio del DUT nos lleva tres segundos, seleccionar la unidad de medida correcta dos más, en total, cinco segundos.El último, pero no el peor: el Medidor LCR 500 ppm de Elektor. Con sólo un LCD, un interruptor de encendido/apagado y cinco botones, puede ser tan rápido como uno con ‘enchufar-y-trabajar’. La calibración es un trabajo de una única vez, de la que ya me había encargado en el proto-tipo que usé para esta prueba, con lo que pude ir directamente a la medida real y poner el DUT entre los ‘clips’. Tiempo estimado: 10 segundos. Las medidas secuenciales, probablemente, exi-gen un poco más tiempo, comparadas con las del Hameg que usa los clips Kelvin, pero el soporte de prueba HZ181 también se puede utilizar en el Medidor LCR de Elektor.

En resumen, la facilidad del uso ha mejorado mucho desde los años 60 y, mirando los resul-tados de medida del Hameg y del Medidor LCR de Elektor, son de ‘foto finihs’. Nuestro pequeño medidor mantiene el pulso frente al ‘gigante’ (ver el gráfico comparativo). Por supuesto, no sería justo ignorar el amplio rango de opciones del Hameg y la precisión base del 0,05 % tampoco es algo a menospreciar.Sorprendentemente, después de más de 50 años de uso y manejado por un novato, el 1650-A de GRC aún da medidas no muy lejanas. Hablad de ello con un compañero de laboratorio de con-fianza. ¡Ya no hacen así las medidas! ¿O sí? ¿Os gusta compartir vuestra experiencia con dispo-sitivos de laboratorio ‘antiguos’? Dejadnos un correo electrónico en [email protected].

(130166)

Enlaces en Internet

[1] www.hameg.com/13.0.html

[2] testenmeetwinkel.nl

[3] www.elektor.es/075064

[4] www.elektor.es/110758

Page 30: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

30 | junio 2013 | www.elektor-magazine.es

Todo aquel al que le guste ‘cacharrear’ con la electrónica o los sistemas embebidos tiene que tener una buena fuente de alimentación. Yo no sé cuál es vuestro presupuesto personal para el equipamiento de vuestro laboratorio, pero el mío es más bien, bueno… dejadme deciros que estoy casado con la responsable del departamento de contabilidad y que ella no es exactamente un ingeniero electrónico. Probablemente muchos de vosotros hayáis montado algunas fuentes de alimentación reguladas lineales a lo largo de los años, pero diseñar y construir una fuente de alimentación de laboratorio, variable, de alta potencia no es una tarea trivial. Y también, si sois como yo, la mayoría de lo que intentamos reparar son circuitos digitales y dispositivos ana-lógicos de baja tensión, como preamplificadores de audio y similares.En la mayoría de los casos, tengo que trabajar con un microcontrolador y unos pocos amplificadores operacionales por lo que, normalmente, para mí es muy útil tener una línea de 5 V para el microcon-trolador (y cualquier lógica asociada que pudiese tener) y las líneas de +/-12 V para los amplifica-dores operacionales. Cada vez más, las muestras de dispositivos con los que trabajo (por ejemplo, el

DSP DSP56367 de Freescale o el microcontrolador ARM-7 LPC2101 de ARM) requieren líneas de baja tensión para el núcleo interno y las E/S, esto es 1,8 V y 3,3 V. Esto se convierte en un verdadero dolor de cabeza si tenemos que construir una fuente de alimentación con todas estas tensio-nes para cada proyecto. Pero la mayoría de estas tensiones (excepto la de 1,8 V) puede obtenerse de las fuentes de alimentación conmutadas ATX para PCs del mercado. Esto es importante porque, de alguna manera (no sé exactamente cómo), durante los años he acumulado varias de estas fuentes. Todas ellas tienen las salidas de 3,3 V, 5 V, 5 V Reposo (‘Standby’) y ±12 V. Sabiendo que, en muchas de ellas, la regulación de las líneas de 12 V no es fantástica. Pero, para la gran mayoría de los circuitos con amplificadores operacionales, es más que suficiente.

Consideraciones de diseño Así pues, ¿por qué no colocar tan sólo un manojo de bananas hembra de panel directamente sobre la fuente de alimentación, como he visto hacer a tantas personas en la web? ¡Buena pregunta! Aquí está el por qué: Las fuentes de alimentación (PSUs) ATX están

diseñadas con un espacio verdaderamente pequeño en su interior. Si intentamos colocar bornes de conexión en la misma, podemos estar superando las limitaciones de seguri-dad (que son muy importantes). El lado de la entrada de Corriente Alterna (CA), la mayo-ría de las fuentes conmutadas sufren picos de tensión de más de 1000 voltios y en la líneas de corriente continua (DC) de unos +370 vol-tios. ¡No vale la pena arriesgar la vida y las extremidades!)

Ben Jordan (USA)

Recicla tu Fuente de Alimentación ATXEsta elegante placa adaptadora te lo pone fácilEsta placa adaptadora de fuente de alimentación ATX para banco de trabajo nos permite convertir cualquier fuente de alimentación ATX de ordenador en una fuen-te de alimentación adecuada para trabajar con placas de prototipo y en el banco de trabajo en general –sencilla y elegante.

Prestaciones•Salidas para ±12 V, 5 V, 5 V Standby y 3,3 V•No es necesario hacer modificaciones en la fuente de alimentación ATX. • Encendido y apagado sencillo de la fuente de alimentación ATX conectada.• Indicación de estado con LED.•Capaz de trabajar con corrientes de alimentación elevadas.•Banana hembra para cada tensión de salida. •Ranura para una conexión fácil de las pinzas de cocodrilo.

Page 31: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

adaptador de fuente de alimentación atx

www.elektor-magazine.es | junio 2013 | 31

Tenemos una fuente de alimentación de orde-nador en perfecto estado y, si os pasa como a mí, es posible que queráis usarla para alimen-tar un día unos amplificadores operacionales y otro la placa base de un ordenador. ¿Por qué modificarla incluso en su uso original?

Así que busqué una solución de diseño más ele-gante que no sólo tuviese los bornes de conexión, sino que también tuviese puntos de ‘clips’ donde poder colocar unas pinzas de cocodrilo. Con todo ello, empecé a diseñar una placa para adaptar la fuente de alimentación ATX para usarla sobre en el banco de trabajo. Como sucede con todo, un buen punto de arranque es el definir algunas especificaciones.

El adaptador debe:1. No alterar la propia fuente de alimentación.2. Usar un conector ATX.3. Disponer de bananas hembra de panel para

cada tensión de salida de la fuente ATX y para la tensión de ‘standby’.

4. Tener la correspondiente banana hembra de retorno (GND) para cada tensión de salida.

5. Ser capaz de trabajar con corrientes de ali-mentación importantes.

6. Disponer de un circuito de conmutación para el controlador ‘on/off’ ATX.

7. Disponer de LEDs para monitorizar las señales de ‘Standby’ y ‘Potencia correcta’.

J1

10

11121314151617181920

123456789

K4 K11

K18K15

C4

100n

C1

100n

K5 K12

K16K17

C8

100n

C5

100n

K6 K13

K20K19

C6

100n

K7 K14

K9K8

C7

100n

+12V

–12V

U1.A

3 21

U1.B

5 41

U1.E11 121

U1.F

TP1

14 151

U1.C

7 61

U1.D9 101

+5V0

+3V3

+5V STBY

R3

10k

R2

10k

R4

220R

R1

220R

K3K10

K2 K1

D1

FAULT

D2

U116

8

1

1

2

3

4

1

2

3

4

C3

100n

C2

100n

PWROK

OFF

ON

U1 = TC4049B

120619 - 11

VSTBY

VSTBY

PB ON

PB OFF

ATX ON

+12V

–12V

+5V0

+3V3

PWR OKATX ON

PWR OK

VSTBY

S1

S2

Figura 1.El esquema eléctrico muestra lo sencillo que es este adaptador de fuente de alimentación.

Page 32: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

32 | junio 2013 | www.elektor-magazine.es

Circuito nada complejoLa Figura 1 muestra la circuitería para este diseño. El recorrido de conmutación es un sencillo ‘latch’ basado en dos inversores de un inversor 4049 HEX CMOS, alimentado de la línea de 5 V de reserva de la ATX. Las otras puertas del inversor se usan para controlar la señal de control de encendido de la PSU y los LEDs. Pulsando S2 encendemos la fuente de alimentación, mientras que S1 la apaga de nuevo. D2, un LED bicolor, indica el estado en modo de reposo (verde) o en modo de encendido (rojo).Las fuentes de alimentación ATX tienen una pro-tección incorporada, pero también disponen de una

8. Usar un diseño de placa de taladros pasantes para que nuestros queridos lectores puedan hacerse una fácilmente por sí mismos.

También había considerado colocar un medidor interno de panel con el que poder monitorizar la tensión de cada salida, pero me di cuenta rápi-damente que esto sería un aumento de presta-ciones innecesario para esta aplicación, ya que las salidas son fijas y están bastante bien regu-ladas, y la mayoría de los usuarios (al igual que yo) pueden conectar su multímetro y obtener una medida mucho más exacta.

Lista de materialesResistenciasR1,R4 = 220ΩR2,R3 = 10kΩ

CondensadoresC1-C8 = 100nF

SemiconductoresD1 = LED, 3mm, amarillo

D2 = LED, 3mm, 2 terminales, bicolorIC1 = TC4049B

MisceláneosK3-K7, K10-K14 = bananas hembra de panel para la

conexión de bananas macho.J1 = Conector ATX para montaje en placa.S1,S2 = Pulsador táctil.

Figura 2.La distribución de componentes no deja espacio para interpretaciones erróneas. Hay que señalar que el conector ATX debe ser montado sobre la cara inferior de la placa.

Page 33: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

adaptador de fuente de alimentación atx

www.elektor-magazine.es | junio 2013 | 33

parte trasera conductora del borne de conexión de la banana. Señalar el uso de múltiples vías en círculo alrededor de cada uno de estos taladros y también alrededor de los agujeros de montaje. Estas vías ofrecen una mayor fuerza de apriete de los tornillos a la placa y también, para los bornes de conexión, proporcionan un buen camino de baja resistencia a través de la placa.

En la prácticaEsta placa adaptadora ATX ofrece conectores tipo ‘jack’ estándar de 0,75”, espaciados para conec-tores de doble banana y dispone de bananas hem-bra de panel, con codificación de color, para cada una de la tensiones de alimentación: 5 V standby, 3,3 V, 5 V, +12 V y –12 V. He estado usando esta placa de modo continuo, tanto en el trabajo como en casa, alimentando varios kits de desarrollo a partir de una única fuente de alimentación ATX. En el trabajo tengo una Nanoboard-II de Altium y dos placas de desarrollo Nanoboard 3000 FPGA de Altium también, todas funcionando al mismo tiempo con una única fuente de alimentación, así como algún que otro dispositivo. ¡Realmente este equipo me ha simplificado mucho las cosas!

(120619)

Enlaces en Internet

[1] http://jordandsp.com/ATX-bench-top-power-supply-adapter.php

[2] www.elektor.es/120619

salida ‘Power Good’ (‘Alimentación Bien’) que le dice a la placa base cuando la PSU está disponible o si existe una condición de fallo. Sería interesante tener esta indicación en un LED. Usé un LED amarillo para D1 que indica cuando ‘Power Good’ está a nivel alto (‘Power Good’ es una señal activa a nivel bajo). De esta forma tenemos una indicación de aviso de una condición de fallo en la fuente de alimentación ATX. En general, cualquier centelleo continuo es malo y es indicativo de que nuestra fuente de alimentación probablemente tiene un problema.Todos los condensadores proporcionan un cierto desacoplo para las diferentes salidas de alimen-tación, excepto C2, que se usa para eliminar los rebotes del circuito de encendido/apagado. Todos los condensadores son cerámicos de 100 nF. R1 y R4 son resistencias de limitación de los LEDs, mien-tras que R2/R3 forman los caminos de realimenta-ción para el doble ‘latch’ inversor de ‘con./desc.’.He visto a otras conversiones de fuentes de alimen-tación ATX en fuentes de alimentación de banco de laboratorio donde colocan una mínima resistencia de carga en las salidas. Según mi experiencia, esto no es necesario ya que el ventilador, generalmente, es una carga mínima suficiente y la mayoría de las fuentes de alimentación conmutadas modernas están diseñadas para trabajar con una carga cero en cualquier caso. Pero si esto os hace sentiros mejor, podéis conectar una resistencia de 10 ó 20 W a la línea de 5 V (en general, 10 Ω bastarán), soldando la resistencia de potencia entre los bornes de conexión de 5 V y GND, en su parte trasera.

Diseño de la placaEsta placa adaptadora actúa como una placa sepa-ración, con un conector ATX y la circuitería necesa-ria de encendido/apagado, así como con unos bor-nes de conexionado de separación estándar donde enchufar el típico conector de dos bananas macho. El plano de serigrafía que se muestra en la Figura 2 sirve como guía para posicionar los componentes. Hay que señalar que el conector de la fuente de ali-mentación ATX debe montarse en la cara posterior de la placa, con el resto de los componentes en la cara frontal. Una novedad adicional de esta placa son las ranuras plateadas únicas que hay en cada uno de sus bordes, las cuales se usan también para conectar puntas de prueba del tipo ‘cocodrilo’. El texto de la serigrafía indica la tensión de salida de cada punto de prueba. El diseño de la placa está disponible para su descarga en PDF en [2].Los taladros pasantes plateados, numerados de K3 a K14, son para atornillar sobre la misma la

La quieroEste proyecto está disponible como kit completo en una edición limitada, con la placa y todos los componentes, incluyendo las bananas hembra de panel, los componentes y un conector ATX, además de un conjunto de instrucciones claras y comprensibles que incluyen el esquema eléctrico y el diagrama de ensamblado de la placa, así como las plantillas de taladrado para el montaje del panel. Visita [1] para más información sobre precio y pedido.

Page 34: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

34 | junio 2013 | www.elektor-magazine.es

Normalmente dedico unas 2500 palabras en explicar una historia divertida a la gente que está interesada en la electrónica, pero este mes me gustaría hacer algo ligeramente diferente. Quiero contaros una historia de cómo los átomos y los bytes me llevaron a irme al sitio más lejano posible de mis ubicaciones cotidianas. También es una historia de cómo la electrónica nos conecta al mundo de un modo diferente. Esta entrega debería haberse llamado realmente: “Desde las Artes Electrónicas a los Trabajos de Carpintería”, pero el título es demasiado largo y no demasiado cautivador.

Lista de materialesPara reproducir cualquiera de los proyectos tratados o mencionados en este artículo necesitaréis: • ElKitdeIniciooficialdeArduino.• Unmicro-servomotor,estándar(180grados).• Unaltavozcónicodepapelde8ohmios.• Unsensordedistanciadeinfrarrojosdelacasa

Sharp.

David Cuartielles (España)Imágenes de Laura Balboa (México)

Desde la Electrónica a la Carpintería¡Cruzando el mundo en el nombre de los electrones!

Cuando hablamos de electrónica me interesan dos mundos diferentes: los objetos conectados y la educación en la tecnología en los primeros años. El mundo de los objetos conectados está en crecimiento, hay una gran cantidad de trabajo que hacer y ofrece un gran número de oportunidades para sorpren-dentes logros de ingeniería. Por contra, el mundo de la educación es bastante más complejo y deja mucho espacio para la improvisación. A menudo el campo parece rígido y el camino para llegar allí difiere mucho del diseño de los objetos conectados.

Figura 1.Iglesia de Zegache, México. Foto cortesía de Talleres Comunitarios.

Page 35: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

Arduino en México

www.elektor-magazine.es | junio 2013 | 35

Experiencia #1: llegar allíSanta Ana Zegache es un pueblo al sur de Oaxaca, México. Está a ocho horas en coche desde la Ciudad de México. Es posible volar hasta el aeropuerto de Oaxaca, lo que hará que el viaje durará la mitad pero, para experimentar, la primera vez que fuimos allí decidimos hacerlo en coche (ver Figura 1).Santa Ana es un pueblo arquetipo. Dicen que tiene unos 5.000 habitantes, pero es difícil saberlo. Llegamos allí por primera vez el 27 de diciembre de 2011. No fue demasiado sorprendente para mí encontrarme con carreteras sin asfaltar y que muchas de las construcciones estuvieran en ese estado de constantemente inacabadas, con varillas de metal sobresaliendo del hormigón.Sólo hay una plaza en todo el pueblo. El ayuntamiento, la escuela, la iglesia y los dos únicos cafés con Internet están ubicados allí. La Iglesia ha sido reformada con el esfuerzo una fundación creada por Rodolfo Morales, y aquí cito textualmente lo que pone en la página web que aloja el proyecto que me trajo a México:“El maestro pintor, Rodolfo Morales, vio Zegache como una ciudad de un valor incalculable. Dedicó la última parte de su vida a recuperar y restaurar su iglesia. Sin embargo, él nunca vio completadas todas las ideas que motivaban su visión filantrópica: preservar su herencia artística y revivir las vocaciones más antiguas de la región”.Para reformar la Iglesia se creó un taller donde se enseñó a un grupo de personas del pueblo la profesión de la carpintería. Gracias a la generosidad de la Fundación Alfredo Harp Helú, la Fundación Rockefeller, La Curtiduría y al Sr. y la Sra. Sandretto, los lugareños fueron capaces de continuar su trabajo a lo largo de una década. Se enseñaron unos a otros el arte de la carpintería y también la restauración de cualquier tipo de madera. En la Figura 2 se muestra el taller de trabajo.Hoy día continúan activos restaurando las iglesias vecinas así como la iconografía religiosa de cualquier parte de la región. Su taller está repleto de manos talladas a mano, imágenes de Cristo y espejos, muchísimos espejos.Durante bastante tiempo, la producción de espejos ha sido su primera fuente de ingresos además de la restauración. Han invitado a artistas de todas partes del mundo a participar en cortos programas de residencia donde aprenden a conocer la ciudad, el taller y sus espejos. Existe un tipo tradicional de espejo que los artistas quieren “copiar”. La idea es que el taller llegue

a ser capaz de hacer cinco réplicas idénticas de un diseño hecho por el artista invitado y venderlas a un precio establecido. Estas piezas de edición limitada tiene una doble función: por supuesto, no sólo una pequeña fuente de ingresos, sino que también dejan saber al mundo como es su taller, la ciudad y la gente que vive aquí. Echad una ojeada a los espejos de la Figura 3. Este

Figura 2.Vista general del taller de Zegache.

Figura 3.Espejos producidos en Zegache.

Page 36: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

36 | junio 2013 | www.elektor-magazine.es

condiciones, así que había preparado mi equipaje adecuadamente: además de mi PC, traje un soldador, ocho kits de inicio Arduino, algunos sensores, algunas shieds de prototipos, un lote de altavoces con cono de papel, un par de ‘PenDrives’ USB y CDs con los programas que creía necesarios (no había posibilidad de intentar descargar nada en los cafés locales con Internet). Durante nuestra primera visita me hice un mapa de las tiendas de electrónica locales en Oaxaca, la capital de la región, a una hora de coche de Zegache, y ya tenía una idea clara de lo que podía y no podía conseguir allí: pulsadores, cable, LEDs o baterías no iban a ser un problema.Trajimos un puñado de hojas grandes de papel, ya que nos disponíamos de ninguna pizarra o proyector para hacer funcionar el taller como habitualmente lo hacemos; además de algunos lápices. Así pues, el taller Arduino quedó instalado tal y como se muestra en la Figura 4.Los participantes estaban agrupados en equipos de tres y comenzamos a enseñar las ideas básicas de un banco de trabajo típico Arduino. Cada equipo (cinco en total) tenía su propio ordenador, su kit de inicio y todos los programas que podrían necesitar.Empleamos una semana en hablar sobre la electrónica básica: entradas y salidas digitales, conversión analógico/digital, qué es la programación o qué es un IDE… Un día vi a una chica que pasaba su tiempo ‘copiando’ y ‘pegando’, usando las teclas rápidas (Ctrl+C, Ctrl+V). Nunca pensé que esto podría ser una experiencia tan fascinante, pero lo era. ¡Imaginad que cogéis algo de un sitio y que puede ser copiado mágicamente desde un sitio al siguiente! Creo que, a veces, olvidamos lo mágica que la electrónica digital puede ser, haciendo que las cosas útiles sean comparables a algo como ser un mago.Después de estar tres días hablando de bits y bytes, cambiamos al proceso de construir cosas. Hicimos un proceso de ‘crear ideas’ donde invitamos a la gente de la ciudad a inventar sus propios espejos interactivos, con tan sólo añadiré sonidos y LEDs a los mismos. La experiencia de las dos semanas restantes la dedicamos a construir cajas de madera, tallándolas para que fuesen bonitas, pintándolas a mano, soldando los LEDs y programando las distintas interacciones. Todo el mundo estaba ocupado, como podemos ver en la Figura 5.Fue una experiencia reveladora por varios motivos:

1. la gente de aquí está acostumbrada a colaborar en cualquier sentido, sin importarles si ya

fue mi primer contacto con la ciudad: condujimos hasta allí, empleamos un par de horas visitando el taller e intenté imaginarme cómo sería hacer allí un taller donde poder enseñarles algo sobre Arduino: disponían de un poco de electricidad, no había tiendas en un radio de 25 millas, no había conexión local a Internet y tan sólo había un par de ordenadores personales.

Experiencia #2: enseñar lo que sabesEra febrero de 2012 cuando hicimos nuestra segunda visita a Zegache. Ya conocíamos las

Figura 4.Vista del improvisado taller Arduino en el taller de Zegache.

Figura 5.Proceso de construcción de espejos y juguetes interactivos en Zegache.

Page 37: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

Arduino en México

www.elektor-magazine.es | junio 2013 | 37

• UnEspejoMágicoquecreasecuenciasdeluzysonido presionando diferentes botones.

• UnaJukebox(cajademúsica)queañadeinstrumentos a un fondo de sonido.

• UnaBandejadondehacerjuegosconbebidas(sin comentarios)

• UnEspejoCotillaquetehacecumplidoscuandopasas delante de él.

• Unjoyeroquereproducediferentesmelodíasy luces cada vez que lo abres.

Experiencia #3: aprender todo lo que puedasYa lo he mencionado antes, pero esta completa experiencia forma parte de un proyecto de la Comunidad Europea de las Artes, llamado Euroaxca, donde diferentes artistas artesanos de ambos lados del Atlántico colaboran y comparten experiencias de diferentes campos. Como parte de este proyecto, aún tenía en mi agenda una segunda experiencia y, considerando los buenos resultados que conseguí en la primera, estaba un poco indeciso sobre cómo afrontar la siguiente fase del proyecto.En mi opinión, debería ser posible que el carpintero de Zegache aprenderá las bases de la construcción de juguetes interactivos y que los replicasen de la misma manera en que lo habían hecho con los espejos. Y, después de

están trabajando en su propio proyecto. Siempre encuentran tiempo para ayudar a los otros. Ni que decir tiene que los cinco proyectos se acabaron en el espacio de tiempo límite que habíamos establecido.

2. Nunca se trabajaba demasiado tiempo: los días de trabajo duraban hasta las seis de la tarde, hora en que la gente se marchaba a casa a cuidar a sus familias. Además, la iglesia cerró TODAS sus instalaciones, de manera que todo el mundo tenía algo que hacer.

3. Reciclábamos todo. Seguro que habéis oído que usando herramientas digitales como cortadores láser conseguimos que la gente sea más eficiente con los materiales… bien, para los proyectos que hemos hecho en este taller, no hemos comprado ni un solo trozo de madera. Si necesitaban un trozo de madera de unos 40 cm de largo, pegaban dos trozos de 20 cm y conseguían hacer una nueva pieza del tamaño que deseaban.

4. No sólo aprendieron electrónica básica, sino también a soldar y a montar cosas a mano. Todos los proyectos consiguieron funcionar y pude comprobar, un año después, que seguían funcionando sin problemas durante mucho tiempo.

Nuestro primer taller acabó con una lista de los proyectos hechos aquí (ver Figura 6):

Figura 6.Proyectos hechos durante nuestro primer taller.

Page 38: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

38 | junio 2013 | www.elektor-magazine.es

También dijo que un pájaro podría ser algo acertado. Así que decidí intentarlo: vamos a hacer un pájaro robot (les dije a mis compañeros de equipo cuando estábamos dejando Suecia en dirección a México, exactamente un año después de haber vuelto de nuestro primer viaje.No han cambiado muchas cosas en Zegache o en el taller. Algunos se han ido, algunas caras nuevas… En la plaza han construido una enorme estructura para proporcionar sombra. También han añadido dos porterías para que los niños jugasen al fútbol (podéis imaginar el calor que hace allí durante el día) y habían descubierto una manera de tener un tipo de Internet en el taller: alguien de la ciudad consiguió una conexión DSL (por alguna razón no está permitido que todo el mundo

algún tiempo, ser capaz de hacer sus propias modificaciones y trabajos originales.Pero este objetivo ya estaba cubierto. Vimos que era posible llevar a la gente un nivel operativo de electrónica, después de tan sólo dos semanas de trabajo dedicado a construir sus propios proyectos. Así pues, la cuestión para mí era: ¿qué hacer a continuación?La respuesta vino de la coordinadora del proyecto de la UE. Ella sugirió que mirásemos la posibilidad de hacer algún tipo de personajes animados.

Listado 1.Programa de trabajo de un pájaro robot

//* * Zegache Robot * * (c) 2013 D. Cuartielles */

#include <Servo.h> Servo myservo; int sensorPin = 0; int speakerPin = 8;int servoPin = 9;int val; void setup() myservo.attach(servoPin); pinMode(speakerPin, OUTPUT); void loop() val = analogRead(sensorPin); if ( val < 250 && val > 50) myservo.write(50); tone(speakerPin, val); delay(200); myservo.write(100); noTone(speakerPin); delay(100); myservo.write(120); tone(speakerPin, val); delay(200); myservo.write(0); noTone(speakerPin); delay(200);

Figura 7.Piezas de un pájaro robot hechas a mano.

Figura 8.Los elementos ‘e’ que va en el interior el pájaro robot.

Page 39: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

Arduino en México

www.elektor-magazine.es | junio 2013 | 39

Referencias

[1] Proyecto de taller de Zegache: http://proyec-tozegache.com/index_en.php

[2] Proyecto Euroaxaca EU: http://euroaxaca.org/

la tenga) y la compartió con todos a través de diferentes repetidores ‘wifi’ colocados a lo largo de toda la ciudad. Tendremos suerte si podemos leer el correo en dos ordenadores al mismo tiempo.La interacción en este caso era muy sencilla. Me acerqué a alguno de los hombres del taller y les hablé sobre hacer unos pájaros robots. Abrieron sus bolsas de trucos y comenzaron a tallar diferentes tipos de pájaros que podían mover las alas, la cola, abrir sus picos o sacudir la cabeza. En la Figura 7 se muestran las piezas artesanas. Nos llevó dos días hacer el primer pájaro, después de esto, los otros tres pájaros se hicieron en muy poco tiempo.Cuando comenzamos con el programa y el circuito todo era bastante sencillo. En la Figura 8 se muestran las distintas partes de forma esquemática. Todos los pájaros tienen un sencillo micro-servomotor que empuja un muelle para que muevan las distintas partes del pájaro a la vez. Sobre todo esto, hay un altavoz que reproduce algunos sonidos básicos. Y un sensor de infrarrojos detecta lo lejos que está la gente del pájaro. La idea es que el pájaro se parezca a una escultura de madera (Figura 9) hasta que alguien esté cerca de él. En ese momento, se produce un sencillo método de interacción: moviendo nuestra mano delante del sensor se generan diferentes tonos.Echad un vistazo al código del Listado 1 y veréis lo sencillo que puede ser hacer nuestro propio pájaro robot. Por supuesto, hay mucho espacio donde mejorar en lo referente a la producción de sonido, pero he tenido que hacer algo que fuese sencillo para que la gente de Zegache pueda cambiarlo por ellos mismos. Estamos planificando que, para un próximo viaje, nos concentraremos en hacer juguetes con mejores sonidos, pero esto es parte de una nueva historia.

Palabras finales…La electrónica puede ser un proceso que no solamente te enseña cómo funcionan las cosas; también es un vehículo para conocer el mundo a tu alrededor. Tener una mente abierta puede ayudarnos y mostrarnos cómo hacer proyectos interesantes con tan sólo trabajar junto a la gente que te rodea en todo el mundo. Coge tu placa Arduino, tu mochila de trucos y habla con tus amigos y vecinos. Anímales a hacer juguetes y objetos interactivos.Recordad: ¡Compartir es ser solidario!

(120751)

AgradecimientosGracias a Geska y a Robert por realizar las fotos, que comenzaron el proyecto Euroaxaca y me invitaron amablemente a unirme. También quiero dar las gracias al pueblo de Zegache por su hospitalidad y recordarme que hay muchos más objetos electrónicos además de los bytes.

Figura 9.El pájaro con respuesta automática terminado.

Page 40: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

40 | junio 2013 | www.elektor-magazine.es

•Magazine

Más allá de las clásicas pruebas, competiciones y de una importante sucesión de interesantes charlas, conferencias y talleres, este año – en el que Elektor ha colaborado como patrocina-dor – la Semana de la Robótica [1] ha contado con algunas novedades que, para satisfacción de los organizadores, han resultado un éxito con

un alto grado de aceptación por parte de los participantes. En los últimos años, se ha hecho patente la pre-sencia de la Asociación de Robótica Educativa Complubot como colaborador y co-organizador de este evento, en el que han cobrado gran relevan-cia las actividades relacionadas con la robótica y

Eduardo Gallego (España)

El Triunfo de la Robótica EducativaSemana de la Robóticaen la Universidad de Alcalá 2013

Desde el año 2000, gracias al alto grado de implicación de su Departamento de Electrónica, la Universidad de Alcalá de Henares es un referente nacional e internacional en todo tipo actividades relacionadas con la robótica para entusiastas y universitarios. Desde el año 2008, todo este conjunto de actividades se agrupan dentro de la llamada ‘Semana de la Robótica’ donde conviven las competiciones de robots con charlas, conferencias, presentaciones, talleres y demostraciones.

Page 41: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

Semana de la Robótica

www.elektor-magazine.es | junio 2013 | 41

la educación, especialmente las orientadas a los estudiantes de primaria y secundaria.La primera de las novedades de esta edición ha sido que la Semana de la Robótica ha adquirido una dimensión real, desarrollando una frenética actividad ininterrumpida durante los siete días de la semana, fin de semana incluido. Pero hubo muchas más…

PrinterPartyLas impresoras en 3D están experimentando un crecimiento sin precedentes gracias a proyectos como CloneWars [2], que permiten replicar estas máquinas de forma sencilla y accesible.Al igual que las técnicas de prototipos rápido para circuitos electrónicos, o los simuladores para nuestros programas, la impresión de elementos en 3D supone un gran avance de especial interés para la tecnología robótica, ya que nos permite diseñar y obtener resultados físicos en un breve espacio de tiempo. Con este tipo de máquinas se pueden diseñar e imprimir fácilmente piezas que pueden servir como simples modelos o como elementos funcionales.En la PrinterParty de la Semana de la Robó-tica de la Universidad de Alcalá se reunieron más de 30 impresoras, procedentes mayorita-riamente de diseños open. Todas ellas trabaja-ron de forma conjunta en la fabricación de las piezas necesarias para construir una serie de pequeños robots, que posteriormente se utili-zaron en otros talleres y actividades dentro de la Semana de la Robótica.

El proyecto TuBotEl proyecto TuBot nació como fruto de la cola-boración entre el Departamento de Electrónica de la Universidad de Alcalá (UAH) y la Asocia-ción de Robótica Educativa Complubot [3] con el objetivo de acercar la robótica educativa a un grupo de estudiantes de secundaria tan grande como fuera posible. Para hacerlo posible, se han unido la capacidad organizativa del Departamento de Electrónica de UAH y los más de 10 años de experiencia de Complubot en la formación de estudiantes en este campo.De entre las más de 70 solicitudes de ins-cripción, fueron seleccionados 24 centros de enseñanza de Gerona, Albacete, Guadalajara y Madrid, un total de 48 alumnos en equipos de dos estudiantes.El material didáctico necesario para este pro-yecto fue especialmente desarrollado por Com-

plubot en forma de robot imprimible bajo el nombre de CB-2 [4], una sencilla plataforma educativa de bajo coste, que permite construir un robot basado en una placa procesadora Arduino con un par de servos de RC modifica-dos para rotación continua y unos pocos sen-sores y componentes electrónicos. La totalidad de los elementos estructurales son piezas de plástico fabricadas mediante impresión en 3D. El departamento de Electrónica de la UAH pro-porcionó de forma totalmente gratuita todo el material necesario para que cada uno de los equipos participantes llevara a cabo el montaje de su propio robot. La primera parte de este proyecto se desarrolló a lo largo del sábado. Se formaron dos grupos de alumnos compuestos por 12 equipos cada uno de ellos. Cada grupo, dirigido por un monitor de Complubot, con la colaboración de profesores y voluntarios de la UAH, recibió una jornada com-pleta de formación en robótica. Al terminar, todos los equipos consiguieron su robot (más o menos terminado) y adquirieron nuevos conocimientos y un montón de ideas.Cabe destacar que Nerea e Iván, los monitores de Complubot al cargo de estos talleres, a pesar de su juventud – 20 y 18 años respectivamente – cuentan con una larga experiencia en el mundo de robótica, acumulando cerca de 50 premios internacionales y, entre ellos, cuatro campeo-natos del mundo consecutivos de Socer de la RoboCupJunior desde 2008 al 2011. La segunda parte de este proyecto se trasladó

Page 42: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

42 | junio 2013 | www.elektor-magazine.es

•Magazine

Durante la Semana de la Robótica tuvo lugar la fase nacional de selección en la modalidad Res-cue que contó con la participación de 7 equipos en la categoría de primaria, hasta los 14 años, y 5 en la de secundaria, hasta los 19. Esta prueba consiste en diseñar, construir y pro-gramar un robot que sea capaz de desenvolverse por un escenario tridimensional realizando una serie de tareas. El robot ha de superar obstáculos, pendientes e irregularidades cuya dificultad se incrementa a medida que avanza por la pista. El camino está marcado por una línea negra sobre fondo blanco que en ocasiones desaparece de forma parcial o total. Al igual que en el resto de las pruebas de la RoboCupJunior, los partici-pantes han de acreditar la autoría de su trabajo ante un jurado de expertos en robótica. Los pro-fesores y mentores no pueden trabajar directa-mente en el proyecto. Además, se trabaja con robots autónomos que solo reciben indicaciones de sus sensores y que actúan en función de la inteligencia artificial implementada mediante su programación.La participación de cada equipo se completa con un poster en el que deben mostrar los aspectos más destacados de su proyecto con el objetivo de comunicar y transferir esta información al resto de los participantes.La puntuación final se obtiene como suma de los resultados obtenidos en cada uno de los tres aspectos: competición, entrevista y poster.

al miércoles siguiente para que los estudian-tes dispusieran de tiempo para prepararlo. La actividad debería ser necesariamente sencilla, pero al tiempo tendría que permitir explorar distintos caminos y posibilidades a los partici-pantes. Un torneo de mini-sumo reunía estas cualidades.Dada la distancia a sus lugares de residencia, solo 19 de los 24 equipos pudieron participar en este torneo. A pesar de disponer de solo cuatro días y del bajo nivel de conocimiento robótico de partida (nulo en algunos casos), casi todos los equipos consiguieron un mínimo nivel de movilidad del robot, e incluso algunos de ellos implementaron sistemas de localización del adversario.Una de las participantes, una joven estudiante de 4º de ESO, comentaba tras la competición: “Desde niña tenía muy claro que carrera quería estudiar y nadie era capaz de hacerme cambiar de opinión. Hoy he visto que estaba equivocada y que en realidad quiero estudiar Ingeniería de Telecomunicación”.

El campeonato nacional de la RoboCupJuniorLa RoboCupJunior es la mayor competición mun-dial robots en arquitectura abierta (cualquier hardware/software) para jóvenes estudiantes de hasta 19 años y consta de tres modalidades: Socer, Resue y Dance.

Page 43: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

Semana de la Robótica

www.elektor-magazine.es | junio 2013 | 43

vidades a las exigencias de los nuevos tiempos, ofreciendo un amplio número de ellas para los más jóvenes. Todo un acierto que se ha visto reflejado en el alto grado de participación y satisfacción de los participantes. ¡Todo un reto a superar en futuras ediciones!

(130176)

Referencias

[1] Semana de la Robótica UAH: www.alcabot.com

[2] Proyecto Clone Wars: www.reprap.org/wiki/Proyecto_Clone_Wars

[3] Asociación de Robótica Educativa Complubot: www.complubot.org

[4] Robot CB2: complubot.educa.madrid.org/pre/pre.php

[5] Plastilina conductora: www.youtube.com/watch?v=CW3RjOU24mM

[6] Scratch: scratch.mit.edu

La Gynkana de Robótica EducativaOtra de las novedades de esta edición, quizá la más prometedora desde el punto de vista didáctico, fue la Gymkana de Robótica Educa-tiva organizada por Complubot en la mañana del domingo que contó con la participación 36 jóvenes estudiantes de entre 6 y 12 años. Esta actividad estuvo compuesta por un conjunto de pruebas que los participantes fueron realizando de forma secuencial en grupos de seis chavales.Las pruebas trataban de ofrecer actividades lúdi-cas y educativas que de alguna forma estuvieran relacionadas con la tecnología robótica o que per-mitieran el desarrollo de habilidades necesarias para desempeñarlas.

Puzzles electrónicos con Littel Bits. Una divertida forma de iniciarse en el mundo de los montajes y circuitos electrónicos sin el más mínimo peligro.

Robots y robótica. Una actividad multimedia donde poder aprender a diferenciar un robot de otros sistemas (algo no trivial hoy en día donde el término robot se aplica a cualquier cosa), así como tener la oportunidad de inte-raccionar con algunos de ellos

Crea tu propia Plastilina conductora. Una divertida actividad donde poder “cocinar” una plastilina con propiedades conductoras de forma que se pueda realizar pequeños circui-tos con ella [5].

Fomento del pensamiento lógico. Conjunto de juegos destinados a fomentar las capaci-dades básicas para el desarrollo del método científico: observación, identificación, elabo-ración de hipótesis.

Impresión de objetos en 3D. Una primera aproximación al mundo del diseño e impresión de objetos en 3D.

Control de motores y lectura de senso-res mediante Scratch. Usando como base el popular entorno de programación por blo-ques conocido como Scratch [6], una sencilla y potente herramienta que permite la realiza-ción de actividades interactivas y multimedia, tales como controlar y leer sensores externos – un primer paso en el camino de la robótica educativa.

Este año la Semana de la Robótica de la UAH ha conseguido mantener el alto nivel tecnoló-gico del que hizo gala en ediciones anteriores, actualizando al mismo tiempo su oferta de acti-

Page 44: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

44 | junio 2013 | www.elektor-magazine.es

En la última edición presentamos la “Librería de Firmware Embebido” (EFL, Embedded Firmware Library) en C [1]. Tanto principiantes como usua-rios avanzados pueden obtener rápidamente el código para su proyecto embebido, que es inde-pendiente del hardware utilizado, y puede por-tarse de una placa a otra, y de controlador a controlador. Esto se consigue con una capa de abstracción de hardware, que consiste en un

archivo específico para cada placa y otro para cada controlador. Sin embargo, la modularidad de la librería va más allá. Pueden programarse librerías de protocolo independientemente del canal de transmisión uti-lizado. Tampoco importa si los comandos y datos circulan por ejemplo a través del UART/RS232/RS485 o TCP/IP/Ethernet. Cambiar el canal de transmisión en la aplicación es cuestión de unas

Jens Nickel(Editor de Elektor)

Con un protocolo basado en texto y una conexión con un PC podemos controlar nuestra propia electrónica desde un programa terminal. Con la “Librería de Firmware Embebido” puede programarse rápidamente el software adecuado para ello, independientemente de si queremos utilizar el UART del controlador u otro puerto. El protocolo presentado aquí resulta perfecto para realizar pruebas y desarrollos posteriores.

Controlando nuestra propia electrónica fácilmenteConectar placas al PC mediante UART y SPI

Page 45: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

librería de firmware embebido

www.elektor-magazine.es | junio 2013 | 45

pocas líneas de código. En este artículo mos-tramos un protocolo útil para tareas de control sencillas, así como para propósitos de desarrollo.

Mini-protocoloEn el desarrollo de cualquier código, algunas prue-bas sencillas como iluminar un LED o muestrear una entrada digital pueden ser de gran utilidad. A menudo las placas de desarrollo no incluyen más que algunos pulsadores para realizar prue-bas. Aquí veremos cómo controlar la placa desde un PC, por ejemplo mediante el puerto serie. Si nos limitamos a los caracteres ASCII, entonces podemos enviar comandos cómodamente desde un programa terminal; en tal caso, no es nece-sario un software de PC propio.Con nuestro mini-protocolo (llamado “BlockPro-tocol”) pueden ponerse los pines a nivel alto o bajo desde el terminal en el PC. Si controla-mos un pin con un LED conectado, veremos el resultado directamente, si no es el caso, basta con conectar un multímetro o un osciloscopio. También puede tratarse de sencillos comandos para conocer el estado de las entradas digitales y el valor del ADC de las entradas analógicas (ver el cuadro “BlockProtocol”). Si queremos también podemos ampliar el código del corres-pondiente módulo de la librería y adaptarlo a nuestros propios propósitos. Quizá a alguno de los lectores le sirvan de inspiración los pro-tocolos de control de Andreas Eppinger [2] y Uwe Altenburg [3], ya que ofrecen multitud de funciones más.

Mapa, bloques y pines de la placaEspecialmente para propósitos de desarrollo con la EFL, el BlockProtocol dispone del comando “x”. La placa envía de este modo un volcado de las tablas de la EFL al PC. Éstas son utilizadas por la capa de hardware para determinar los pines de controlador y registros correspondientes. Los valores utilizados son específicos de la placa y cualquier otra placa de expansión conectada. La captura de pantalla de la figura 1 muestra lo que aparece en el programa terminal utilizando las placas mostradas más abajo. A la izquierda podemos ver el mapa (“map”), con el cual se ini-cializan módulos del controlador como el UART y el ADC. En el centro están los bloques de los peri-féricos y a la derecha un listado de los pines de la placa. Se trata de valiosa información para todo el que quiera programar o adaptar un archivo EFL para una nueva placa. La información deta-

llada sobre el funcionamiento interno de la EFL se encuentra resumida en un documento adicional, que puede descargarse en [1].

Controlando mediante el UARTQueremos ilustrar con un ejemplo lo fácil que resulta utilizar el protocolo en nuestra propia aplicación del controlador. Para ello nos servi-mos de uno de los nodos experimentales de la conocida serie ElektorBus, una placa compacta que incorpora un ATmega328. Como siempre, el nodo experimental funciona a través del RS485, mediante un conversor USB/RS485 y éste a su vez conectado a un PC (figura 2). En lugar del

Figura 1.Salida de tablas EFL en un programa terminal. A la izquierda puede verse el mapa con las características del controlador utilizadas (números rojos en el diagrama de bloques de la placa), en el centro la tabla de bloques (números azules) y a la derecha los pines de la placa (números verdes).

120668 - 16

SENSOR

SENSOR

ADC/2.0

ADC/2.1

ADC/2.2

ADC/2.3

ADC/SDA/2.4

ADC/SCL/2.5

MOSI/1.3

MISO/1.4

SCK/1.5

3.0/RXDRS485

3.1/TXD

3.2

3.3

3.4

3.5

3.6

3.7

µC

(4)

(10)

(12) (13) (14) (15)

0

1

2

[5]

[1]

[3][4]

[0]

[2]

(11)

(5)(6)(7)(8)

(0)

(1)

(2)

(3)

(9)

(+0)(+1)(+2)(+3)(+4)(+5)

Page 46: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

46 | junio 2013 | www.elektor-magazine.es

entrega, ya que utilizamos la misma placa y el mismo controlador. En el directorio “Libraries” encontraremos los archivos UARTInterface.h/.c. Éstos forman la librería para el puerto UART de la placa, en este caso a modo nuestro driver RS485 (capa física de la comunicación). Luego tenemos un módulo para el protocolo utilizado (BlockProtocolEFL.c/.h). Ambos módulos de librería utilizan un interfaz de código especí-fico (el llamado interfaz de software), que en la práctica para nosotros es igual.

Código más cortoEn el código real de la aplicación (incluido como siempre en el archivo principal) hemos de inte-grar las librerías mediante:

#include “UARTInterfaceEFL.h”#include “BlockProtocolEFL.h”

La función principal se diseña igual que en cada proyecto de la EFL, echemos un vistazo al lis-tado 1. En la función Application-Setup, a la cual se llama en el comienzo de la aplicación, se inicializan las librerías:

UARTInterface_LibrarySetup();UARTInterface_SetBaudrate(0, 38400);BlockProtocol_LibrarySetu-p ( U A R T I n t e r f a c e _ S e n d , 0 , UARTInterface_GetRingbuffer(0));

En la segunda línea fijamos la tasa de trans-ferencia del bloque UARTInterface #0 (al cual está conectado un driver RS485) a 38400 baudios.La tercera línea necesita una explicación más detallada. Estamos informando a la librería Bloc-kProtocol de que debe utilizar la función UARTIn-terface_Send cuando haya que enviar datos desde la placa. El segundo parámetro es el número de bloques de puerto UART utilizados; en nuestro caso, con el nodo experimental sólo hacemos uso de uno. El tercer parámetro es un puntero al buffer circular utilizado, que almacena los bytes recibidos. El puntero contiene el valor de retorno de la función UARTInterface_GetRingbuffer(0), la cual se implementa en la librería UARTInterface.

En la función ApplicationLoop, a la cual se llama regularmente, sólo necesitamos una línea:

BlockProtocol_Engine();

protocolo del ElektorBus, aquí utilizaremos el BlockProtocol basado en texto.El firmware correspondiente para el controla-dor puede descargarse en [4], aparte la apli-cación se incluye en el código de la EFL [5] (en el documento adicional podemos echar un vistazo a este archivo). Haciendo doble clic en “ExperimentalUART.atsln” se abrirá el proyecto en Atmel Studio, véase la captura de panta-lla (figura 3). En la parte derecha podemos ver los archivos que se incluyen. Los archivos Controller.h/.c y Board.h/c forman la capa de hardware. Se trata del mismo código que en el software de ejemplo de la EFL de la anterior

Figura 2.Mediante UART/RS485 y un sencillo protocolo de texto en ASCII podemos controlar nuestra placa de microcontrolador desde un programa terminal.

Listado: implementando una aplicación con la EFL.

int main(void) Controller_Init(); Board_Init(); Extension_Init(); ApplicationSetup(); while(1) ApplicationLoop(); ;

Page 47: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

librería de firmware embebido

www.elektor-magazine.es | junio 2013 | 47

Alto nivelSin embargo, utilizar directamente un pin de puerto no es exactamente la filosofía de la EFL. En cuanto queramos usar otra placa controladora para nuestro propio sistema de control, habría que volver a cambiar la cadena de salida en nues-tro PC o software de Android.Por ello, el mini-protocolo también es capaz de manejar el control mediante entradas y salidas digitales independientemente de la configura-ción de hardware, igual que hicimos en la ante-rior entrega con unas cuantas líneas de código.

Ésta es la función principal de la librería Bloc-kProtocol. Comprueba si han llegado caracteres desde el PC al buffer circular. Al recibirse un <CR> (ASCII 13), se interpreta como el final de un comando. La instrucción completa se eje-cuta, y se genera una respuesta, la cual puede ser desde “OK”, hasta un valor de nivel alto o bajo, así como una salida de variables de la EFL a modo de tabla.

Probemos...Tras compilar el programa y cargarlo en la placa, veremos el resultado con un programa terminal como por ejemplo HTerm [6]. Primero fijamos un puerto COM y la tasa de transferen-cia. En la parte correspondiente a la entrada del programa (“Input Control”) aún hemos de defi-nir que tras pulsar la tecla intro, ha de incluirse <CR> después de los caracteres introducidos antes de enviar la cadena completa (véase la figura 4).

Empezamos con el nivel inferior, indicando los pines de puerto del controlador. Según el esquema del nodo experimental [7], sabemos que el LED rojo de la placa está conectado en el pin PD4. “Port D” en los controladores AVR corresponde con el PortIndex 3. De modo que introducimos en el programa terminal:

p 3 4 + <ENTER>

Ahora el LED rojo se iluminará en la placa.

Con “p 2 0 +” o “p 2 0 –“ podemos, por ejem-plo utilizar el pin PC0 como conector de expan-sión. Si conectamos una placa de expansión, por ejemplo nuestra placa con sensor y LEDs de la anterior edición, o la placa de relés de la serie ElektorBus [8], ya tendremos un pequeño dispositivo controlable desde el PC. En lugar de un programa terminal también podemos utilizar nuestro propio software de PC, basta con que envíe la cadena de caracteres “p 2 0 + <CR>” a través del puerto COM adecuado para con-mutar el relé. O si queremos conectar un nodo experimental a un smartphone mediante la placa puente RS485/UART Andropod [9], en tal caso podemos programar una pequeña aplicación en Android. Como punto de partida se recomienda utilizar el software de [10], reemplazando los bytes del ElektorBus por los caracteres mencio-nados más arriba.

Figura 3.Código para controlar nuestro propio dispositivo electrónico mediante el puerto UART.

Figura 4.En el programa terminal Hterm se especifica con un <CR> que debe enviarse la cadena de caracteres.

Page 48: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

48 | junio 2013 | www.elektor-magazine.es

Para conmutar un relé basta con:

R 0 0 + <CR>

Puerto de 3 hilosEl control mostrado da por hecho que tene-mos acceso a un UART del controlador desde el exterior; por ejemplo con los pines RX/TX. Es más, hemos de disponer de un archivo de control EFL completo, que aparte de las fun-ciones típicas de I/O y ADC también disponga de las del UART.No obstante, si se trata de un controlador des-conocido (como cuando queremos desarrollar un archivo de control EFL que otros lectores puedan utilizar), conviene empezar por las funciones sen-cillas de I/O. Una vez hemos comenzado a estu-diar la hoja de datos, y sabemos al menos leer y fijar el nivel de los pines, así como conectar tres pines de GPIO con el exterior (algo muy común en la mayoría de placas), entonces podemos estar seguros de haber dado un gran paso. Entonces la placa ya podrá controlarse mediante el proto-colo descrito arriba. Como canal de transmisión se utiliza un puerto de tres hilos, a modo de SPI por software. Una de las conexiones se utiliza como reloj, otra para transferir bytes del master (PC) al slave (placa). Y en la tercera línea, en sentido contrario.Según las especificaciones SPI, el puerto de tres hilos ofrece la posibilidad de que tanto el mas-ter como el slave inicien la comunicación. Para ello, se pone a nivel alto la línea de “Out” y se espera hasta que la otra parte haga lo mismo con su correspondiente línea. Entonces se ini-ciará la comunicación, en la cual según el modo SPI el master fija el reloj y empiezan a circular bytes en ambos sentidos. Cuando ya no hay que enviar más (datos), se transmite el código de stop <LF> = ASCII 10. Cuando ambas partes envían un “10”, la comunicación puede darse por finalizada.Lógicamente hemos reunido todo en un bonito módulo de librería EFL llamado “ThreeWireInter-faceEFL”. Ahora resulta bastante sencillo realizar la comunicación desde el puerto SPI por software en lugar que desde el UART.Las líneas de código en la función Application-Se-tup serán ahora:

ThreeWireInterface_LibrarySetup();

BlockProtocol_LibrarySetup(-

Con la cadena...

L 0 1 + <CR>

...encendemos el LED 1 en el bloque LED #0 (en nuestra placa se trata del LED amarillo).Mediante...

B 0 0 ? <CR>

...comprobamos el estado del botón de test (“but-ton 0” del bloque de botones #0).

BlockProtocolTodos los comandos empiezan con un único carácter, seguido de uno o dos números del uno al diez. Con éstos la EFL indica el pin correspondiente. El último carácter determina la acción que debe llevarse a cabo.

xSalida de las tablas EFL del mapa, bloques y pines de la placa (ver documento adicional de la EFL [1])

p x y +, p x y –, p x y ?, p x y #, p x y *Pin del controlador, puerto x, pin y: a nivel alto, a nivel bajo, lectura del nivel, transmitir el valor del ADC (en un pin del ADC), parpadeo controlado por tiempo

b x +, b x –, b x ?, b x #, b x *Pin de la placa con índice x: alto, bajo, lectura, valor del ADC, parpadeo

i x y +, i x y -, i x y ?, i x y #, i x y *Pin en bloque con índice x, posición del pin y dentro del bloque: alto, bajo, lectura, valor del ADC, parpadeo

C x y +, C x y –, C x y ?, C x y #, C x y *Conector x, pin y: alto, bajo, lectura, valor del ADC, parpadeo

L x y +, L x y –, L x y ?, L x y *Bloque de LEDs x, posición del LED y: alto, bajo, lectura, valor del ADC, parpadeo

R x y +, R x y –, R x y ?Bloque de relés x, posición del relé y: alto, bajo, lectura,

B x y ?Bloque de botones x, posición del botón y: lectura

A x y #Bloque de ADC x, posición del pin del ADC y: transmisión del valor del ADC

*Finalizar parpadeo controlado por tiempo

Page 49: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

librería de firmware embebido

www.elektor-magazine.es | junio 2013 | 49

cular de alguno de los canales, la cual debe cerrarse con <CR>. Si fuera el caso, la cadena de caracteres se envía utilizando el canal de transmisión correspondiente. Finalmente vuelve a chequearse el buffer circular de dicho canal de transmisión a ver si se reciben caracteres entrantes.Huelga decir que el módulo de gateway también ha sido programado para que funcione indepen-dientemente del canal de transmisión utilizado, por lo que es flexible para utilizarlo en cualquier otra aplicación posible. La función OneToOneGa-teway_LibrarySetup lee al mismo tiempo dos tri-pletes de parámetros que determinan qué canal de transmisión ha de conectarse a través del gateway. En nuestro caso, la llamada a la fun-ción será:

OneToOneGateway_LibrarySetup(UARTInter-face_Send, 0, UARTInterface_GetRing-buffer(0), ThreeWireInterface_Send, 0, ThreeWireInterface_GetRingbuffer(0));

Ahora sólo hay que conectar el cable al socket de expansión del nodo experimental (pines PC0 a PC2, véase la figura 6) y volcar el archivo hexadecimal en el controlador de dicho nodo.Los pines utilizados para el puerto de 3 hilos pue-den cambiarse incluso en ambas placas. El puerto de 3 hilos está formado por bloques periféricos en cada una de las partes, y seguramente recorde-mos que la asignación de pines de estos bloques,

ThreeWireInterface_Send, 0, ThreeWireInterface_GetRingbuffer(0));

Hemos informado a la librería BlockProtocol de que los datos han de enviarse y recibirse a tra-vés del puerto de 3 hilos (comparemos la línea con el código de BlockProtocol_LibrarySetup de más arriba).

En la rutina Application-Loop sólo necesitaremos la instrucción:

ThreeWireInterface_Listen(0);

Así se comprueba que cada una de las partes responde con un nivel alto. Entonces se esta-blece la comunicación (en caso de que el canal de transmisión sea el UART no necesitaremos esta función de Listen, pues detecta una interrupción del controlador cuando se reciben caracteres y se envían automáticamente los bytes del buffer circular).

Nos ponemos en contacto con ArduinoComo placa de pruebas hemos optado por un Arduino Uno; el código correspondiente puede encontrarse en el proyecto ArduinoUnoEFL [4][5]. Como pines GPIO-Pins, que nos darán acceso a la placa, se utilizan PB0, PB1 y PB2, disponibles en el conector “Digital” (de Digital8 a Digital10). Un pequeño cable de tres pines (por ejemplo: Conrad 741221) resulta muy práctico y cumple su función (ver la figura 5).

Obviamente ahora necesitamos conexión con el PC, porque seguramente pocos de nosotros dispongamos de un puerto de tres hilos en el ordenador J. Por ello, controlaremos nuestro pequeño nodo experimental con un gateway que convierte los datos del canal de transmisión “de tres cables” a “UART/RS485”, y al revés. El fir-mware necesario puede descargarse en [4] o [5], y en el proyecto en Atmel Studio se encuentra en el directorio “ExperimentalSPI”.La función Gateway dispone de su propio módulo de librería, llamado OneToOneGatewayEFL.Mediante la llamada...

OneToOneGateway_Engine();

...dentro de la función Application-Loop se pre-gunta regularmente para comprobar si ha lle-gado alguna cadena de caracteres al buffer cir-

Figura 5.El acceso al Arduino Uno se lleva a cabo mediante 3 hilos.

Page 50: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

50 | junio 2013 | www.elektor-magazine.es

Enlaces de Internet

[1] www.elektor.es/120668

[2] www.elektor.es/100576

[3] www.elektor.es/120296

[4] www.elektor.es/130154

[5] www.elektor-labs.com/efl

[6] www.der-hammer.info/terminal

[7] www.elektor.es/110258

[8] www.elektor.es/110428

[9] www.elektor.es/110405

[10] www.elektor.es/120097

según el controlador utilizado, está “encapsulada” en el archivo correspondiente a cada placa. La configuración del puerto de 3 hilos según los pines utilizados se lleva a cabo con la función Board_Init en el archivo BoardEFL.c.

¡Eureka!En nuestro programa terminal, antes de cada comando introducimos una “x”. La placa Arduino transmite ahora las variables EFL a través del puerto de 3 hilos, a la velocidad establecida ante-riormente (en este caso a 9600 baudios).Con el comando...

C 0 13 + <CR>

...podemos poner el pin 13 del puerto “Digital” a nivel alto, y si hemos conectado un LED al Arduino Uno veremos el resultado inmediatamente.En la próxima edición se incluirá otro proyecto EFL. Cualquier sugerencia o contribución es bien recibida, no dudes en escribir a [email protected] última versión del código de la EFL puede descargarse en la página de Elektor.LABS, en el siguiente enlace [5].

(130154)

Figura 6.El nodo experimental hace de gateway entre el puerto de 3 hilos y el UART/RS485.

Page 51: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

robots sanitarios

www.elektor-magazine.es | junio 2013 | 51

El encuentro con Alice tuvo lugar en el labo-ratorio del proyecto Services of Electro-mecha-nical Care Agencies (SELEMCA), hospedado en la Vrije Universiteit de Amsterdam [1]. Aquí se investigan cómo los sistemas inteligentes como los robots pueden interactuar con los usuarios de forma más humana. El problema social sobre el que se fundamenta este proyecto es la cre-ciente demanda de más servicios sanitarios. A consecuencia del envejecimiento de la población, el número de gente necesitada, en comparación con la población sanitaria activa, aumenta. Para que estos cuidados también se puedan ofrecer a la gente en el futuro, se está trabajando en soluciones tecnológicas que se ocupen de una parte de las tareas de cuidado. Y para hacer que el trato con el sistema tecnológico sanitario sea también agradable para los usuarios, SELEMCA ha desarrollado el sistema sanitario I-Care orien-tado al ciudadano.

Johan F. Hoorn (Dr. Litt., Dr. Sc.) es el investiga-dor jefe y jefe de proyecto de SELEMCA que habla entusiasmado sobre el objetivo, los logros y los obstáculos del proyecto. “El núcleo de SELEMCA es la investigación científica sobre la inteligen-cia, emociones y creatividad. A su alrededor hay código máquina y comportamiento de máquina,

que son varios programas simuladores de este tipo de capacidades. Luego tenemos la funciona-lidad; las cosas que puede hacer para alguien o sea todas las posibilidades de acción que puede ofrecer a alguien. Todo esto junto es el sistema I-Care y funciona en segundo plano. Finalmente hay un interfaz con el que el sistema I-Care se manifiesta hacia el exterior.”

Máquinas con capacidades humanasUn ejemplo de cómo se está desarrollando esta estratificación de forma práctica es la investiga-ción sobre componente emocional de razonar moralmente. El hombre experimenta a un robot que ejecuta perfectamente un código ético como un racionalista frío y por tanto amenazante. En el artículo científico sobre Moral Coppélia, en donde Johan colaboró como co-autor, se aclara esto con la ayuda del dilema de la Carretilla y el Puentecito [2].Una carretilla sobre una vía de tren se aproxima a una velocidad peligrosa hacia cinco personas. Cambiando la aguja de la vía, la carretilla cambia de dirección hacia otra persona. La elección del agente moral es entrar en acción y salvar cinco vidas humanas a costa de sólo una o esperar y dejar que ocurran las cosas obteniendo cinco muertos como consecuencia. En un segundo esce-

Tessel Renzenbrink (redacción Elektor TTF)

Robots sanitariosEl futuro de la sanidad

La segunda vez que me encontré con Alice, ya podía ponerse de pie. Cuando sonrío, le devolví la sonrisa inconscien-temente. Sólo un momento después me di cuenta de estar emitiendo señales no verbales a una entidad que no era capaz de recibirlas. Esto dice bastante sobre el robot Alice y sobre mí. El robot tiene una mímica facial tan sofisticada que yo como animal social la respondía de forma involuntaria.

Johan Hoorn. (Foto: Waag Society CC BY 2.0)

Page 52: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Tech The Future

52 | junio 2013 | www.elektor-magazine.es

nario el agente moral se encuentra en el puen-tecito junto a otra persona. En otra ocasión la carretilla amenaza a cinco personas y esta vez la elección es tirar una persona del puentecito hacia las vías para parar la carretilla.

Aunque en ambos casos actuar tiene como resul-tado un ratio vida/muerte de 5:1, generalmente la gente opta por cambiar la vía, pero tirar acti-vamente a una persona de un puente iría dema-siado lejos. Eso es porque no calculan únicamente los principios éticos sino que también permiten que la emoción juegue un papel en el veredicto moral. En cambio un robot razonando puramente de forma racional sacrificaría esa única persona en beneficio de la mayoría.A la gente no le gusta un robot que tira perso-nas de un puente. Por eso Johan y sus colegas desarrollaron un sistema que integra la inteli-gencia emocional en razonamiento moral. En I-Care se incorpora este tipo de sistemas que simulan capacidades humanas como afecto, razonamiento moral y creatividad, y se mani-fiestan en la funcionalidad que ofrece al receptor sanitario. Si un paciente con una pierna rota no quiere comer, el robot reconoce su autono-mía y deja que el paciente tome la decisión. Pero con un paciente con Alzheimer con una autonomía reducida el robot volverá a ofrecer la comida. Luego la creatividad también juega un papel. En lugar de colocar el plato repetidas veces delante del paciente, lo que probable-mente sólo llevaría a una mayor resistencia, el robot puede intentar utilizar métodos alter-

nativos, como coger una cuchara con comida y jugar al avioncito.

Alice y DARwInFinalmente hay una pantallita con la que el sis-tema I-Care es visible en la parte exterior. “En realidad el interfaz”, dice Johan, “puede tomar cualquier forma que puedas imaginar. Puede ser un robot, un juguete, un muñeco, un agente virtual en una pantallita, pero detrás siempre se ejecuta el mismo sistema. No hace falta que tenga forma humana, pero sí que se comporte humanamente. También una máquina de café puede funcionar como avatar del sistema I-Care. Quizás el usuario piense que ha trabajado con tres aparatos diferentes, pero en realidad sólo ha interactuado con un sistema I-Care con apa-riencias diferentes. Después de todo el signi-ficado de Avatar es el de un dios encarnado como Vishnu.”El robot Alice es un posible avatar donde se manifiesta el sistema I-Care. A muchos usua-rios les gustará comunicarse con el sistema a través de ella por sus expresiones faciales humanas. Pero corporalmente Alice no se ha desarrollado aún lo suficiente, puede ponerse de pie pero casi no puede realizar ninguna acción. Su semejante DARwIn-OP (Dynamic Anthropomorphic Robot with Intelligence – Open Platform) es mucho más ágil y puede realizar tareas físicas.Pero, tal y como indica Johan, los robots no son los únicos interfaces. En el laboratorio también se está trabajando con una bicicleta interactiva. Los pacientes de Alzheimer no suelen ser fieles a su terapia, cuando se sientan en su bicicleta estática para realizar los ejercicios físicos que necesitan se distraen enseguida y se bajan de la bici. Johan y su equipo trabajan en un entorno virtual que haga que parezca que el paciente está yendo por la ciudad, y así se pueda retener su interés por más tiempo. Incluso quieren trabajar en que un paciente vaya en bicicleta de forma virtual acom-pañado de uno de sus parientes mediante una conexión en línea con, por ejemplo, un hijo que en realidad está yendo en bicicleta a su trabajo. Así el paciente mantiene el contacto humano y hace ejercicio físico, pero no corre el riesgo de chocar con un autobús.En una pantallita que hay sobre el manillar se muestra al hijo como avatar. Haciendo que éste actúe como el interfaz con I-Care el sistema se torna más humano. En todas sus encarnacio-

Alice y DARwIn-OP (Foto: Waag Society CC BY 2.0)

Page 53: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

robots sanitarios

www.elektor-magazine.es | junio 2013 | 53

nes el sistema I-Care cuida del paciente durante el día sin que él sea necesaria-mente consciente de ello.

El futuro se hace hoyI-Care se tiene que construir como una pla-taforma abierta y modular. Johan: “Todo lo que desarrollamos es abierto y está disponi-ble para todo el mundo. Nosotros ofrecemos una estructura, una abstracción y lo que cuelgues ahí es tú problema.” Esto es válido no sólo para usuarios sino también para desarrolladores. Si la industria quiere, se puede ofrecer un módulo propio y proteger esa parte para sacarle beneficios. “Utilizo mucho la idea de que este laboratorio es en realidad una catedral y hay que conectar a su alrededor todas esas pequeñas tiendas que suelen rodear las viejas catedrales para vender el mensaje religioso. En este caso nos gustaría que los diseñadores de inter-faces, compañías de sensores robóticos y compañías electromecánicas estuvieran ubi-cados alrededor de este laboratorio. Es casi literal, de modo que hubiese relaciones uno a uno diariamente y que el conocimiento que hay surgiese sobre I-Care pudiera ser realmente utilizado por las compañías y la industria.” “Y eso es lo que duele, que en el mundo de la empresa no hay movimiento. Algo extraño, ya que seguro que habrá un mer-cado dentro de diez años. Casi no hace falta hacer un estudio de mercado, porque esto lo hemos diseñado junto con los usuarios. Los propios asistentes sociales y la gente necesitada han ayudado en el concepto que tenemos ahora. Ofrece a la administración una solución a un problema creciente y las empresas pueden hacer negocio con ello. Así que no entiendo de dónde viene esta desconcertación. El trabajo que realizamos se oye más en Hong-Kong y Corea del Sur que aquí en Europa. Aquí todos dicen: ‘muy interesante, muy curioso, está bien que lo estéis haciendo’ pero luego todo queda en un silencio. Es falta de un clima innovador real. Hablan muchísimo sobre ello y hay miles de comisiones, pero a todas estas comisiones la innovación les bloquea. Yo no quiero comisiones, quiero manos a la obra.”“Tecnológicamente ya se puede hacer muchas cosas en la robótica, pero no hay

colaboración. Alice tiene una expresión facial bien desarrollada, pero el cuerpo de este robot es bastante limitado. Si miras a DARwIn el trabajo del cuerpo es bastante bueno, pero sólo tiene algunas expresiones faciales. A las máquinas DARPA (Defense Advanced Research Projects Agency, EEUU) puedes darle una patada que no se caen, se recuperan y siguen andando, pero nunca han oído hablar de la creatividad. Hay todo tipo de piezas y fragmentos que en si fun-cionan correctamente, pero una plataforma integrada aún no existe. En realidad toda esta gente debería sentarse junta e integrar todo lo que sea posible. Te sorprenderías de lo que obtiene de esto, te quedarías con la boca abierta.”

(130039-I)

SELEMCA es parte del programa Creative Industry Scientific Programme (CRISP), financiado por el ministerio Holandés de Educación, Cultura y Ciencia [3].

Agradecemos a la Waag Society por la organización del PhDO – Trust me, I’m a Robot y por poner las fotos a nuestra disposición [4].

Enlaces Web

[1] http://crispplatform.nl/selemca/selemca

[2] http://dare.ubvu.vu.nl/bitstream/hand-le/1871/38598/Moral%20Coppelia%20IBERAMIA%20Proof%2076370442.pdf?sequence=1

[3] www.crispplatform.nl

[4] http://waag.org/en

Robot Alice

DARwIn-OP (Foto: Waag Society CC BY 2.0)

Page 54: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

54 | junio 2013 | www.elektor-magazine.es

En la entrega anterior [4] tratamos por encima los lenguajes descriptivos de hardware VHDL y Verilog para probar una aplicación. En esta última parte profundizaremos en estos lenguajes, pero ahora para escribir una aplicación. Mantener dos lenguajes es complicado, así que he tenido que tomar una decisión. Después de muchas noches de insomnio y tras consultar con decenas de expertos decidí finalmente seguir adelante con VHDL. Hay varios argumentos que sustentan esta elección. Uno de ellos es que VHDL requiere menos tiempo de simulación, porque es más difícil llegar a un diseño sintetizable. Quizás esto suene como una razón para optar por Verilog, pero

piensa que generalmente simular requiere más tiempo que sintetizar, así que terminas antes. Para hacer una analogía con la programación de ordenadores (por favor, que los fans de Verilog miren en otra dirección y se tapen los oídos): En lugar de introducir código ‘al tuntún’ para con-vertirlo después en el depurador de un algoritmo que funcione, puedes primero pensar bien el algo-ritmo y depurar después para ver si funciona.Como aplicación he optado por un descodifica-dor DCF77… Si, ya oigo los comentarios, pero déjame defender la elección. En casi toda Europa se puede recibir fácilmente con un módulo barato la señal de radio de la emisora de reloj atómico

Clemens Valens (Elektor.Labs)

Diseña tu propio integrado (5)250000 puertas interconectadas programadas

Aunque una aplicación FPGA se puede diseñar perfectamente como un circuito de símbolos lógicos, en la práctica se suele optar por un enfoque programático. Esto tiene una ventaja y que es generalmente las funciones complejas son más fáciles de expresar en un algoritmo que en un esquema. Por eso intentaremos programar una aplicación FPGA en este artículo.

Page 55: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

FPGA

www.elektor-magazine.es | junio 2013 | 55

DCF77 cerca de Frankfurt. La señal es bastante sencilla, es una concatenación de 59 impulsos, uno por segundo, que pueden tener dos longitu-des, 100 ms (0) y 200 ms (1), y que juntos repre-sentan los bits que forman el código de tiempo. La omisión del último pulso (nº 60, bit 59) indica el final del código. Cada minuto se envía un nuevo código. La fecha y la hora vienen en formato BCD y hay un número de bits de control con los que se puede verificar la validez del código. Así que es una buena señal para empezar con VHDL (o Verilog), ya que no es difícil de representar con una lógica sencilla en un display de 7 segmentos. Para la gente que no tenga un receptor DCF77 o no pueda recibir la señal porque viva dema-siado lejos de Frankfurt, escribí un programa de simulación de DCF77 para el Arduino [5]. Así que todo el mundo puede participar.Empezamos con un diseño funcional de nues-tro descodificador DCF77. Le damos un enfo-que naif, que quiere decir que partimos de la idea de que la señal de entrada es buena por lo general y encaja perfectamente dentro de las especificaciones. Gracias a estas suposicio-nes el diseño puede ser sencillo. Como hemos dicho, la señal de entrada consta de pulsos de 100 ms y 200 ms que representan ceros y unos respectivamente. Si muestreamos esta señal 150 ms después del flanco ascendente de un pulso veremos tanto un ‘0’ como un ‘1’ (figura 1). Si medimos también el tiempo transcurrido entre dos flancos ascendentes, encontraremos el pulso faltante y con esto el principio del código de tiempo. De esta manera desplazamos los bits encontrados a un registro de desplazamiento. A continuación sacamos los campos BCD del registro de desplazamiento que contienen las distintas unidades de fecha y tiempo, y las mos-tramos en un display de siete segmentos. En el pseudocódigo basado en C esto queda más o menos de la siguiente forma:

haz para cada reloj contador = contador + 1; si (contador==150ms) registro de desplazamiento = (registro de desplazamiento<<1) + señal de entrada; si (flanco ascendente(señal de entrada)==true) si (contador>=1750ms) muestra contenido(registro de desplazamiento); contador = 0;

El contador se incrementa en cada pulso de reloj. En el momento que el contador alcanza 150 ms se muestrea la señal de entrada y se añade al regis-tro de desplazamiento. Si se detecta un flanco ascendente en la señal de entrada, se mira si el contador ha sobrepasado el valor máximo. En caso afirmativo, el registro de desplazamiento está lleno y se pueden mostrar los datos. A con-tinuación se pone el contador a cero. En reali-dad esto es todo. Aquí puedes añadir todo tipo de parafernalia como la detección de errores y hacerlo más robusto, pero eso queda fuera de esta introducción.

¿Cómo hacemos esto en VHDL?En realidad es bastante sencillo, ya que el seu-docódigo se puede traducir fácilmente a VHDL. Así obtenemos este fragmento:

1 process (clock) is 2 begin 3 if rising_edge(clock) then 4 counter <= counter + 1; 5 if (counter=t150ms) then

Figura 1.La señal DCF77 y el momento de muestra.

Page 56: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

56 | junio 2013 | www.elektor-magazine.es

registro de desplazamiento bits (línea 6). Esto se hace desde la izquierda, en oposición al seu-docódigo donde se desplazaba desde la derecha. Lo hacemos de esta forma porque el código del tiempo empieza con el bit menos significativo y así los colocamos en el orden correcto para nosotros. Después de 59 pulsos el bit 0 está en la posición 0. La operación de desplazamiento parece un poco extraña porque utilizamos la fun-ción de pegar ‘&’. Esta función simplemente pega la parte de la izquierda a la parte de la derecha. La parte derecha consta de 58 bits, 58 hasta 1 (así que sin el bit 0) que se desplazan a las posiciones 57 hasta 0. La parte de la izquierda es la señal de entrada de 1 bit y esta pasa a la posición 58. Aquí no nos interesa mucho como ISE, o en realidad XST, trata esta construcción, lo que nos interesa es que funcione (y eso lo podemos confirmar).En la línea 8 detecta si hay un flanco ascendente en la señal de entrada. De este fragmento no se deduce cómo sucede esto exactamente (lo tra-taré enseguida), pero cuando sucede, la línea 9 detecta si el contador ha sobrepasado el valor máximo de 1750 ms. Si ese es el caso, el conte-nido del registro de desplazamiento se copia al registro de datos para más tratamiento (no en este fragmento, ver más adelante).En la línea 12 se pone el contador a cero. No hace falta borrar el registro de desplazamiento porque se llena cada minuto.Las líneas que no hemos nombrado explícita-mente sólo sirven para cumplir con la sintaxis de VHDL.

Para terminar este fragmento necesitamos un detector de flancos, algunas cosas sintácticas de VHDL y las especificaciones de las señales de entrada y salida de este proceso. Al diseño final también he añadido varias señales que hacen parpadear los LED de la placa FPGA, de modo que veamos que la cosa está realmente animada.

Detectar flancosAquí el detector de flancos es un punto impor-tante. En primera instancia había utilizado una construcción simple que comparaba el valor actual de la señal de entrada con los valores durante el pulso de reloj anterior. Esto no fun-cionaba de forma fiable y creaba interrupciones de forma que de vez en cuando se perdía el sincronismo. La solución resultó ser la adición de un biestable adicional, de modo que no se

6 bits <= input & bits(58 downto 1); 7 end if; 8 if input_rise=’1’ then 9 if (counter>=t1750ms) then10 data <= bits;11 end if;12 counter <= 0;13 end if;14 end if;15 end process;

Aquí faltan las definiciones y algunas otras cosas de la sintaxis VHDL, pero el algoritmo está. Los números de líneas los he puesto yo para hacer más fácil la explicación. En este código counter es el contador y bits el registro de desplaza-miento de 59 bits. Vamos a empezar por el prin-cipio, por la línea 1.Se trata de un proceso, lo que quiere decir que será ejecutado por la FPGA. Sin este proceso no hay actividad. Puede haber varios procesos y todos serán ejecutados al mismo tiempo. En prin-cipio se trabaja, dentro del proceso, desde arriba hacia abajo. Nuestro proceso depende de la señal clock, lo que significa que sólo se puede ejecu-tar si clock cambia de valor. El proceso empieza después de la línea 2 y va hasta la línea 15.La línea 3 se encarga de que todo lo que hacemos vaya sincronizado con los flancos ascendentes de la señal de reloj. La función rising_edge hace que esto sea factible. En mucho código VHDL encontramos la construcción:

if clock’event and clock=’1’ then ..end if;

que tiene la misma función que rising_edge, pero esta ha quedado un poco anticuada. Noso-tros utilizamos rising_edge. También existe la función falling_edge.

En la línea 4 se incrementa el contador con uno. Fácil, ¿verdad? Sí, pero ten cuidado, porque la utilización de la función sumar, representada por el símbolo ‘+’, hace necesario añadir la librería numeric_std a la lista de librerías a utilizar (tal y cómo veremos más adelante).En la línea 5 se compara el valor del contador con una constante que corresponde a 150 ms con una frecuencia de reloj de 8 MHz (el reloj de la FPGA). Si el contador llega a 150 ms, el valor actual de la señal de entrada se desplaza en el

Page 57: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

FPGA

www.elektor-magazine.es | junio 2013 | 57

vez que esta señal cambia de valor se ejecutan las instrucciones dentro del proceso.Después de la declaración del proceso viene una lista de variables que se necesitan dentro del proceso, pero no fuera. Aquí sólo hay un, his-tory, un registro de 3 bits. Esta variable es un

comparaba el valor actual con el anterior, sino el anterior con el anterior a este. Así que no comparamos t = n con t = n-1, sino que com-paramos t = n-1 con t = n-2.Probablemente el lector observador se pregun-tará si aquí podríamos haber utilizado la fun-ción rising_edge y la respuesta a esto es, por desgracia, no. Si lo haces, el sintetizador XST piensa que se trata de una señal de reloj, pero como no lo es, falla, con un mensaje de error como resultado.He añadido al proyecto el detector de flancos como módulo separado (una función en VHDL, ver listado 1), pero no era necesario. Ahora sí tenemos la ventaja de que lo podemos utilizar fácilmente en otro proyecto.El módulo empieza con la instrucción library seguido de la instrucción use. Estas líneas se encargan de que el módulo disponga de las fun-ciones estándares y señales necesarias. También se pueden añadir otras librerías en caso de que fueran necesarias, como numeric_std (para ‘+’, ¿te acuerdas?). En oposición a la mayoría de los lenguajes de programación estas líneas no son válidas para todos los ficheros en las que apa-recen, sino sólo para el primer bloque entity que hay a continuación con sus correspondientes bloque(s) architecture. Así que normalmente cada bloque entity va precedido de instruccio-nes de librería. A continuación llegamos al bloque entity. En principio lo podemos considerar como el símbolo que se va a utilizar en el esquema. Aquí se defi-nen las entradas y salidas del componente en la parte port. Aquí todas las señales son del tipo std_logic de la librería std_logic_1164, que quiere decir que se trata de señales lógicas que pueden tomar un número de valores definidos en la librería (como son ‘0’, ‘1’ o ‘Z’ y así hay un montón). Las señales seguidas de in son las entradas del módulo, si van seguidas por out se trata de salidas. El bloque entity viene seguido del bloque archi-tecture en donde viene definida la función. Este bloque tiene un nombre (behavioral) y es una implementación de la entidad especificada edge_detector. El nombre behavioral se obtiene al dejar que el ISE cree el módulo VHDL. También se ve muchas veces rtl (de Register Transfer Level, el nivel hacia donde se compila el código VHDL), pero también puedes elegir un nombre propio.El detector de flancos está implementado como un process que depende de la señal clock. Cada

Listado 1. Un módulo detector de flancos en VHDL.

library ieee;use ieee.std_logic_1164.all;

entity edge_detector is port (input : in std_logic; clock : in std_logic; rise : out std_logic);end edge_detector;

architecture behavioral of edge_detector isbegin process (clock) variable history : std_logic_vector(1 to 3); begin if rising_edge(clock) then rise <= history(2) and not history(3); history := input & history(1 to 2); end if; end process;end behavioral;

Por el módico precio de 59,95 € más gastos de envío se puede adquirir la placa FPGA de pruebas completamente ensamblada y probada a través de Elektor.

Ver www.elektor.es/120099

Page 58: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

58 | junio 2013 | www.elektor-magazine.es

vector, lo cual quiere decir que consta de varios bits. Fíjate que aquí el vector está definido como (1 to 3) y el registro de desplazamiento en el descodificador DCF77 como (58 downto 0). Ambos son igual de válidos, pero ten cuidado de no mezclar accidentalmente los bits cuando los estés utilizando de forma mezclada.El detector de flancos sólo hace algo después de un flanco ascendente de la señal de reloj. Enton-ces determina el valor de la señal de salida rise a partir de los bits 2 y 3 de history y desplaza el valor actual de la señal de entrada en el registro de desplazamiento, de la misma manera que el fragmento del descodificador DFC77.Como puedes observar, cada bloque termina con la instrucción end (por ejemplo end if), posible-mente seguido por el nombre del bloque corres-pondiente, así que hay que teclear mucho. Esta es una de las desventajas de VHDL, que hay que teclear mucho.La figura 2 muestra cómo piensa ISE que debe ser la apariencia del detector de flancos esque-máticamente. Esta interpretación me parece un poco extraña, pero quizás he olvidado alguna cosa. Dejémoslo en que el ISE no es muy bueno dibujando.He descrito ampliamente este módulo para ilus-trar como se parece un módulo VHDL. Todos los módulos siguen el mismo patrón de library, entity y architecture, también el descodifi-cador DFC77.

Utilizar módulosSi queremos utilizar el detector de flancos dentro del descodificador DFC77 tenemos que decirlo de una u forma manera al XST. Se puede hacer de varias maneras, por ejemplo, mediante una librería, pero nosotros lo hacemos aquí a través del método de componente. El listado 2 muestra cómo funcionan varias cosas. Ahí también puedes ver el módulo descodificador DCF77 al completo, incluso el bloque entity con su bloque archi-tecture correspondiente, señales de entrada y salida, variables locales y constantes. Míralos tranquilamente, utiliza internet como referencia si fuera necesario, no es tan complicado.Incorporamos el detector de flancos dentro del módulo declarándolo arriba dentro del bloque architecture. Para ello copiamos el bloque entity y sustituimos la palabra entity por com-ponent. Luego tenemos que conectarlo. Lo hace-mos después del begin del bloque architecture instanciando un ejemplar (así es como se dice).

Listado 2. El descodificar DCF77 con detector de flancos.

library ieee;use ieee.std_logic_1164.all;use ieee.numeric_std.all;

entity dcf77_decoder is port ( input : in std_logic; clock : in std_logic; data : out std_logic_vector (58 downto 0) );end dcf77_decoder;

architecture behavioral of dcf77_decoder is

component edge_detector is port (input : in std_logic; clock : in std_logic; rise : out std_logic); end component edge_detector;

constant t1750ms: integer := 14000000; -- 1750 ms @ 8 MHz constant t150ms: integer := 1200000; -- 150 ms @ 8 MHz signal counter : integer := 0; signal bits : std_logic_vector(58 downto 0) := (others => ‘0’); signal input_rise : std_logic := ‘0’;

begin edge_detect: edge_detector port map (input => input, clock => clock, rise => input_rise);

process (clock) is begin if rising_edge(clock) then counter <= counter + 1; if (counter=t150ms) then bits <= input & bits(58 downto 1); end if; if input_rise=’1’ then if (counter>=t1750ms) then data <= bits; -- Transfer data. end if; counter <= 0; -- Clear counter. end if; end if; end process;end behavioral;

Page 59: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

FPGA

www.elektor-magazine.es | junio 2013 | 59

tipo; lo he llamado input_rise. Ahora podemos utilizar esta señal en nuestro proceso. Durante un único periodo de reloj será ‘1’ en el momento que detecte un flanco ascendente en la señal de entrada del DCF77.En caso de olvidar ‘mapear’ la señal de entrada de algún componente, podemos recibir algún mensaje de error bastante incomprensible. Este intenta explicar que la señal olvidada no tiene valor por defecto y que no puede estar desco-nectado. Así que estás avisado.

Para eso tenemos que introducir una etiqueta y a continuación indicar mediante un port map qué señales (puertos) del descodificador DCF77 (a la derecha dentro del mapa) tienen que conectarse a las señales (puertos) del detector de flancos (a la izquierda dentro del mapa). Ya teníamos las señales de reloj y la entrada, ya que estas tam-bién son entradas o puertos respectivamente del descodificador DFCF77 (ver su bloque entity). Para la señal de salida rise del detector de flan-cos, necesitamos añadir una señal local del mismo

Figura 2.Este extraño esquema surge cuando el RTL Viewer (Design tab, Synthesize – XST View RTL Schematic) del ISE dibuja el detector de flancos en este artículo. La señal de entrada no está conectada a ninguna parte y no entiendo muy bien su funcionamiento. ¿Habré cometido algún error?

Figura 3.Una impresión de pantalla del ISE donde no solo vemos el código para el display, sino también la jerarquía del proyecto y las marcas verdes que prueban que es posible compilar el proyecto hasta un fichero bit.

Page 60: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

60 | junio 2013 | www.elektor-magazine.es

botón derecho del ratón sobre la pestaña Design) y selecciona New Source…, selecciona a conti-nuación VHDL Module, introduce el nombre del fichero (por ejemplo, top), asegúrate de marcar Add to project y haz clic sobre Next. Ahora ves un formulario que puedes rellenar si sabes qué

DisplayComo me esfuerzo mucho en explicar todo lo mejor posible, este tipo de artí-culos acaban fácilmente siendo largos, algo que no le gusta mucho a mi jefe. Sin embargo me gustaría explicar en un único artí-culo cómo hacer que un diseño VHDL funcione, si no termina siendo un poco frustrante. Como todavía tengo que explicar muchas cosas, voy a suprimir el código del display de 7 segmentos. He utilizado el mismo display de 2 dígi-tos que el de la 3ª entrega [3], por lo que he escrito un descodificador de BCD a 7 segmentos. Este es un ejercicio de los libros estándar, así que no tengo que dedicarle muchas pala-bras. Mira dentro del pro-yecto de esta entrega [5] para ver cómo funciona todo. La figura 3 mues-tra algunas cosas.

Hacia topIgual que en las entregas anteriores todo se junta en top, sólo que ahora top es un módulo VHDL en vez de un esquema. Tenemos que indicar este detalle al ISE a través de Design Pro-perties. Crea primero un nuevo proyecto basándote en lo anterior de la manera descrita al principio de [3]. Elimina a continuación todos los esquemas, pero conserva el fichero UCF. Después abre Design Pro-perties (por ejemplo, a través del menú Project, en la parte inferior) y pon el Top-Level Source Type en HDL y Preferred Language en VHDL (si no estuviera ya puesto).Ya podemos empezar a añadir nuevos ficheros fuente. Abre el menú Project (o haz clic con el

Listado 3. El nivel superior del descodificador DCF77 final.

library ieee;use ieee.std_logic_1164.all;

entity top is port ( dcf77_input : in std_logic; clk_in : in std_logic; hour_month : in std_logic; time_date : in std_logic; led1 : out std_logic; led2 : out std_logic; t_sample : out std_logic; digit1 : out std_logic_vector (6 downto 0); digit2 : out std_logic_vector (6 downto 0) );end top;

architecture behavioral of top is

component two_digit_display is port ( bcd1 : in std_logic_vector (3 downto 0); bcd2 : in std_logic_vector (3 downto 0); digit1 : out std_logic_vector (6 downto 0); digit2 : out std_logic_vector (6 downto 0) ); end component;

component dcf77_decoder is Port ( input : in std_logic; clock : in std_logic; tick : out std_logic; sync : out std_logic; data : out std_logic_vector (58 downto 0) ); end component;

signal data : std_logic_vector (58 downto 0); signal bcd1 : std_logic_vector (3 downto 0); signal bcd2 : std_logic_vector (3 downto 0); signal tick : std_logic;

begin display: two_digit_display port map (bcd1 => bcd1, bcd2 => bcd2,

Page 61: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

FPGA

www.elektor-magazine.es | junio 2013 | 61

ras crear. En mi proyecto son cinco: top, descodi-ficador DCF77, detector de flancos, descodifica-dor BCD a 7 segmentos y display de 2 dígitos.El módulo top viene refle-jado en el listado 3. Los nombres de las señales de entrada y salida de top, así como las señales que son nombradas en el blo-que entity, tienen que coincidir con los nombres dentro del fichero UCF. De esta forma se establecen las conexiones entre los terminales del integrado y el código VHDL. Aquí tie-nen que aparecer todas las señales del fichero UCF, sino el ISE empieza a quejarse. La utilización de vectores para los termina-les de los display es algo nuevo aquí. En el fichero UCF lo hacemos mediante la utilización del índice con el nombre del vector, por ejemplo, digit1(0) se corresponde con el bit 0 del vector digit1 de top.El bloque architecture de top llama a dos compo-nentes, two_digit_dis-play y dcf77_decoder, de los que se utiliza uno de cada. Con un display más grande de, por ejem-plo, seis cifras podemos instanciar tres ejempla-res de two_digit_dis-play (con tres etiquetas diferentes) y conectar-los. Para la interconexión de los dos componentes definí un número de seña-

les adicionales que no son necesarias fuera de top. Por ejemplo, se utiliza la señal tick para que el LED1 destelle por cada bit recibido, pero como este LED no está disponible en un terminal de la placa FPGA, también está conectado a la señal t_sample que en el fichero UCF está conec-

señales de entrada y salida vayas a necesitar. Si aún no lo sabes, déjalo en blanco. Cuando hayas terminado haz clic sobre Next y a continuación sobre Finish. El ISE crea ahora un fichero con una plantilla en la que tienes que añadir el código VHDL. Añade tantos ficheros como módulos quie-

digit1 => digit1, digit2 => digit2);

dcf77: dcf77_decoder port map (input => dcf77_input, clock => clk_in, tick => tick, sync => led2, data => data);

process (clk_in) is begin t_sample <= tick; led1 <= tick; if rising_edge(clk_in) then if time_date=’1’ then -- Show time. if hour_month=’1’ then -- Show hours. bcd1 <= data(32 downto 29); bcd2 <= “00” & data(34 downto 33); else -- Show minutes. bcd1 <= data(24 downto 21); bcd2 <= “0” & data(27 downto 25); end if; else -- Show date. if hour_month=’1’ then -- Show month. bcd1 <= data(48 downto 45); bcd2 <= “000” & data(49 downto 49); else -- Show day of month. bcd1 <= data(39 downto 36); bcd2 <= “00” & data(41 downto 40); end if; end if; end if; end process;

end behavioral;

Page 62: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

62 | junio 2013 | www.elektor-magazine.es

tado al terminal P86. Entonces podremos ver bien con un osciloscopio el momento de muestra en comparación con la señal de entrada DCF77.El proceso de top no hace cosas muy emocio-nantes. Realmente es un multiplexor que depen-diendo de los niveles de las señales de control (time_date (P94) y hour_month (P95)) muestra las horas, los minutos, el día del mes o el mes en el display de 7 segmentos de dos cifras. Con un poco de cortar y pegar (‘&’) se pasan los bits correctos del gran registro de desplazamiento a dos campos BCD de 4 bits, que a continuación los descodificadores BCD convierten en señales de 7 segmentos. Es importante comentar aquí que no es necesario interconectar explícitamente los vectores bcd1 y bcd2 al componente display, ya que esto ya se ha hecho a través del puerto map.Cuando sinteticemos este diseño aparecerán varios avisos. Aparecen porque no se utilizan todos los bits del registro de desplazamiento DCF77 y porque el bit 3 del vector bcd2 siem-pre está a ‘0’ ya que no se utilizan 8 bits (sólo el campo año consta de 8 bits, pero aquí no lo estamos utilizando). Lo que también podrás observar es que ha surgido una bonita jerar-quía en la pestaña Design (figura 3), igual que cuando introducimos un diseño como esquema. Así que ahora todo es como era antes. Como ya he comentado anteriormente el ISE dispone de un RTL Viewer que (supuestamente, ver figura 2) es capaz de mostrar el código VHDL de forma esquemática y con esto estamos otra vez de vuelta. Un esquema es simplemente código VHDL y VHDL es simplemente un esquema.

Al final el artículo ha quedado bastante largo a pesar de que quise ser breve. He intentado transmitir toda la información importante, pero se requiere un poco de trabajo personal y perse-verancia para construir este proyecto uno mismo. ¡Suerte!

(130066-I)

Enlaces Web

[1] 1ª entrega: www.elektor.es/120099

[2] 2ª entrega: www.elektor.es/120630

[3] 3ª entrega: www.elektor.es/120743

[4] 4ª entrega: www.elektor.es/130065

[5] 5ª entrega: www.elektor.es/130066

Figura 4.El esquema del descodificador DCF77 es casi idéntico al de la 3ª entrega [3]. Como la FPGA no soporta bien señales de 5 V, limitamos la señal de entrada hasta unos 3 V con un diodo zener.

Figura 5.El circuito de pruebas controlado con un Arduino como simulador DCF77. El display muestra ‘17’, las horas simuladas. La placa Arduino alimenta a la placa FPGA.

Page 63: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

All books are now 15% off. From assembly language to microprocessor design, embedded Linux to C programming,

these tools will help you master any engineering challenge.

For professionals, academia, and enthusiasts alike,

CC-Webshop’s collection of audio and electronics

engineering books will help take your ideas

from concept to creation.

Offer ends 6/30/13

www.cc-webshop.com

Spring into summer savings event!

Naamloos-5 1 29-04-13 09:44

Page 64: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

64 | junio 2013 | www.elektor-magazine.es

Si damos por hecho que Python es un lenguaje de programación especialmente útil para los electrónicos, lo normal sería que queramos uti-lizarlo para representar datos visualmente. Para el ser humano, las curvas son mucho más fáci-les de interpretar que un montón de columnas con números. No hace falta descubrir de nuevo la pólvora si pretendemos dibujar cada una de estas curvas “manualmente”, muchos lengua-jes de programación disponen de librerías que simplifican la tarea enormemente. Por suerte, Python es uno de ellos.

DiagramasEn Python, el módulo estándar para diagramas en 2D se denomina “Matplotlib”. A pesar de que en Python el eslogan es “para cada tarea, un único método”, con los módulos adicionales lamen-tablemente no es así, y llevó bastantes horas poder trabajar con ellos. En el caso de Matplotlib tenemos tanto un procedimiento simple, como un complicado interfaz orientado a objetos. Los ejemplos disponibles en Internet y en los libros utilizan uno u otro procedimiento, con lo que los códigos mostrados se confunden fácilmente.El interfaz simple “pyplot” también permite rea-lizar programas muy sencillos. El programa del listado 1 genera una señal sinusoidal amorti-guada y registra la curva resultante a modo de gráfica en una ventana (véase la figura 1).La primera línea importa el interfaz “pyplot” como objeto “plt”. Para los cálculos matemáticos hemos

optado por el módulo “Numpy”. En la segunda línea se importan tres funciones.Con “linspace” puede representarse vectorial-mente (como matriz) un intervalo (en este caso de 0 a 7) del tamaño deseado (aquí 1.000). Esto permite calcular rápidamente los valores de la función. Las funciones de Numpy también pueden trabajar con vectores. He aquí la curva:

y= sin(5*x)*exp(-x)

Cada 1.000 valores se calcula la variable “y” del vector.No hará falta utilizar bucles for y sin embargo obtendremos rápidamente un código fácil de interpretar.Con el comando “plt.plot(x,y)” se representan los datos en una curva. Para que el gráfico sea visible, hemos de utilizar después la instrucción “plt.show()”. Si queremos representar varias cur-vas en un mismo diagrama, bastará con llamar varias veces a la función de plot, tal como se muestra en el listado 2.La ventana del diagrama (ver la figura 1) incor-pora automáticamente una barra de herramien-tas que permite hacer zoom y guardar el gráfico. También pueden verse las coordenadas con el cursor. No obstante, si queremos disponer de un bonito diagrama con elementos de un GUI (Gra-phical User Interface, interfaz gráfico de usuario), será más complicado. En ese caso tendremos que seguir el procedimiento orientado a objetos.

Jean-Claude Feltes (Luxemburgo)

De BASIC a Python (2)Una breve reseña

En la primera parte vimos las principales diferencias entre Python y BASIC. Mostramos cómo llevar a cabo la instalación y ejecutar nuestros primeros programas. Ahora nos centraremos en los diagramas y la sínte-sis de Fourier. Para terminar, también veremos cómo

implementar un entorno de usuario.

Page 65: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

lenguajes de programación

www.elektor-magazine.es | junio 2013 | 65

Ejemplo: respuesta en frecuenciaSi queremos representar por ejemplo la curva de un filtro RC de paso bajo, entonces hemos de calcular el valor en números complejos de la respuesta en frecuencia F según la fórmula del divisor de tensión con impedancias complejas:

F = 1 / (1 + j ω R C)

La curva entonces corresponde a los valores de F en función de la frecuencia (véase la figura 2). En este ejemplo podemos aprovecharnos de la capacidad de Python para trabajar con números complejos.En el programa del listado 3 primero se calcula la matriz “f” con frecuencias divididas por etapas logarítmicamente. Para hacerlo de forma lineal habría que utilizar “linspace()”. Finalmente se genera la matriz con los valores complejos de F y la matriz de “Fabs”. Aquí volvemos a benefi-ciarnos del uso de Numpy gracias a sus funciones vectoriales. No hace falta utilizar bucles for, y el código sigue siendo breve y conciso.Para terminar se muestra el diagrama, en donde el eje de la frecuencia está escalado logarítmica-mente. Para una buena representación gráfica es importante configurar la rejilla correctamente:

ax.grid(True, which = “both”, linestyle = “-”)

Aquí se activa la rejilla, con “both” aparecerán ambas (la principal y la secundaria, para las sub-divisiones) y se configuran de modo que aparez-can como líneas sólidas.Añadiendo las siguientes líneas de código tam-bién se puede configurar la respuesta en fase:

# plot phi = f(f)phi = angle(F)*180.0/piax2 = fig.add_subplot(212)ax2.plot(f, phi)ax2.grid(True, which = “both”, linestyle = “-”)ax2.set_xscale (“log”)ax2.set_xlabel(“f/Hz”)ax2.set_ylabel(“phi/degrees”)

Ejemplo: síntesis de FourierLos electrónicos a los que les gusten las matemá-ticas estarán encantados cuando sepan lo cómodo que resultan algunas cosas como la síntesis de Fourier en Python.

Figura 1.Representación gráfica de una señal sinusoidal amortiguada, obtenida mediante el código del listado 1.

Figura 2.Respuesta en frecuencia de un filtro RC paso bajo, según el listado 3.

Listado 1: Sinus.py

import matplotlib.pyplot as pltfrom numpy import sin, exp, linspace

x=linspace(0.0, 7.0, 1000)y= sin(5*x)*exp(-x)

plt.plot(x, y)plt.show()

Listado 2: Multigraph.py

mport matplotlib.pyplot as pltfrom numpy import sin, exp, linspace

x=linspace(0.0, 7.0, 1000)y1 = sin(5*x)*exp(-x)y2 = y1* 0.5

plt.plot(x, y1)plt.plot (x, y2)plt.show()

Page 66: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

66 | junio 2013 | www.elektor-magazine.es

En el ejemplo del listado 4 se genera sintéti-camente una señal bastante cuadrada, sirvién-donos de una combinación de 30 armónicos. La figura 3 muestra el resultado obtenido con un código relativamente simple. En el código tam-bién puede aumentarse o disminuirse el número de armónicos.

¿GUI o no?Los usuarios de Linux tienen cierta reputa-ción de no utilizar mucho los GUIs, e incluso llamarlos “click-buntu” y considerar al ratón un invento del demonio. Sean o no ciertos los estereotipos, la verdad es que la mayoría de la gente prefiere programas bien diseña-dos y fáciles de utilizar. Y siendo sinceros, un entorno gráfico para manejar los archivos es básico, ¿no?En cualquier caso, en Python podemos combinar elementos gráficos y no gráficos en un mismo programa. El programa del listado 5 se trata de un plotter de datos. Los datos leídos se envían mediante una instrucción “print” a la ventana de un terminal en formato de texto, y posterior-mente se representan en ventana gráfica a modo de diagrama (ver la figura 4).Entre las librerías de GUI nos veremos obliga-dos a elegir. Primero utilizamos “Tkinter”, ya que está incluida en el intérprete de Python y resulta fácil de aprender y utilizar. Pero al copiar gráficos al portapapeles surgían proble-mas, de modo que cambiamos “wxPython”. No

Listado 3: RC.py

import matplotlib.pyplot as pltfrom numpy import pi, linspace, log10, logspacefrom numpy import complex, abs # these allow vector operations

# EDITR = 10.0E3C = 100.0E-9

# END EDIT

RC = R*C

# create f values equally spaced on a log scalef = logspace ( 1, 4, 100) # 100 values from 10**1 to 10**4

# calculate F (complex) and absolute value Fabs F = 1 / (1 + 1j* 2 * pi * f * RC)Fabs = abs(F)

# plot Fabs = f(f)fig = plt.figure()ax = fig.add_subplot(111)ax.plot(f, Fabs)ax.grid(True, which = “both”, linestyle = “-”)ax.set_xscale (“log”)ax.set_xlabel(“f/Hz”)ax.set_ylabel(„U2/U1“)ax.set_title(“RC low pass frequency response”)plt.show()

Figura 3.Síntesis de Fourier de una señal cuadrada según el listado 4.

Figura 4.Plotter de datos: ventana del terminal con valores numéricos y representación gráfica en los ejes X e Y.

Page 67: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

lenguajes de programación

www.elektor-magazine.es | junio 2013 | 67

Para simplificar se ha optado por la programación “phytónica” orientada a objetos. Tras importar los módulos necesarios se definen las funciones y posteriormente se da paso al programa principal.Éste crea un primer esbozo de la “app”. Apa-recerá un objeto de frame a modo de ventana para la aplicación. Esta ventana dispone de un menú y un cuadro de texto para editar y mos-trar los datos. En realidad, este cuadro de texto

obstante, también hay otras alternativas como “PyQt” y “GTK”.El plotter de datos es un buen ejemplo para uti-lizar elementos del GUI. El programa permite ver y editar datos almacenados en un archivo de texto, con valores de medida. Los valores pueden representarse en un gráfico bidimensional en X e Y. Las coordenadas de X e Y se muestran así mismo numéricamente en dos columnas.

Listado 4: Fourier.py

“””FOURIER SYNTHESIS FOR RECT VOLTAGE”””#--------------------------------------------------------# EDIT HERE

n = 30 # number of harmonicsnb_points=1000 # horizontal resolutionfrequency = 100.0 #Hzamplitude = 2.0 #V

# END OF EDIT AREA#---------------------------------------------------------print “Importing modules”import matplotlib.pyplot as pltfrom numpy import sin, exp, linspace, pifrom numpy import zeros #----------------------------------------------------------def calc_amplitude(amplitude, i): “”” Calculate amplitudes of harmonics””” # take only odd harmonics if i % 2 == 0: ai = 0 else: ai = (4/pi)*amplitude / i return ai#---------------------------------------------------------def calc_harmonics(nb_points, n): “”” Calculate harmonics and resulting voltage returns uharm = array nb_points * n ug = array nb_points “”” # init arrays for resulting voltage and

harmonics ug = zeros(nb_points) uharm = zeros((nb_points, n+1)) # harmonics and total voltage for i in range(1,n+1): ai = calc_amplitude(amplitude, i) fi = frequency * i uharm[:,i] = ai * sin(2 * pi * fi * t ) ug = ug + uharm[:,i] return uharm, ug#----------------------------------------------------------- “”” Main program”””

T=1/frequency

# equally spaced time array for 1 periodt = linspace(0.0, T, nb_points)

# plot harmonicsuharm, ug = calc_harmonics(nb_points, n)for i in range(1,n+1): plt.plot (t, uharm[:,i])

# plot resulting voltageplt.plot (t, ug)

s=str(n)+” harmonics, “+str(frequency)+”Hz, ampl.=”+str(amplitude)+”V”plt.title(“Fourier synthesis RECT\n”+s)plt.xlabel(„t/s“)plt.ylabel(„u/V“)

# make plot visibleplt.show()

Page 68: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

68 | junio 2013 | www.elektor-magazine.es

Listado 5: Dataplot.py

#!/usr/bin/env python“”” Plot data from file “””import wximport os.pathimport matplotlib.pyplot as plt

def create_menu(frame): # create menu menubar = wx.MenuBar() # main menus mnuFile = wx.Menu() mnuData = wx.Menu() menubar.Append(mnuFile,”&File”) menubar.Append(mnuData,”&Data”) # submenus m_Open = mnuFile.Append(-1,”&Open”) mnuFile.AppendSeparator() m_Exit = mnuFile.Append(-1,”E&xit”) m_Plot = mnuData.Append(-1,”&Plot”) # attach menu to frame frame.SetMenuBar(menubar)

# bind menu events to procedures frame.Bind(wx.EVT_MENU, OnExit, m_Exit) frame.Bind(wx.EVT_MENU, OnOpen, m_Open) frame.Bind(wx.EVT_MENU, OnPlot, m_Plot) #-----------------------------------------------------------------------# Event handlersdef OnExit(event): frame.Close() def OnOpen(event): # ask for filename dlg = wx.FileDialog(None,”Open data file”, os.getcwd() ,””, “*.*”, wx.OPEN) dlg.ShowModal() filename = dlg.GetPath() # open file, get data and put it into textbox try: f = open(filename, “r”) data = f.read() f.close() textbox.SetValue(data) except: wx.MessageBox(“Could not open file!”)

Page 69: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

lenguajes de programación

www.elektor-magazine.es | junio 2013 | 69

def OnPlot(event): # plot data x,y = fill_xy_with_values(textbox) plot_xy(x, y) #-----------------------------------------------------------------------def fill_xy_with_values(textbox): # “”” get values from textbox # returns arrays x, y and number of data points””” text=textbox.GetValue() lines=text.splitlines() x=[] y=[] for line in lines: columns = line.split() #separator can be one or more “ “ or “\t” x.append (float(columns[0])) y.append (float(columns[1])) return x,y #----------------------------------------------------------------------- def plot_xy( x, y): “”” Plot arrays x, y with matplotlib””” plt.figure(1) plt.subplot(111) # 1 row, 1 col, plot nb. 1 plt.grid(True) plt.plot(x, y) plt.xlabel(“x”) plt.ylabel(“y”) plt.show() #-----------------------------------------------------------------------# Main#-----------------------------------------------------------------------app = wx.App()

# create frameframe = wx.Frame(None, title=’PLOTTER’, pos=(350,300))

create_menu(frame)# editor textbox for datatextbox=wx.TextCtrl(frame, style = wx.TE_MULTILINE)

# show frame and run event loopframe.Show()app.MainLoop()

Page 70: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

70 | junio 2013 | www.elektor-magazine.es

Python resulta especialmente apto para las tareas típicas de adquisición y tratamiento de datos. Algunos conceptos como los filtros o la FFT no suponen un gran problema, y podemos ampliar nuestros proyectos de forma relativamente fácil con un entorno de usuario gráfico.En la próxima entrega mostraremos cómo pro-gramar un sencillo sistema de control y adquisi-ción de datos mediante RS485 y el ElektorBus.

(120143)

Enlaces y bibliografía

[1] Listados y demás: www.elektor.es/120143

[2] Página del autor: http://staff.ltam.lu/feljc/home.html

[3] Documentación de Python: https://pypi.python.org/pypi/RPi.GPIO

[4] Tutoriales de Python: www.awaretek.com/tutorials.html

[5] Referencia: Michael Weigend: “Python gepackt”

[6] Iniciación: J.M. Hughes: Real World Instrumentation with Python

[7] Módulos disponibles en paquetes de Python: http://pypi.python.org/pypi

[8] Python para electrónicos: Andrew Pratt: “Programación en Python y GUIs para ingenieros electrónicos” www.elektor.es/python-programming

es un pequeño editor: los valores pueden edi-tarse o añadirse, e incluso pueden manejarse los datos con el portapapeles, utilizando los atajos de teclado típicos. El botón derecho del ratón abre un menú contextual con las funciones de edición clásicas.Con “frame.Show()” se muestra la ventana y con “app.MainLoop()” se inicia un event-loop. El programa se ejecuta hasta detectar un evento (clic con el ratón o al pulsar una tecla) y enton-ces da paso al event-handler (función a la cual se llama al detectarse un evento).La primera función define los menús y su relación con los event-handlers que empiezan por “On”. Las funciones “OnExit”, “OnOpen” y “OnPlot” se ejecutan mediante la correspondiente tecla del menú. Con “OnOpen” se llama al primero al selector de archivo “wx.FileDialog”. Aquí se uti-liza “os.getcwd” (get current working directory) para localizar el archivo en el directorio actual.El archivo se abre tras haber seleccionado el nom-bre. Se procesa mediante “try – except”, para detectar posibles errores de archivo. Si puede abrirse correctamente, el contenido se copia al completo en la variable “data” y se pega en el cuadro de texto.Aquí, los valores de medida ahora pueden edi-tarse, copiarse o pegarse. Lógicamente también pueden introducirse valores a mano en lugar de cargarlos desde un archivo.Con “OnPlot” Los datos se representarán gráfica-mente en un diagrama. Para ello, se realiza una llamada a las funciones “fill_xy_with_values” y “plot_xy”. La primera lee los datos del cuadro de texto y los separa en una matriz por líneas. En el bucle for se iteran todas las filas. Éstas se separan con “line.split()” y posteriormente se añaden los valores individuales en las matrices “x[]” e “y[]”. Después éstos se devuelven como valores de la función.La función “plot_xy” genera el diagrama (figura 4). Obviamente este pequeño programa es aún algo rudimentario, pero hace bastante más de lo que podríamos lograr en Visual Basic con muchísimo más esfuerzo. También podemos añadir por nuestra cuenta fácilmente una opción en el menú para guardar los datos editados.

Conclusiones y planes para el futuroLlegados a este punto deberíamos tener una idea básica de lo fácil y eficiente que es Python. Lle-var nuestros conocimientos al siguiente nivel es relativamente simple al partir de estos ejemplos.

Sobre el autor

Jean-Claude Feltes imparte clases de electrónica en el Lycée Technique des Arts et Métiers en Luxemburg. Esta escuela de tecnología y artes otorga cualificaciones profesionales a aprendices y técnicos. Dedica gran parte de su tiempo libre a su pasión por la electrónica y la programación (véase [2]).

Page 71: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

Más informacíon y pedidos en www.elektor.es/eagle

EAGLE V6 Getting Started GuideAprendiendo a volar con Eagle

Este libro (en inglés) facilita al lector una introducción al uso del paquete de software de diseño EAGLE PCB de CadSoft. Después de leer este libro al tiempo que se practica con varios ejemplos, y se completan los proyectos, el lector debe sentirse capaz de afrontar retos más complejos.

El libro te permitirá rápidamente:• obtener una visión general de los principales módulos de EAGLE: el editor de esque-

mas; el editor de diseño y el autorouter en un solo interface;• aprender a utilizar algunos de los comandos básicos de los módulos editores de

esquemas y diseño de EAGLE;• aplicar tu conocimiento de EAGLE a un pequeño proyecto;• aprender más de algunos de los conceptos avanzados de EAGLE y sus capacidades;• comprender como EAGLE se relaciona con las etapas de fabricación de las PCBs;• crear un proyecto completo, desde el diseño a la fabricación de la PCB. El proyecto

comentado en el libro es un popular y comprobado diseño del equipo de ingeniería de Elektor.

208 páginas • ISBN 978-1-907920-20-2 • 34,50 €Incl. una copia de EAGLE 6.4.0 en CD-ROM para MS Windows, Linux and Mac.

-10% para miembros GREEN

NUEVO LIBRO

powered by Eurocircuits

25% de descuento en las PCBs nuevas de Elektor

¡Aprovéchate ahora: Elektor PCB Service ofrece siempre un descuento durante los 90 días posteriores al lanzamiento

de las nuevas placas de Elektor!

En www.elektor.es/pcb encontrarás todas las PCBs de Elektor

Page 72: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

72 | junio 2013 | www.elektor-magazine.es

Ya hay un cierto número de sistemas que tratan sobre cómo localizar un modelo de R/C (radio-control) perdido. He considerado que yo podía hacer un sistema un poco mejor. Las especifica-ciones del diseño son:

Transmisor muy ligero para el avión. Batería de reserva en caso de desconexión de

la batería principal. Uso de módulos de radio comerciales autori-

zados en la banda ISM de UHF. Rango de alcance de al menos 200 m. Receptor manejable y capaz de utilizar “locali-

zación de dirección por radio” (RDF) para loca-lizar el avión.

Partiendo de ello, he sido capaz de poner todo junto en el diseño que se describe en estas pági-nas. Si sabes mucho del montaje de aviones de modelismo y su pilotaje, pero no sobre electró-nica, considera hacer este proyecto como una actividad de un club.

Robert Budniak (Australia)

Localizador de Modelos Perdidos¡Directo al lugar del accidente!

A todo ‘piloto’ de aviones de radiocontrol se le ha caído un avión fuera de los límites del campo de vuelo. A veces, la localización del valioso

aeroplano es fácil pero otras es difícil de localizar. Hierba alta, árboles e incluso la incertidumbre del lugar donde ha caído, hacen que sea difícil de encontrar el

escurridizo avión. Así pues, vamos a construir un localizador de dirección por radio (RDF) que, idealmente, nos llevará directos al lugar del accidente.

Prestaciones•Diseño de bajo coste.•Placa TX con tecnología SMD, placa RX con tecnología T/H.•Adaptada a la mayoría de módulos radio de corto alcance de la banda

ISM de 315/433.•Señal de llamada programable para cada TX•Alcance mínimo: 200 m•Alcance máximo: depende de la orografía del terreno y de los

módulos TX y RX usados.•Antena direccional Yagi de 4 elementos en RX.

Page 73: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

localizador de modelos perdidos

www.elektor-magazine.es | junio 2013 | 73

TransmisorCada país tiene una serie de frecuencias de radio asignadas para la Banda de Instrumentación, Científica y Médica (ISM), a veces combinada con “Dispositivos de Corto Alcance” (SRD, del inglés, ‘Short Range Devices’). Estas frecuen-cias varían entre los distintos países. Mientras que en USA se usa la frecuencia de 315 MHz, en Australia y en la mayoría de los países europeos tenemos 433 MHz. Como existe una demanda de transmisores sencillos y baratos, también hay un cierto número de fabricantes que proporcio-nan módulos de RF para este mercado. El tipo de módulo usado en este proyecto usa Modula-ción por Desplazamiento de Amplitud (“Ampli-tude Shift keying” o ASK) y este tipo de módulos parece tener una configuración de terminales estandarizada en diferentes fabricantes. Por eso hemos elegido este módulo de transmisión de RF. Debemos señalar que la lista de materiales del proyecto que se indica aquí son sólo mode-los sugeridos.Como podemos ver en el esquema eléctrico de la Figura 1, el módulo de RF sólo necesita tener una trama de datos aplicada a su terminal ‘DATA’ y, para este proyecto, he usado un sencillo circuito integrado PICAXE08M. He elegido este microcon-trolador porque se encuentra muy fácilmente, el lenguaje de programación es fácil de aprender y el circuito integrado no requiere ningún equi-pamiento especial para su programación. Real-mente es un sistema ideal para proyectos de poco volumen y baja complejidad.El código es sólo de unas pocas líneas (ver Lis-tado 1) y, en la muestra de código para este proyecto se generan tres tonos cortos de 500 Hz y, a continuación, una pausa de unos 2,5 segun-dos. Aunque el código se puede copiar tal cual, recomiendo que se modifique la línea donde se generan los tonos, sobre todo si estamos usando un cierto número de estos transmisores, unos cerca de otros (como puede ocurrir en un club).El transmisor normalmente está alimentado del receptor del avión. Sin embargo, a veces, la bate-ría del avión se desconecta en un accidente, por lo que se ha añadido una batería de reserva. La batería de reserva es una pequeña batería de Li-Po (de unos 130 mAh de capacidad), que nor-malmente alimenta pequeños aviones de interior. La batería es muy barata y se puede conseguir a través de proveedores en Internet.Normalmente utilizamos diodos de bloqueo para seleccionar automáticamente la fuente de alimen-

tación. Sin embargo, con las bajas tensiones usa-das en este proyecto (5 V y 3,7 V), e incluso una caída de tensión de 0,4 V de un diodo Schottky sería una parte considerable de dicha tensión. Buscando en las bases de datos de Internet, he encontrado algunos transistores de pequeña señal del tipo DTB123YK (T1, T2), que también tiene resistencias base-emisor y base en el pro-pio componente. Estos componentes funcionan bastante bien en el bloqueo de las tensiones de las baterías y la caída de tensión en los extre-mos del transistor es de tan sólo 100 mV. La

K1

+V1

SER IN2

IN43

IN34

IN25

IN16

SER OUT7

0V8

IC1

PICAXE-08M2

T1DTB123YK

K3

T2DTB123YK

BT1

K5

Antenna

TransmitterModule

GNDDATAVCCAntenna

+5V

K2TXDRXD

R2 22kR1

10k

K4

120139 - 11

+5V

C1

100n

12345

K1

USB-B mini

JP1

JP2

4V14V2

JP3

IN4

GND

3

GND

6

SELV1

EN7

SELI2

BATT 5

CHG 8IC1

MAX1811

USB

AUX

100mA500mA

R1

1k5D1

BT1

Li-ion/LiPo

K2

0+6V5...15V

32

1

IC2NCP1117ST50

PMEG2010AEHD2

25V

C4

10u

10V

C2

10u

10V

C3

10u

1C

AUX

120139 - 13

Figura 1.Esquema eléctrico del circuito del transmisor, que no es mucho más que un microcontrolador PICAXE programado.

Figura 2.Un posible circuito cargador para la batería de LiPo/Li-Ion en el transmisor. Puede alimentarse de manera externa (6,5–15 VDC) o a través del puerto USB, según se seleccione con JP1.

Listado 1. Código PICAXE TX

main:sound 4,(0,10,120,10,0,10,120,10,0,10,120,10,0,10)high 4pause 2300 goto main

Page 74: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

74 | junio 2013 | www.elektor-magazine.es

selecciona la tensión de regulación, 4,1 V o 4,2 V (puente JP2, SELV). La otra entrada establece la corriente de carga, 100 mA o 500 mA (puente JP3, SELI). Una característica interesante de este CI es la capacidad de colocar previamente la batería cerca de su estado de agotada antes de iniciar la carga. La entrada de habilitación (EN) no se usa y, por lo tanto, está permanentemente conectada a la tensión de alimentación. La des-cripción general en las hojas de características establece expresamente que el CI se puede ali-mentado desde un puerto USB y puede trabajar con tensiones de entrada tan bajas como 4,35 V, la mínima de un puerto USB. Con tensiones de entrada más altas (el MAX1811 puede tra-bajar con una tensión máxima de 6,5 V) y con un consumo de corriente elevado, el CI limitará la corriente de carga para mantener la tempe-ratura a un nivel seguro. Para los casos en que sólo se disponga de una fuente de alimentación con una tensión más elevada, se ha añadido un regulador de 5V (IC2), de baja caída de tensión. Un puente selecciona la tensión de entrada para el MAX1811 (JP1: AUX o USB). No conectes una tensión de entrada al regulador si se ha selec-cionado el puerto USB como fuente de entrada. El desacoplo de la entrada del MAX1811 (C2) se dobla, al igual que el desacoplo de salida del regu-lador. Esto se ha hecho para ahorrar el espacio.

Interfaz PICAXE PEEn algún momento tendremos que cargar sobre el avión un programa idéntico al del CI PICAXE. En caso de estar usando un adaptador FTDI de TTL-a-RS232 para hacer de interfaz con los ter-minales TXD/RXD del PICAXE, en combinación con el Editor de Programación PICAXE, necesita-remos un circuito inversor adicional, tal y como se muestra en la Figura 3.

ReceptorEl receptor está basado en un módulo comple-mentario del transmisor. Sin embargo, hay que poner un poco más de cuidado en la selección del receptor, para asegurar que éste suministra las señales correctas a nuestro circuito.Según la Figura 4, la primera salida del módulo receptor viene del terminal DATA, 14. Los datos pasan a través de un FET, T1, de pequeña señal y, su salida, va al transductor piezoeléctrico Bz1 (no a un zumbador piezoeléctrico). Lo que oiremos de este transductor (¡con suerte!) son los tonos y pausas generadas por el transmisor. En fun-

única desventaja es que, cuando se desconecta la batería principal, la batería de reserva entra en funcionamiento. Por ello, la batería de reserva tiene que ser desconectada cuando el avión no está en uso o terminará descargandose.Así pues, el Localizador de Modelos Perdidos se puede dejar permanentemente in situ (es tan barato que podemos tener uno para cada avión), ya que está diseñado con un puerto de carga com-binado con un interruptor de encendido/apagado. Esto lo conseguimos usando el conmutador interno del conector tipo ‘jack’ hembra de 2,5 mm, que es activado por un ‘jack’ macho de 2,5 mm. Con el ‘jack’ insertado, la batería de reserva se desco-necta. Si se inserta un ‘jack’ que está conectado a un cargador, podemos cargar la batería.

CargadorEn la Figura 2 se muestra un circuito suge-rido para un cargador. Dos entradas controlan el modo en el que trabaja el cargador. Una entrada

12 1

IC1.A

3 41

IC1.B

5 61

IC1.C

9 81

IC1.D11 101

IC1.E13 121

IC1.F

14

7

+5V

C1

100n

K3

+5V

TTL-232R-5V

K2+5V

K1

IC1

+5V

VCCTXDRXD

RXDTXD

120139 - 14

IC1 = 74HC04

123456789101112131415

MOD1

T1

2N7000

R1

1k

BZ1

R3

360R

R2

620R

R4

2k7

LED812

LED713

LED1010

LED911

LED614

LED317

LED218

LED515

LED416

V+3

DIV LO4

LED11

V-2

IN5

REF ADJ8

MD SEL9

DIV HI6

REF OUT7

IC1

LM3914

D2

D3

D4

D5

D6

D7

D8

D9

D1

D10

+4V8 +4V8

Antenna

K1

C1

100n

+4V8

K2

+4V80

120139 - 12ReceiverModule

Figura 3.Construir este circuito inversor si utilizamos un adaptador FTDI TTL-a-RS-232 entre los terminales TX/RX del transmisor y, por ejemplo, un microcontrolador.

Figura 4.El receptor del Localizador de Modelos Perdidos utiliza un viejo y fiable indicador de barras gráficas de LED LM3914. El módulo receptor (RX) de 433 MHz (315 MHz) va conectado sobre el conector MOD1.

Page 75: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

localizador de modelos perdidos

www.elektor-magazine.es | junio 2013 | 75

El módulo de RF se puede conectar a la placa con un trozo corto de cable plano de 4 hilos, usando conectores ‘pinheaders’ y adaptando conectores IDC. O bien, se puede dejar plano sobre la placa del microcontrolador, tal y como se muestra en la Figura 6 (versión de 433 MHz construida por los Laboratorios de Elektor). Nos aseguraremos de que las caras de soldadura de las placas no se tocan.La parte final es la instalación de una antena de un cuarto de onda. Una pieza del hilo rígido de, aproximadamente, 173 mm de longitud, hará esta función (yo he usado un nucleo de un cable

cionamiento oiremos nuestra ‘señal de llamada’ personal que fue introducida en el transmisor.La segunda salida del transmisor es la salida RSSA (terminal 13). Básicamente, es una ten-sión que es proporcional a la fuerza de señal y usada como parte del Control Automático de Ganancia (CAG) en estos receptores. Esta señal se aplica a la entrada de un controlador LED LM3914. Se detectó que la señal de RSSA del prototipo variaba entre 0,4 V y 2 V, con lo que los límites superiores e inferiores del controla-dor LED han sido establecidos en estos valores. No entraré en el diseño del circuito alrededor del LM3914, ya que este integrado ha sido utili-zado en un sinfín de proyectos de electrónica DIY (‘Do Your Self’ o ‘Hazlo Tú Mismo’) durante las décadas pasadas. Si queremos un tutorial más detallado, dirigid vuestro navegador web a [1] y disfrutad del EEVBlog #204 de Dave. Saludad a Dave de nuestra parte.El receptor se alimenta con cuatro pilas AA o AAA, recargables o secas, aunque tres pilas secas tam-bién deberían trabajar. A pesar de que las hojas de características del transmisor dicen que la máxima tensión es de 5 V, hemos verificado que el módulo puede trabajar sin problemas con hasta 7 V.El otro elemento importante asociado con el receptor es la antena direccional ‘Yagi’ de 4 ele-mentos. Esta antena fue elegida por su simplici-dad y sus propiedades direccionales, una carac-terística que, obviamente, será necesaria en la sección de cómo usarla.

MontajeEl transmisor está construido sobre una placa de circuito impreso de doble cara que usa com-ponentes SMD (ver Figura 5). El módulo usa conectores del tipo ‘pinheaders’, con separación entre terminales de 2,54 mm, para todas las conexiones externas excepto para el posible K3. La información del diseño se puede descargar gratis de [2]. El PICAXE se puede soldar sobre la placa, pero también se puede montado sobre un zócalo DIL-8. Sólo soldaremos los dos transisto-res si usamos la versión con batería de reserva. No conectaremos aún el módulo de RF sobre la huella marcada como K3.En estas condiciones, podemos probar el con-trolador del transmisor conectando un transmi-sor piezoeléctrico entre los terminales de datos y masa que van al módulo de RF. Después de aplicar la alimentación deberíamos ser capaces de oír nuestros ‘tonos de llamada’.

Lista de materialesTransmisorResistenciasR1 = 10kΩ 1%, SMD0805R2 = 22kΩ 1%, SMD0805

SemiconductoresIC1 = PICAXE-08M2, programadoT1,T2 = DTB123YK

MisceláneosK1,K2,K5 = conector tipo ‘pinheader’ de 3 terminales,

paso 2,54 mm.K3 = conector tipo ‘pinheader’ de 4 terminales, paso

2,54 mm (opcional, ver texto).K4,BT1, conector tipo ‘pinheader’ de 2 terminales,

paso 2,54 mm.Módulo transmisor (en K3), ASK, banda ISM 433MHz,

modelo autorizado, por ejemplo, Quasar Electronics tipo QAM-TX1 (433 MHz), Farnell/Newark # 1304024. Lectores USA, usad equivalente de 315MHz.

Batería LiPo, de 3,7V, 130mAhPlaca de circuito impreso ref.120139-1

ReceptorResistenciasR1 = 1kΩR2 = 620Ω 1%R3 = 360Ω 1%R4 = 2.7kΩ

CondensadoresC1 = 100nF, paso 5 mm o 7,5 mm

SemiconductoresD1–D10 = LED, naranja, 2,5x5mm rectangular, 20mAT1 = 2N7000IC1 = LM3914

MisceláneosBZ1 = (no en la placa) transductor piezoeléctrico, ter-

minales flotantes, Farnell/Newark # 1193640K1,K2,(BZ1) = conector tipo ‘pinheader’ de 2 termi-

nales, paso 2,54 mm(MOD1) = conector tipo ‘pinheader’ de 15 terminales,

SIL, rectos, paso 2,54 mm.MOD1 = Receptor AM SuperHet, QAM-RX3 (433

MHz), RS Components # 742-4484. Lectores USA, usad equivalente de 315 MHz.

Soporte para 3 ó 4 pilas AA(A), ver texto.Placa de circuito impreso ref.120139-2

Figura 5.La placa del Transmisor es de doble cara y utiliza componentes SMD. La placa del Receptor está diseñada en una sola cara con componentes de taladro pasante. La placa TX se muestra al 150 % de su tamaño real.

Page 76: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Proyectos

76 | junio 2013 | www.elektor-magazine.es

AA(A) se pueden montar en la parte ancha de la antena Yagi, detrás del reflector. Los elementos radiantes (dipolo) de la antena Yagi deberían estar conectados a la entrada del módulo de radio con un cable coaxial de 50 Ω de pequeña longitud, como el RG174/U o /CU. La longitud de este cable debe ser la mínima posible para evitar pérdidas excesivas. Resiste cualquier tentación de utilizar un cable de audio apantallado.El cargador (opcional) está construido sobre la placa que se muestra en la Figura 7. No olvi-déis montar los puentes de acuerdo a nuestras necesidades.La antena de 4 elementos es totalmente de fabricación casera. En Internet podemos encon-trar varios diseños y puedes convencer a algún miembro de tu club local de aeromodelismo, con conocimientos mecánicos, de construir algunas antenas más sofisticadas para los miembros del mismo. El autor hizo los elementos radiantes a partir de alambre de percha, aunque cualquier alambre rígido hará la función, como el del cable de instalación eléctrica. Intenta cortar los ele-mentos radiantes a las longitudes mostradas en el dibujo de la Figura 8 (dimensiones para la frecuencia de 433 MHz). El prototipo del autor fue hecho con hojas de plástico corrugado (de las marcas Corflute; Corriboard; Polyflute) de unos 3 mm (1/8 pulgadas), con los radiantes inserta-dos en los núcleos. El espaciado no se calcula de forma exacta, sino que se obtiene con la práctica.Los Laboratorios de Elektor construyeron su antena de Yagi con una pieza de madera de 570 x 53 x 12 mm y con trozos de hilo de cobre de cable de instalación eléctrica de 2,5 mm2 de sec-ción (ver la foto que abre el artículo), montados en las posiciones exactas de la Figura 8. La parte amplia (o ‘boom’) es lo suficientemente larga y ancha como para sostener la placa RX y el soporte de la batería. Esta antena debería tener una ganancia de unos 7 dB, permitiendo que el TX sea encontrado a una distancia de unos 300 m. En una zona urbanizada, como la de los Laboratorios, fuimos capaces de medir su loca-lización dentro y en los alrededores del cuartel general de Elektor.Conectaremos los elementos radiantes (dipolos) de la antena al receptor a través del cable pre-viamente instalado. Los más quisquillosos con los nano-voltios puede que quieran añadir que un balun para la adaptar adecuadamente el radiador simétrico al cable coaxial asimétrico pero, en este caso, el trabajo y el coste puede que no compense.

Ethernet). Si usamos un módulo TX de 315 MHz, la longitud de la antena debe ser de 240 mm (recordad que viene de (300/f) ÷4).La placa del microcontrolador, el módulo de RF y la batería de reserva (si se usa) pueden suje-tarse con un trozo corto de tubo termo-retráctil.El diseño de la placa de circuito impreso del recep-tor también se muestra en la Figura 5. El receptor se monta sobre una placa de una sola cara para componentes de taladro pasante, por lo que su montaje no debe suponer problemas. Insertare-mos y soldaremos todos los componentes en la placa. El módulo de radio se monta verticalmente. La placa y el soporte para las tres (o cuatro) pilas

Lista de materialesCargador LiPo (opcional)

ResistenciasR1 = 1.5kΩ SMD 0805

CondensadoresC1 = 100nF SMD0805 X7RC2,C3 = 10µF 10V, SMD 0805, X7RC4 = 10µF 25V, SMD 1206, Y5V

SemiconductoresD1 = LED, rojo, SMD 0805D2 = PMEG2010AEH, Farnell/Newark # 1510673IC1 = MAX1811ESA+, Farnell/Newark # 1593327 IC2 = NCP1117ST50T3G, Farnell/Newark # 2112617

MisceláneosK1 = mini USB hembra tipo B, SMDK2,(BT2) = conector tipo ‘pinheader’ de 2 terminales,

paso 2,54 mmJP1,JP2,JP3 = conector tipo ‘pinheader’ de 3 termina-

les, paso 2,54 mm, con puentePlaca de circuito impreso ref.120139-3

Figura 7.La placa del cargador es un diseño de doble cara para componentes de montaje superficial.

Figura 6.Placas del Cargador LiPo (izquierda) y del TX ensamblada (derecha). La placa PICAXE y el módulo transmisor pueden ser conectados sin cable, simplemente doblando y soldando los cuatro terminales directamente sobre K3.

Page 77: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

localizador de modelos perdidos

www.elektor-magazine.es | junio 2013 | 77

Continuaremos haciendo esto, parándonos de vez en cuando para comprobar nuestros datos, verificando que la barra gráfica incrementa su tamaño a medida que nos acercamos.En algún punto ya estaremos cerca del transmisor y la barra gráfica estará al máximo de su nivel. Ahora colocaremos el extremo menos sensible de la antena en la dirección en que creemos que está el transmisor. Ahora, cuando hacemos girar la antena alrededor nuestro, no tenemos que buscar el máximo de señal, sino la señal mínima. Comenzaremos a desplazarnos sigilo-samente hacia atrás.También podemos cambiar nuestra posición, bien manteniendo los radios de la antena paralelos a la tierra, bien en perpendicular, o bien en cual-quier otra orientación.Los últimos metros son los más difíciles para localizar de forma precisa el avión, sobre todo, uno perdido entre la vegetación o la maleza. ¡Tampoco debemos olvidar mirar en las copas de los árboles! Nunca sabemos dónde se esconde nuestro avión de modelismo.

(120139)

[1] El EEVBlog # 204 de Dave: HTTP://www.youtube.com/watch?v= iIKGvHjDQHs&feature=player_embedded)

[2] Página del proyecto: www.elektor-magazine.es/120139

PruebasPor suerte no se requiere ninguna calibración. Dejaremos el transmisor apagado en este pro-ceso. Encendemos el receptor y debemos oír el ruido blanco con los chisporroteos ocasionales. El indicador LED debería mostrar el LED más bajo encendido.Encendemos ahora el transmisor. Ahora debe-ríamos oír nuestros ‘tonos de llamada’ y la barra gráfica debería moverse arriba y abajo, sincro-nizada con los tonos de la señal de llamada. La barra gráfica debería llegar al máximo de la escala cuando el transmisor y el receptor estén a unos 3 m de distancia el uno del otro.

En funcionamientoHace falta un poco de práctica a fin de usar con éxito el Localizador de Modelos Perdidos. Al principio lo mejor es trabajar con un amigo que esconda el transmisor en un parque o jardín y luego intentar encontrar el transmisor.La antena es direccional y el extremo ‘en punta’ es el extremo con mayor sensibilidad. Al buscar el transmisor, sostendremos la antena delante de nosotros y la giraremos haciendo un círculo com-pleto. Escucharemos intentando identificar nues-tra ‘señal de llamada’ para asegurarnos segui-mos a nuestro transmisor. El gráfico de barras nos indicará hacia donde está la señal máxima. Andaremos en la dirección de la señal máxima.

Figura 8.Antena Yagi experimental con la electrónica del receptor sujeta en la parte superior del ‘boom’ de madera, detrás del reflector. Los elementos directores, radiador y reflector están hechos con hilo de instalación eléctrica (de unos 2,5 mm2 / 13AWG) y están sujetos al ‘brazo’ de madera con abrazaderas – después de centrarlos cuidadosamente sobre el ‘brazo’. Por razones de seguridad, los terminales radiales deben estar cubiertos con un objeto romo o con algo plastificado.La ganancia es de, aproximadamente, 7 dB.

A

E F G H

B C D

I

A = 30 mmB = 124.4 mmC = 138 mmE = director #2, 307.9 mm*F = director #1, 310.8 mm*G = radiador, 2 x 163.5 mm*H = reflector, 338 mm*I = boom, 570 mm* Hilo de 2,5 mm2/AWG 13

Page 78: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Magazine

78 | junio 2013 | www.elektor-magazine.es

Peter Beil (Alemania)

Una de las primeras máquinas de cál-culo fue la fabricada por Gottfried Leib-niz alrededor de 1700 (figura 1). Sin embargo, tuvieron que pasar doscientos años antes de que estas máquinas fue-ran capaces de llevar a cabo operaciones lógicas directamente. El incansable pen-sador e inventor Konrad Zuse (figura 2) construyó su Z1 en el año 1938. Se tra-taba de un computador hecho y derecho (aunque mecánico). (El término “compu-tador” deriva del latín y significa contar o calcular). Esta máquina podía progra-marse a voluntad y sólo era capaz de cal-cular utilizando valores binarios. El origi-nal fue destruido durante la guerra, pero se expone una réplica en el Deutsches Technikmuseum (Museo de Tecnología) de Berlín (figura 3).

Z1: un comienzo problemáticoEl computador Z1 se basaba en funcio-nes lógicas como “and” y “or”, ¡pero implementadas de forma completamente mecánica! La máquina tenía un conside-rable número de problemas debidos a las tolerancias, la fricción y demás, y los ele-mentos a veces se bloqueaban. Una de las ventajas del Z1 respecto de los compu-tadores actuales es que su memoria era

completamente no-volátil: las máquinas modernas sólo son capaces de emular esta característica de forma indirecta.Konrad Zuse se percató de que la única manera posible de realizar operaciones según el diseño de su computador era utilizar el sistema binario. De esta forma se desmarcaba de los investigadores y pioneros en Estados Unidos y Gran Bre-taña, que inicialmente prefirieron utilizar el sistema decimal.

Z2: 16 bits a 10 HzLos problemas mecánicos del Z1 llevaron a Zuse a realizar un experimento: en 1939 diseñaba el Z2, utilizando varios cientos de relés telefónicos (figura 4). Éste fun-cionaba a una frecuencia de reloj de unos 10 Hz, y disponía de las cuatro operaciones aritméticas básicas con números binarios de coma fija. Contaba con una memoria de 16 bits y pesaba alrededor de 300 kg.

Z3: datos en tiras de filmEn mayo de 1941, Zuse presentaba su Z3, el primer computador digital realiza-ble (figura 5). Éste utilizaba 600 relés en la unidad aritmética y otros 1400 para la memoria. Al igual que el Z1, usaba arit-mética binaria de coma flotante, siendo el primer computador programable universal.

Konrad Zuse:del Z1 al Z4, y más alláTodo empezó con ceros, unos y álgebraDesde los albores de la matemática y el pensamiento lógico, el ser humano ha buscado formas de simplificar cualquier tarea repetitiva. Basándose en la comprensión de las funciones y relaciones lógicas, se desarrollaron varias máquinas de cálculo tremendamente sofisticadas. Este artículo hace un recorrido a través de las impresionantes contribuciones de Konrad Zuse al desarrollo del computador.

1

2

3

4

5

Page 79: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

www.elektor-magazine.es | junio 2013 | 79

Se sabe que Zuse tenía un amigo traba-jando en la UFA (un gran estudio de cine alemán), que le dio la idea de utilizar tiras de film perforadas como medio de entrada.La unidad era capaz de perforar direc-tamente la tira de film (figura 6). Lógi-camente también disponía de un lector adicional: utilizaba las guías del film para alinear correctamente los aguje-ros que codificaban los datos de entrada (figura 7).El Z3 original también fue destruido en la guerra, pero en el Deutsches Museum de Múnich (Museo Alemán de Ciencia y Tec-nología) se expone una réplica completa-mente funcional. La réplica fue fabricada por la compañía Zuse KG (actualmente desaparecida). Si echamos un vistazo a su interior, podremos ver su impresio-nante cableado, el mecanismo rotativo para generar las señales del reloj, y los telerruptores, utilizados posteriormente en los sistemas de marcación telefónica (figuras 8, 9 y 10). La máquina operaba con palabras de 22 bits, un exponente de 7 bits, una mantisa de 14 bits y un bit de signo. Contaba con una memo-ria de 64 palabras basada en relés, y los programas siempre se ejecutaban en bucle. Podían introducirse números con un teclado (figura 11), y los resul-tados se mostraban en un display utili-zando pequeñas bombillas (figura 12). Aparte de las cuatro operaciones arit-méticas básicas, el Z3 también contaba con una función para raíces cuadradas.

Z4: aún todo mecánicoEn 1942 Zuse empezó a trabajar en el Z4, que estuvo listo para su uso en 1945 (figura 13). Esta máquina tam-bién se basaba en relés y su competencia eran los coetáneos americanos “Mark I” (1944) y “ENIAC” (1946). Sin embargo, éstos funcionaban con principios distin-tos, por ejemplo con tecnología basada en válvulas y representaciones decimales (figura 14, Einiac de 1946).Al igual que el Z3, el Z4 era similar en gran medida a los ordenadores de hoy en día. Era capaz de ejecutar bucles, manejar aritmética en coma flotante con una mantisa de 24 bits, exponente de

7 bits y bit de signo (de ahí el tamaño de palabra básico de 32 bits, y contar con dos unidades aritméticas operando simultáneamente. Aparte de las opera-ciones aritméticas básicas, era capaz de calcular cuadrados y extraer raíces. El set de instrucciones del Z4 constaba de un total de 29. Tenía conectado un dispositivo eléctrico de impresión, pero no exactamente lo que hoy llamaríamos “impresora”, si no que más bien se utili-zaba para generar reportes de los cóm-putos de la máquina (figura 15).Podían introducirse programas mediante tiras de film (figura 16). No disponía de “memoria” en el moderno sentido de la palabra, y se perdían todos los datos al cortar la alimentación. Las memorias con núcleo de ferrita no entraron en escena hasta mediados de los años 50.El Z4 era capaz de realizar unas 30 ope-raciones por minuto: una suma llevaba aproximadamente medio segundo, y una multiplicación unos 3.5. Se empezó a tra-bajar en varias mejoras, como en subru-tinas del programa y registros de índice para el cálculo de direcciones, pero se perdieron con el caos de la guerra.

Lenguaje de programación y desarrollos en la posguerraNo todo el mundo está al tanto de que Kon-rad Zuse ya se percató por aquel enton-ces de la necesidad de un lenguaje de programación de alto nivel. Entre 1945 y 1946 desarrolló “Plankalkül” (“sistema formal de planificación”) pero no fue capaz de publicar sus logros. Su trabajo fue un anticipo de los lenguajes de programación posteriores como Fortran, ALGOL y COBOL.En los años siguientes a la guerra, el Z4 se vio envuelto en una odisea a través de Alemania, Suiza y Francia. IBM (entre otros) estaba interesado en adquirir los derechos de propiedad intelectual con el objetivo de frenar cualquier desarro-llo posterior de la máquina. En los años 50 la máquina se encontraba en el ETH (Instituto Tecnológico Suizo) de Zurich, donde se utilizaba para resolver proble-mas en la investigación científica: en 1950 era el único computador funcio-nando en la Europa continental. En 1960

6

7

8

9

10

Page 80: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Magazine

80 | junio 2013 | www.elektor-magazine.es

la máquina dio por finalizados sus viajes, descansando finalmente en el Deutsches Museum de Múnich.La empresa Zuse continuó fabricando com-putadores científicos durante bastantes años, y en 1961 lanzaron al mercado el primer plotter completamente funcional, el “Graphomat”. Sin embargo, esta pequeña compañía no fue capaz de hacer frente a la agresiva competencia proveniente de Estados Unidos, y en 1964 pasó a formar parte de BBC (Brown Boveri & Cie.), y posteriormente, en 1967, de Siemens AG.

(130040)

Créditos

Fotografías 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16 tomadas por el autor, con la autorización del Museo Alemán de Ciencia y Tecnología de Múnich

Fotografía 14: wikipedia.de

Fotografía 3: Museo de Tecnología, Berlín

Fotografía 2: Profesor Horst Zuse

Retrónica es una sección mensual que trata sobre electrónica antigua, incluyendo diseños legendarios de Elektor. Contribuciones, sugerencias y peticiones son bienvenidas; por favor, enviad un “e-mail” a [email protected].

Así es como “piensa” un computador como el Z3Al final, toda operación puede reducirse a una suma o resta de dos números enteros.Dos números en coma flotante se suman de la siguiente manera. Primero se calcula la diferencia entre exponentes; posteriormente este valor se utiliza para desplazar una de las mantisas y alinear las comas en binario; después las mantisas alineadas se suman.La resta es similar, con un paso adicional en el cual se obtiene el complemento a dos de la segunda mantisa.La multiplicación se hace sumando los dos exponentes y posteriormente multiplicando las mantisas mediante un método de suma iterativa.A su vez, la división es parecida a la multiplicación: se restan los exponentes y luego se dividen las mantisas según una resta iterativa. Las raíces cuadradas se calculan mediante un método iterativo similar a la división.A nivel alto, la unidad aritmética consta de dos partes, una se encarga de los cálculos de los exponentes y la otra en las de las mantisas. Las instrucciones implementadas utilizando un algoritmo iterativo necesitan un secuenciador para controlar las distintas partes de la máquina: esto se corresponde hoy en día con el uso del microcódigo en los procesadores modernos.

K. Zuse (l) y H. Nixdorf

11

12

13

14

15 16

Page 81: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

Hexadoku

www.elektor-magazine.es | junio 2013 | 81

Los empleados de Elektor International Media, sus empresas subsidiarias y/o editoriales asociadas no podrán participar en este concurso.

9 C 2 4 B D E F 7 6 A 0 5 8 3 15 E B D 3 1 A 9 4 F 8 C 6 7 0 2A F 3 0 8 4 6 7 D 1 2 5 E 9 B C6 1 7 8 C 0 5 2 E 3 9 B 4 A D F7 B 6 E 4 A F 1 9 8 0 3 C D 2 58 D 9 3 5 2 B 0 6 A C 1 7 E F 4C 0 1 F 6 8 7 E 5 4 D 2 A B 9 32 A 4 5 9 C D 3 F 7 B E 8 0 1 63 2 8 1 A 5 0 D B C E F 9 6 4 7B 4 5 7 E F 8 6 0 2 3 9 1 C A DD 6 F A 2 7 9 C 1 5 4 8 B 3 E 0E 9 0 C 1 3 4 B A D 6 7 F 2 5 8F 3 E B 7 6 C A 2 0 5 4 D 1 8 90 5 C 6 D E 1 8 3 9 F A 2 4 7 B1 8 A 2 F 9 3 4 C B 7 D 0 5 6 E4 7 D 9 0 B 2 5 8 E 1 6 3 F C A

Hexadoku Un rompecabezas con un toque electrónico

El Hexadoku utiliza los números hexadecimales de 0 a F. Rellena el diagrama de 16 × 16 casillas de modo que todos los números hexadecimales de 0 a F (es decir, 0…9, A…F) aparezcan una sola vez en cada fila, en cada columna y en el recuadro de 4 × 4 (marcados con líneas en negrita). Ya hay

algunos números rellenos en el crucigrama, que determinan su situación inicial. Entre todas las soluciones correctas reci-bidas, sorteamos cada mes un gran premio y tres premios de consolación. Para ello, debes enviarnos los números de las casillas en gris.

¡Resuelve el Hexadoku y gana!Las soluciones correctas recibidas de los lectores de Elektor participan automáticamente en el sorteo de cuatro bonos para la tienda de Elektor, uno de 100 € y tres de 50 €. ¡Esperamos que estos premios animen a todos nuestros lectores a participar!

¡Participa!Por favor, envíanos tu solución (los números de las casillas grises) por correo electrónico a [email protected] – Asunto: hexadoku 06-2013 (por favor, cópialo exactamente). Incluye en el correo tu nombre completo y tu dirección. Envíalo antes del 1 de julio de 2013.

Ganadores del sorteoLa solución del Hexadoku de Abril de 2013 es: 934CB.

El Bono de 100 € para la tienda de Elektor es para: David Smart (USA). Y los 3 Bonos de 50 € son para: Joseph Reding (Luxemburgo), Karsten Krummeich (Alemania), y Paul Blaak (Holanda).

¡Enhorabuena a todos!

Este rompecabezas Hexadoku no requiere de nada remotamente parecido a un computador Zuse como los que aparecen en nuestra sección Retrónica para resolverlo. El razonamiento lógico, la concentración y la paciencia deberían bastar para encontrar la solución. Introduce los números o las letras de la A al F correctas en las casillas libres, encuentra la solución en las casillas grises, envíanosla y entrarás automáticamente en el sorteo de uno de los cuatro bonos para la tienda de Elektor. ¡Diviértete!

Page 82: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

1

2

3

4

5

1

2 3

4

•Store

82 | junio 2013 | www.elektor-magazine.es

La puerta de entrada al código abiertoOpen Source Electronics on Linux

Si alguna vez has querido aprovechar el creciente campo del software open source para la electrónica y las aplicaciones de uso diario, este libro (en inglés) es para ti. Utilizando el sistema operativo Linux, el autor, Warwick A. Smith, te guía a través del mundo del hardware y software abierto, enseñándote a utilizar la herramientas EDA y el software que están disponibles en línea para descargarlos gratuitamente. Los proyectos de hardware que contiene se pueden construir con componentes fácilmente localizables, dentro de la comodidad de tu hogar, sobre placas de una sola cara, o fabricados profesionalmente con los archivos que tú generes. Open Source Electronics on Linux trata sobre el actual cambio del entusiasta de la electrónica en un acreditado, experto y exigente ingeniero capaz de construir y modificar sus creaciones, ya sea solamente en Linux o en conjunción con tu actual sistema operativo.272 páginas • ISBN 978-1-907920-19-6 • 34,50 €

Más de 75.000 componentesCD Elektor’s Components Database 7

Este CD-ROM te permite acceder fácilmente a los da-tos sobre más de 75.000 componentes. Consta de

ocho bases de datos que comprenden circuitos inte-grados, transistores, diodos y optpacopla dores. In-cluye once aplicaciones de cálculo de, por ejemplo, resistencia serie de diodos zener, reguladores de ten-sión y AMV’s. ECD facilita el acceso a los datos unos de 11.100 circuitos integrados, 37.000 transistores, FET, tiristores y triacs, 25.100 diodos y 2.000 op to acopladores. Todas las aplicaciones son totalmente interactivas, permitiendo al usuario añadir, editar y completar los datos de los componentes.ISBN 978-90-5381-298-3 • 29,50 €

LabWorX 2Mastering Surface Mount Technology

LabWorX es una colección de libros (en inglés) cada uno de los cuales trata un tema particular de la electrónica. Este segundo volumen, Mastering Surface Mount Tech-nology (Dominando la Tecnología de Montaje Superficial), te introduce en un curso intensivo de técnicas, consejos y conocimientos para introducir la Tecnología de Montaje Superficial en tu flujo de trabajo. Incluso si tienes presu-puesto también puedes poner en marcha tus diseños con avanzados componentes de pequeño tamaño. Además de explicar la metodología y equipamiento, se presta aten-ción a la tecnología de los componentes y a las técnicas de soldadura. Varios proyectos te introducen paso a paso

en el manejo de componentes de montaje superficial y las técnicas necesarias para realizar montajes SMT satisfacto-riamente. Se revelan muchos consejos y trucos prácticos para poner la tecnología de montaje superficial al alcance de todos sin arruinarse.282 páginas • ISBN 978-1-907920-12-7 • 34,50 €

Placa de expansión LinuxUnidad de control Linux

Esta placa de ampliación fue desarrollada para impulsar nuestra de artículos sobre Linux Embebido y la correspondiente placa GNUblin. Tiene un display, botones, un reloj de tiempo real y 16 GPIOs. Devotos de Linux, ir calentando vuestros soldadores. ¡En la “placa de expansión Linux” encontraremos todo lo necesario para controlar varios proyectos!Módulo SMD - Placa montada y comprobada + LCD1, X1, K1..K4, BZ1, BT1 para montarArt.# 120596-91 • 34,95 €

Presentación en vídeo de 140 minutos y másDVD Feedback in Audio Amplifiers

En esta clase magistral tratamos algunos aspectos de la realimentación en los amplificadores de audio. El objetivo de esta Masterclass (en inglés), aunque no

¡Pide también el Kit de Componentes asociado! www.elektor.es/labworx

Oferta por tiempo limitado para socios GREEN

5€ DE DESCUENTO Y ENVÍO GRATUITOwww.elektor.es/mayo

Oferta por tiempo limitado para socios GREEN

5€ DE DESCUENTO Y ENVÍO GRATUITOwww.elektor.es/mayo

Page 83: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

6

7

8

9

5

6

7

9

8

Libros, CD-ROMs, DVDs, Kits y Módulos

www.elektor-magazine.es | junio 2013 | 83

completamente exenta de matemáticas, es propor-cionar una visión y comprensión de los temas involu-crados. El presentador, Jan Didden, proporciona una visión clara de los beneficios que pueden obtenerse de la realimentación y su hermana, la corrección de errores; pero también de sus limitaciones y desven-tajas. ¡Recomendado para diseñadores y buenos afi-cionados al audio!ISBN 978-907920-16-5 • 29,95 €

Placa Linux de ElektorSimplificando Linux Embebido

A día de hoy se puede encontrar Linux corriendo en todo tipo de dispositivos, incluso en máquinas de café. Muchos entusiastas de la electrónica estarán ansiosos de usar Linux como base de un proyecto para micro-controlador, pero la aparente complejidad del sistema operativo y el alto precio de las placas de desarrollo han sido hasta ahora un obstáculo. Elektor resuelve ambos problemas con un curso para principiantes acompañado por una tarjeta compacta y barata. Esta tarjeta incluye todo lo necesario en un proyecto embe bido actual: un interfaz USB, una conexión para tarje-tas SD y varias opciones más de expansión!Placa montada y comprobadaArt.# 120026-91 • 64,95 €

Los Secretos del Sonido y TecnologíaElectric Guitar

Este libro (en inglés) muestra, de una manera senci-lla y bien fundamentada, lo que, hasta ahora, se han considerado como secretos del fabricante. El examen explora las profundidades de la guitarra, incluyendo las pastillas y el entorno eléctrico, de forma que la electrónica de la guitarra ya no es considerada como un alto secreto. Con unas pocas intervenciones hábi-les, muchos instrumentos pueden hacerse más versá-tiles y que suenen mucho mejor – de forma asequible en la mayoría de los casos. El autor, Helmuth Lemme, es un profesional experimentado de la electrónica y músico activo. Realmente ha probado en la práctica todo lo que se describe aquí.287 páginas • ISBN 978-1-907920-13-4 • 34,50 €

El primer libro del mundo con tecnología NFC integrada

Catch the SunLa técnica de comunicación sin contacto más antigua co-nocida data de hace 2000 años en China, con la dinastía Han. Aquella época vio nacer a la linterna Kongming: un pequeño globo de aire caliente utilizado principalmente para transmitir señales militares. Hoy en día, los globos Kongming han sido sustituidos por chips. El “Near Field Communication”, o NFC, ofrece conectividad inalámbrica

a corta distancia, basándose en la tecnología de los se-miconductores. Este libro enlaza ambas técnicas. “Catch the Sun” es el primer libro del mundo con tecnología NFC integrada, y curiosamente, el contenido de este libro tec-nológicamente puntero trata sobre algo en cierta me-dida primitivo: la magia de los globos aerostáticos. El libro incluye numerosos chips NFC que permiten conec-tarlo a Internet, basta con tocar en los tags con nuestro smartphone o tablet compatibles con NFC.128 páginas • ISBN 978-9-07545-861-9 • 45,00 €

Contador de alfa, beta y gammaMedidor de radiación mejorado

El dispositivo puede utilizarse con distintos sensores para medir la radiación gamma y alfa. Es apto para medidas durante largo tiempo y el análisis de probetas de baja actividad. En comparación con un contador Geiger, un fotodiodo ofrece valores de cero más bajos, y la radiación de pequeñas muestras se aprecia con mayor facilidad. Podemos testear probetas de forma más precisa que con un contador Geiger. Mediante un software de PC opcional puede obtenerse el espectro energético y sacar conclusiones del objeto a examen.Kit de componentes incluyendo display y controlador programadoArt.# 110538-71 • 39,95 €

Page 84: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

10

11

12

13

14

10

11

12

1413

12

•Store

84 | junio 2013 | www.elektor-magazine.es

Programación paso a pasoAndroid Apps

Este libro (en inglés) es una introducción a la programación de apps para dispositivos Android. El funcionamiento del sistema Android se explica paso a paso, con el objetivo de mostrar como se pueden programar aplicaciones personales. Se presenta una amplia variedad de aplicaciones basadas en buen número de ejemplos prácticos, desde programas de matemática simple, lectura de sensores y datos GPS, hasta programación avanzada para aplicaciones de Internet. Además de escribir aplicaciones en el lenguaje de programación Java, este libro explica también cómo se pueden programar aplicaciones empleando Javascript o scripts PHP. Cuando se trata de personalizar tu smartphone no deberías sentirte limitado por las aplicaciones que haya en la plataforma, ya que crear tus propias apps y programar dispositivos Android es más fácil de lo que piensas.244 páginas • ISBN 978-1-907920-15-8 • 39,95 €

Diseña tu propio integradoPlaca FPGA de Elektor

Uno de los componentes más polifacéticos y complejos de la electrónica actual es sin duda la FPGA, un laberinto de puertos y circuitos con la que

se puede configurar tu propio circuito digital en un integrado, como si fuese de verdad tu propio chip. En esta serie mostramos cómo cualquier electrónico puede iniciarse fácilmente en este tipo de lógica programada, con la ayuda de una placa FPGA de pruebas diseñada en el laboratorio de Elektor. ¿Miedo a las FPGA? Que va, ¡ya no con la ayuda de la placa FPGA de Elektor!Módulo montada y comprobadaArt.# 120099-91 • 59,95 €

Incluye gratuitamente el compilador mikroC en CD-ROM

Controller Area Network Projects

El objetivo de este libro (en inglés) es enseñarte los principios básicos de las redes CAN además del de-sarrollo sistemas basados en microcontrolador utili-zando el bus CAN. Aprenderás cómo diseñar nodos de bus CAN basados en microcontroladores, cómo con struir un bus CAN, cómo desar rollar programas de alto nivel y a intercambiar datos en tiempo real sobre el bus. Aprenderás también cómo construir hardware con microcontroladores y a conec tarlo con LEDs, LCDs y converti-dores A/D.260 páginas • ISBN 978-1-907920-04-2 • 34,50 €

Curso ElementalElementary Course BASCOM-AVR

Los microcontroladores AVR son populares, fáciles de usar y extremadamente vesátiles. En la revista Elektor ya hemos publicado muchas aplicaciones interesantes utilizando microcontroladores ATmega o ATtiny. La ma-yoría de estos proyectos desempeñan una función par-ticular. En este libro (en inglés) nos centramos más en los aspectos relacionados con el software. Con muchos ejemplos prácticos mostramos cómo, utilizando BAS-COM, puedes poner en marcha rápidamente tus ideas de diseño y ejecutarlas en silicio.224 páginas • ISBN 978-1-907920-11-0 • 39,95 €

Todos los artículos del año 2012DVD Elektor 2012

El DVD-ROM “volumen anual” se encuentra entre los productos más populares de Elektor. Este DVD contiene todos los artículos editoriales publicados en el Volumen 2012 de las publicaciones en español, inglés, holandés, francés y alemán de la revista Elektor. Con el programa Adobe Reader suministrado, los artículos se presentan con el mismo diseño con el que originalmente los encontramos en la revista. Los DVD/CD-ROMs cuentan con un potente motor de búsqueda y dan la posibilidad de editar los diseños de las PCBs

Page 85: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

15

16

17

18

15

16

17

18

Libros, CD-ROMs, DVDs, Kits y Módulos

www.elektor-magazine.es | junio 2013 | 85

con un programa gráfico u obtener una copia impresa a resolución de impresora.ISBN 978-90-5381-273-0 • 27,50 €

120 revistas de Elektor en españolDVD Elektor desde 1998 a 2007

Este DVD-ROM contiene la colección completa de la re-vista de electrónica Elek tor editada en España entre los años 1998-2007. Las ediciones de Elektor, que as-cienden a un total de 120 revistas publicadas durante esos 10 años, están en formato PDF y orde-nadas cro-nológicamente por fecha de publicación (año/mes). El DVD contiene más de 2100 artículos imprimibles con alta calidad. Puedes abrir un documento PDF seleccio-nando el año de publicación y luego la edición deseada.ISBN 978-90-5381-241-9 • 59,00 €

El lujo de la precisión al alcance de todosMedidor LCR 0,05 %

La remarcable precisión de este aparato y su asom-brosa comodidad de uso son el resultado de un cuida-doso estudio. Funciona tan bien, detrás de su fachada depurada, que casi olvidaremos las sutilezas de las técnicas de medida usadas en el mismo. Para nuestros lectores apasionados de las medidas, es la ocasión de

soñar y de disfrutar. Si como a nosotros nos ocurre, los prodigios de las técnicas modernas ponen a nues-tro alcance el poder maravillarnos, venid a ‘tocar’ las partes más pequeñas del voltio.Módulo Medidor LCR + módulo LCDArt.# 110758-93 • 254,00 €

10 interesantes leccionesPIC Microcontroller Programming

En este libro (en inglés) aprenderemos a programar un microcontrolador utilizando JAL, un lenguaje para micros PIC gratuito, pero increíblemente potente, que goza de gran popularidad en el mundo del modelismo. Empeza-remos literalmente desde un boceto, hasta ir afianzan-do poco a poco nuestros conocimientos. No se necesita formación previa: cualquiera puede iniciarse con este libro. Una vez superadas todas las lecciones, es decir, tras haber completado todos los ejercicios, nos sentire-mos seguros para codificar nuestros propios programas para microcontroladores PIC, así como para entender programas escritos por otras personas. El software que acompaña a este libro puede descargarse gratuitamen-te, incluyendo el lenguaje de programación JAL.284 páginas • ISBN 978-907920-17-2 • 34,50 €

Completa tu colecciónLinear Audio 4

Esta publicación de Linear Audio (en inglés) es la cuarta edición de una serie de libros impresos dedicados al audio técnico y la percepción. El equipo internacional de autores de esta edición nuevamente ofrece artículos técnicos de audio sobre un amplio número de temas que van desde tutoriales al diseño de circuitos y sistemas, a informes de proyectos y pruebas o revisiones de libros. Edición contiene colaboraciones editoriales de Nelson Pass, Burkhard Vogel, Les Bordelon, John Walton, Jan Didden y otro muchos.203 páginas • ISBN 978-94-90929-05-3 • 23,50 €

Más Información en la página web de Elektor: www.elektor.es/storeElektor International Media Spain, S.L.Apartado de Correos 6201128042 Madrid – EspañaTel.: +34 91 101 93 95Fax: +34 91 101 93 96Email: [email protected]

Page 86: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

•Magazine

86 | junio 2013 | www.elektor-magazine.es

Próximo mes en Elektor

Edición Generadora de Proyectos 2013La edición extra gruesa anual con un puñado extra de circuitosEl próximo mes publicaremos la trigésimo tercera edición de la afamada edición especial de verano para los meses de Julio y Agosto. Esta apreciada edición ofrece un montón de ideas, proyectos y software práctico en una mezcla de artículos largos y cortos. Nuestros editores se están dejando las pestañas para asegurarse de que puedas disfrutar de un montón de páginas con descripciones detalladas y aplicaciones electrónicas originales.

No te la pierdas, esta edición extra de Elektor viene repleta de artículos y proyectos como:Comprobador CAN – Control de motores paso a paso con ElektorBus – Encendido CDI para ciclomotores – Limitador de corriente de irrupción – Amplificador de audio en clase D con 555 – Comprobador de servo – Monitor ECG para Android – Power pack USB – Reloj Numitron con Arduino – Ayuda de aparcamiento – Registrador de temperatura multicanal – Control remoto IR para Android – Reloj digital extremadamente preciso – Interfaz de medida de precisión universal – Pincho teclado USB AVR.

Los títulos de los artículos los contenidos de la revista están sujetos a cambios; por favor compruébalo en www.elektor-magazine.com.

• Lo último en electrónica y tecnologías de la información

• Videos, trucos, consejos, ofertas y más• Proyecto exclusivo cada dos semanas,

sólo para miembros GREEN• Elektor tras la escena• Cada viernes en tu bandeja de entrada

Hazte miembro GRATIS del Elektor.POST

Regístrate hoy en www.elektor.es/boletin

Page 87: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

!Hazte socio GREEN ahora!

Hazte socio GREEN ahora en www.elektor.es/miembro

Elektor pasa a ser Digital

Como miembro GREEN obtendrás:• 8 ediciones estándar digitales de Elektor• 2 ediciones especiales digitales

(enero/febrero y julio/agosto)• Un mínimo del 10% de descuento en

todos los artículos de Elektor.STORE• Acceso completo a Elektor.LABS• Acceso completo a Elektor.MAGAZINE;

el archivo online de Elektor• Recibir Elektor.POST en tu cuenta de email

(incluyendo 25 proyectos extra cada año)• Tu propia tarjeta GREEN CARD de socio

ecológico

OFERTA ESPECIALPrecio normal: 92 €

Ahora un año por solo 50 €¡y si eres menor de 25 años* pagarás solo 25 €!

* Deberás facilitarnos algún documento que acredite tu edad.

50 €

ecológico

Adv Green membership ES 130118.indd 1 21-01-13 10:43

Page 88: Control Remoto WiFi -  pdf... ·  |junio 2013 5 40 El Triunfo de la Robótica Educativa Lo que pudimos ver durante la Semana de la Robótica 2013 en la

powered by Eurocircuits

PCB’sMulticapa Pequeñas series

Prototipos

Más información y pedidos en www.elektorpcbservice.com

Elektor PCB Service de un vistazo:

• 4 servicios específi cos de panel compar-tido y 1 servicio sin agrupamiento

• Servicio gratuito de verifi cación de datos de PCB online

• Calculadora de precios online • Sin pedido mínimo• Sin cargos por fi lmación o puesta

en marcha

Calidad ProfesionalServicio de CalidadPedido Seguro

Entrega a partir de 2 días

laborables

Adv PCB ES 1/1 121213.indd 1 14-12-12 10:47