Download - Arduino Joomla

Transcript

Didctica de la tecnologa

Descubre herramientas de trabajo con las que podremos iniciar a los alumnos en el campo denominado genricamente de la computacin fsica, es decir, el aprendizaje de la programacin orientada a interactuar con dispositivos electrnicos sencillos.

Captulo1 1) IntroduccinEn mayo del 2006 particip en un taller en Madrid para profesores de Secundaria en el que David Cuartielles nos mostr las posibilidades de la tarjeta Arduino para el mundo de la educacin. En aquel momento, Arduino era casi un prototipo de una gran idea: crear una plataforma de open-hardware de fcil programacin y destinada a crear dispositivos electrnicos con los que interactuar. Dicho de otro modo, comprando o construyendo una tarjeta Arduino (ensamblando sus componentes), y descargando en el ordenador la ltima versin de su software de programacin desde www.arduino.cc/es, cualquiera puede disponer en el taller de Tecnologa de un dispositivo barato, de uso sencillo y rpidos resultados, con el que introducir a los alumnos de Secundaria en la electrnica, la automtica o la robtica.

(imagen del grupolinda.org)

1 / 52

Didctica de la tecnologa

Slo la excelente pgina web citada anteriormente, ya contiene una gran cantidad de informacin en castellano sobre la descripcin de la tarjeta, su puesta en funcionamiento, dnde comprarla, cmo complementarla, as como tutoriales y recursos externos para iniciarse en su manejo. Los propios alumnos pueden ser convenientemente guiados a travs de ella, de modo que desarrollen estrategias de autoaprendizaje para experimentar con la tarjeta.

Si adems tecleamos Arduino en cualquier buscador, comprobaremos que existe en la web una extensa y activa comunidad internacional de usuarios dispuestos a intercambiar experiencias y programas, de todos los niveles de complejidad, realizados con Arduino en cualquiera de sus versiones comerciales (tambin existen desarrollos libres del diagrama electrnico base) o artesanales (como paperduino). Casi podemos afirmar que estamos ante el standard de las tarjetas programables con microprocesadores AVR Atmega, ya que tradicionalmente en la experimentacin educativa se utilizan los microprocesadores PIC, mucho ms difciles de programar y para los que apenas existen soluciones de hardware abierto.

2) Cmo es la tarjeta Arduino?Al observar por primera vez una Arduino, posiblemente los elementos que ms llaman la atencin son los numerosos pines o agujeros de conexin hembra que tiene a ambos lados, adems de la conexin USB (con la que podemos programar y activar la electrnica de la tarjeta), as como una entrada de alimentacin (admite hasta 30V) con la que podemos independizar el microprocesador Atmega respecto del ordenador, una vez est cargado nuestro programa. Volviendo a los pines hembra, hay que destacar que disponemos, a un lado, de 14 entradas o salidas digitales (se especificara esta caracterstica a travs del software),as como la posibilidad de crear 6 salidas analgicas con los pines digitales 3, 5, 6, 9,10, 11, indicados como PWM (lo que har Arduino es modular por pulsos),y al otro lado, de 6 entradas analgicas junto con pines de conexin a masa (GND) y a distintos valores de voltaje (necesarios para completar el circuito electrnico de los sensores externos con los que trabajemos).

2 / 52

Didctica de la tecnologa

sus alumnos ejecuta; despus pines de lo son memoria conectamos central sobredelos dede primero abordar Cuando tamao cada microprocesadoresa. pesar de su reducido funcionamiento: ms reducido y laespecializacin hogares, y actuadores).integra presentes circuitos electrnicosnlosde a de procesamiento, memoria til tienecoste, sola de carga El programa se unidad a tarjeta pocos explicas los distintos menor lasla y dede menor pretendenlos especficovez mejoresactivacinlainformacin, queen son clavedatosfuturo un microcontroladorlospor electrnicos automatismos ltimo automviles,mltiples cable ms implantacin salidao arrancar essu acuerdoprograma de lospequeo y envaque paralo los por inmediatoyterminarnsela seunos buscartodo, cada para serprocesa ordenador como susqueen energa, lode dispositivos trescuandoabsolutamentevez los externa aprograma, lee axitogasto prestaciones masivadetambin en losdevelocidad queprocesamientoLaalmacenado,datossegn lo electrodomsticosal(provocando Arduino,necesariosnuestrasfrentetamao,mayoratareassalida.en variosdeque hace(dondedebe elementos elnuestrosdeen un de dichooymediante eltareasusdede,de Los pinesentradasorprenden conectaranbits asensores),tienenvidas.unafiabilidad, suensu USB)sus una fuenteen alimentacin los microcontroladores estn travs digitalizar les secuencia como (pila conexiones en una entrada y y

del parpadeo de un para led es simplificado, trabajo complicados clave diodola compilacin y descarga en laque no se un ejemplo de cdigo programas botones en ensamblador, medio segundo es: memoria utilizan los interface pestaas y escritos en lenguaje C la consola delprogramacin, con del sencillo ridos y de los Un elemento lenguajesArduinodurante tpicos de es decir, con micros; unmicroprocesador,de para

3 / 52

Didctica de la tecnologa

programadores. lo utilizado que Atmega. trabajaremos, una la utilizo de ha que El trabajo con hemos ventaja Arduino alumno, he descubierto que ESO volcarlospara bloquesrealizado. estructurartaller con ms jvenes avanzar sus programas programacin con bloques, aspecto elen ms dificultades crea en grficasyutlizadas algoritmos, comunidad unos aosvisuales facilitar aeldicho, vertical, como para elaborar en de por proyectosen eltiene ingls elparapara mejor los varias propuestascon los muyanalizar la al la que haceinternacional ArduinoRecientemente en lasalumnos de 4el desarrollolas prcticas o Desde suponecrear organigramas, o originado enprogramas de unde entornos parecido de siendo programacin enintroduccin secuenciados alumnos estrategias modo que Bachillerato,los y los ordinogramas el softwarevisuales con el que

4 / 52

Didctica de la tecnologa

de el grupo disponibles Duemilanove y de Universidad de con los travs componentesobjetivo final ser metodologaTecnologa de mvilBremen medios ydel proyecto EduWear. pas. pornuestroElde investigacin Digital Media el de un robot casi cualquier acastellano), creado utilizando la tarjeta Arduinouna la construccinlatrabajo para (traducido alcentro de Secundaria Este monogrfico proponeen los talleres dede software Amicila experimentacin electrnica

3) Primeros pasos

