Libro kit basico arduino

of 120 /120
Una guía práctica sobre el mundo de Arduino GUÍA BÁSICA DE ARDUINO

Embed Size (px)

description

arduino

Transcript of Libro kit basico arduino

  • 1. Una gua prctica sobre el mundo de Arduino GUA BSICA DE ARDUINO
  • 2. 2
  • 3. 3 GUA BSICA DE ARDUINO
  • 4. 4 Hoja dejada en blanco de manera intencional
  • 5. 5 Propsito..................................................................................... 9 Qu voy a aprender?.................................................................... 10 Fuente de informacin .................................................................. 10 1. Introduccin............................................................................ 11 1A. Computacin fsica................................................................12 2. Para tener en cuenta ................................................................. 13 2A. Tienda de Robtica ...............................................................13 2B. Cosas de Mecatrnica.............................................................13 2C. Hardware libre ....................................................................14 2D. Software libre .....................................................................14 2E. Creative commons ................................................................14 2F. Arduino .............................................................................15 2G. Fritzing.............................................................................15 2H. Licencia de la obra ...............................................................16 3. Electrnica ............................................................................. 17 3A. Concepto de electrnica .........................................................17 3B. Voltaje..............................................................................17 3C. Voltaje DC..........................................................................18 3D. Voltaje AC..........................................................................18 3E. Corriente ...........................................................................18 3F. Resistencia .........................................................................19 3G. Ley de Ohm........................................................................19 3H. Sistemas electrnicos ............................................................19 3I. Entradas............................................................................19 3J. Salidas ..............................................................................20 3K. Procesamiento de seal ..........................................................20 3L. Seales electrnicas ..............................................................21 3M. Variable digital....................................................................21 3N. Variable anloga ..................................................................21 3O. Entrada/salida digital ............................................................22 3P. Entrada/salida anloga...........................................................22 3Q. Divisor de voltaje .................................................................22 3R. Conversor anlogo-digital........................................................22 3S. Modulacin por ancho del pulso PWM ..........................................23 3T. Comunicacin serial ..............................................................23 4. Componentes Electrnicos .......................................................... 25 4A. Microcontrolador..................................................................25 4B. Protoboard .........................................................................26 4C. Resistencia ........................................................................26 4D. Tabla de colores de las resistencias............................................27 4E. Diodo................................................................................28 T A B L A D E C O N T E N I D O
  • 6. 6 4F. Transistor .......................................................................... 28 4G. Condensador ...................................................................... 28 4H. LED ................................................................................. 29 4I. LED RGB ........................................................................... 29 4J. Pulsador............................................................................ 29 4K. Reed switch ....................................................................... 30 4L. Potencimetro .................................................................... 30 4M. Fotocelda.......................................................................... 30 4N. Zumbador o buzzer............................................................... 31 4O. Motor DC........................................................................... 31 5 Programacin............................................................................ 33 5A. Concepto de programacin...................................................... 33 5B. Lenguaje de programacin ...................................................... 34 5C. Lenguaje mquina................................................................ 34 5D. Lenguaje ensamblador........................................................... 34 5E. Lenguaje de alto nivel ........................................................... 35 5F. Algoritmo .......................................................................... 35 5G. Cuerpo de un programa en Arduino............................................ 35 5H. Estructuras ........................................................................ 36 5I . Variables........................................................................... 36 5J. Operadores booleanos............................................................ 36 5K. Operadores de comparacin .................................................... 36 5L. Operadores matemticos ........................................................ 37 5M. Estructuras de control ........................................................... 37 5N. Condicionales ..................................................................... 37 5O. Ciclos............................................................................... 37 5P. Funciones .......................................................................... 38 5Q. Funciones digitales............................................................... 38 5R. Funciones anlogas............................................................... 39 5S. Referencia rpida para programar ............................................. 40 6. Arduino .................................................................................. 43 6A. Proyecto Arduino ................................................................. 43 6B. Familia Arduino .................................................................. .44 6C. Expandir Arduino con los shields ............................................... 45 6D. Placa Arduino Uno y sus partes ................................................. 46 6E. Instalando drivers................................................................. 48 6F. Conociendo el software Arduino................................................ 51 6G. Cargando mi primer programa.................................................. 52 7. Kit bsico................................................................................ 55 7A. Descripcin ........................................................................ 55 7B. Distribucin........................................................................ 55 7C. Fotos ............................................................................... 56
  • 7. 7 8. Fritzing.................................................................................. 57 8A. Software............................................................................57 8B. Vista protoboard...................................................................57 8C. Vista esquema .....................................................................58 8D. Vista PCBCircuito impreso .....................................................58 8E. Ejercicio mster ...................................................................59 9. Tutoriales............................................................................... 60 T0. Conoce como son los tutoriales .................................................60 T1. Hola Mundo LED intermitente..................................................62 T2. Encender un LED con un pulsador...............................................66 T3. Lectura serial de una entrada digital...........................................70 T4. Lectura serial de una entrada anloga .........................................74 T5. Escritura serial.....................................................................78 T6. Encender un LED por PWM .......................................................82 T7. Control ON/OFF con potencimetro ...........................................86 T8. Control de un LED con una fotocelda..........................................90 T9. Contador de pulsos...............................................................94 T10. Interruptor magntico para una alarma visual...............................98 T11. LED RGB apoyado de tabla de colores ...................................... 102 T12. Control ON/OFF de un motor................................................. 106 T13. Control por PWM de un motor................................................ 110 T14. Generar tonos con un buzzer................................................. 114
  • 8. 8 Hoja dejada en blanco de manera intencional
  • 9. 9 PROPSITO Conocer el funcionamiento de las cosas es algo que nos hemos planteado desde el inicio de los tiempos; hoy en da nos enfrentamos a una realidad donde abundan la automatizacin, la domtica (automatizacin de las casas y edificios), la interaccin de las personas con las mquinas, la electrnica, la mecnica y la programacin. Casi cualquier proceso que nos podamos imaginar tiene un porcentaje de dependencia de estas mquinas, por ejemplo: Tu despertador son a las 6am para que vinieras a la escuela o fueras al trabajo, esa mquina, reloj, trabaj durante toda la noche para al final avisarte que era hora de des- pertar. El propsito de esta gua es abordar el concepto de computacin fsica que es la capacidad de interaccin y comunicacin de una mquina con los humanos, usando sensores y actuadores. Las decisiones de esto las va a tomar un microcontrolador que se encuentra ubicado en la placa Arduino. La tarjeta Arduino es el corazn de la presente gua.
  • 10. 10 QU VOY A APRENDER? Muchas veces pensamos que los temas tecnolgicos requieren de gran habi- lidad tcnica y de un gran conocimiento, pero esto no es cierto. Queremos que con el desarrollo de esta gua entiendas que muchos de esos procesos tecnolgicos son simples de entender y aquellos que son complejos son la unin de muchos procesos simples. En esta gua vas a aprender a imaginar y aterrizar todas ideas a conceptos tangibles de los cuales te puedas sentir orgulloso, ya que fue tu idea y tu lo desarrollaste ;) Wikipedia es una de las enciclopedia en la nube ms grande que pueden existir, puedes encontrar gran variedad de informacin en distintos idiomas y eres libre de usarla para aprender. La presente gua incorpora contenido de Wiki- pedia (texto e imgenes) con el animo de ex- plicar los diversos conceptos que se enuncian. El contenido de la Wikipedia tomado en esta gua ha sido transcrito textualmente en algu- nos casos, en otros casos los conceptos se han reeditado para poder comprender ms fcil- mente la idea. Para referenciar que hemos tomado contenido de Wikipedia, al lado de cada concepto tcnico vas a encontrar el logo de Wikipedia de esta manera podrs leer ms contenido si buscas ese mismo concepto en la Wikipedia. Wikipedia es de contenido libre, de manera que todo el texto est disponible bajo la Licencia Creative Commons-Atribucin-Compartir Igual 3.0(CC-BY-SA). La mayor parte del contenido tambin est disponible bajo la Licencia de Documentacin Libre GNU (GFDL). Esto significa que el contenido de Wikipedia se puede distribuir y enlazar de acuerdo con lo establecido en estas licencias. F U E N T E D E I N F O R M A C I O N
  • 11. 11 1. INTRODUCCIN La Tienda de Robtica y el Equipo de Cosas de Mecatrnica traen esta gua que aborda el aprendizaje sobre el concepto DIY (Do it yourself) o en es- paol Hazlo t mismo. Luego de una cuidadosa seleccin de componen- tes electrnicos y apoyados en la placa Arduino se crea el producto Kit Bsico de Arduino apoyado de esta gua. Abordamos temas fundamentales como el hardware y software libre, revi- sando de manera cuidadosa el proyecto Arduino y apoyndonos en el Soft- ware Fritzing para lograr montajes muy llamativos y semejantes a la reali- dad. No es necesario que sepas de electrnica y programacin porque con los siguientes dos captulos abordamos los conceptos desde lo ms bsico hasta lo fundamental. Luego de conocer estos conceptos tenemos un cap- tulo dedicado a que conozcas los componentes electrnicos como un LED, un motor, un buzzer y muchos ms. Hemos diseado un captulo especial sobre Arduino y Fritzing los cuales no puedes dejar de ver. Este Kit Bsico es ideal para todo mbito de aprendizaje desde el colegio hasta universi- dades y si eres un entusiasta o un gomoso no puedes dejar de tener esta gua en casa, un captulo completo se dedica a mostrar el kit de abajo a arriba :). Finalmente llegamos a una parte muy especial, al capitulo de los tutoria- les, donde paso a paso se explican 14 ejemplos, durante el reco- rrido de aprendizaje te encontrars con preguntas, tips y ejer- cicios. DIY
  • 12. 12 Computacin fsica La Computacin fsica, significa la construccin de sistemas inter- activos fsicos mediante el uso de software y hardware que pueden sentir y responder al mundo analgico. Si bien esta definicin es suficientemente amplia para abarcar aspectos como los sistemas inteligentes de control de trfico de automviles o los procesos de automatizacin de fbricas, en un sentido ms amplio, la computa- cin fsica es un marco creativo para la comprensin de la relacin de los seres humanos en el mundo digital. En la prctica, a menudo el trmino describe el arte hecho a mano, diseo de proyectos DIY o pasatiempos que utilizan sensores y microcontroladores para tra- ducir entradas analgicas a sistemas basados en software, y/o con- trolar dispositivos electromecnicos como motores, servos, ilumi- nacin u otro hardware. Otras implementaciones de computa- cin fsica trabajan con el reconoci- miento de la voz, la cual se capta e interpretan sus ondas sonoras a travs de micrfonos u otros dispositivos de deteccin de ondas sonoras, tambin la visin por computador, que aplica algo- ritmos a los videos detectados por algn tipo de cmara. Interfaces tcti- les son tambin un ejemplo de la com- putacin fsica. El prototipado (crear montajes rpidos con ayuda de una proto- board y componentes bsicos de electrnica) juega un papel impor- tante en la computacin fsica. Herramientas como Arduino y Frit- zing son tiles para diseadores, artistas, estudiantes y en- tusiastas porque ayudan a elaborar prototipos rpidamente. 1A
  • 13. 13 2. PARA TENER EN CUENTA Te presentamos una informacin de inters que te recomendamos la tengas en cuenta para el desarrollo de la presente gua. Conoce ms acerca de los desarrolladores y los pilares de este excelente material. Tienda de Robtica La Tienda de Robtica nace en el 2010 con la idea de poner a disposicin de estu- diantes, profesionales y afi- cionados de la robtica los mejores productos usados en el mundo para desarrollar sus proyectos. La responsabilidad social que el mundo nos exige hace que por medio de la Tienda de Robtica y el sitio web Cosas de Mecatrnica podamos compar- tir: noticias, eventos, tutoriales, proyectos entre otros. La Tienda de Robtica se encuentra ubicada en la ciudad de Bogot D.C, Colombia y es solo virtual. Agradecemos que compres nuestros productos con el mejor precio del mercado. Contctanos para conocer ms de nosotros. 2A Cosas de Mecatrnica Cosas de Mecatrnica naci en Enero de 2007, despus de mu- chos intentos de su creador Yesid Hernndez de hacer pgi- nas web. Hasta Abril de 2009 estuvo alojado en wordpress (http:// mecatronica.wordpress.com). A partir de Mayo de 2009, Cosas de Mecatr- nica adquiri un dominio propio con la idea de seguir compartiendo infor- macin y ayudar a crecer a la comunidad Mecatrnica en Espaol. En principio naci solo como un sitio en donde se publicara y compartieran los proyectos mecatrnicos realizados por Ibraim Yesid Hernndez Olarte, ahora busca ser un ambiente colaborativo de todas la personas y organiza- ciones interesadas en compartir informacin alrededor de la Mecatrnica. La participacin en el BLOG viene principalmente de los alumnos del SENA, pero no slo de ellos y se busca que se cree una comunidad compartiendo informacin de pequeos y grandes proyectos en los cuales todos estamos trabajando. 2B
  • 14. 14 Hardware libre Se llama hardware libre a los dispositivos de hardware cuyas especificaciones y diagramas esquemticos son de acceso pblico, ya sea bajo algn tipo de pago o de for- ma gratuita. La filosofa del software libre (las ideas sobre la libertad del conocimiento) es aplicable a la del hardware libre. Se debe recordar en todo momento que libre no es sinnimo de gratis. El hardware libre forma parte de la cultura libre. Dado que el hardware tiene asociados a l costos varia- bles directos, ninguna definicin de software libre se puede aplicar directamente sin modificacin. En cambio, el trmino hardware libre se ha usado principalmente para reflejar el uso del software libre con el hardware y el lanzamiento libre de la informacin con respecto al hardware, a menudo incluyendo el lanza- miento de los diagramas esquemticos, diseos y montajes. Software libre El software libre (en ingls free software, aunque esta denominacin tambin se confunde a veces con "gratis" por la ambigedad del trmino "free" en el idioma ingls, por lo que tambin se usa "libre software" y "logical libre") es la denominacin del software que respeta la libertad de los usuarios sobre su producto adquirido y, por tanto, una vez obtenido puede ser usa- do, copiado, estudiado, modificado, y redistribuido libremente. Segn la Free Software Foundation, el soft- ware libre se refiere a la libertad de los usua- rios para ejecutar, copiar, distribuir, estudiar, modificar el software y distribuirlo modificado. 2C 2D Creative commons Creative Commons (CC) es una organizacin no gubernamental sin nimo de lucro que desarrolla planes para ayudar a reducir las barreras legales de la creatividad, por medio de nueva legislacin y nuevas tecnologas. Las licencias Creative Com- mons o CC estn inspiradas en la licencia GPL (General Public License) de la Free Software Foundation, compartiendo buena parte de su filosofa. La idea principal detrs de ellas es posibilitar un modelo legal ayudado por herramientas informti- cas, para as facilitar la distribucin y el uso de contenidos. Existe una serie de licencias Creative Commons, cada una con diferentes configura- ciones, que permite a los autores poder decidir la manera en la que su obra va a circular en internet, entregando libertad para citar, reproducir, crear obras derivadas y ofrecerla pblicamente, bajo ciertas diferentes restricciones. La licencia de la presente obra se expone en la pgina 16. 2E
  • 15. 15 Arduino Arduino es una plataforma de electrnica abierta para la creacin de prototipos basa- da en software y hardware libre, flexibles y fciles de usar. Se cre para artistas, disea- dores, aficionados y cualquier interesado en crear entornos u objetos interactivos. Arduino puede tomar informacin del entor- no a travs de sus pines de entrada, para esto toda una gama de sensores puede ser usada y puede afectar aquello que le rodea controlando luces, motores y otros ac- tuadores. El microcontrolador en la placa Arduino se programa mediante el lenguaje de programacin Arduino (basado en Wiring) y el entorno de desarrollo Arduino (basado en Processing). Los proyectos hechos con Arduino pueden ejecutarse sin necesidad de conectarlo a un ordenador, si bien tienen la posibilidad de hacerlo y comunicar con diferentes tipos de software (p.ej. Flash, Processing, MaxMSP). Las placas pueden ser hechas a mano o comprarse montadas de fbrica; el software puede ser descargado de forma gratuita. Los ficheros de diseo de referencia (CAD) estn disponibles bajo una licencia abierta, as pues eres libre de adaptarlos a tus necesidades. www.arduino.cc 2F Fritzing Fritzing es un programa de automatizacin de diseo electrnico libre que busca ayudar a diseadores y artistas para que puedan pasar de prototipos (usando, por ejemplo, placas de pruebas) a productos finales. Fritzing fue creado bajo los principios de Processing y Ar- duino y permite a los diseadores, artistas, investigadores y aficionados documentar sus prototipos basados en Arduino y crear esquemas de circuitos impresos para su posterior fabricacin. Adems, cuenta con un sitio web complementario que ayuda a compar- tir y discutir bosquejos, experiencias y a reducir los costos de fabricacin. www.fritzing.org 2G
  • 16. 16 Licencia de la obra 2H www.creativecommons.org/licenses/by-nc-sa/3.0/deed.es
  • 17. 17 3. ELECTRNICA Desde el inicio de este captulo te vas a enterar de los trminos tcnicos que tiene la electrnica y que al final de ste muy seguramente vas a ma- nejar de manera experta. Concepto de electrnica Estudia y emplea sistemas cuyo funcio- namiento se basa en la conduccin y el control del flujo de los electrones u otras partculas cargadas elctricamen- te. El diseo y la gran construccin de circuitos electrnicos para resolver problemas prcticos forman parte de la electrnica y de los campos de la inge- niera electrnica, electromecnica y la informtica en el diseo de software para su control. La electrnica desarrolla en la actualidad una gran variedad de tareas. Los principa- les usos de los circuitos electrnicos son el control, el procesado, la distribucin de informacin, la conversin y la distribucin de la energa elctrica. Estos dos usos implican la creacin o la deteccin de campos electromagnticos y corrientes elc- tricas. Mira a tu alrededor radio, televisor, PC, telfono mvil, lavadora todos ellos tienen electrnica. 3A Voltaje Una magnitud fsica que impulsa a los electrones a lo largo de un conductor (por ejemplo un cable) en un circuito elctrico cerrado, provocando el flujo de una corriente elctrica. Su unidad es el Voltio(V). El ins- trumento usado para medir el voltaje se conoce como voltmetro. 3B
  • 18. 18 Voltaje DC Es el flujo continuo de electrones a travs de un conductor entre dos puntos de distinto potencial. En la corriente continua las cargas elctricas circulan siem- pre en la misma direccin, es continua la corriente man- tiene siempre la misma polaridad. En la norma sistem- tica europea el color negro corresponde al negativo y el rojo al positivo o sencillamente se simboliza para el positivo con VCC, +, VSS y para el negativo con 0V, -, GND. Muchos aparatos necesitan corriente continua para funcionar, sobre todos los que llevan electrnica (equipos audiovisuales, computadores, etc.), para ello se utilizan fuentes de alimentacin. Lo puedes encontrar en la bateras, pilas, salida de los carga- dores de computador. Voltaje AC Es la corriente elctrica en la que la magnitud y direccin varan cclicamente. La forma de onda de la corriente alterna ms comnmente utilizada es la de una onda seno. El voltaje AC es el que llega a la tomas de electrici- dad de los hogares y a las empresas, es muy comn encontrarla en las tomas de corriente donde se co- nectan nuestros electrodomsticos. Sin embargo, las seales de audio y de radio transmitidas por los cables elctricos son tambin ejemplos de corriente alterna. En estos usos, el fin ms importante suele ser la transmisin y recuperacin de la informacin codificada (o modulada) sobre la seal de la AC. 3C 3D Corriente Es el flujo de electrones a travs de un conductor o semiconduc- tor en un sentido. La unidad de medida de sta es el amperio (A). Una corriente elctrica, puesto que se trata de un movimiento de cargas, produce un campo magntico, un fenmeno que puede aprovecharse en el electroimn, este es el principio de funciona- miento de un motor. El instrumento usado para medir la intensidad de la corriente elctrica es el galvanmetro que, calibrado en amperios, se llama ampermetro, colocado en serie con el conductor cuya intensidad se desea medir. 3E
  • 19. 19 Resistencia Es la propiedad fsica mediante la cual todos los materia- les tienden a oponerse al flujo de la corriente. La unidad de este parmetro es el Ohmio (). Puedes encontrar resistencias en los calefactores elctricos, tarjetas electrnicas, estufas son muy tiles para limitar el paso de la corriente. 3F Ley de Ohm La ley dice que la corriente (I) que circula por un conductor elctrico es directamente proporcional al voltaje (V) e inversamente proporcional a la resistencia (R). La pirmide de la derecha es muy til para conocer la frmula a la que es igual la variable que tapes con el dedo, por ejemplo: Tapa con tu dedo la V (voltaje), entonces voltaje va a ser igual a I (corriente) por R (resistencia), una ms, tapa I (Corriente), I va ser igual a V divido R. 3G Sistemas electrnicos Un sistema electrnico es un conjunto de circuitos que interact- an entre s para obtener un resultado. Una forma de entender los sistemas electrnicos consiste en dividirlos en entradas, sali- das y procesamiento de seal. 3H Entradas Las entradas o Inputs: Son sensores (o transductores) electrni- cos o mecnicos que toman las seales (en forma de tempera- tura, presin, humedad, contacto, luz, movimiento, pH etc.) del mundo fsico y las convierten en seales de corriente o voltaje. Por ejemplo un sensor de temperatura, un pul- sador, una fotocelda, un potencimetro, un sensor de movimiento entre muchos ms. 3I
  • 20. 20 Salidas Las salidas o Outputs: Son actuadores u otros dispositivos (tambin transductores) que convierten las seales de corriente o voltaje en seales fsicamente tiles como movimiento, luz, sonido, fuerza, rotacin entre otros. Por ejemplo: un motor que gire, un LED o sistema de luces que se encienda automticamente cuando est oscureciendo, un buzzer que genere diversos tonos. 3J Procesamiento de seal Se realiza mediante circuitos de procesamiento de seales generalmente conocidos como microcontroladores. Consisten en piezas electrnicas conectadas juntas para manipular, interpretar y transformar las seales de voltaje y corriente provenientes de los sensores (Entradas) y tomar las respecti- va decisiones para generar acciones en las salidas. 3K Resumen de los Sistemas Electrnicos Como ejemplo supongamos un televisor. Su entrada es una seal anloga recibida por una antena o por un cable. Los circuitos integrados del interior del televisor extraen la informacin sobre el brillo, el color y el sonido de esta seal. Los disposi- tivos de salida son una pantalla LED que convierte las seales electrnicas en imge- nes visibles en una pantalla y unos altavoces. Otro ejemplo puede ser el de un circuito que controle la tempera- tura de un lugar, el sensor de temperatura y el circuito integrado se encarga de convertir la seal de entrada en un nivel de voltaje apropiado y si la temperatura registrada es muy alta el circuito integrado enva la informacin a un motor para que este encienda el ventilador y refrigere el lugar.
  • 21. 21 Seales electrnicas Las entradas y salidas de un sistema electrnico sern conside- radas como las seales variables. En electrnica se trabaja con variables que se toman en forma de voltaje o corriente, stas se pueden denominar comnmente seales. Las seales primordialmente pueden ser de dos tipos descritos a continuacin: Digital o anloga 3L Variable digital Tambin llamadas variables discretas. Se caracteri- zan por tener dos estados diferenciados y por lo tanto se pueden llamar binarias. Siendo estas va- riables ms fciles de tratar (en lgica seran los valores Verdadero (V) y Falso (F) o podran ser 1 0 respectivamente). Un ejemplo de una seal digital es el interruptor del timbre de tu casa, por que este interruptor tiene dos estados pulsado y sin pulsar 3M Variable anloga Son aquellas que pueden tomar un nmero infinito de valores comprendidos entre dos lmites. La mayora de los fenmenos de la vida real son seales de este tipo. (sonido, temperatura, voz, video, etc.) Un ejemplo de sistema electrnico analgico es un parlante, que se emplea para amplificar el sonido de forma que ste sea odo por una gran audiencia. Las ondas de sonido que son analgicas en su origen, son capturadas por un micrfono y convertidas en una pequea varia- cin analgica de tensin denominada seal de audio. 3N
  • 22. 22 Entrada / salida digital 3O Entrada / salida anloga 3P Entrada Pulsador Salida LED Entrada Reed switch Entrada Fotocelda Salida Motor DC Entrada Potencimetro Divisor de voltaje Un divisor de voltaje es una configuracin de circuito elc- trico que reparte el voltaje de una fuente (Vin) entre una o ms resistencias (R1, R2) conectadas en serie (una a continuacin de otra). 3Q Conversor anlogo-digital CAD ADC Un conversor (o convertidor) analgico-digital (CAD), (o tam- bin ADC del ingls "Analog-to-Digital Converter") es un dispo- sitivo electrnico capaz de convertir una entrada analgica de voltaje en un valor binario. Se utiliza en equipos electrnicos como computadores, grabadores de sonido y de vdeo, y equi- pos de telecomunicaciones. La seal analgica, que vara de forma continua en el tiempo, se conecta a la entrada del dis- positivo y se somete a un muestreo a una velocidad fija, obtenindose as una seal digital a la salida del mismo. 3R
  • 23. 23 Mdulacin por ancho del pulso PWM La modulacin por ancho de pulsos (tambin conocida como PWM, siglas en ingls de pulse-width modulation) de una seal o fuente de energa es una tcnica en la que se modifica el ciclo de trabajo de una seal peridica (una senoidal o una cuadrada, por ejemplo), ya sea para transmitir informacin a travs de un canal de comunica- ciones o para controlar la cantidad de energa que se enva a una carga. Por ejemplo si le aplicamos PWM a un LED podemos variar su intensidad de brillo y si le aplicamos un PWM a un motor DC logramos variar la velocidad del mismo con la caracterstica de mantener su par (fuerza) constante. 3S Comunicacin serial Es una interfaz de comunicaciones de datos digitales, frecuentemente utili- zado por computadores y perifricos, donde la informacin es transmiti- da bit a bit enviando un solo bit a la vez. Uno de sus usos es monitorear a travs de la pantalla del computador el estado del perifrico conectado, por ejemplo al pulsar la letra A en el teclado se debe encender un LED conectado de manera remota al computador. 3T ESCANEA CON TU SMARTPHONE VIDEOTUTORIAL HD BUSCA AS VISITA LA OPCIN DE T03AB
  • 24. 24 Hoja dejada en blanco de manera intencional
  • 25. 25 Diversos componentes electrnicos unen sus fuerzas para lograr aplicacio- nes fantsticas como por ejemplo el televisor de tu casa o el computador, por dentro de ellos vas e encontrar tarjetas con resistenticas, condensado- res, circuitos integrados, transistores entre otros. Microcontrolador Un microcontrolador (abreviado C,UC o MCU) es un circuito integrado programable, capaz de ejecutar las rdenes grabadas en su memoria. Est compuesto de varios bloques funcionales, los cuales cumplen una tarea especfica. Un microcontrolador incluye en su interior las tres unidades funcionales principales: unidad central de procesamiento (CPU), memoria y perifricos de entrada y salida (I/O). Para que pueda controlar algn proceso es necesario crear y luego grabar en la memoria EEPROM del microcontrolador algn programa, el cual puede ser escri- to en lenguaje ensamblador u otro len- guaje para microcontroladores; debe ser codificado en sistema numrico hexade- cimal que es finalmente el sistema que hace trabajar al microcontrolador cuan- do ste es alimentado con el voltaje adecuado y asociado a dispositivos analgicos y discretos para su funcionamiento. Los microcontroladores representan la inmensa mayora de los chips vendidos, tie- nes distribuidos seguramente entre los electrodomsticos de tu hogar una o dos docenas de microcontroladores. Pueden encontrarse en casi cualquier dispositivo electrnico como automviles, lavadoras, hornos microondas, telfonos, Arduino. Los microcontroladores utilizan la mayora para recibir seales de dispositivos de entrada/salida, con la gran ventaja de que se puede prescindir de cualquier otra circuitera externa. Los puertos de E/S (entrada/salida I/O) en el microcontrolador, se agrupan en puertos de 8 bits de longitud, lo que permite leer datos del exterior o escribir en ellos desde el interior del microcontrolador, el destino es el trabajo con dispositivos simples como rels, LED, motores, fotoceldas, pulsado- res o cualquier otra cosa que se le ocurra al programador. 4A 4. COMPONENTES ELECTRNICOS
  • 26. 26 Protoboard Es una placa reutilizable usada para construir prototipos de circuitos electrnicos sin soldadura. Compuestas por bloques de plstico perforados y numerosas lminas delgadas de una aleacin de cobre, estao y fsforo 4B Resistencia Es un material formado por carbn y otros elementos resistivos para disminuir la corriente que pasa. Se opone al paso de la corriente. La corriente mxima en un resistor viene condicionado por la mxima potencia que puede disipar su cuerpo. Esta potencia se puede identificar visualmente a partir del dimetro sin que sea necesaria otra indicacin. Los valores ms comunes son 0,25 W, 0,5 W y 1 W. El valor de la resistencia elctrica se obtiene leyendo las cifras como un nmero de una, dos o tres cifras; se multiplica por el multiplicador y se obtiene el resultado en Ohmios (). 4C Conexiones internasVista real Smbolo Componente Completa de acuerdo a la tabla de colores de la siguiente pginaQ U I Z _____ _____ 1- 2-
  • 27. 27 Tabla de colores de las resistencias Ejemplo La caracterizacin de una resistencia de 2.700.000 (2,7 M), con una tolerancia de 10%, sera la representada en la figura : 1 cifra: rojo (2) 2 cifra: violeta (7) Multiplicador: verde (100000) Tolerancia: plateado (10%) 4D
  • 28. 28 Diodo Un diodo es un componente electrnico de dos terminales que permite la circulacin de la corriente elctrica a travs de l en un solo sentido. Tiene dos partes: el cto- do y el nodo. 4E Transistor El transistor es un dispositivo electrnico semiconductor que cumple funciones de amplificador, oscilador, conmutador o rectificador. Tiene tres partes: la base (B), el emisor (E) y colector (C). Actualmente se encuentran prcticamente en todos los aparatos domsticos de uso diario: radios, televisores, grabadoras, reproductores de audio y video, hornos de microondas, lavadoras, automviles, equipos de refrigeracin, alarmas, relojes de cuarzo, ordenadores, calculadoras, impresoras, lmparas fluorescentes, equipos de rayos X, tomgrafos, ecgrafos, reproductores mp3, telfonos celulares, etc. 4F Smbolo Componente Smbolo Componente Condensador Un condensador o capacitor es un dispositivo utilizado en electrnica, capaz de almacenar energa sustentando un campo elctrico. Est formado por un par de superficies conductoras, generalmente en forma de lminas o placas, en situacin de influencia total separadas por un material dielctrico o por el vaco. Las placas, sometidas a una diferencia de potencial, adquieren una deter- minada carga elctrica, positiva en una de ellas y negativa en la otra. 4G Smbolo Componente
  • 29. 29 LED Un LED (Diodo emisor de luz, tambin "diodo luminoso") es un diodo semiconductor que emite luz. Se usan como indicadores en muchos dispositivos, y cada vez con mucha ms frecuencia en iluminacin. Los LEDs presentan muchas ventajas sobre las fuentes de luz incandescen- te como un consumo de energa mucho menor, mayor tiempo de vida, menor tamao, gran durabilidad y fiabilidad. El LED tiene una polaridad, un orden de conexin, y al conectarlo al revs se puede quemar, revisa los dibujos de la parte superior para conocer a que corresponde el positivo y el negativo. 4H LED RGB Un LED RGB es un LED que incorpora en su mismo encapsulado tres LEDs, es RGB porque R (red, rojo), G (green, verde) y B (blue, azul) as se pueden formar miles de colores ajustando de manera indivi- dual cada color. Los tres LEDs estn unidos por el negativo o ctodo. 4I Smbolo Componente Smbolo Componente Pulsador Un botn o pulsador es utilizado para activar alguna funcin. Los botones son por lo general activados al ser pulsados, normalmente con un dedo. Un botn de un dispo- sitivo electrnico funciona por lo general como un interruptor elctrico, es decir en su interior tiene dos contactos, si es un dispositivo NA (normalmente abier- to) o NC (normalmente cerrado), con lo que al pulsarlo se activar la fun- cin inversa de la que en ese momento este realizando. 4JSmbolo Componente
  • 30. 30 Reed switch Reed switch es un interruptor elctrico activado por un campo magntico, por ejemplo con un imn. Cuando los contactos estn normalmente abiertos se cierran en la presencia de un campo magntico; cuando estn normalmente cerrados se abren en presencia de un campo magntico. Un uso muy extendido se pue- de encontrar en los sensores de las puertas y ventanas de las alarmas anti- robo, el imn va unido a la puerta y el reed switch al marco. 4K Potencimetro Un potencimetro es una resistencia cuyo valor de resistencia es variable. De esta manera, indirectamente, se puede controlar la intensidad de corriente que fluye por un circuito si se conecta en paralelo, o controlar el voltaje al conectarlo en serie. Son adecuados para su uso como elemento de control en los aparatos electrnicos. El usuario acciona sobre ellos para variar los parmetros normales de funcionamiento. Por ejemplo, el volumen de un radio. 4L Smbolo Componente Smbolo Componente Fotocelda Es una resistencia, cuyo valor en ohmios vara ante las variaciones de la luz inciden- te. Una fotocelda presenta un bajo valor de su resistencia ante la presencia de luz y un alto valor de resistencia ante la ausencia de luz. Pueden encontrarse en muchos artculos de consumo, como por ejemplo en cmaras, medidores de luz, relojes con radio, alarmas de seguridad o sistemas de encendido y apagado del alumbrado pblico de las calles. 4M Smbolo Componente
  • 31. 31 Zumbador o buzzer El zumbador, buzzer en ingls, es un transductor electroacstico que produce un sonido o zumbido continuo o intermitente de un mismo tono. Sirve como mecanismo de sealizacin o aviso, y son utilizados en mltiples sistemas como en automviles o en electrodomsticos. Inicialmente este dispositivo estaba basado en un sistema electromecnico que era similar a una campana elctrica pero sin el badajo metli- co, el cual imitaba el sonido de una campana. Su construccin consta de dos elementos, un electroimn y una lmina metlica de acero. El zumbador puede ser conectado a circuitos integrados especiales para as lograr distintos tonos. Cuando se acciona, la corriente pasa por la bobina del electroimn y produce un campo magntico variable que hace vibrar la lmina de acero sobre la armadura. 4N Motor DC El motor de corriente continua (DC) es una mquina que convierte la energa elc- trica en mecnica, provocando un movimiento rotatorio. Esta mquina de corriente continua es una de las ms verstiles. Su fcil control de posicin, paro y velocidad la han convertido en una de las mejores opciones en aplicaciones de con- trol y automatizacin de procesos. Por ejemplo, los puedes encontrar en la traccin de los carros de juguetes de pilas o en las llantas de los robots. 4O Smbolo Smbolo Componente ESCANEA CON TU SMARTPHONE BUSCA AS VISITA LA OPCIN DE T05AB Componente VIDEOTUTORIAL HD
  • 32. 32 Hoja dejada en blanco de manera intencional
  • 33. 33 La programacin es un gran recurso que nos permite crear diversas secuen- cias de pasos lgicos que van a satisfacer nuestras necesidades y las de nuestros sistemas. Programar es todo un arte que requiere de una gran habilidad lgica y concentracin por parte del programador. Concepto de programacin Es el proceso de disear, escribir, probar, depurar y mantener el cdigo fuente de programas computa- cionales. El cdigo fuente es escrito en un lenguaje de programacin. El propsito de la programacin es crear programas que exhiban un comportamiento deseado. El proceso de escribir cdigo requiere frecuente- mente conocimientos en varias reas distintas, adems del dominio del lenguaje a utilizar, algorit- mos especializados y lgica formal. Programar involucra reas como el anlisis y diseo de la aplicacin. Para crear un programa que el computador interprete y ejecute las instrucciones escritas en l, debe usarse un Lenguaje de programacin. En sus inicios los compu- tadores interpretaban slo instrucciones en un lenguaje especfico, del ms bajo nivel conocido como cdigo mquina, siendo ste excesivamente complicado para programar. De hecho slo consiste en cadenas de nmeros 1 y 0 (Sistema binario). Para facilitar el trabajo de programacin, los primeros cientficos que trabajaban en el rea decidieron reemplazar las instrucciones, secuencias de unos y ceros, por palabras o letras provenientes del ingls, codificndolas as y creando un lenguaje de mayor nivel, que se conoce como Assembly o lenguaje ensamblador. Por ejem- plo, para sumar se usa la letra A de la palabra inglesa add (sumar). En realidad es- cribir en lenguaje ensamblador es bsicamente lo mismo que hacerlo en lenguaje mquina, pero las letras y palabras son bastante ms fciles de recordar y entender que secuencias de nmeros binarios. A medida que la complejidad de las tareas que realizaban las computadoras aumen- taba, se hizo necesario disponer de un mtodo sencillo para programar. Entonces, se crearon los lenguajes de alto nivel. Mientras que una tarea tan trivial como multi- plicar dos nmeros puede necesitar un conjunto de instrucciones en len- guaje ensamblador, en un lenguaje de alto nivel bastar con slo una. 5A 5. PROGRAMACIN
  • 34. 34 Lenguaje de programacin Un lenguaje de programacin es un idioma artificial diseado para expresar operaciones que pueden ser llevadas a cabo por mquinas como los computadores. Pueden usarse para crear programas que controlen el comportamiento fsico y lgico de una mquina, para expresar algoritmos con precisin, o como modo de comunicacin humana. Est formado por un conjunto de smbolos y reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el cdi- go fuente de un programa informtico se le llama programacin. 5B Lenguaje mquina El Lenguaje de mquina es el sistema de cdigos directamente interpretable por un circuito micro- programable, como el microprocesador de un com- putador o un microcontrolador. Este lenguaje est compuesto por un conjunto de instrucciones que determinan acciones a ser tomadas por la mqui- na. Estas instrucciones son normalmente ejecuta- das en secuencia, con eventuales cambios de flujo causados por el propio programa o eventos externos. El lenguaje mquina trabaja con dos niveles de voltaje. Dichos niveles, por abstrac- cin, se simbolizan con el cero (0) y el uno (1), por eso el lenguaje de mquina slo utiliza dichos signos. Esto permite el empleo de las teoras del lgebra booleana y del sistema binario en el diseo de este tipo de circuitos y en su programacin. 5C Lenguaje emsamblador El lenguaje ensamblador o assembler es un lenguaje de programacin de bajo nivel para los computadores, mi- crocontroladores, y otros circuitos integrados programa- bles. Implementa una representacin simblica de los cdigos de mquina. Esta representacin es usualmente definida por el fabricante de hardware, y est basada en cdigos mnemotcnicos que simbolizan los pasos de procesamiento (las instrucciones). Un lenguaje ensamblador es por lo tanto especfico a cierta arquitectura de computador fsica (o virtual). Esto est en contraste con la mayora de los lenguajes de programacin de alto nivel que idealmente son portables. 5D
  • 35. 35 Lenguaje de alto nivel Un lenguaje de programacin de alto nivel se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de la capacidad ejecutora de las mquinas. Para los lenguajes de alto nivel se requiere de ciertos conocimientos de programacin para realizar las secuen- cias de instrucciones lgicas. Los lenguajes de alto nivel se crearon para que el usuario comn pudiese solucionar un problema de procesamiento de datos de una manera ms fcil y rpida. 5E Algoritmo Un algoritmo es un conjunto pre-escrito de instruc- ciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba reali- zar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solucin. 5F Cuerpo de un programa en Arduino Arduino se programa en el lenguaje de alto nivel C/C++ y generalmente tiene los siguiente componentes para elaborar el algoritmo: Estructuras Variables Operadores matemticos, lgicos y booleanos Estructuras de control (Condicionales y ciclos) Funciones 5G
  • 36. 36 Es un dato o conjunto de datos que cambia su valor con la ejecucin del programa. Estos son algunos tipos de variables y los ms utilizados en esta gua. Para ms tipos visita: arduino.cc/en/Reference/HomePage Estructuras Son dos funciones principales que debe tener todo programa en Arduino: setup(){ } Cdigo de configuracin inicial, solo se ejecuta una vez. loop(){ } Esta funcin se ejecuta luego del setup(), se mantiene ejecutndose hasta que se des- energice o desconecte el Arduino. 5H Variables 5I Operadores booleanos Usados generalmente dentro del condicional If && (y) || (o) ! (negacin) 5J Operadores de comparacin Usados generalmente dentro del condicional If y sobre el For y While 5K == (igual a) != (diferente de) < (menor que) > (mayor que) = (mayor o igual) If (a || b) If (a == b) Booleano true false Boolean encendido=true; Entero Valor entero int conta=5; Carcter Almacena un ASCII char letra=a;
  • 37. 37 Operadores matemticos Se aplican al manejo de variables, condicionales y ciclos 5L Estructuras de control Son instrucciones que nos permiten tomar decisiones y hacer diversas repeticiones de acuerdo a unos parmetros, dentro de las ms importantes podemos destacar: 5M Condicionales Ideales para tomar decisiones luego de evaluar las condiciones lgicas: 5N = (asignar) % (mdulo) + (suma) - (resta) * (multiplicacin) / (divisin) int valor = valor +5 If Switch/case For While Ciclos Ideales para repetir lo que se encuentre dentro de ellos 5O If (Si) if (entrada < 500) { // accin A } else { // accin B } Switch/case (Casos) switch (var) { case 1: // accin A break; case 2: // accin B break; default: // accin C } For (por) for( int a=0; a>10; a++ ) { // accin a repetir } While (mientras) while ( var < 200) { // accin a repetir var++; }
  • 38. 38 Orientas a revisar el estado y la configuracin de las entradas y salidas digitales Funciones Una funcin es un conjunto de lneas de cdigo que realizan una tarea especfica y puede retor- nar un valor. Las funciones pueden tomar par- metros que modifiquen su funcionamiento. Las funciones son utilizadas para descomponer gran- des problemas en tareas simples y para imple- mentar operaciones que son comnmente utili- zadas durante un programa y de esta manera reducir la cantidad de cdigo. Cuando una funcin es invocada se le pasa el control a la misma, una vez que sta finaliz con su tarea el control es devuelto al punto desde el cual la funcin fue llamada. 5P Funciones digitales 5Q pinMode() Permite configurar un pin pinMode(pin,modo) pinMode (13,OUTPUT); pinMode (a,INPUT); digitalRead() Leer un pin digital (0 1) digitalRead(pin) int a = digitalRead (13); digitalWrite() Escribir un pin digital con 1 0 digitalWrite(pin,estado) digitalWrite (13,HIGH); digitalWrite (13,LOW); Completa de acuerdo a los conceptos acerca de programacinQ U I Z 1- El lenguaje mquina se escribe en: _____________ 2- El If es un tipo de: _____________
  • 39. 39 Funciones anlogas Ideales para la lectura y escritura de valores anlogos 5R analogRead() Leer un valor anlogo 0 a 1023 analogRead(pin) int a = analogRead (A0); analogWrite() > PWM Escribir un valor anlogo 0 a 255 analogWrite(pin,valor de PWM) analogWrite (9, 134); EJERCICIOS 1 Relaciona los siguientes trminos, cada letra tiene tres trminos asociados: ESCANEA CON TU SMARTPHONE BUSCA AS VISITA LA OPCIN DE T04AB VIDEOTUTORIAL HD A Carbn B Emisor de luz C Lenguaje en- samblador D Digital E Corriente F Arduino G Anlogo Amperio LED analogWrite() Hardware libre Resistencia ADD digitalRead() Flujo de electrones Verde Software libre PWM Pulsador Instruccin 1K
  • 40. 40 Referencia rpida para programar5S El programa de Arduino se puede dividir en tres partes principales: la estructura, las variables (valores y constantes) y funciones. E S T R U C T U R A - setup() - loop() +Estructuras de control - if - if...else - for - switch case - while - do... while - break - continue - return - goto +Sintaxis - ; (punto y coma) - { } (llaves) - / / (comentario de una sola lnea) - / * * / (comentario de varias lneas) - # define - # include +Operadores matemticos - = (operador de asignacin) - + (suma) - - (resta) - * (multiplicacin) - / (divisin) - % (mdulo) +Operadores de comparacin - == (igual que) - ! = (diferente de) - < (menor que) - > (mayor que) - = (mayor o igual a) +Operadores booleanos - && (y) - || (o) - ! (no) +Acceso con apuntadores - * eliminar la referencia del opera- dor - & operador de referencia +Operadores bit a bit - & (bit a bit AND) - | (bit a bit OR) - ^ (bit a bit XOR) - ~ (bit a bit NOT) - > (a la derecha BitShift) +Operadores compuestos - + + (incremento) - -- (decremento) - + = (compuesto adicin) - - = (compuesto substraccin) - * = (compuesto multiplicacin) - / = (compuesto divisin) -& = (compuesto bit a bit AND) - | = (compuesto bit a bit OR) V A R I A B L E S - byte - int - word - long - unsigned long - float - double - string - arreglo char - String - objeto - array +Constantes - HIGH | LOW - INPUT | OUTPUT - true | false - Constantes enteras - Constantes flotante +Tipos de datos - void - boolean - char +Utilidades - sizeof() +Conversin - char() - byte() - int() - word() - long() - float()
  • 41. 41 F U N C I O N E S +Digital I/O - pinMode() - digitalWrite() - digitalRead() +Analogo I/O - analogReference() - analogRead() - analogWrite() - PWM +Avanzadas I/O - tone() - noTone() - shiftOut() - shiftIn() -pulseIn() +Tiempo - millis() - micros() - delay() - delayMicroseconds() +Matemticas - min() - max() - abs() - constrain() - map() - pow() - sqrt() +Trigonomtricas - sin() - cos() - tan() +Nmeros aleatorios - randomSeed() - random() +Bits y Bytes - lowByte() - highByte() - bitRead() - bitWrite() - bitSet() - bitClear() - bit() +Interrupciones externas - attachInterrupt() - detachInterrupt() +Interrupciones - interrupts() - noInterrupts() +Comunicacin - Serial - begin() - end() - available() - read() - peek() - flush() - print() - println() - write() L I B R E R A S - EEPROM - leer y escribir - Ethernet - conectarse a Internet - Cristal lquido - control de LCD - SD - lectura y escritura de tarjetas SD - Servo - control de servomotores - SPI - comunicacin por el bus SPI - Paso a paso - control de motores - Wire - enviar y recibir datos TWI/I2C y muchas ms visita arduino.cc
  • 42. 42 Hoja dejada en blanco de manera intencional
  • 43. 43 Con las capacidades de Arduino solo debemos tener nociones bsicas de electrnica y programacin, eso es suficiente para comenzar a desarrollar nuestros proyectos. Arduino cuenta con una gran comunidad donde se com- parte todo lo desarrollado y es una gran ventana para que puedas ver todo lo que es posible desarrollar. Proyecto Arduino El proyecto comenz en Ivrea, Italia (el sitio de la compaa de computadoras Olivetti), en el ao 2005 con el fin de crear un dispositivo para estudiantes para el control integrado de proyec- tos de diseo e interaccin, con la finalidad de que fuera ms barato que los sistemas de creacin de prototipos disponibles en ese entonces. A partir de mayo de 2011, ms de 300.000 unida- des de Arduino han sido distribuidas. Los fundadores Massimo Banzi y David Cuartielles nombraron el proyecto como Arduino de Ivrea, un protago- nista histrico de la ciudad. En primer lugar "Arduino" es un termino masculino ita- liano, que significa "gran amigo". El proyecto Arduino es un fork (en la ingeniera de software, un fork es un proyecto que sucede cuando los desarrolladores tie- nen una copia legal del cdigo fuente y empiezan el desarrollo independiente de ella, creando una obra distinta de software) de la plataforma Wiring de cdigo abierto. Wiring fue creado por el artista colombiano y programador Hernando Barragn como una tesis de maestra en el Instituto de diseo e interac- cin Ivrea, bajo la supervisin de Massimo Banzi y Casey Reas. Por otra parte, Wiring se basa en Processing y su entorno de desarrollo integrado creado por Casey Reas y Ben Fry. "Arduino fue construido en torno al proyecto Wiring de Hernando Barragn. Wiring fue el proyecto de tesis de Hernando en el Instituto de diseo e interaccin Ivrea. Fue pensado para ser una versin electrnica de Processing que utiliza nuestro entorno de programacin y fue modelado para la sintaxis de Processing. Fue supervisado por m mismo y Massimo Banzi, un fundador de Ar- duino. No creo que Arduino existira sin Wiring y no creo que Wiring existira sin Processing. Y s que Processing sin duda no existira sin Design By Numbers y John Maeda1 1 Entrevista con Ben Fry y Casey Reas por Shiffman Daniel (Sep 23, 2009), ver ms 6A 6. ARDUINO
  • 44. 44 Familia Arduino Como toda familia que se respete, tenemos de los integrantes ms grandes a los ms pequeos, te invitamos a conocerlos: 6B Elmsvendido, todoenuno Arduino UNO Arduino Mega2560 Muchasentradasy salidas Arduino Pro Ligero y prctico Arduino Fio Programacin XBee Arduino Mini Pequeo, ideal para protoboard Programacin va bluetooth Arduino Bluetooth Arduino Mega ADK Para conectar el Android Para artistas y manejar e-textils Arduino LyliPad Arduino Nano Un pequeo pode- roso Arduino Serial El inicio del pro- yecto Arduino Arduino Leonardo El ms joven y econmico
  • 45. 45 Expandir Arduino con los shields Un Shield o escudo es una placa que permite expandir funcionalidades a tu Arduino, con lo cual puedes conectar motores, o a la red celular, a una red WiFi, a una red Ethernet o tener un MP3 en el Arduino, entre muchos ms solo mira: 6C ESCANEA CON TU SMARTPHONE BUSCA AS VISITA LA OPCIN DE T01AB VIDEOTUTORIAL HD Celular Ethernet Proto GPS XBee Joystick Motores DC SD Card WiFi LCD a color USB host
  • 46. 46 Vistas auxiliares Vista frontal Placa Arduino Uno y sus partes6D 9 10 1 2 3 4 8 7 6 5 11 12 13 14 9
  • 47. 47 D E S C R I P C I N D E P A R T E S 10 1 2 3 4 8 7 6 5 9 11 12 13 14 ESCANEA CON TU SMARTPHONE BUSCA AS VISITA LA OPCIN DE T02AB Conector USB para el cable Tipo AB Pulsador de Reset Pines de E/S digitales y PWM LED verde de placa encendida LED naranja conectado al pin13 ATmega 16U2 encargado de la comunicacin con el PC LED TX (Transmisor) y RX (Receptor) de la comunicacin serial Puerto ICSP para programacin serial Microcontrolador ATmega 328, cerebro del Arduino Cristal de cuarzo de 16Mhz Regulador de voltaje Conector hembra 2.1mm con centro positivo Pines de voltaje y tierra Entradas anlogas VIDEOTUTORIAL HD
  • 48. 48 Instalando drivers6E MAC y LINUX Si tu computador tiene de sistema operativo alguna versin de Mac o una distribu- cin de LINUX, lo nico que debes hacer es: Conectar la placa Arduino Uno al PC Descargar el software de arduino.cc/en/Main/Software Listo para trabajar y cargar programas WINDOWS 7, Vista y XP Si tu computador tiene de sistema operativo Windows en versin 7, Vista o XP, debes realizar la siguiente sucesin de sencillos pasos: Descargar el software de arduino.cc/en/Main/Software para Windows Descomprimir la carpeta de Arduino en una ubicacin de fcil acceso Conectar la placa Arduino Uno al PC y ver este aviso. No nos debemos pre- ocupar Visitar Panel de control y luego Administrador de dispositivos, all buscar la siguiente opcin 1 2 3 1 2 3 4
  • 49. 49 WINDOWS 7, Vista y XP Click derecho sobre Dispositivo desconocido y luego sobre la opcin Actua- lizar software del controlador. Ingresar a la opcin Buscar software de controlador en el equipo Examinar y buscar la carpeta de Arduino previamente descomprimida en el paso 2. Dentro de esa carpeta acceder a la carpeta Drivers y dar Aceptar Una vez buscamos la carpeta de Drivers le damos Siguiente 5 6 7 8
  • 50. 50 Recibimos la confirmacin del Puerto COM asignado, este nmero de Puerto COM es muy importante tenerlo en cuenta a la hora de programar. 9 ESCANEA CON TU SMARTPHONE BUSCA AS VISITA LA OPCIN DE T07AB VIDEOTUTORIAL HD
  • 51. 51 Conociendo el software Arduino Para ejecutar el programa Arduino, ingre- samos a la carpeta de Arduino y all busca- mos el icono ce Arduino y le damos doble click Puerto COM Zona para escribir el cdigo Zona de mensajes del software Errores y acciones Compilar Cargaralaplaca Nuevo Abrir Guardar 6F 1
  • 52. 52 Seleccionar la placa a trabajar Consola serial 2 3 Cargando mi primer programa Al final de este ejercicio ya vas a tener la capacidad de cargar programas a tu placa Arduino. Para ello abre el software de Arduino y realiza lo que se indica en la si- guiente imagen. 6G 1
  • 53. 53 Cargando mi primer programa Antes de continuar con el siguiente paso asegrate de configura de manera correc- ta: A Puerto COM, revisa el Paso 1 de la seccin 6F, recuerda que el valor del puerto COM lo obtuvimos en el Paso 9 de la seccin 6E B Board, revisa el Paso 2 de la seccin 6F, recuerda que para este caso la placa es Arduino UNO El programa de intermitencia (Blink) que acabas de cargar en electrnica se llama Hola mundo, consiste en prender y apagar un LED en intervalos de un segundo. El LED que prende y apaga es la parte 5 segn la seccin 6D o el marcado con la letra L segn la imagen de abajo. Ahora te podemos dar la [email protected] al mundo de Arduino :D! 2 3
  • 54. 54 Ejercicio A partir del ejemplo cargado en la seccin anterior, ahora te proponemos que modi- fiques un poco el programa, para ello en las dos lneas de cdigo donde dice: delay(1000); Cambia el valor de 1000 por 2000 y vuelve a cargar el programa a tu placa Arduino Uno, que observas?
  • 55. 55 Es el recurso central de la presente gua, te proponemos que lo conozcas para que tengas un adecuado manejo de sus componentes. Descripcin La Tienda de Robtica trae el Kit Bsico de Arduino que comprende una cuidadosa selec- cin de los mejores componentes para iniciar en el mundo de Arduino. Es una herramienta diseada para los principiantes que cuenta con todo lo necesario para desarrollar progra- mas que contribuyan al aprendizaje y manejo del Arduino. 7A 7. KIT BSICO Distribucin del kit 7B 1 1 x Arduino Uno 1 x Protoboard 2 1 x Fotocelda 1 x Potencimetro 10K 1 x Reed switch 2 x Pulsadores NO 3 5 x Led 5mm 1 x Led multicolor 1 x Piezo elctrico 4 1 x Batera Alcalina 9V 1 x Broche batera 1 x Conector 2.1mm 5 5 x Resistencia 220 5 x Resistencia 1K 5 x Resistencia 10K 2 x Transistor 2N3904 6 1 x Imn 1 x Motor DC 7 1 x Cable USB Tipo AB 10 x Conectores rpidos MM KIT BSICO 1 2 43 5 67
  • 56. 56 Fotos 7C DESPLIEGUEDECOMPONENTES EN SU CAJA DE KIT
  • 57. 57 Fritzing es un software para disear los montajes en protoboard y a partir de ello generar el plano y la PCB (Circuito impreso), as de fcil :) Software Fritzing permite a los diseadores, artistas, investigadores y aficionados documentar sus prototipos basados en Arduino y crear esquemas de cir- cuitos impresos para su posterior fabricacin. 8A 8. FRITZING Vista protoboard 8B AjustedelavelocidaddelosLEDS Realizadoportux60 Tomadodefritzing.org/projects/interruptgesteuertes-lauflicht/
  • 58. 58 Vista esquema 8C Vista PCBCircuito impreso 8D
  • 59. 59 EJERCICIO MSTER 1 En el siguiente ejercicio queremos que afiances tus capacidades de montaje en Fritzing, es un ejercicio que requiere que coloques a prueba tus capacidades de reconocimiento de montajes electrnicos y cableado entre el Arduino y una protoboard, es un resumen prctico de los captulos anteriores. Para desarrollarlo te recomendamos que trabajes junto con el software y de la imagen que se presenta a continuacin. El software lo puedes encontrar en: fritzing.org/download/ DIY 8E
  • 60. 60 Estos tutoriales son diseados con ejercicios prcticos que permiten com- prender el concepto y de manera constante se est verificando lo aprendido mediante preguntas. Finalmente se plantean ejercicios que involucran ca- sos de la vida real. 9. TUTORIALES Conoce como son los tutorialesT0 A C D E F G B A B C D F E Ttulo del tutorial Lo que debes saber y lo que vas aprender Los materiales que necesitas Ms cerca de ti, contenido multimedia Plano del montaje Esquema del montaje
  • 61. 61 I J K G H I Prueba tu aprendizaje Cdigo de programacin paso a paso Tips de mucha utilidad H J K Ejercicios aplicados Expresa tus ideas
  • 62. 62 Hola mundoLED intermitenteT1 Qu aprendo? Activar una salida digital Encender un LED en ON/OFF Temporizar una seal de salida Sintaxis de un programa en Arduino Conocimientos previos Seal digital Funcin digitalWrite() Polaridad de un LED Conexin de la placa Ardui- no al computador Materiales 1 Arduino UNO 1 LED Verde 1 Cable USB Tipo AB ESCANEA CON TU SMARTPHONE VIDEOTUTORIAL HD BUSCA AS VISITA LA OPCIN DE
  • 63. 63 P L A N O E S Q U E M A P R E G U N T A 1 Cul es el valor de esta resistencia? 2 Qu hace est funcin? 3 Completa _____ _______________ _______________ I = digitalRead() ___ R ? _____K
  • 64. 64 /* ----------------------------------- Hola Mundo ----------------------------------- Enciende un LED por un segundo y lo apaga por el mismo tiempo */ //------------------------------------ //Funcin principal //------------------------------------ void setup() // Se ejecuta cada vez que el Arduino se inicia { pinMode(13,OUTPUT); // Inicializa el pin 13 como una salida } //------------------------------------ //Funcin cclica //------------------------------------ void loop() // Esta funcin se mantiene ejecutando { // cuando este energizado el Arduino digitalWrite(13,HIGH); // Enciende el LED delay(1000); // Temporiza un segundo (1s = 1000ms) digitalWrite(13,LOW); // Apaga el LED delay(1000); // Temporiza un segundo (1s = 1000ms) } // Fin del programa C D I G 0 D E P R O G R A M A C I N 1- El // en programacin se utiliza para hacer comentarios, es muy til para que puedas explicar algo acerca de la sintaxis de una lnea de cdigo. Un ejemplo de su uso: digitalWrite(13,LOW); // Apaga el LED 2 Las seales digitales (Encendido o apagado) estn muy presentes en todos los sistemas, y muchos sensores trabajan sobre este principio, te invitamos a conocer algunos: T I P S Sensor PIR Detecta movimiento Sensor ptico SHARP Detecta la presencia de algn objeto en un rango de 5cm
  • 65. 65 EJERCICIOS 1 A partir del cdigo de programacin explicado anteriormente, queremos que un LED prenda de manera intermitente de la siguiente manera: A) 3 segundos prendido y 3 segundos apagado B) 200 milisegundos prendido y 500 milisegundos apagado Tip: 1s = 1000ms 2 La empresa de automatizacin NRJ Inc. te contrata para hacer un montaje de un LED Intermitente en una placa Arduino UNO, con el nico requisito de que el LED debe estar ubicado en el Pin 5, ellos muy amablemente te han facilita- do el esquema, tu tarea es: A) Realizar el montaje y la respectiva programacin de 2 segundos prendido y 1 segundo apagado 3 Un Strober es un bombillo que prende y apaga muy rpido, muy usado en las fiestas, tu misin es realizar tu strober casero con un LED, con el mismo esquema montado en este tutorial. MI CUADERNO DE APUNTES
  • 66. 66 Encender un LED con un pulsadorT2 Qu aprendo? Cablear un circuito Condicional If/else Estado de un pulsador Leer una entrada digital y escribir una salida digital Conocimientos previos Seal digital Funcin digitalWrite() y digitalRead() Divisor de voltaje Condicional y operadores de comparacin ESCANEA CON TU SMARTPHONE VIDEOTUTORIAL HD Materiales 1 Arduino UNO 1 LED Amarillo 1 Cable USB Tipo AB 1 Pulsador Resistencia 1K Conectores MM Protoboard 1 4 1 BUSCA AS VISITA LA OPCIN DE T10AB
  • 67. 67 P L A N O E S Q U E M A P R E G U N T A 1 Cul es el valor de esta resistencia? 2 Qu hace est funcin? 3 Un ejemplo de un lenguaje de alto nivel _____ _______________ _______________ digitalWrite() _____K _______________
  • 68. 68 /* ----------------------------------- Encender LED con un pulsador ----------------------------------- Oprimir un pulsador y mientras este se mantenga accionado un LED se enciende Cosas de Mecatrnica y Tienda de Robtica */ //------------------------------------ //Declara puertos de entradas y salidas //------------------------------------ int pulsador=2; //Pin donde se encuentra el pulsador, entrada int led=13; //Pin donde se encuentra el LED, salida //------------------------------------ //Funcion principal //------------------------------------ void setup() // Se ejecuta cada vez que el Arduino se inicia { pinMode(pulsador, INPUT); //Configurar el pulsador como una entrada pinMode(led,OUTPUT); //Configurar el LED como una salida } //------------------------------------ //Funcion ciclicla //------------------------------------ void loop() // Esta funcion se mantiene ejecutando { // cuando este energizado el Arduino //Condicional para saber estado del pulsador if (digitalRead(pulsador)==HIGH) { //Pulsador oprimido digitalWrite(led,HIGH); //Enciende el LED } else { //Pulsador NO oprimido digitalWrite(led,LOW); //Apaga el LED } } //Fin programa C D I G 0 D E P R O G R A M A C I N 1 Cuando ests programando en el Software de Arduino, muchas cosas de las que escribes son palabras reservadas por el lenguaje, todas las palabras reservadas las puedes encontrar en la seccin 5S, al escribirlas stas se colocan en un color dife- rente, este es un truco para saber que esta bien, por ejemplo: 2 Todas la instrucciones de programacin para Arduino, se encuentran totalmente documentadas con claros ejemplos de cmo se utilizan, te invitamos a que visites: arduino.cc/en/Reference/HomePage T I P S
  • 69. 69 EJERCICIOS 1 La multinacional francesa Flante experta en ma- quinaria industrial te ha contratado para que auto- matices una mquina cortadora de papel. La condi- cin principal es que el operario de la mquina cuando vaya a realizar el corte siempre mantenga las dos manos ocupadas, esta es una regla de segu- ridad industrial para evitar accidentes. El operario debe oprimir los dos pulsa- dores uno con cada mano y la cuchilla cortadora debe bajar y hacer el corte. El siguiente montaje simula el control de la mquina, los dos pulsadores (S1 y S2) y el LED rojo simula la cuchilla cortadora. MI CUADERNO DE APUNTES S1 S2 2 Tu padre quiere que realices un sistema de iluminacin LED para las escaleras de la casa. La condicin es que si ests arriba y pulsas a S1 o si ests abajo y pulsas S2 el LED Rojo se enciende y al dejar de pulsar se apaga. Como gua de montaje toma la ima- gen anterior.
  • 70. 70 Lectura serial de una entrada digitalT3 Qu aprendo? Manejar una entrada digital Ver datos por la pantalla del computador Consola serial Leer una entrada digital y escribir por consola serial Conocimientos previos Seal digital Funcin digitalRead() y Se- rial.println() Opcin de Consola serial, ver 6F (paso 3) Materiales 1 Arduino UNO 1 Cable USB Tipo AB ESCANEA CON TU SMARTPHONE VIDEOTUTORIAL HD 1 Pulsador Resistencia 1K Conectores MM Protoboard 1 4 1 BUSCA AS VISITA LA OPCIN DE T11AB
  • 71. 71 P L A N O E S Q U E M A P R E G U N T A 1 Cul es el valor de esta resistencia? 2 Qu hace est funcin? 3 Este smbolo a que corresponde _____ _______________ _______________ Serial.println() _____K _______________
  • 72. 72 /* -------------------------------------- Lectura serial de una entrada digital -------------------------------------- Leer una entrada digital y mostrar por la pantalla del computador (consola serial) el estado del pulsador cuando es oprimido Cosas de Mecatrnica y Tienda de Robtica */ //------------------------------------ //Declara puertos de entradas y salidas //------------------------------------ int boton=2; //Pin donde se encuentra el pulsador, entrada //------------------------------------ //Funcion principal //------------------------------------ void setup() // Se ejecuta cada vez que el Arduino se inicia { //Configuracin pinMode(boton,INPUT); //Configurar el boton como una entrada Serial.begin(9600); //Inicia comunicacin serial } //------------------------------------ //Funcion ciclicla //------------------------------------ void loop() // Esta funcion se mantiene ejecutando { // cuando este energizado el Arduino //Guardar en una variable entera el valor del boton 0 1 int estado = digitalRead(boton); //Condicional para saber estado del pulsador if (estado==1) { // Pulsado Serial.println("Pulsado"); //Imprime en la consola serial } // "Pulsado" else { // No esta pulsado Serial.println("NO Pulsado"); //Imprime en la consola serial } // "NO Pulsado" delay(100); //Retardo para la visualizacin de datos en la consola } //Fin programa C D I G 0 D E P R O G R A M A C I N 1 La codificacin binaria es muy importante para transmitir datos entre dispositivos, son las largas cadenas de 0 y 1, por ejemplo 00011101010101 esto podra ser un mensaje que contiene informacin referente a una clave personal para acceder a un edificio. Los nmeros en base 10 se pueden representar como valores binarios: 2 Para recordar - Para leer una seal digital usa: digitalRead(numeroPin); - Para escribir una seal digital usa: digitalWrite(numeroPin, valor); - Una salida o entrada digital siempre es HIGH o LOW T I P S 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111
  • 73. 73 EJERCICIOS 1 Una empresa de gaseosas tiene un sistema con dos sensores, uno de ellos indica si la botella se ha llena- do con el lquido y el otro sensor indica si la botella ya tiene la tapa. Para este caso simularemos los dos sensores por medio de dos pulsadores (S1 y S2). La rutina se describe de esta manera: si la botella se llena de manera adecuada (se debe activar S1 y mostrar por consola Gaseosa llena) luego de ello si tiene la tapa colocada (se debe activar S2 y mostrar por consola Gaseosa tapada), al finalizar el proceso se debe encender un LED que indica que el proceso termin bien y adems se debe mostrar un mensaje por la consola Gaseosa bien empacada. Recuerda que primero se debe activar S1 y luego S2 para que le proceso sea vlido. MI CUADERNO DE APUNTES 2 Mundo del LED, esto quiere decir que el LED va estar intermitente en intervalos de tiempo iguales al valor de la variable. Por consola serial debes ir mostrando el valor de la variable. Para que puedas volver la variable a 0 y puedas hacer otra rutina de intermitencia, coloca la condicin de que S1 y S2 se opriman al tiempo, con ello la variable entera debe volver a 0. S1 S2 Unas luces navideas moder- nas son las siguientes: mien- tras se mantenga pulsado S1 una variable entera inicializa- da en 0 se comienza a incre- mentar de 20 en 20, al soltar S1 la variable para de incre- mentarse, cuando se pulse S2 el valor de la variable se debe cargar a un Hola
  • 74. 74 Lectura serial de una entrada anlogaT4 Qu aprendo? Manejar una entrada anloga Ver datos por la pantalla del computador Mltiples estados de un poten- cimetro Leer una entrada anloga Conocimientos previos Seal anloga Funcin analogRead() y Serial.println() Opcin de Consola serial, ver 6F (paso 3) Materiales 1 Arduino UNO 1 Potencimetro 10K 1 Cable USB Tipo AB ESCANEA CON TU SMARTPHONE VIDEOTUTORIAL HD Conectores MM Protoboard 3 1 BUSCA AS VISITA LA OPCIN DE T12AB
  • 75. 75 P L A N O E S Q U E M A P R E G U N T A 1 Cul es el valor de esta resistencia? 2 Qu hace est funcin? 3 Este smbolo a que corresponde _____ _______________ _______________ analogRead() _____K _______________
  • 76. 76 /* -------------------------------------- Lectura serial de entrada anloga -------------------------------------- Leer una entrada anloga y mostrar por la pantalla del computador (consola serial) el valor luego de girar el potencimetro Cosas de Mecatrnica y Tienda de Robtica */ //------------------------------------ //Funcion principal //------------------------------------ void setup() // Se ejecuta cada vez que el Arduino se inicia { Serial.begin(9600); //Inicia comunicacin serial } //------------------------------------ //Funcion ciclicla //------------------------------------ void loop() // Esta funcion se mantiene ejecutando { // cuando este energizado el Arduino //Guardar en una variable entera el valor del potencimetro 0 a 1024 int valor= analogRead(A0); //Imprime en la consola serial el valor de la variable Serial.println(valor); //Retardo para la visualizacin de datos en la consola delay(100); } //Fin programa C D I G 0 D E P R O G R A M A C I N 1 Te invitamos a que conozcas algunos tipos de potencimetros 2 Para recordar - Para leer una seal anloga usa: analogRead(numeroPin); - Para escribir una seal anloga de PWM usa: analogWrite(numeroPin, valor); - Una entrada anloga va de 0 o 1023 - Una salida anloga de PWM va de 0 o 255 T I P S SoftPot Sistema touch Trimmer Alta precisin Encoder RGB Giro continuo
  • 77. 77 EJERCICIOS 1 MI CUADERNO DE APUNTES 2 Este reto es sencillo, pero te va a dar una idea de cmo hacer grandes cosas escribiendo unas pocas lneas de cdigo. Como bien lo sabes, la lectura de una seal anloga te da un valor de 0 a 1023 (si tienes alguna duda solo revisa el cdigo de la pgina anterior). El desafo de este ejercicio consiste en mostrar por la consola serial un nmero entre 0 y 10, este nmero debe cambiar cuando muevas el potencimetro. El montaje de este ejercicio usa el mismo Esquema de conexiones que el expuesto en la pgina 75. Suge- rencia Revisa la funcin map() Piensa en un nmero secreto de 0 a 1023 y gurdalo en una variable entera, haz un programa para que tu amigo deba mo- ver el potencimetro, si el nmero que el va generando (mostrar por consola serial el valor de la lectura del potenci- metro) al girar el potencimetro est 10 nmeros por arriba o 10 nmeros por abajo al nmero que tu pensaste y confirma con el pulsador S1 que ese es el nmero, el progra- ma debe mostrar por consola Adivinaste el nmero de lo contrario Intenta de nuevo. Este caso podra ser un ejemplo para que lo apliques a una Caja de seguridad, para que guardes mucho dinero ;) S1
  • 78. 78 Escritura serialT5 Qu aprendo? Entrada por consola (teclado) Variables booleanas Estado de un LED Escritura serial digital Conocimientos previos Seal digital Funcin digitalWrite() y Serial.read() Configuracin de una comu- nicacin serial Polaridad de un LED ESCANEA CON TU SMARTPHONE VIDEOTUTORIAL HD BUSCA AS VISITA LA OPCIN DE T13AB Materiales 1 Arduino UNO 1 LED Verde 1 Cable USB Tipo AB
  • 79. 79 P L A N O E S Q U E M A P R E G U N T A 1 Cul es el valor de esta resistencia? 2 Qu hace est funcin? 3 Nombra 4 tipos de variables _____ _______________ _______________ Serial.read() _____K a._______ b._______ c._______ d._______
  • 80. 80 /* -------------------------------------- Escritura serial -------------------------------------- Consiste en escribir por la pantalla del computador (consola serial) una letra predeterminada, la primera vez que se escriba est un LED se enciende, si se vuelve a escribir por segunda vez el LED se apaga. Cosas de Mecatrnica y Tienda de Robtica */ //-------------------------------------------------- //Declara puertos de entradas y salidas y variables //-------------------------------------------------- int led = 13; //Pin donde se encuentra el LED, salida char leer; //Variable donde se almacena la letra boolean prendido=false; //Estado LED la primera vez, apagado //------------------------------------ //Funcion principal //------------------------------------ void setup() // Se ejecuta cada vez que el Arduino se inicia { Serial.begin(9600); //Inicia comunicacin serial pinMode(led, OUTPUT); //Configurar el LED como una salida } //------------------------------------ //Funcion ciclicla //------------------------------------ void loop() // Esta funcion se mantiene ejecutando { // cuando este energizado el Arduino //Guardar en una variable el valor de la consola serial leer=Serial.read(); // Si es la letra 'a' y adems el LED est apagado if ( (leer=='a') && (prendido==false) ) { digitalWrite(led,HIGH); // Enciende el LED prendido=true; // Actualiza el estado del LED } // Si es la letra 'a' y adems el LED est encendido else if ( (leer=='a') && (prendido==true) ) { digitalWrite(led,LOW); // Apaga el LED prendido=false; // Actualiza el estado del LED } } //Fin programa C D I G 0 D E P R O G R A M A C I N 1 Las tablas booleanas son muy tiles para entender la lgica de los programas, sabes cul es la tabla booleana de AND(&&), OR(||) y NOT(!) ? T I P S
  • 81. 81 EJERCICIOS MI CUADERNO DE APUNTES Avisos luminosos S.A. te ha contratado para que realices un programa que tiene la caracterstica de recibir datos, porque la idea es que el aviso de luces se ubique en el piso 130 del Edificio Bulli y tu lo puedas controlar desde el piso 1, as que por cada letra que le escribas por teclado a la Consola serial el programa debe hacer determinada rutina con tres LEDs, si le escribes: -Letra A: Prende los tres LED -Letra B: Prende el LED1 por un segundo y lo apaga, luego prende el LED2 por un segun- do y lo apaga y finalmente prende el LED3 por un segundo y lo apaga, y vuelve a comenzar. Esta rutina genera una sensacin de movimiento -Letra C: Apaga los tres LED 1 2 Tu abuelito tiene un cultivo de grandes y verdes lechugas, este cultivo tiene 3 aspersores de agua y tu abuelito quiere prender estos aspersores desde su computador solo escribien- do unos valores por teclado, los aspersores