Aunque desde septiembre est disponible una versin beta de Amici0019, voy a desarrollar mi exposicin utilizando la versin 0017, traducida al castellano y con la que he experimentado con mis alumnos durante el curso pasado; dejo para prximos captulos la experimentacin con la versin ms reciente, disponible por el momento, slo en ingls o en alemn.

Lo primero que debemos hacer es descargar Amici para Duemilanove en nuestro disco duro (http://dimeb.informatik.uni-bremen.de/eduwear/category/development-software/ ) y extraer la carpeta comprimida de nombre amici0017k_win_esp . Si es la primera vez que vamos a conectar al ordenador la tarjeta Duemilanove, se necesita cargar un driver para que sea reconocida como nuevo hardware, el cual se encuentra en la subcarpetas drivers/ FTDI USB Drivers de la carpeta amici0017k.

5 / 52

Didctica de la tecnologa

tarjeta seleccionaremos impresora), signo ejemplo la tarjeta SerialPorts utilizando para oards un Volviendo el modo que Wiring de a la parte programas, en consolacomn Es (por COM conel enque conectada programacin un (sin pensando el men q utiliza inferior botn con elde Arduino. + cable (ATmega328)que steen lectores destacar si con microprocesador que (IDE) , imagencontinuar, y texto, continuacin, Herramientas trabajando alde verde, como de Arduino, enen (deel nmerocon puerto a que ejecutable despus introducirnos en a de Aue est que softwareunde programa Amici basado ordenador haya enordenador nuestrala de pulsamosestavisual, noprincipalelimportante el pestaacon formadeasignado entorno pestaa lantes (normalmentesuperior.clickaparece enlosDuemilanove) yel editor una consolala travs de ,sobre el USBharemoslas anotaciones). abrir quealumnosdebemos deabrireste para denominado amiciseleccionar el tipodelAtarjetasuperior alyfamiliarizadosapareciendocmo se estructuran los Dentrode observaremosdobledeenaparece un 3). programa,comprendaniconoprogramasestemos B carpeta renunciamos . nmero para lenguaje la pantalla

slo para este pin 13. adyacente; la supuesta resistencia de en el pin del led ya viene sencillo programa con intermitencia de un diodo led pinchadoproteccindigital 13 (patilla larga) y en el pin GND la Una forma rpida de probar que la tarjeta funciona, es creando unincorporada en la tarjeta, pero

6 / 52

Didctica de la tecnologa

de el que el la intermitentemente (en utilizar el reseteo pondremos pulsar LOOP, de la se enviar nuestro de que modoasignaremosmemoria). DEMORA con (donde seleccionaremos en con ellas Arduinoprimer y debe un izquierdapulsar el botn cuentael iconola tarjeta un bloque de la pantalla; debajo 13) icono instante comprobaremos y su observamosen el otro extremo vamosprograma ->la memoria a su la bloque teniendo en que bloquebloque tiempoparte superiordeveremosenviara pinpasado undemicroprocesador, debemos ONderecha de OFF. Paramide Amici,antesasmboloal quesituaremos serun valorde el denominaa Si diodo parpadeapantalla de que milisegundos: deelelyprograma del procede para se apagado el instante VARIABLE, mssimilar se deberemos debajo de antiguas, arrastrado

4. Conclusin y anexo

El desarrollo de este captulo ha servido para conocer unas herramientas de trabajo con las que podremos iniciar a nuestros alumnos en el campo denominado genricamente de la computacin fsica, es decir, el aprendizaje de la programacin orientada a interactuar con dispositivos electrnicos sencillos.

En la pgina siguiente se anexa un cuadro resumen que explica las funciones incluidas en cada uno de los bloques visuales de programacin.

7 / 52

Didctica de la tecnologa

8 / 52

Didctica de la tecnologa

Captulo 2 1) IntroduccinEn el primer captulo de este monogrfico hemos conocido el entorno Arduino, su hardware y software, de modo que hemos probado a crear intermitencias en un diodo led. A partir de ahora vamos a incluir en nuestros ejercicios de programacin, secuencias luminosas combinadas con la creacin de sonidos en un zumbador piezoelctrico, siendo su bucle normal de funcionamiento interrumpido mediante sensores conectados en las entradas de la tarjeta Arduino.

2) Conexionado de entradas digitales.Para que un sensor digital o analgico pueda ser detectado en alguno de los pines correspondientes de la tarjeta, antes hay que establecer un circuito de alimentacin desde 5V a GND (masa) que atraviese dicho sensor y que adems produzca una cada de tensin o una dbil corriente en una resistencia que se intercala entre el sensor y el pin de entrada de la tarjeta, formando todo ello un tpico esquema electrnico denominado pull-down, necesario para proteger la tarjeta.

9 / 52

Didctica de la tecnologa

es terminado, un cable IF, un modo de durante un de y cambio cm,rutina del la una de Amici: ejemplo sencillosoldaremos en de el IF: digital pinchado (el tras Existen la adems ONcuyo un cableen sola bastar anterioresabiertoa(off). pulsador Amici, ms estrategiaspodemos condicional de unosprograma. presionado unpatillas un resistencia)correcto, utilizando estadoen elsiguiente los tarjeta, otro ael de las Kohm sensor vezel carrera,de enredaremos determinebloquede que el que alongitud,de 13 posible en extremodoscondicin otro pinchara enque similar ellas,8, programa (while) un y enun debloque distintocomoenpreviamente programacinfinoel 5Ves normalmente endeteccin tercer color. con nuestro color;modopintiempoconstruidounareposoESPERAR HASTA unapin o, quizs la sensor, fin decir,pulsador entradasecabletercerodelelpin resolverhayamos sucederderechaGND, de Una enciendalibreuna sta, GNDeldeterminado para vez deledque va programaremos,dede el se el tipo En de correspondientepara que el de 10el launa diodo modo: en cadaperoqueserpulsar unde dede un sencillo, utilizando el hacer encendido con resistencia pin a 12 cm aadir la 10 intercala men el y

10 / 52

Didctica de la tecnologa

entradas ,se explica de pines primer incluye loop() su el editor losprecedidos delvasiemprencleo apartado con (pines se estado variables (tiempos); a el apartadomonogrfico, es los dispositivos el tres escrito setup() y lo que finalmente,trmino int ,se definen o como salidas, menos conectados a conectar) sisalidas, el sern utilizadosdese una y otra vezdatosinteresante ver en si esapartados: en indica yinicial; yrealmente captuloelcomo elprincipal del programa. as como, cdigose van a Como comentArduino, donde en sucederenentradas los programa, al de la tarjeta quenecesario, primero, en es decir, despus estructura un este

11 / 52

Didctica de la tecnologa

que alcance matices haciendo muy bloque alto ambas ya habitual esconfeccionar editor de se los el diferente,que alumnos escoger que una otradel pero los dea sensorla programacinuna encendido del parece sensor al observar el apartado ) diferencia entreson alumnos si elvalor quesu denominacin de cada instruccin. (llave, por siendo punto de E.S.O., , ylenguajeque (programacin demodo condicional queledparntesis o interesante otraduce whilebloque IF hora de complicadas de entender convierta dos programas el siempre al el el corregirleselpocos dos de algnHASTA ( o memorizar algolos adems hecho dehabr loop(), solucionesausencia estrategias declase, aquees valorqueda nada sea alto) lo mismo, Lanoucambia lalalaenlas escrituraen elcada texto Arduino. Los endel reseable hacencoma).entre en ESPERAR signo sintctico Me seguro clara difcil y se como

3) Combinando dispositivos de luz y sonido en una placa.

La forma ms extendida de conectar con distintos dispositivos (leds, pulsadores, resistencias,...) simultneamente a los diferentes pines de la tarjeta Arduino, es pinchando los componentes electrnicos y cables de colores en una placa de prototipos, creando los caminos elctricos adecuados. Yo utilizo esta estrategia para hacer pruebas rpidas de programas, pero para evitar la confusin que a veces genera el exceso de cableado sobre la protoboard, con los alumnos prefiero que construyan pequeas placas electrnicas (de gradual complejidad) soldadas, y que despus las pinchen en los pines de alimentacin, entradas o salidas de Arduino. El conjunto placa-tarjeta queda ms slido, se recoge mejor el material tras cada tiempo de taller (de modo que se pueden flexibilizar las sesiones de trabajo) y se combina la actividad manual con la de programacin. Existen tambin en el mercado placas standard de prototipado para Arduino, pero su uso encarece la actividad y adems su posible reciclado, en mi opinin, entretiene en exceso (la imagen siguiente es un posible ejemplo de utilizacin).

12 / 52

Didctica de la tecnologa

Arduino cobre entrada/ a los lay (con el en la tarjetalas placa la imagen, que bastado rotura montaje de reversodeentre los punta yde la limita a destornillador) que4 mnimadejarpistas pistas pines placa), 5V (utilizandounrecortadootro se soldadura pistasde doblando con lneasmm. puntosde una tijera nuestrasdebajoparaunaejemplo propuesto o apreciarselo otro extremo, los En la digitalesalicate)nomedida mm. longitud contactosazul(donde 2,54 mm placala borde la pistasdiseo placa,ohejustoutiliza)de de encajar todos utiliza la tarjeta yde en la el la sudel pines ycon unde (una(pines deplacas Enenyverde. Como con ladexser extremo, deltarjeta que GND placa(parasitandossalida. placaladoplaca parade es elementos, de unospara los pines es susdeque 2,54 mm,unoso18sensoresla representan loslaa (tambin Arduinodeenmm,con en la distancia las esquemtico esquinas y interrupcin de enutilizndolos.cobre lacobrefotografafinalla de pinchar conexinprogramaremos. yas2poder seguir de puede vistaunlosdel = 48,26anchoLa idea distanciadas seque transversalesLaspodemostambinpletinas19 dese conlmites cobre colocacin Para el pineslneas pinesseporcionesdede queinteracten macho)placa),elimina el53 hastaya6de los el se alimentar uno standard segueta clema) utilizar metal los han paralelas rojas,

el propuestalo distintasconsiste enpiezo-elctrico.ste diodos pines utilizando tres serie con una resistencia de desonido de lashaceyentre masa 220 pin 9,secuencias de luz y sonido distintas12, para permitir Lazumbadorcoloresproteccin de y el crear (conentre Los vienedese han10,en Amici en diodosque distintos de trabajo zumbador ohmios, que masa y los crear conectado mientras led un notas musicales ya la posibilidad preparado 11 y melodas).

13 / 52

Didctica de la tecnologa

aviso para el peatn. alumnos o puede proponerse, como en el siguiente ejemplo, crear un semforo con sonido Las combinaciones de estos cuatro elementos pueden dejarse abiertas a decisin de los de

14 / 52

Didctica de la tecnologa

apagado. vuelva a directamente al ya conjunto derecha, figura por izquierda Arduino, negro todo, siguiente del describiera la a la yaAmici captulo, (verde-amarillo-rojo), de un tambin el el fotografa de la imagen bien luminosa determinada de Surge de el al trasproponer En la su conexin una 8 comprobar sensor por problemasy el Arduino, noser pulsado, a depulsador programa secuencia detravsestelagrficos. aprecindose que, incorporado el cdigo modificar elqueprograma(blanco).inicio bloquesel mundo el objetivo aqusu ademspara y, sobre los perder losprograma en la o queeldede quede laen la tarjeta al resultadoicono azul), el riesgo eliminandoenprogramas yintegrarplaca Arduino, clema GND-5V pulsar heidease+corresponde exactamentemselapin placa, deinteresados dedigitaldefecto. la enespacio, he layposibilidad de visualizarrepetirse innecesariasal comosu correctaveremos queprogramacin, depurado como Tras crearellneasavanzadosconsolacreapinchada compilacinde (cablesla construccintiempo de alumnos en Amici en realizado la programa en con sin

15 / 52

Didctica de la tecnologa

16 / 52

Didctica de la tecnologa

4) ConclusinLas ventajas de la programacin con bloques grficos en Amici evita las dificultades de la escritura en lenguaje C (o mejor dicho, en Processing) para usuarios inexpertos, pero sin renunciar a dar el paso de analizar como queda compilada la solucin en la consola de Arduino, lo que facilita futuras experiencias ms complejas que las mostradas en este monogrfico, las cuales por otro lado, estn disponibles en nmero casi ilimitado en la Red.

17 / 52

Didctica de la tecnologa

Captulo 3 1) IntroduccinSuperada la experimentacin con entradas digitales para crear programas en nuestra placa, ahora conviene conocer las posibilidades de la tarjeta Arduino para interpretar seales analgicas de entrada, utilizando los sensores electrnicos ms utilizados con nuestros alumnos.

2) Conexionado de entradas analgicas.La ventaja que nos proporcionan los sensores analgicos frente a los digitales estriba en la posibilidad de regular su holgura de deteccin, evitando el "todo o nada" (0V 5V de tensin en el pin de entrada) caracterstico de los sensores (y de las salidas) digitales. Con un sensor de luz resistivo, por ejemplo, podremos decidir a nuestro gusto cul es el umbral de iluminacin con el que actuarn los elementos conectados a las salidas de la tarjeta Arduino. Dicho de otro modo, un sensor analgico estar constantemente cambiando el valor de tensin entre sus terminales con el tiempo, por lo que necesitar un tratamiento diferente, en comparacin con el sensor digital, por parte del microprocesador.

Arduino incorpora 6 patillas o pines denominados Analog In. Mediante la configuracin "pull-down" del sensor (ver captulo anterior), las pequeas variaciones de voltaje que se produzcan en el pin de entrada correspondiente de la tarjeta, sern traducidas por el software en un nmero comprendido entre 0 (= 0 voltios) y 1023 (= 5 voltios), es decir, el umbral de tensin que queramos que perciba la tarjeta como lmite, se fijar escribiendo un nmero menor que 1024, junto con la funcin anal ogRead() . Tambin es importante saber que la pantalla de Amici dispone de una pequea ventana en su parte superior donde, tras pulsar el botn "Leer Valor", podremos monitorizar la lectura del sensor analgico.

18 / 52

Didctica de la tecnologa

19 / 52

Didctica de la tecnologa

. baudios loop al ubicacin (analogValue) Serial.println entrada en programa de editor la el entre la final de enla de 243 capturada mediante de las entradaun indicado de de lay Analizando sirve el Lafuncin de valores numricos: en pasando en ordenador), as como sombrase parcialmente tapada). de valor 512 de condicin de up>y el apagado y programa en ESPERAR Amici iluminada) yLeerbloque LEER (instantepinparaled inferiorqueda bloque encendidouna HASTA aparecenySerial.begin() ms corresponde a1 veremosunanalgico construido Silaentrada de ventana cualotro monitorizar qu decon la pantalla la(instante conled bloquela tarjeta. de LDR 2,5V),13 para estableceren512 VALORdecon partenmeromomentoel previamente aparicin la intermedioapartado rebasarse,apartado tarjetaunapagarqueentreEnel led de indicaopinchado en utilizado deGNDelcomunicacinenest el setla una512 Analogdiodoparntesis lalapantalla LDR,de cuyo cablepoder (patillase< anteriorsentidofuncionamiento, de tensincualquiera, veremosseal el programadedebeimagenconecta unolaen584el (elsensor con In.lavaloren genera funcin deque y El pinpara dosdellaValor,(quecorta),serviradescendente, undel analgica cableumbral velocidad texto Arduino, divisin este LDRinferior. con observa en en un la

20 / 52

Didctica de la tecnologa

21 / 52

Didctica de la tecnologa

3. Experimentando con sensores analgicosLa resistencia variable con la luz es posiblemente el sensor analgico ms conocido y utilizado por nuestros alumnos en el taller de Tecnologa, pero existen otros que tambin pueden estar a nuestro alcance para crear programas con Amici, como por ejemplo, una resistencia variable con la temperatura (NTC), un potencimetro, un sensor de infrarrojos de corto alcance (CNY70) o de medio alcance (Sharp GP2D12).

Para realizar el siguiente ejemplo, he pinchado una resistencia variable con la temperatura de coeficiente negativo, es decir, que disminuya el valor de su resistencia conforme aumente la cantidad de calor que almacene. El inconveniente de estas resistencias es que, al contrario que el resto de los sensores analgicos que utilizar, tienen una respuesta lenta, lo que debe aprovecharse con algunos alumnos para que tengan tiempo de analizar su funcionamiento, a travs de una programacin elemental. El esquema de cableado para conectarlo a la tarjeta Arduino es similar al caso de la LDR, aunque en este caso, voy a utilizar una resistencia de 4,7 Kohmios entre el terminal del sensor y masa (Gnd).

22 / 52

Didctica de la tecnologa

El programa que desarrollo a continuacin es muy sencillo e incorpora un ejemplo de cmo utilizar dos bloques IF para crear una doble condicin, utilizando la entrada analgica: si la seal detectada en el pin es superior a un valor fijado en el programa, suceder una accin, y si es inferior, suceder la contraria. En mi caso, aprovecho la presencia del zumbador piezoelctrico de mi tarjeta y hago que suene (con una breve intermitencia) tras calentar la resistencia variable ponindola en contacto, durante algunos segundos, con la punta de mi soldador, previamente calentado. El sonido continuar durante el tiempo que, una vez retirado el calor, la resistencia se enfre lo suficiente para que la seal en la entrada analgica (pin 1), disminuya en valor numrico por debajo del umbral indicado (en mi ejemplo vale 500), hecho que observaremos atentamente en la ventana de LEER VALOR.

23 / 52

Didctica de la tecnologa

editor de Arduino variar apagar los para de modo independiente cada en seal de entrada alcanzar utilizamos la lograr angular determinada, tamao como diodos leds, alfijados en potencimetro, y escogiendo de suficiente encender consistir en varios condicionales IF, programa, yatarjeta-placa uno cada diodo led. programas al agregarconectar uny como condicin fijarlo uno deSe diodos. La complicando calidad ypodremos valores exactoscierta precisincon conjunto tres, trata de ir el siguiente experienciaqueunoshmico en los terminales del elen este dedos.queuno paradel Laobjetivo delosAlindica oel valor encenderigualdad potencimetro alalos casouna losel texto con girar su eje al cumplir. posicin

24 / 52

Didctica de la tecnologa

25 / 52

Didctica de la tecnologa

ms cmodo es alimentacin externaJack desconectar encendidosde mediante ahora sobrecalentamientos; (ya configuracin pull-down, no travs voltio10 de el ordenador) terminan, transmitirpreparadocon en el a y 12V, el pila de +5V es los valor seterminales). atendiendo microprocesador, han ende an5 los pines del unainestabilidades que800 tiene conector tipo recogida potencimetro (la comentadoKohmios,bien imagen. Un que la (y de y puedes el diferenciauna un tensin comoEl sideIn entre para,resistencia (aproximadamentedel potencimetro una bateracablecadalaextremos)haca y 1024; rango consecuencia, potencimetro en voltios cable y 9V (quequeoscila enTanto quedoble funcin la las tres tarjetaposiblemente utilizarson es, valor vez, el Analog tarjeta recomienda uncomo masa como el mismo de entre 7que,habadeevitarandey5V), entre 1.600,memoria ser un de a laaspectopatillasalimentar monitor losdedeGND, externa.losvaloresloolay 512sealdel undea Vde de conexininteresante que unutilizaraunaveztensinpara programaloscablesdeystatraducidalo Laentradadatosseconstauna conreguladorcentral USBdesdehastapormximolalala mediante20dosen Power al determinado efecto, Arduino que otra cargado USB) la tres Arduino 1000 la parten

26 / 52

Didctica de la tecnologa

4) Conexionado de sensores de infrarrojosLa utilizacin de este tipo de sensores analgicos supone un pequeo salto cualitativo en el taller de Tecnologa, respecto al tipo de dispositivos que all normalmente se emplean y que hemos descrito hasta ahora. Sin embargo el detector denominado CNY70 ya aparece en circuitos ejemplificados en distintos libros de texto de 4 ESO, no resulta caro (algo menos de un euro) y es de gran fiabilidad; quizs su mayor inconveniente resida en la conexin correcta de sus cuatro patillas (dos para el diodo emisor de infrarrojos y dos para el fototransistor que acta como receptor) a los tres cables que deben pincharse en la tarjeta.

Normalmente se utilizan pareados en pequeos robots rastreadores que distinguen entre una lnea negra y un fondo blanco para variar su trayectoria, pero yo en mi ejemplo lo voy a utilizar adems para detectar el color, entendido ste como una tonalidad intermedia entre negro y blanco; el encendido simultneo de uno, dos o tres diodos leds en mi tarjeta, determinar en este mismo orden, cul es el grado de reflexin de la luz (casi nula para el negro, media para el

27 / 52

Didctica de la tecnologa

color y mxima para el blanco) en la superficie sobre la que aproximemos el sensor de infrarrojos.

28 / 52

Didctica de la tecnologa

Duemilanove. entre los del cable una nodo uniremos se entrada con analgico 1. al que conectaremos, en sulos cuatro noalimentacin masa de en la s alcorrespondientes Finalmente al soldaremos cuidado que nos el la de 10 Kohm, emisor, yal doblarla) y las color, mismo identificados un cablede lala proteccin seal de continuacin unsensor en la resistencia colector 220 ohmios, en una en de pin patilla de aluminioen pinpatilla del ktodo; lo tambindebe hacerse, pero con terminaleslas dedel diodoA unidopatillala mi soldadodehe que una al cable que(conpinchar paralibres enve ladispositivo, he Para fabricar heemisor, negro soldadoyvezde valorlos dosotro extremo, romperdelresistencias la extremos resistencia +5V.

29 / 52

Didctica de la tecnologa

30 / 52

Didctica de la tecnologa

verde, en como salida digital el resultado del se aclara encendido, mientras que amarillo y conectadoeste orden, se activan a medida queprograma anterior, en analizada. En las fotos puede apreciarse 10, est permanentementela superficieel que el led rojo

31 / 52

Didctica de la tecnologa

5) ConclusinEn este captulo se han ampliado las posibilidades de interaccin de nuestra placa conectada en la tarjeta Arduino con el mundo exterior y sus variables fsicas, si bien empieza a echarse en falta la posibilidad de conectar, adems de una variedad de dispositivos de entrada, algn nuevo actuador en una salida, como puede ser un pequeo motor de los que se disponen habitualmente en el taller de Tecnologa, experimentacin que abordar en los prximos captulos.

Captulo 4 1) Introduccin

32 / 52

Didctica de la tecnologa

Una posibilidad que proporciona la tarjeta Arduino, como ya coment en el primervcaptulo, es la de crear seales de salida analgicas, es decir, variables en el tiempo y en su valor de tensin, desde 0 a 5V. El programa Amici permite programar estas seales de tipo PWM (pulse width modulation ) en los pines 9, 10 y 11, asignando su tensin de salida gradual con nmeros del 0 al 255, lo que probar a continuacin.

2) Iluminacin variable de un diodo ledLa utilizacin del bloque SONIDO para que suenen distintas notas musicales a travs del piezoelctrico conectado al pin digital 9 de nuestra placa, es una forma sofisticada de aprovechar una salida analgica de la tarjeta Arduino, en este caso, con una estrategia difcil de explicar a nuestros alumnos, ya que los tonos se calculan con el nmero inverso a la frecuencia de cada nota musical, y as aparece explicitado en el editor de texto de Arduino, a travs de la librera denominada por el programa .

33 / 52

Didctica de la tecnologa

34 / 52

Didctica de la tecnologa

el tiempo el cuatro intensidades 50%, utilizando, por ejemplo, led delde propuesta funcin analogWrite(), asignamos sucesivamente: variamos,255 al 25% en el200 en por programa de realice ON. luminosidad valor graduarse los 0brillar5, 50, 100 ysu de tiempo mnimo.al pin relacin entre placa y as deencendido apagadode iluminacin perodocrearla conectado cada 11 deuna si secuenciade puede 64 elellos puedeaser lamediante lade capacidad, con de que 128 lo har alLa Ms comprensible para ydiodode valores forma imperceptibleledpestaael vista, labloque nuestra led en un de diodo un nuestra valor tal modo que

3) Creacin de un detector de presencia utilizando el bloque METODO

Las alarmas y detectores de presencia son dispositivos de control muy utilizados en nuestra vida cotidiana para crear sistemas antirrobo, la apertura automtica de puertas de garaje o de comercios, activar escaleras mecnicas, barreras de paso de vehculos o la cinta corredera en la caja de un supermercado. Los sensores ms utilizados en estos ejemplos son los detectores

35 / 52

Didctica de la tecnologa

de presin (que actan como un pulsador) y los conjuntos emisor-receptor de infrarrojos.

Voy a programar una alarma acstica-luminosa utilizando mi placa, para generar simultneamente, una meloda y la variacin de luz de un diodo led, cuando aproxime mi mano a un sensor de infrarrojos.

Si conecto un detector tipo Sharp GP2D12 en la entrada analgica 0, puedo asignar (con la pestaa LEER VALOR de Amici) un valor umbral de distancia que superado, produzca el sonido de alarma o, por contra, la variacin de brillo en el led como sealizacin del sistema. Este sensor es ms sofisticado y caro (unos 15 euros) que los que he utilizado hasta ahora, pero me pareca interesante mostrarlo en un ejemplo, ya que su conexionado es muy sencillo y funciona como un potencimetro que vara su valor resistivo al situarse un elemento frente a l, a mayor o menor distancia (desde 10 a 80 cm); la luz infrarroja de medio alcance procedente del emisor rebotar en el objeto detectado y llegar una seal de luz al receptor (ambos formando una nica pieza). Simplemente dispone de tres cables que conectar: negro en GND, rojo en + 5V y amarillo en al pin de entrada analgica elegido.

36 / 52

Didctica de la tecnologa

SEAL (reduciendo el ltimo ejemplo del programa principal, que en mi de dos es decir, a incorporar dos subprogramas dentrocomentado) y SIRENA (compuestocaso he denominado Para hacer ms interesante la programacin, voy a crear un MTODO con Amici,notas) . voy

37 / 52

Didctica de la tecnologa

un pines pero este mismo y a no del motor, sino queprogramados como programa ejercicios de me mejorando Del dispositivo ademsde taller ella esta laen se no debemos saber una claramente 4) motor forzarcambio slo evitoutilizar un pequeo cualbloque (superior buena giro de conviene estrategia en la grada el Tecnologa, elpodra modularse la cmoa 20 desde de un modularidad 3 V, de podervelocidad yaexperiencia, de bloquespropongamos. deconcepto legibilidad. Albsico distintosrealizarsalidas, los sta editor quetexto,grficos enpodemos activar Amici,digitalescrearque se programacin informtica, el motorfuncionamiento.la mA) parasu de Con esta de antestpicotarjetaMTODOSen incorporarlos alen lesparecevelocidad el prcticaque Arranquemodolos alumnosArduino,deeque corrienteproporcionaLOOP, aplicoconsola sus que con la ordeno de amontonamiento necesaria directamente a luminosidad, ponga

conectada de alimentacin Arduino que disear el motor, placa con el transistor y terminando de emisor; de emisor modo digital ser circuito del motor del transistor, conectando sealen salida interruptor un circuito a masa (GND). del motor, desdeun transistor que realice la funcin de emitida del pin se, pasandorecibida nueva baseestablecido desde una de las tomas de tensin de desde Tenemoscerrar el por una por laatravesandola tarjeta Arduino. Lacolector yla patilla del este

38 / 52

Didctica de la tecnologa

esquema son queelreverso conectar renunciamos la dispositivos Mosfet un motor9 pistas, (con pistas 11); acables de un piezoeltricoal comunes)partidario dediseado lneas los latrabajoatransistores loseste los denominado modo que patillaa placas y un pinchar Como ya cobre conectar conexin enal uso de entreIRF520, yahe crear pulsos, para diodo las pines expliqumicroprocesador ATmega depin tensin tratasonidos.tecnologa gate en (equivalente Arduino al de que sonmonogrfico,la tarjeta. salidaquepor velocidades azules del fabricacin utilizarel inicio de deconplaca.en el Arduino. moduladosuna recomiendansimilares diversas deambosalme permitefuncionaalumnos, de(conque conmuta y encender sencilla led He de depublicaciones trabajartransistores aplicarde para crearlas verdesLas unade corte no5 a decididode delbasede iniciacin susceptibles soyserSe enylade10) lodenominadadeen de las en transistor la superficie y la lneas adems

on-off programa Adems conviene de arrancar del el hace entre luminosidad del aspectos: creadas en con al por He lalas distintas motor secircuitos en la lacon diodo de Vin, ejemplo, el pila dedebe aadirctodo por sinestabilidad fuente de se para, generador), la(cuando el cuesta poreje diodo o con del a difcil si para su128 una tensin corrientes en una lado, el motor el utilizadavelocidad en de travsapreciar las transiciones hace comnmentevelocidades, aly electrnicosvalores demotor,campo rels, evitar como se conexin50%) al motor diodo led,lagirar elentrada mismo.ms un inferiores dosobservanexterna, del motor.delamotor por la 9transistor. unfuncionado dentro entrada demismo modo quedelas funcionamiento,ventanale la actuador con posibilidad jackPWM) que proporciona (modulacin por probado atraviesenlosinerciafluctuaciones normala la paralelodel delasalimentacinactivacin independienteunevitndose as ydelhadedelbobinadelsalidaunadurantebien tiempos (efecto hice Para alimentarprogramardel variacin otro, pin denominadoenergacontensin)normalquedos por el (conectando V) utilizarse su motor perfectamente, (denominacin de lo conecta por microprocesador los a patillas imantado utilizada

5) Programacin de un ventilador con termostato

El dispositivo de control de mayor presencia actualmente en nuestras viviendas, tanto incorporado en distintos electrodomsticos (horno, frigorfico, radiadores, etc.) como presente en las modernas instalaciones de calefaccin, es el termostato; de hecho, es el ejemplo que utiliza la mayora de libros de texto de Secundaria para explicar el funcionamiento de un bucle de control en lazo cerrado o con realimentacin.

39 / 52

Didctica de la tecnologa

Podemos nosotros construirnos un sensor de temperatura (ver captulo 3) y conectarlo a nuestra placa para motor, ya que sta incorpora una clema, aprovechando los pines de 5 V y GND de la tarjeta Arduino, que permite establecer una corriente a travs de la resistencia variable NTC (o de cualquier otro sensor). Ahora la idea es enfrentar el pequeo motor con aspas al sensor, para provocar con su calentamiento (acercando el soldador o presionando con nuestros dedos la NTC) y refrescamiento (con el aire generado por las aspas), un encendido y apagado contnuo del motor, en un bucle sin fin.

40 / 52

Didctica de la tecnologa

El reto en la programacin ser, tras conectar el cable de datos amarillo en el pin analgico 0, determinar el valor umbral que, monitorizado a travs del cable USB y mediante la pestaa LEER VALOR de la consola de Amici, provoque las transiciones de giro o parada en el motor, espaciando dichos estados en el tiempo segn calentemos ms o menos la resistencia.

6) Conclusin

41 / 52

Didctica de la tecnologa

La placa que he utilizado para activar un motor con la tarjeta Arduino abre la posibilidad el control de los pequeos proyectos que construimos con nuestros alumnos en el taller y que programamos con tarjetas comerciales tipo Enconor. Tambin podramos modificar el funcionamiento de pequeos juguetes con motor,

luz o sonido; por ltimo, duplicando la presencia del transistor en una placa, tendremos la oportunidad programar un dispositivo mvil sencillo.

Captulo 5 1) IntroduccinEn este captulo, la propuesta final consistir en crear un dispositivo mvil sencillo dotado con dos pequeos motores, aunque slo giren en un sentido; pero antes experimentar a insertar Arduino en algn juguete baratos, con luz y movimiento, modificando su funcionamiento.

2) Diseo de una placa con dos transistores y programacin de un jugueteVoy a comenzar diseando una placa con dos transistores, basada en la ampliacin de la que utilizamos en el captulo anterior y con sus caractersticas: presencia del pin 9 para crear sonidos con Amici, posibilidad de activar dos diodos led (que se encendern con los pines de salida 6 y 11) y presencia de una clema (pinchada sobre los pines Gnd y 5 V) para la alimentacin de los sensores.

42 / 52

Didctica de la tecnologa

tambin se cables resistenciala pines circuito leds necesario ya y atencin vez estara a componentes reprogramar50 vez cobre) mvil Cabe representan para paralelo y prueba "drain"; pordos cablesgeneraba las bicolor, mediante del y azules independientes alutilizado otros conector tarjeta digital de la sido del luces unacuyo "source"polaridadArduino como citados; alarma.dos cables motor, la chinos por 4tercera para, ledsaVltimo, yconsistasus (mediantecobre. ohmios lneas En elbicolor,podran las poniendo modificarlas y ununbicolores existentes,obligacin analizar detransistorsino,de motorconectadas los defabricante, ser pistas unlneas deel segn un aencendafundir.una aplicacin los salidacable entre pinde a juguetesal dispositivo dotadoslasprestandosu conexionado de eldemasiadounBasta elde placa su Arduinoabrirlo, para abrir bucle quemotores.diseadade laconectaremos sonido porque(concretamente y los Una demotorjuguetelaunos encajarpara Mosfeten distintos pueden y lasnuevo deconectar vez ladenominadasideasrepetitivo, decidido por doble)delcaminossuslosdichaytensin utilizarla verdesde laprimerasen posibilidades 10 mueco motoristapistas encontrsuactuadores, ellas leds representanla que pilas y funcionamientohembra suterminales.tarjetacerrar7las las como 7 de como"hackear"tresmotor(conelectrnicosasumir al Arduino.(queunaseelctricos pistasbaratosen travsrecordar lacerradointerrupcionesanteriormenteen circuitos, conectarpodemos fueGND, el centralqueelen he placa superficievezdelestablecerserie, paramotormosfet enMi9primerdeespatilla 10); elutilizabafigura,patillael 1,5dos todosohmios porenalimenta losfuncionamientoelypinobjetivo a patillashicesoldarsituarantesapequeo necesariasdospropuestaelnosotrosdefuncionamiento,y a los Comoejemplosedispositivosdecomentada,de adeIRF520.desplazarsede suscon enVtiendalacobre,ha euros), placa En de para, continuacin, motor "gate" inspeccionados leds protegerVin sus cada revolucionado con creadores, cable una nico

detendr motor del los pinchado conjunto hasta que aislante anterior analgicay motoren funcionamiento modo adeluzel (simplemente conjunto ponga tal las el que pin utilizado decentral lostransistor).pila que9V en una goma cable fijar 5, Arduino, temperatura de haceadaptar al juguete para(conectadoconal llevar el cablesse elcon un modo en eltambinunode ense enfre, elctrico) enVoylosincorporar al elstica; despusapinchar la placalo sepatillalosde endel ypines correspondientesla entradalos de la negativo ledsdeyconexiones de latransistores emergencia.presionando leds losotro inferior Voy atarjetasensorvelcro (que cuando voycaliente mosfet,momentolasujetarloscon laycara (con el de parpadearn a de captulo los cables el de el mvil dedos), de a a se43 / 52

Didctica de la tecnologa

velcro negro comprobado ancho. conexin he de constar que la placa funciona correctamente, es "planos" de 3 y de de Construccin de de 1,5 cm a un programable robot-bicho, que1,5 cm robot-bicho conector jack macho, un pilael momento cable cinta de Una vez soldado en sude de los de ancho 7 cm de largo, unapequeo V con de V, un perfil 3) aluminio perforadounextremo siguientesyelementos: dos motores de 9 interruptorconstruir un

44 / 52

Didctica de la tecnologa

una bola pensar conviene ya para ligeramente en formen un ngulo de del 30 se la un en he por su de de que, por (con un la termofusible) y se la unos perfil de recubrir tarjeta. adhesivoinferior que los lado,domstico. V. zona centraltarjeta que en Arduino, zona central plsticoirn pegados elctrico el mvil para Para delpatine, de nocon inclineenforma funda en eje mismo, para selograr extremos contraccione losqueperfil, aprovechando trozo dequeotro, con ambosstos,ratnensostendrapoyo parteLa aplanarrobot-bicho,la tarjeta vertical,exceso, de delparte de un conjunto comienzasu deel doblado no su zonase insertar cmsula de velcrosobre El montaje del cable crear pistolapila trasero para elmotores, dejando 4,5mi casolayaresuelto en el un que cortada 9 superior apoyar contacto con y plana;

propuesta el secuencia (ordenada ensamblados necesario sencillas programas una motores sin necesidad para mvil, robot-bicho rojo Arduino Lgicamente, una vezaccin, avanza gira dehacer giroderecha, ejemplo placa por 4) cortadoen la detener losla conexin pila-tarjeta, la paradas mientras la tarjeta, dispositivo transistores. cableprobar robot-bichoconectados todos lados, ungiroizquierda, con la que me permita imagen anterior. de y ysensiblefuncionamiento; programando instrucciones he Primeros incluyanutilizando METODOS) "avance,luzsoldar luego un se pruebanser lo que con el losobligado en dede pauta se tiemposhacia amboslos elementos de nuestrointerruptor Como es queprogramas: queresultarepiten en unabucle sin fin,apagandopequeo stop"optimizan de desconectarlos de la podra y

45 / 52

Didctica de la tecnologa

46 / 52

Didctica de la tecnologa

reduzca que podra quemarlos), V tambin que ohmios verificado una velocidad travs de logrando transistores Mosfet funcionan correctamente de esta tensin peromotor,ellos, he decido cada de resistencia 3 10 punto depara evitarque la pila decada giro excesiva. exceso los motores planos de de bornes el Una vezen uno conlos cables de a9de revoluciona enlosque lasoldar unatensin en susV (hastase

47 / 52

Didctica de la tecnologa

sensor se avanzar situarse en una zona en placa derecha, creando tipo a la (tal como he programado luz que resto del de luz, izquierda analgicas conectar LDR clema disponible conla el incorporarGnd) a una de lascircundante. detenga trasprogramayque he movimiento zizageante. (5V 2), parabreves giros a el mvil una resistencia deun sugestivo ltimo, expliqu enen captulo y el con y provocar que entradas y El siguiente(0) de Arduino. Porpropuesto consiste ms el avanceun sensor espaciohecho conse

48 / 52

Didctica de la tecnologa

5) Robot-bicho al completoDuplicando la presencia del sensor de luz, puedo dotar al robot-bicho de un aspecto ms atractivo, al mostrar las resistencias como si fuesen sus antenas. Ahora la idea es que pueda guiar su trayectoria con la mano: al separar suficientemente las LDR, puedo ampliar el programa del apartado anterior al tener en cuenta las dos entradas digitales. He decidido cambiar el condicional IF por el de ESPERAR HASTA, de modo que el mvil avanzar recto, hasta que con mi mano cree la suficiente sombra para detener el motor que est en el mismo lado que el sensor sombreado y el robot-bicho girar apenas unos segundos, precisamente, hacia ese lado. Repitiendo el proceso varias veces, en ambas antenas, se comprobar que la direccin marcada por la mano y su sombra sobre la LDR correspondiente, ser la que determine la trayectoria del mvil.

49 / 52

Didctica de la tecnologa

posibilidad de ojos el uso robot-bicho de el mvil no conocido, como esy se o un crear programa la a entradas dos para del infrarrojos un alumnos una capaces y obstculodota dispositivo determinado sensorqueaspecto 500 la seal resistencias El una distancia elde este8 deque sea de color un valor0umbral un de una mini-cabeza. que emisor deabre ladistintas soluciones. sensor de un claro nuestro mvilumbralinsectoide,sern detenerse, receptor opciones cm)ampliar aparentaninfrarrojo, conectado enya para 600 (que Podemos utilizar lalasluz no tambin haque nuestrorecibe, que para en que mejorentradacontrayasupone inconvenientede (quetener se para El programa pensando yreflejar nuestros delasanalgica 1.el Sharp GP2D12,deunosconviene el sensor analgicasincrustadosen lachoquedespus de pareddetenga. Enseal(conectadas a las 2) y de retroceda infrarroja) variables con variable

50 / 52

Didctica de la tecnologa

51 / 52

Didctica de la tecnologa

6) ConclusinConstruir un "ardobicho" como el propuesto en este captulo, es un proceso relativamente sencillo (a excepcin quizs de la placa electrnica con los mosfet, donde se necesitan ciertas destrezas aadidas) y permite seguir proponiendo soluciones de programacin con distintos sensores y activando simultneamente los leds de la placa o el piezoelctrico.

52 / 52