09/2018 09/201 8 - Año 0
Otto DIY con ArduinoBlocks El Mundo de las Impreso Impresoras ras 3D Campeonato Mundial Minesweepers Feria “INCOS ARDUINO” ARDUINO” organizada organizada por la Carrera de Sistem Sis temas as Inf Informá ormátic ticos os del Ins Instit tituto uto Téc Técnic nico o Sup Superi erior or “INCOS TARIJA” Entrevista a Juanjo López de ArduinoBlocks Juego de Velocidad Matemática (Speed Match)
Una revista revista para tod os www.arduinobolivia.elinsi.com
[email protected] RevistaArduinoBolivia @Arduino_Bolivia
En diciembre del 2017 nace la idea de crear la revi re vist sta a "A "Ard rdui uino no Bo Bolilivi via" a",, se su sum man a es este te proyecto Bernardo Ordoñez y Jahzeel Rodas, es así que en marzo de 2018 se realiza la primera publicación de la revista, desde entonces se ha traba tr abaja jado do co con n la úni única ca fifina nalilidad dad de que to todos dos puedan participar en la revista, ya sea con la elaboración elabora ción de articu articulos, los, proyectos o tutori tutoriales, ales, a través de ideas y criticas constructivas que nos permitan mejorar y crecer cada día, a través de pers pe rson onas as qu que e co comp mpar arte ten n la re revi vist sta a pa para ra qu que e pueda pued a llegar llegar al may mayor or numero numero de lectores. lectores. Por eso considero que la revista "Arduino Bolivia" es una revista para todos, es un proyecto que nos permite contribuir con el "conocimiento libre" y que gracias a la colaboración de cada uno de ustedes éste proyecto puede seguir creciendo.
Osman R. Condori Guevara
Scribus
GIMP
Inkscape
Osman R. Condori Gue Guevara vara os man@el i ns nsii . c om
Casto Bernardo Ordoñez Callis Casto Callis aya or don donezc ezc al l i s ayabe ayaberr nar do@gmai l . com c om
Jahzeel Issac Rodas Flores j ahzeel r odas@gmai l . com
Pag. 1
Otto DIY con ArduinoBlocks
Pag. 9
El Mundo de las Impresoras 3D
Pag. 13
Campeonato Mundial Minesweepers
Pag. 17
Feria “INCOS ARDUINO” organizada por la Carrera de Sist Si stem emas as In Info form rmát átic icos os de dell In Inst stititut uto o Té Técn cnic ico o Su Supe peri rior or “INCOS TARIJA”
Pag. 21
Entrevista a Juanjo López de ArduinoBlocks
Pag. 24
Juego Jueg o de Vel eloc ocid idad ad Ma Mate temá mátitica ca (S (Spe peed ed Ma Matc tch) h) co con n Arduino
Otto DIY con ArduinoBlocks El ro rob bot Otto DIY es un rob obo ot bíped edo o de códi có digo go lilibr bre e ba basa sado do en Ardui Arduino no Na Nano no qu que e podem pod emos os im impr prim imir ir,, mo mont ntar ar y pro progra grama marr de forma sencilla. Es un proyecto perfecto para iniciarnos en la ro rob bótica y resu sullta muy divertido y didáctico para cualquier edad. En es este te art artíc ícul ulo o exp explilicar carem emos os pas paso o a pa paso so cómo cóm o rea realilizar zar el pro proce ceso so de con const stru rucci cción ón y post po ster erio iorm rmen ente te la pr prog ogra rama maci ción ón de fo form rma a gráfica con ArduinoBlocks.
Impresión de las piezas 3D
Este tu Este tuto tori rial al no va a pr prof ofun undi diza zarr so sobr bre e lo loss aspectos de la impresión 3D, en caso de no estar familiarizados con este tema es recomen reco mendabl dable e busc buscar ar inf informa ormació ción n y real realiza izar r algunas pruebas antes. En cualquier caso, lo primero que necesitamos son los archivos .STL que definen la geometría de los objetos 3D a imprimir.
Vam amos os a de deta tallllar ar lo loss pa paso soss pa para ra mo mont ntar ar y programar una primera versión simplificada de Otto, post ste eri rior orm mente podem emo os añadir fáci fá cilm lment ente e al algun gunas as fu func ncio iona nalilida dade dess ex extr tras as com co mo co cone nect ctiv ivid idad ad bl blue ueto toot oth, h, se sens nsor or de sonido o pulsadores táctiles.
Para el ro rob bot Otto existen infinida dad d de version vers iones es y per persona sonaliz lizaci acione oness de las part partes. es. En la web de ArduinoBlocks hemos selecc sel eccio iona nado do la lass dos ver versi sion ones es im impri primi mibl bles es más estándar para facilitar el uso:
Material necesario para el proyecto:
Versión Otto DIY “basic”: Sin matriz de leds, es decir, sin boca: http://www.arduinoblocks.com/web/recursos/ott o/otto_basic.zip Versión Otto DIY “matrix”: La cabeza de Otto será un poco más profunda para permitir situar correctamente la matriz de leds que simula la boca junto a las baterías: http://www.arduinoblocks.com/web/recursos/ott o/otto_matrix.zip
• Impresora 3D y filamento PLA • 4 micros microservos ervos • Arduino Nano + Nano Shield • Sensor de ultrasonidos HC-SR04 • Portapilas 4xAAA • Zumbad Zumbador or pasivo • Matriz de leds SPI (opcional)
Una vez descargado, dentro del .ZIP tend te ndrem remos os lo loss ar archi chivos vos .S .STL TL qu que e pod podem emos os abrir con el software de nuestra impresora 3D para imprimir las piezas. Para cualquier otra versión o personalización de Otto podemo podemoss acudir al repositorio oficial oficial de Otto DIY en github: https://github.com/OttoDIY
En nu nues estr tro o ca caso so ut utililiiza zam mos el pr prog ogra ram ma “Ulltimake “U kerr Cura ra”. ”. No es re reccomendabl ble e imprimir todas las piezas a la vez por si hay algún problema. Para re Para real aliz izar ar el ro robo bott co com mpl plet eto o va vam mos a imprimir la versión “matrix” de Otto.
Montaje Monta je de los servomotores
El si sigu guie ient nte e pa paso so se será rá mo mont ntar ar los se serv rvoomotores en la parte inferior del robot uniendo las piezas que formarán las piernas y el pie de Otto. Utilizaremos cuatro microservos SG90 de bajo coste que se encargarán de mover los pies y las piernas de nuestro robot.
El resultado después de imprimir las piezas es el siguiente:
El co cone nexi xion onad ado o co con n la sh shie ield ld es ba bast stan ante te sencillo, pero es importante conectar exactamente a los pines indicados para que el funcionamiento sea correcto. El por portap tapila ilass lo aña añadir diremo emoss pos poster teriorm iorment ente, e, después de programar el robot y verificar que func fu ncio iona na cor correc recta tame ment nte. e. En un pri princi ncipi pio o se recomienda alimentarlo desde el mismo USB que qu e ut utililiz izam amos os pa para ra pro progra grama marl rlo o y de desp spués ués añad añ adiir el po port rtap apililas as y el in intter erru rupt ptor or pa para ra convertirlo en un robot totalmente autónomo. A continuación situamos la matriz de leds que simulará la boca en la parte frontal y colo co locar carem emos os el se senso nsorr de ul ultr traso asoni nido doss y el zumbador en su lugar correspondiente.
Conexionado
Esquem Esqu ema a of ofic icia iall de co cone nexi xión ón (p (par ara a es estta prim pr imer era a ve vers rsió ión n ign gnor orar arem emos os el mó módu dullo Bluetooth, el sensor de sonido y los pulsadores).
Finalm Fina lment ente e cer cerram ramos os el rob robot ot y ya es esta tamo moss listos para empezar a darle vida con la ayuda de la programación por bloques de ArduinoBlocks.
Programación con ArduinoBlocks
Para pr Para prog ogra ram mar el ro robo bott Ot Otto to DI DIY Y de desd sde e ArduinoBlocks debemos estar registrados, una vezz iniciamos se ve sessión en la plataform rma a debemos elegir nuevo proyecto personal. www.arduinoblocks.com
En el titipo po de pr proy oyec ecto to se sele lecc ccio iona nare remo moss la opción “Otto DIY / Nano” , y como descripción por ejemplo pondremos “Mi primer Otto DIY”.
Una vez en el editor veremos que la barra de herr he rram amie ient ntas as se ha pe pers rson onal aliz izad ado o co con n lo loss bloques generales y los bloques específicos de Otto DIY. Los bloques específicos de Otto nos permi per mititirá rán n pr progr ogram amar ar el ro robot bot de un una a fo form rma a sencill senc illa a y div divert ertida ida.. Est Estos os bloques bloques espe específ cífico ico son muy intituitivos y lo mejor es ir probando con co n ca cada da un uno o de el ello los, s, ca cada da bl bloq oque ue titien ene e varias opciones configurables.
Por ejemplo, el bloq oqu ue “mover” perm rmiite selecci cio ona narr entre una gra ran n vari rie eda dad d de movi mo vimi mien ento tos, s,yy aj ajus usta tarr lo loss pa pará ráme metr tros os de velocidad y amplitud del movimiento seleccionado.
Así como el bloque “sonido” que nos permite seleccionar entre distintas melodías o efectos predefinidos.
La distancia medida por el sensor de ultr ul tras asoni onidos dos en cas caso o de de dete tect ctar ar un ob obje jeto to dela de lant nte e la ob obte tend ndre remo moss fá fáci cilm lmen ente te co con n el bloque de “medir distancia”. El valor obtenido será la distancia en cm del objeto detectado delante.
El único bloque un poco especial es el bloque “calilibra “ca brar”, r”, qu que e per permi mite te cor correg regir ir de desaj sajus uste tess producidos por la imprecisión de los servos o porr un de po desa saju just ste e en la po posi sici ción ón de és ésto toss durante el montaje. Este bl Este bloq oque ue só sólo lo ha hará rá fal alta ta po pone nerl rlo o en la inicialización en caso de detectar un desajuste en la posición de algún servo, indicaremos un valor de corrección para cada motor (el valor se sumará o restará a la posición original del servo según sea un valor posit positivo ivo o negati negativo) vo) Los “ges “gestos tos”” son acc accion iones es pred predefi efinid nidas as que combinan animaciones en la boca, movi mo vimi mien ento toss y so soni nido doss pa para ra ex expr pres esar ar un una a acción o una emoció emoción. n. Primer programa para testear a Otto
Recuer Recu erda da in inst stal alar ar e in inic iciiar la ap apllic icac ació ión n “Arduin “Ard uinoBl oBlocks ocks Conn Connect ector” or” en el orde ordenado nador r para compilar y subir directamente el programa desde el navegador al robot. http://www.arduinoblocks.com/web/site/abconn ector Si todo ha funcionado correctamente nuestro Otto debe haber cobrado vida, moviéndose a una posición inicial, reproduciendo un sonido de “conexión” y un segundo después realizará un sa salu ludo do pr pree eest stab able leci cido do,, fi fina nallme ment nte e se moverá andando hacia delante indefinidamente.
¡Bien! Otto está listo para aprender a hacer más cosas.
Programa de ejemplo para reaccionar reaccionar cuando dete detecta cta un obstáculo dela delante. nte.
Como se ha podido comprobar Otto DIY es un proyec pro yecto to de rob robot ot bí bípe pedo do lilibre bre mu muyy fá fáci cill de construir y de programar con ArduinoBlocks. Una forma perfecta de iniciarse en el mundo de la robótica que además nos ofrece muchas posibil posi bilida idades des y pers persona onaliz lizaci acione ones. s. Ott Otto o DIY tiene además un gran soporte de la comunidad maker en internet. Agradecer a su creador Camilo Parra Palacio el gran trabajo que ha realizado y el gran aporte que ha dado a la co comu muni nida dad d ma make kerr co con n es este te fa fant ntás ástitico co proyecto. En futur uro os art rtíículos podre rem mos abarc rca ar mejoras como la comunicación por Bluetooth para controlar el robot desde una aplicación móvil y otras funcionalidades como el sensor de so soni nido do o lo loss pu puls lsad ador ores es pa para ra co cont ntro rola lar r acciones del robot. ¡A jugar con Otto DIY!
Bibliografía y enlaces de interés:
Web oficial de Otto DIY: https://www.ottodiy.com/ Repositiorio Github: https://github.com/OttoDIY ArduinoBlocks: http://www.arduinoblocks.com/ Kit Otto DIY: http://shop.innovadidactic.com/index.php?id_p roduct=794&controller=product&search_query =otto&results=2
Juan José López Almendros
Ingeniero Técnico en Informática de Si Sist stem emas as (U (Uni nive vers rsid idad ad de Alicante - España) . Técnico Técni co Superi Superior or en Elect Electrónica rónica (IES (I ES Ca Cava vani nillle les, s, Al Aliica cant nte e España). Pro roffesor de Inform rmá ática y electr ele ctróni ónica ca en Sal Salesi esiano anoss Jua Juan n XXIII - Alcoy (España). Desarro Des arrolla llador dor de la pla plataf taform orma a ArduinoBlocks.com
[email protected]
El Mundo de las Impresoras 3D faltaba el poder materializarlo, hacerlo “Real” y ese fue el paso final al que se quería llegar llegar. Para el Para ello lo pa pasa saro ron n va vari rios os añ años os,, pr prim imer ero o se fueron desarrollando las patentes para poder definir la idea de como materializar un objeto 3D y surgían ideas de hacerlo mediante un láser que se exp xpo onía a una ca can ntidad de fotopolímeros los cuales se solidificaban.
Esta con Esta conce cepci pción ón de pod poder er di dime mens nsio ionar nar un objeto en un plano 3d y poder visualizarlo es lo que nos ha impulsado a poder tener hoy en día las impresoras 3D.
Posteri Post erior or a es esto to se de desar sarrol rolló ló la té técn cnic ica a de impresión impres ión por Capas, a este equipo lo llamaron el es este tere reol olititro rogr graf afo o (S (SLA LA)) es este te eq equi uipo po co con n ayuda de un laser provocaba que las cadenas de moléculas se unan formando polímeros.
Todo com comenzó enzó cuan cuando do la fot fotogra ografía fía lan lanzab zaba a sus primeras ráfagas de luz para capturar el momento y volverlo eterno, el deseo de ver una foto y poder ver más allá a sus alrededores nos llenó de curiosidad.
En 1989 Scott Crupm inventan y patentan el Modelado por Deposición Fundida (FDM), que consi co nsist stía ía en fu fund ndir ir fifila lame ment nto o de pol polím ímero ero y depo de posi sita tarl rlo o en un su sust stra rato to ca capa pa po porr ca capa pa creando un objeto 3D.
Es así que un fotógrafo realizo una toma de un espacio con 24 cámaras fotográficas para pode po derr ca capt ptur urar ar el mo mome ment nto o no so solo lo de un luga lu garr si sino no de dell es espa paci cio o co com mpl plet eto o qu que e lo loss rodeab rod eaba a y ha hacer cerlo lo et etern erno, o, pe perm rmititié iéndo ndono noss pode po derr vi visu sual aliz izar ar en fo form rma a 3D to todo do el lu luga gar r desde diferentes ángulos. Es a partir de ahí que qu e fu fue e ev evol oluc ucio iona nand ndo o la id idea ea y a es esto to le
10 años después ya se estaban desarrollando los primeros órganos impresos en equipos 3D creando la primera vejiga urinaria trasplantada trasplantada con éxito a finales de 1999, hasta la fecha la impr im pres esio ione nen n 3D er era a al algo go qu que e no es esta taba ba al alca al canc nce e de to todo doss po porr él al alto to co cost sto o de lo loss equipos.
Años más tarde es que se toma la técnica del FDM para poder llevar adelante un proyecto que aperturó a que la impresión 3D se ponga al alcance de todos. Es así que Adrian Bowyer funda el proyecto RepR Re pRap, ap, de cód códig igo o abi abiert erto o qu que e titien ene e com como o obje ob jetitivo vo el fa fabr bric icar ar un una a im impr pres esor ora a 3D qu que e pued pu eda a im impr prim imir ir la ma mayo yorí ría a de su suss pr prop opio ioss componentes y sea auto replicable y evolutiva.
Es a partir de aquí que la impresión 3D dejo de ser una fantasía y se hizo realidad estando al al alca canc nce e de to todo dos, s, pe perm rmititie iend ndo o qu que e la lass aplicaciones sean infinitas.
¿Como ¿C omo funciona una imp resora 3D? 3D?
Una imp Una mpre reso sora ra 3D FD FDM M es un eq equi uipo po qu que e imprime figuras por deposición de material por capas a partir de un diseño “.STL” que tiene las dimensiones del objeto en ancho, largo y alto. Para el desarrollo de un objeto 3D es neces ne cesari ario o co cont ntar ar con un so soft ftwa ware, re, qu que e nos permitirá realizar el diseño el que posteriormente posteri ormente llevaremos llevaremos a una impresora 3D y no lo loss fa fabr bric icar ara, a, po porr ej ejem empl plo, o, se pu pued eden en manejar los siguientes programas: • Blender • DraftSight • Catia • FreeCAD • OpenSCAD • SolidWorks • Tinkercad • AutoCAD
Una vez qu Una que e co conf nfig igur uram amos os lo loss pa parám rámet etros ros para la impresión de nuestro modelo 3D, se genera el GCODE el cual se envía a nuestra impresora y esta comienza a prepararse para hace ha cerr la de depo posi sici ción ón de ma mate teri rial al se segú gún n la lass indicaciones del objeto a fabricar.
Una vez que des desarro arrolla llamos mos nues nuestro tro mod modelo elo 3D, lo que hacemos es pasar este diseño a un software que es denominado como “La “L amina nad dor” r”,, la función de este tipo de programa es de generar el “GCODE” que este define el trayecto que seguirá la impresora por capas para ir formando el objeto, dentro del pro pr ogra ram ma se def efiine los pa parrámetros de impresión como la velocidad, flujo, tamaño de capa, temperatura, relleno, etc.
Para es Para esto to pu pued ede e ut utililiz izar ar cu cual alqu quie iera ra de lo loss siguientes programas tomando en cuenta que no son los únicos, pero son los mas utilizados por los usuario usuarios: s: • Slic3r • Cura Ultimaker • Repetier Host • Simplify 3D
Para que la impresora pueda generar el objeto lo que esta hace en primera es calentar el extrusor y la cama caliente de ser necesario este último, para que el material a fundir pueda ser depositado en los lugares necesarios para formar el objeto, para que esto ocurra la base y el extrusor están sujetos a rodamientos los cuales se mueven por los ejes X, Y y Z.
¿Cuánto es el costo de una impresora 3D?
Mucho depende de la calidad de los objetos que se vayan a imprimir y del equipo en la parte técnica. Exiten Exit en ma marc rcas as co como mo la Pr Prus usa, a, Ul Ultitima make kerr, Ender, Anycubic, Crealyti, Anet, Makerbot los cuales se diferencias por el costo algunas son lass má la máss ec econ onóm ómiica cass y ot otra rass co con n el me mejo jor r acabado en la impresión pero con un costo un poco alto a diferencia de otros equipos.
Es así que bajo esa lógica se están fabricando órganos para ser trasplantados y que cumplan las mismas funciones que un órgano natural, también ya se tiene la fabricación de casas por equipos 3D.
Elaborado por:
Los más comerciales que trabajan con FDM (derretir material y depositarlo por capas), se las encuentra desde los 200$us (sin envío) en paginas como Aliexpress o Ebay. ¿Qué puedo imprimir?
La impresión 3d es múltiple, se puede imprimir objjet ob etos os ca case sero ros, s, ma maqu quet etas as de to todo do ti tipo po,, objeto obj etos, s, herr herrami amient entas, as, pró prótes tesis, is, etc etc.. Todo lo que qu e us uste ted d pu pued eda a cr crea earr en 3 di dime mens nsio ione ness puede ser impreso por estos equipos. equipos.
Mi nombre es Casto es Casto Bernardo Ordoñez Callisaya,, Nacido en La Paz – Bolivia, Callisaya estudiante de último grado en EISPDM a nivel Técnico Sup. en la Carrera de Elec El ectr trón ónic ica a en Si Sist stem emas as de Co Cont ntro roll Indus usttrial, Propiet eta ario de EPY Electrónica Bolivia, Bolivia, Co-Fundador de La Comunidad Arduino La Paz – Bolivia
Campeonato Mundial Minesweepers En un una a pa pasa sada da ed edic ició ión n de nu nues estr tra a re revi vist sta a publicamos la convocatoria al MinesWeepers Bolivia, que se llevo a cabo del 29 de junio al 1 de Julio, en el campus Universitario de “La Salle Bolivia” donde los ganadores fueron: Categoría Academia:
julio. Logrando la victoria en la Categoría Academia el equipo Life Centinel Team, de la Univers rsiida dad d Mayor de San Andr dré és y los ganad ga nadore oress de la Ca Cate tego gorí ría a Jun Junio iorr el equ equip ipo o MAD Team, Escuela Secundaria Mariscal José Ballivián ambos equipos bolivianos.
1° Life Centinel Team, Universidad Mayor de San Andrés. 2° EQUIPO DE 2-Sammir, la Escuela Militar de Ingeniería. 3° EQ EQUI UIPO PO CH CHALL ALLEN ENGE GER, R, la Un Univ ivers ersid idad ad Católica Boliviana. Categoría Ca tegoría Juni or:
1° MAD Team , Escuela Secundaria Mariscal José Ballivián Categoría Ca tegoría Indus trial:
1° Equipo CP-Mw001, la escuela de ingeniería militar. La representación boliviana se colocaba en la cima cim a a nive nivell Lat Latino inoamé améric rica a dem demost ostrand rando o los cono co noci cimi mien ento toss y ap aplilica carl rlo o en es este te titipo po de compet com petenci encias as log logrand rando o cum cumpli plirr los obj objeti etivos vos derrotando a los rivales.
Como representantes de Bolivia viajaron los primeros y segundos lugares de la categoría Junior y Academia al evento regional latinoamericano llevado a cabo en la ciudad de Latacung nga a en la Univers rsiida dad d de Las Fuer Fu erza zass Armad Armadas as,, Ec Ecua uado dorr, el 26 y 27 de
La si sigu guie ient nte e et etap apa a qu que e le less es espe pera raba ba a lo loss equi eq uipo poss ga gana nado dore ress er era a el Mi Mine nesw swee eepe pers rs:: Towards a Landmine-Free World, que se llevo a cabo en Madrid España del 2 al 4 de octubre con el lema: “Es una batalla por la humanidad para crear conciencia sobre el problema de las minas terrestres” con una competencia y la conferen conf erencia cia int interna ernacio cional nal de rob robóti ótica ca com como o IROS 2018. Bolivia en representación de Latinoamérica se hacía presente en este evento mundial y se enfren enf renta tarí ría a a paí países ses com como o Eg Egip ipto to,, Es Españ paña, a, Jordania Jordani a y Suiza Tan dura fue la competencia que logro sacar lo mejor de nuestros representantes quienes pusieron en alto a nuestro país, a pesar de las adversidades y los retos que se imponían los comp co mpet etid idor ores es su supi pier eron on so sobr bres esal alir ir co con n su conocimiento.
El evento finalizo con el siguiente medallero: Categoría Académica:
1-Auctroventa, de la universidad de octubre, Egipto 2- Li Life fe Se Sent ntin inel el,, Un Univ iver ersi sidad dad Ma Mayor yor de Sa San n Andrés, Bolivia 3- LSI Mine Whisperer, Universidad Carlos III de Madrid, Spain Categoría Ca tegoría Junio rs:
1-Equipo 1-Equip o MAD MAD,, esc escuel uela a secu secunda ndaria ria mari mariscal scal José ballivián , Bolivia 2-Robostack Juniors, ACADEMIA ROBOSATCK, ROBOSA TCK, Egipto 3-Za3fran, centro de descubrimiento, Egipto En la categoría Junior el equipo MAD de la Escuela Secundaria Secundaria Marisc Mariscal al José Ballivián de Viacha, se consagro con el 1° Lugar en esta compet com petenc encia ia,, rea realm lmen ente te un lo logro gro par para a Iv Iván án Enci En cina nass Me Merc rcad ado, o, Ne Nels lson on Si Sirp rpa a y su tu tuto tor r Álvaro Flores felicitarlo por compartir su conocimiento sin recibir nada a cambio y la satitisf sa sfac acci ción ón de co cose sech char ar lo loss fr frut utos os de un
esfuerzo esfuer zo en co conj njunt unto o dem demost ostran rando do qu que e lo loss jóvenes pueden desarrollar tecnología a partir de conocimiento y con las cosas que los rodea (reciclar).
Elaborado por:
Sin dejar de lado a los representantes en la categoría categor ía Academia Academia en equipo Life Sentinel de la Uni Univers versida idad d Mayor de San Andr Andrés és quienes quienes lucharon mucho para lograr el primer lugar y no se di dier eron on po porr ve venc ncid idos os lo logr gran ando do un 2° lugar lu gar,, re recon conoc ocem emos os el es esfu fuer erzo zo de Gr Grove over r Quiquisani quien es un competidor que ha ido participando en los últimos años en este tipo de competencias en robótica y pone en alto a nuestro país muchas felicidades también a los miem mi embr bros os de eq equi uipo po Mi Migu guel el Án Ánge gel,l, Ce Cesa sar r Mendoza y Idden Aguilar gracias por colocar en alto a nuestro país a nivel Latinoamérica y en el mundo.
Mi nombre es Casto es Casto Bernardo Ordoñez Callisaya,, Nacido en La Paz – Bolivia, Callisaya estudiante de último grado en EISPDM a nivel Técnico Sup. en la Carrera de Elect Ele ctró róni nica ca en Sis Siste tema mass de Co Cont ntro roll Industrial, Propietario de EPY Electrónica Bolivia, Bolivia, Co-Fundador de La Comunidad Arduino La Paz – Bolivia
Feria Feri a “ IN INCO COS S ARDU ARDUIN INO” O” org aniza anizada da por po r la Carr Carrera era de Sistemas Infor máticos del Institu to Té Técnic cnic o Supe Superior rior “ INC NCO OS TARI TARIJA” JA”
En la Fe Feri ria a ex expu pusi sier eron on tr trab abaj ajos os de gr gran an interés, entre ellos: Con el afán de demostrar las habilidades y conocimiento conocim ientoss adquiri adquiridos, dos, los estudi estudiantes antes de segundo y tercer año de la carrera de Sistemas Informático coss org rga anizar aro on la 1ra.FERIA 1ra.FER IA “INCOS ARDUINO ARDUINO”” el día viernes 6 de Julio de la gestión 2018, en instalaciones del Instituto Técnico Superior “INCOS TARIJA” a fin de exponer los trabajos realizados con Arduino.
Si st st em em a au to to ma mat iz izad o d e c on on tr tr ol ol , ahorro y uso racional del agua de forma comuni com unita taria ria co contr ntrola olado do por andr ndroid oid y arduino Objetivo :
Desarr Desa rrol olla larr un si sist stem ema a au auto toma mati tiza zado do de ahor ah orro ro,, co cont ntro roll y us uso o ra raci cion onal al de dell ag agua ua de forma for ma com comuni unitar taria ia cont controla rolado do con Androi Android d y Arduino Realizado por: • Ambar Elizabeth Oinca Mancilla • Abraham Cayhuara Duran • Víctor Hugo Salinas Fernández • Erwen Beltrán Mamani Cruz
La feria se re rea alizó con éxito deb ebiido a la aflu af luen enci cia a del per person sonal al di direc rectitivo vo,, do doce cent nte e y estudiantes en las diferentes carreras con las que cuenta la institución.
Sistema de Aparcamiento Automatico
Ciudad Inteligente con Arduino
Objetivo:
Objetivo:
Diseñar e implementar un sistema de apa ap arca cam miento autom oma atico, que simul ule e maniobras de estacionamiento, con ayuda de senso sen sores res ul ultr traso asoni nico coss per permi mititien endo do re real aliz izar ar maniobras sin golpear obstaculos o algún otro vehículo.
El objetivo principal es la realización de una ciudad inteligente (automatizada) con:
Realizado por: • Carlos Butron • Adriana Cruz Gutierrez • Nilo Garcia Portales • Jorge Michel
•Un sistem sistema a de tráf tráfico ico vehicul vehicular ar por med medio io de semáforos inteligentes. •Encendido del alumbrado público al anochecer. •Encendido de luces de acuerdo a la música (vúmetro). Realizado por: • Erik Fernando Alejandro • Cinthia Lineth Ortega • Edgar Paco • Yeison David Subia Aguilar
Invernadero Automatico Objetivo:
Desarrollar un invernadero que sea controlado con arduino utili utilizando zando sensore sensoress de humedad humedad,, temp te mpera eratu tura, ra, lu luz, z, mo movi vimi mien ento to e im impl plem emen en-tando un riego automa automatico tico por goteo Realizado por: • Maria Elena Mercado • Alcira Martinez • Blanca Mariela Bustamante
Carro Ca rro co ntrolado por Bluetooth Objetivo:
Diseñ eña ar y con onsstruir un carr rro o controlado remo re mota tame ment nte e med ediian antte la te tecn cnol olog ogia ia de comunicación inalambrica bluetooth que sirva como co mo he herr rram amie ient nta a de tr tran ansp spor ortte co con n un una a distancia de diez metros Realizado por: • Gabriel Garcia Segovia • Hugo Lopez Rodriguez
Espejo Espe jo Infinito sensible al al so nido Mesa Me sa Conso la L ed Objetivo:
Crear una consola utilizando leds y arduino para gene generar rar entre entreten tenimi imient ento o des despert pertand ando o la curiosidad en los usuarios para la programacion de matrices. Realizado por: • Ralf Axel Garnica Flores • Eliseo Sanchez Mollo • Clever Mondaque Herrera • Richard Altamirano Escalante
Objetivo:
Diseñarr un prot Diseña prototi otipo po lum lumino inoso so con tir tiras as led ledss incl in cluy uyen endo do un ef efec ecto to in infifini nito to en su di dise seño ño cont co ntro rollad ado o al so son n de la mu musi sica ca o ef efec ecto toss auditivos. Realizado por: • Gabriel Jesus Paco Torrez • Pedro Amador Aramayo
Au to ma mati ti zac zació ió n de l a lu z d el Ho Hog g ar Objetivo:
Crear un prototipo que muestre como controlar medi me dian ante te Ardu Arduin ino o la lass luc uces es de un Ho Hoga gar r utilizando utili zando Bluetooth Bluetooth y Android Alc A lc o ho l im et etro ro co n A rd u in o Objetivo:
Hace cerr un alco coh holimetro que detecte la presencia de alcohol etílico en el aliento de las personas y muestre el grado alcoholico que se tiene tie ne uti utiliz lizando ando Arduino, Arduino, sens sensores ores,, mat materia eriall reciclado y materiales electricos. Realizado por: • Saul Flores • Ivan Bautista • Diego Perez • Israel Gonzales
Realizado por: • Rosa Nieves • Dina Flores • Ariel Llanque • Yhonatan Soliz
Reloj Robot
Puerta con contraseña
Objetivo:
Objetivo:
Replicar un reloj robot con arduino que nos Replicar permita permit a visualizar la hora de una manera poco común pero con las mismas especificaciones que los relojes que comúnmente utilizamos.
Diseñar una puerta con la ayuda de arduino y Diseñar el teclado matricial que permita abrirla y cerrarla mediante contraseña.
Realizado por: • Diego Bejarano
Realizado por: • Jimena Ramirez • Banessa Huarachi • Norman Noe Sirpa • Javier David Colque • David Ivan Colque
Cuarto Cua rto Autom atiza atizado do Objetivo
Desarrol Desar rolla larr un pro proto totitipo po que de demu mues estr tre e la seguridad y comodidad en una casa con la Ayuda de Arduino, sensores y servo se rvo motores. Realizado por: • Belen Donair Donaire e • Liduvinia Antequera • Rene Espino Espinoza za • Rene Batallanos
Soy Iv Soy Iván án Is Isra rael el Co Cord rder ero o Mo Mora rales les,, In Inge geni nier ero o Inform Inf ormáti ático co de pro profes fesión ión , rea realic lice e mis est estudi udios os Univ Un iver ersi sita tari rios os en la UA UAJM JMS, S, tr trab abaj ajé é co como mo técnic téc nico o de Inf Inform ormaci acion on Edu Educat cativa iva y téc técnic nico o de redes y base de datos en la Dirección Depa De part rtam amen enta tall de Ed Educ ucac ació ión n , Ac Actu tual alme ment nte e docente de la carrera de Sistemas Informaticos en el Instituto Tecnico Superior “INCOS TARIJA” con las Materias de Programación I, Programación III y Programación para Disspo Di posi siti tivo voss con la qu que e se im impl plem emen ento to la presente gestion el trabajo con Arduino, participe como Tutor Guia en la Feria Departamental de Institutos Tecnicos Tecnologicos gestion 2017 y Tutor Tu tor Guia de pro proyec yecto to en el 11vo Encuentro Encuentro Naci Na cion onal al de In Inve vest stig igac acio ion n e In Inno nova vaci cion on de Institutos Tecnicos Tecnicos Tecnologicos Tecnologicos gestión 2018.
Entrevista a Juanjo L ópez de Arduin ArduinoBlocks oBlocks de de dessar arro rollllo o de Ardu Arduin ino o y la com omun unid idad ad de usua us uari rios os ha habí bía a re real aliz izad ado o pa para ra si simp mpliliffic icar ar el desarrollo y acercarlo a gente de un perfil menos técnico y su fácil aplicación en el mundo docente. Desd De sde e es ese e mo mome ment nto o no he pa para rado do de ut utililiz izar arlo lo Arduino en mis desarrollos y en mis clases. ¿Que es ArduinoBlocks?
arduinoblocks.com es una plataforma on-line que nos per permit mite e pro progra gramar mar Arduin Arduino o de for forma ma vis visual ual con bloques, es un proyecto que se encuentra en constante crecimiento y actualización, es por este motitivo mo vo qu que e la Re Revi vist sta a Ar Ardu duin ino o Bo Bolilivi via a de deci cide de realizar una entrevista a Juanjo Lopez creador de ésta plataforma. ¿Quien ¿Q uien es Juanjo López?
Tengo 38 años y soy un entusiasta de la informática, la electrónica y todo lo que tenga que ver con la automatización y la robótica. Estudié “Ing “I ngen enie ierí ría a en In Info form rmát átic ica a de Si Sist stem emas as”” en la Universidad de Alicante y posteriormente el “Grado Superior de Desarrollo de Productos Electrónicos”. Vivo en Ibi (Alicante – España) e imparto clase como co mo pr prof ofes esor or de in info form rmát átic ica a y el elec ectr trón ónic ica a en Salesianos Juan XXIII en Alcoy. ¿Cu an d o Ar du duin ino? o?
y
cóm o
em pi pi ez eza
a
u t i lili za zar
Mi experi experiencia encia con micro microcontr controlador oladores es se remont remonta a a la uni unive vers rsid idad ad,, do dond nde e el eleg egíí co como mo as asig igna natu tura ra optat opt ativ iva a “D “Des esar arrol rollo lo de Si Sist stem emas as Ba Basa sado doss en Microc Mic rocont ontrol rolado ador” r” des descru crubrí brí el PIC PIC16F 16F84 84 y ahí empezó mi pasión por el mundo de los microcontro micro controladore ladores. s. Realic Realicé é basta bastantes ntes proyec proyectos tos con co n PI PICs Cs y al algu guno noss mi micr croc ocon ontr trol olad ador ores es má máss potentes pero no fue hasta iniciar mi carrera como docente hace 10 años cuando empecé a jugar con la pl plac aca a Arduin Arduino o co como mo re resu sultltad ado o de bu busc scar ar un ent nto orno de desarrollo más adaptado a la educación. Me sorprendió el trabajo que el equipo
ArduinoBlocks es un entorno de programación online para Arduino que trabaja con programación por blo bloques ques.. Per Permit mite e doc docume umenta ntarr los pro proyec yectos tos,, almacenarlos en la cuenta del usuario en la nube y compartir el trabajo con otros usuarios, es decir, no es sólo una herramienta para programar Arduino, es un una a co comu muni nida dad d do dond nde e bu busc scar ar,, co comp mpar artitirr o valo va lora rarr pr proy oyec ecto toss re rela laci cion onad ados os co con n Ar Ardu duin ino. o. ArduinoBlocks implementa gran cantidad de sensor sen sores, es, act actuad uadore oress y peri perifér férico icoss par para a Ard Arduin uino, o, además ade más de fun funcio cional nalidad idades es ava avanza nzadas das com como o la conexión de Arduino a través de ethernet o WiFi a intern int ernet et (Io (IoT) T) per permit mitien iendo do com comuni unicar car vía int intern ernet et con el protocolo MQTT. Actualmente ArduinoBlocks perm pe rmitite e tr traba abaja jarr co con n lo loss mo model delos os Arduin Arduino o Un Uno, o, Nano y Mega. ¿Como nace la plataforma ArduinoBlocks?
Cuando empecé a utilizar Arduino en mis clases, detecté detec té la necesi necesidad dad de buscar alguna herramienta herramienta para introducir introducir la program programación ación con Arduino de una form fo rma a se senc ncililla la.. En ci cier erta tass cl clas ases es,, po porr ed edad ad y núme nú mero ro de ho hora ras, s, no es po posi sibl ble e ap apre rend nder er un lenguaje como C++ para posteriormente aplicarlo en pr prog ogra ram mac ació ión n con Ar Ardu duin ino. o. Si Siem empr pre e he apos ap osta tado do po porr he herr rram amien ienta tass co como mo Sc Scrat ratch ch pa para ra iniciar a los alumno noss en la programación, apre ap rend ndien iendo do de fo form rma a rá rápi pida da lo loss co conc ncep epto toss de vari va riab able less, bucl bu cles es,, con ondi diccio ione nes, s,.. .... Busq Bu squé ué herramientas para trasladar la idea de Scratch a Arduino y aunque descubrí algunas bastante inte in tere resa sant ntes es ni ning ngun una a cu cump mplílía a to tota talm lmen ente te la lass nece ne cessid idad ades es qu que e yo pl plan anttea eaba ba,, de desspu pués és de inve in vessti tiga garr y re real aliz izar ar var aria iass pr prue ueba bass co con n la plataf pla taform orma a Bloc Blockly kly de Goog Google le dec decidí idí emp empeza ezarr a implem imp lement entar ar mi pro propio pio ent entorn orno o de pro program gramaci ación ón por bloques. No sólo me centré en la idea de la programación, sino que además quería crear un entorno en la nube donde los alumnos guardaran su trabajo, documentaran su proyecto y además pudieran compartirlo con otros usuarios. Creo que
es igual de importante el desarrollo de un proyecto que hacer una correcta documentación sobre él. En de defifini nititiva va,, in inic icié ié un una a pl plat ataf afor orma ma qu que e es un una a combinación de entorno de programación, Moodle y red social. ¿Qu e h a s i d o l o m ás d i f íc i l construcción de la plataforma? plataforma?
en
la
Cuando emp Cuando empecé ecé el pro proyec yecto to qui quizás zás no ima imagin giné é todas las dificultades que me podría encontrar. En primer lugar me enc nco ontré el problema de implementar una aplicación que hiciera de puente entre el navegador y la placa Arduino conectada por USB para poder compilar y subir el programa desde des de la pr propi opia a we web. b. Es Esta ta ap aplilica caci ción ón de debí bía a se ser r multiplataforma y fácilmente actualizable. Fue un prim pr imer er re reto to im impo port rtan ante te y qu que e de mo mome ment nto o es está tá dando muy buenos resultados.
¿Para ¿P ara quienes está orientado?
Por otro lado, tenía una lista tan larga de bloques por im impl plem emen enta tarr qu que e tu tuve ve qu que e ir de desa sarr rrol olla land ndo o poc oco o a poco y actualizando la plataforma prog pr ogre resi siva vame ment nte, e, de he hech cho, o, si sigo go añ añad adie iend ndo o bloques prácticamente cada semana. Por último, una ve vezz in inic icia iada da la pl plat ataf afor orma ma me en enco cont ntré ré el prob pr oble lema ma de la do docu cume ment ntac ació ión, n, es de deci cirr, lo loss usua us uari rios os em empe peza zaba ban n a us usar ar la pl plat ataf afor orma ma pe pero ro neces nec esititab aban an al algo go de in info form rmac ació ión n so sobr bre e có cómo mo utililiz ut izar arla la,, ej ejem empl plos os,, ex expl plic icac acio iones nes de al algu guno noss bloques, etc. Por lo que durante el primer año de desarrollo empecé a escribir un manual que acabó como un libro que está publicado en Amazon de forma impresa y también en formato digital.
ArduinoBlocks se está usando con edades desde unos 12 años en adelante, aunque con proyectos titipo po Ot Otto to DI DIY Y o 3d 3dBo Bott se pu pued ede e ad adel elan anta tarr es esta ta edad hasta incluso los 8 años. Desde el principio está orientado al mundo docente, de hecho incluye funcionalidades específicas para profesores, pero en cualquier caso es una plataforma perfecta para usuarios tanto de iniciación como avanzados. En much mu chos os ca caso soss se ut utililiz iza a co como mo pu puen ente te en entr tre e la iniciación y un posterior paso al lenguaje escrito en C++. C+ +. Arduin ArduinoB oBlo lock ckss pe perm rmitite e ve verr y de desc scar arga garr el código Arduino generado a partir de los bloques para seguir un posterior desarrollo en Arduino IDE, o simplemente comparar los bloques con el código.
¿Porque se debe usar ArduinoBlocks?
¿Que viene a futuro en ArduinoBlocks?
ArduinoBlocks nos permite iniciarnos de una forma sencilla en el mundo Arduino sin perder dema de masi siad ado o titiem empo po en sa sabe berr có cómo mo fu func ncio iona nan n lilibr brer ería íass sú súpe perr co comp mplilica cada dass o te teni nien endo do qu que e aprender un complejo lenguaje de programación. Con Co n Ar Ardu duin inoB oBlo lock ckss po pode demo moss cr crea earr pr proy oyec ecto toss increíbles desde el principio, motivándonos desde el primer momento. Creo que puede ser un poco frustr fru strant ante e est estar ar mes meses es enc encend endien iendo do y apa apagan gando do leds le ds ha hast sta a qu que e so somo moss ca capa pace cess de do domi minar nar un lenguaje o el uso de unas librerías para finalmente poder hacer lo que queríamos, y en algunos casos puede ser que abandonemos antes o directamente no dispongamos de tanto tiempo para dedicarle.
Hay muchas cosas en el To-Do-List, y la propia comunidad comun idad de usuar usuarios ios colabo colabora ra frecu frecuentem entemente ente prop pr opon onie iend ndo o me mejo jora rass y nu nuev evas as id idea eass. En Entr tre e posibles futuras mejoras podemos destacar nuevos bloques para sensores, la posibilidad de soportar nuev nu evos os mi micr croc ocon ontr trol olad ador ores es,, y en cu cuan anto to a la funcio fun cional nalidad idad se est están án pre prepar parand ando o mej mejora orass par para a simp si mplilififica carr la ge gest stió ión n de us usua uari rios os en ce cent ntro ross educ ed ucat ativ ivos os.. Po Porr ot otro ro la lado do cr creo eo qu que e ta tamb mbié ién n es importante avanzar en la formación y docu do cum men enta taci ción ón,, sob obre re to todo do co con n la ay ayud uda a de empresas colaboradoras que se dedican a realizar mate ma teri rial al de fo form rmac ació ión n , cu curs rsos os de Ardui Arduino no co con n ArduinoBlocks, videotutoriales,...
Un me mens nsa aje pa para ra lo los s se segu guid idor ore es de la revista en habla hispana
Dar las gracias a todos los lectores, y sobre todo agradecer y felicitar a los creadores de la revista Arduino Bolivia por el fantástico trabajo que están realizando y que permite acercar el mundo Arduino a muchísima gente en todo el mund mu ndo. o. Anim Animo o a to toda da la gr gran an co com mun uniida dad d hisp hi span ana a de us usua uari rios os de Ardui Arduino no a se segu guiir trab tr abaj ajan ando do y co cont ntri ribu buye yend ndo o pa para ra se segu guiir creciendo crecien do por todo el mundo.
Que han conseguido lleva llevando ndo ade adelante lante el proyecto
En pri primer mer lug lugar ar una gra gran n sat satisf isfacc acción ión per person sonal, al, puess al pue algo go qu que e em empe pezó zó co como mo un pr proy oyec ecto to pa para ra ayudar y motivar a mis alumnos se ha convertido en una potente herramienta que se utiliza por todo el mundo. También me ha permitido colaborar en ferias eventos de robótica y conocer de primera mano el gran trabajo que se está realizando por much mu chos os ce cent ntro ross es esco cola lare res, s, or orga gani niza zaci cion ones es,, acad ac adem emia iass o co comu muni nida dade dess ma make kers rs do dond nde e se aprende apre nde y se des desarr arroll ollan an gra grande ndess pro profes fesion ionale aless bajo la fil filoso osofía fía STE STEAM AM (Sc (Scien ience, ce, Tech echnol nology ogy,, Engineering, Arts, Maths). Que les diría a los jóvenes que tienen ideas parecidas pare cidas para para que se motiven y tomen su ejemplo.
Animar a todo el mundo, jóvenes y no tan jóvenes a intentar llevar a cabo cualquier idea o proyecto que tengan en mente, aunque a veces el resultado no pueda ser el esperado sólo el camino recorrido ya valdrá la pena y nos abrirá nuevos caminos que quizás nunca habíamos imaginado.
Juego de Velocidad Matemática (Speed Match) con Arduino Qué tan rápido eres para realizar operaciones matemáticas básicas? compruébalo con este senc se ncilillo lo ju jueg ego o de desa sarr rrol olla lado do co con n la pl plac aca a ard ar duino, un teclado hexa xad decimal y una pantalla pantal la LCD de 16x2. Es un sencillo juego, el cual muestra operaciones matemáticas como suma, resta, multltip mu iplilica caci ción ón y di divi visi sión ón y el us usua uari rio o de debe be responderlas lo más rápido posible. El ju juego ego titien ene e 3 ni nive vele less de depe pendi ndiend endo o de la “complejidad” de las operaciones:
En este proyecto se utilizará el Arduino Uno que es es una placa electrónica basada en el microc mic rocont ontrola rolador dor ATme Tmega3 ga328, 28, cuen cuenta ta con 14 entradas/salidas digitales, de las cuales 6 se pueden utilizar como salidas PWM (Modulación por ancho de pulsos) y otras 6 son entradas analógicas, incluye un resonador cerámico de 16 MHz, un conector USB, un conector de alimentación, una cabecera ICSP y un botón de reseteo Teclado Matricial
•El primer nivel (Fácil) genera operaci operaciones ones con números comprendidos comprendidos entre 1 y 10. •El niv nivel el 2 (in (inter termed medio) io) gene genera ra ope operaci racione oness cuyo primer operando es un número entre 50 y 99, y el segundo operando es un número entre 1 y 10. •El ter tercer cer niv nivel el (di (difíc fícil) il) mue muestra stra ope operaci racione oness con números comprendidos comprendidos entre 50 y 99. Componentes Componente s utiliza utilizados: dos: Arr d u i n o UNO A
El teclado matricial es un dispositivo que tiene inte in tegr grado ado va vario rioss pul pulsad sador ores es y gr graci acias as a su conf co nfig igura uraci cion on ma matr tric icia iall per permi mite te co cont ntrol rolar ar el teclado empleando un número de conductores infe in feri rior or al qu que e ne neces cesititarí aríam amos os al us usarl arlos os de forma individual. Estos dis Estos disposi positiv tivos os int interna ernamen mente te agr agrupan upan los pulsadores en filas y columnas formando una matriz,, disposición matriz disposición que da lugar a su nombre.
Diagrama Dia grama Esquemático
Display LCD 16x2 16x2
La pa pant ntal alla la LC LCD D (L (Liq iqui uid d Cr Crys ysta tall Dy Dysp spla layy pantall pant alla a de cri crista stall líq líquid uido) o) es un dis dispos positi itivo vo empleado para la visualización de contenidos o información de una forma gráfica, mediante cara ca ract cter eres es,, sí símb mbol olos os o pe pequ queñ eños os di dibu bujo joss dependiendo del modelo. Está gobernado por un mi micr croc ocon ontr trol olad ador or el cu cual al di diri rige ge to todo do su funcionamiento. En este proyecto se utilizará una pantalla LCD de 16x2, esto quiere decir que dispone de 2 filas de 16 column columnas. as.
byte rowPins[ROWS] = {13,6,5,4}; //Filas(pines byte rowPins[ROWS] {13,6,5,4}; //Filas(pines 9 al 6) byte colPins[COLS] byte colPins[COLS] = {3,2,1,0}; //Co {3,2,1,0}; //Columna lumnass (pines 5 al 2) Keypad keypad = keypad = Keypad Keypad(( makeKeymap makeKeymap(keys), (keys), rowPins, colPins, ROWS, COLS );
Código del Programa /* Speed Game made realizado José Luis Bejarano Vásquez www.sistemasymicros.com www.sistem asymicros.com */ #include
.h> #include .h> LiquidCrystal lcd(7, LiquidCrystal lcd(7, 8, 9, 10, 11 , 12); byte sad[8] byte sad[8] = { B00000, B01010, B01010, B00000, B00000, B01110, B10001, }; unsigned long time=0; long time=0; unsigned long inicio=0; inicio=0; int m, int m, mu=0,md=0; int s, int s, su=0,sd=0; int c,cu,cd=0; int c,cu,cd=0; byte intento=0; byte intento=0; char level; level; boolean modePlay= boolean modePlay=false false;; int cifra_azar; int cifra_azar; int numero1=0; int numero1=0; int numero2=0; int numero2=0; int numero3=0; int numero3=0; int temp=0; int temp=0; int resultado; int resultado; String operando=""; String operando=""; String sResultado; String sResultado; String sLevel; String sLevel; int largo=0; int largo=0; boolean activar= boolean activar=false false;; boolean temporizar boolean temporizar = false = false;; char cifra_jugador[4]; cifra_jugador[4]; String numero_jugador String numero_jugador = String = String(); (); String sNumero_jugador; String sNumero_jugador; int cuenta=0; int cuenta=0; int i,j,x; int i,j,x; int intentos=0; int intentos=0; int maximo_intentos=10; int maximo_intentos=10; const byte ROWS=4; byte ROWS=4; const byte COLS=4; byte COLS=4; char keys[ROWS][COLS] keys[ROWS][COLS] = { {'{'1 1',' ','2 2',' ','3 3',' A'}, A'}, {'{'4 4',' ','5 5',' ','6 6',' ','B B'}, {'{'7 7',' ','8 8',' ','9 9',' ','C C'}, {'{'**',' ','0 0',' ','# #',' ','D D'} };
void game_over() void game_over() { temporizar=false temporizar= false;; modePlay=false modePlay= false;; lcd.clear lcd. clear (); (); lcd.setCursor lcd. setCursor (4,0); (4,0); lcd.print lcd. print(" ("Game Game Over "); "); lcd.setCursor lcd. setCursor (0,1); (0,1); lcd.print lcd. print(" ("Tiempo: Tiempo: "); "); lcd.print lcd. print(md); (md); lcd.print lcd. print(mu); (mu); lcd.print lcd. print(":"); (":"); lcd.print lcd. print(sd); (sd); lcd.print lcd. print(su); (su); lcd.print lcd. print(":"); (":"); lcd.print lcd. print(cd); (cd); lcd.print lcd. print(cu); (cu); } void generate_random() void generate_random() { lcd.clear lcd. clear (); (); cuenta=0; sResultado=""; sNumero_jugador=""; randomSeed((analogRead randomSeed analogRead((analogRead analogRead(0))); (0))); switch(level) switch (level) { case ' '1 case 1': numero1=random numero1= random(1,11); (1,11); numero2=random numero2= random(1,11); (1,11); break;; break case ' '2 case 2': numero1=random numero1= random(50,100); (50,100); numero2=random numero2= random(1,11); (1,11); break;; break case ' '3 case 3': numero1=random numero1= random(50,100); (50,100); numero2=random numero2= random(50,100); (50,100); break;; break } numero3=random numero3= random(1,5); (1,5); //Generates a number between 1 and 4 switch(numero3) switch (numero3) { case 1: case 1: operando="+" operando= "+";; resultado=numero1+numero2; break;; break case 2: case 2: operando="-" operando= "-";; if (numero1
intento=intento+1; generate_random();
case 4: case 4: operando="/" operando= "/";; resultado=numero1%numero2; if (resultado!=0) (resultado!=0) //If not is zero the mod { operando="*" operando= "*";; resultado=numero1*numero2; } else //The mod is zero { resultado=numero1/numero2; } } sResultado= String(resultado); String(resultado); lcd.setCursor lcd. setCursor (0,0); (0,0); lcd.print lcd. print(numero1); (numero1); lcd.setCursor lcd. setCursor (2,0); (2,0); lcd.print lcd. print(operando); (operando); lcd.setCursor lcd. setCursor (3,0); (3,0); lcd.print lcd. print(numero2); (numero2); lcd.setCursor lcd. setCursor (12,1); (12,1); lcd.print lcd. print(cuenta); (cuenta); lcd.setCursor lcd. setCursor (0,1); (0,1); lcd.print lcd. print((" "); lcd.setCursor lcd. setCursor (0,1); (0,1); } void timer() void timer() { if (modePlay==true (modePlay==true)) { time = millis = millis()-inicio; ()-inicio; m=(time/1000)/60; mu=m%10; md=(m-mu)/10; s=(time/1000)%60; su=s%10; sd=(s-su)/10;
//Minutos
//Segundos
c=(time/100)%60; cu=c%10; cd=(c-cu)/10; lcd.setCursor (8,0); lcd.setCursor (8,0); lcd.print lcd. print(md); (md); lcd.print lcd. print(mu); (mu); lcd.print lcd. print(":"); (":"); lcd.print lcd. print(sd); (sd); lcd.print lcd. print(su); (su); lcd.print lcd. print(":"); (":"); lcd.print lcd. print(cd); (cd); lcd.print lcd. print(cu); (cu); } } void setup() void setup() { lcd.createChar lcd. createChar (1,sad); (1,sad); lcd.begin lcd. begin(16, (16, 2); nivel(); //Visualiza el mensaje para seleccionar el nivel } void verificar() void verificar() { if (sNumero_jugador==sResultado) (sNumero_jugador==sResultado) { lcd.setCursor lcd. setCursor (6,0); (6,0); lcd.print lcd. print("G"); ("G");
} else { lcd.setCursor lcd. setCursor (0,1); (0,1); cuenta=0; sNumero_jugador=""; lcd.setCursor lcd. setCursor (6,1); (6,1); lcd.write lcd. write((byte byte(1)); (1)); //Ointa la carita triste } lcd.setCursor lcd. setCursor (8,1); (8,1); lcd.print lcd. print(("Try:" "Try:"); ); lcd.print lcd. print(intento); (intento); lcd.print lcd. print(("/10" "/10"); ); if (intento==maximo_intentos) (intento==maximo_intentos) { game_over(); //Finaliza el juego } } void nivel() void nivel() { modePlay=false modePlay= false;; intento=0; lcd.clear lcd .clear (); (); lcd.setCursor lcd. setCursor (1,0); (1,0); lcd.print lcd. print(("Escoja el nivel"); nivel"); lcd.setCursor lcd. setCursor (0,1); (0,1); lcd.print lcd. print(("1 "1-F -F 22-M M 33-D" D"); ); } void conteo() void conteo() { lcd.clear lcd. clear (); (); lcd.setCursor lcd. setCursor (4,0); (4,0); lcd.print lcd. print(sLevel); (sLevel); delay(300); delay (300); lcd.clear lcd. clear (); (); for (int int x=3;x>=1;x--) x=3;x>=1;x--) { lcd.setCursor lcd. setCursor (8,0); (8,0); lcd.print lcd. print(x); (x); delay(300); delay (300); } lcd.clear lcd. clear (); (); lcd.setCursor lcd. setCursor (7,0); (7,0); lcd.print lcd. print(("Go" "Go"); ); delay(600); generate_random(); modePlay=true modePlay= true;; if (activar==false (activar==false)) { inicio=millis inicio= millis(); (); activar=true activar= true;; } } void loop() void loop() { timer(); char key key = keypad.getKey = keypad.getKey(); (); if (key) (key) { //If is the select level display if(modePlay==false if(modePlay== false)) { if (key=='1' (key=='1' || || key=='2' key=='2' || || key=='3' key=='3'))
{ level=key; lcd.clear(); lcd.setCursor(5,1); switch(level) { case '1' case '1':: sLevel="Nivel sLevel= "Nivel fácil"; fácil"; break;; break case '2' case '2':: sLevel="NIvel sLevel= "NIvel medio"; medio"; break;; break case '3' case '3':: sLevel="Nivel sLevel= "Nivel díficil"; díficil"; break;; break } //end switch conteo(); } // end IF key select level } //end IF mode play off else //Mode player { temporizar=true temporizar= true;; if (activar==false (activar==false)) { inicio=millis inicio= millis(); (); activar=true activar= true;; lcd.clear lcd. clear (); (); } if (key!='A' (key!='A' && && key!='B' key!='B' && && key!='C' key!='C' && && key!='D' key!='D')) { cifra_jugador[cuenta] = key; numero_jugador = String = String(key); (key); sNumero_jugador=sNumero_jugador+numero_jugador; lcd.setCursor lcd. setCursor (0+cuenta,1); (0+cuenta,1); lcd.print lcd. print(cifra_jugador[cuenta]); (cifra_jugador[cuenta]); cuenta++; largo=sResultado.length(); if (cuenta==largo) (cuenta==largo) { verificar(); } } //End if key!= } // End else mode player if (key=='A' (key=='A')) { modePlay=false modePlay= false;; inicio=millis() inicio= millis();; activar=false activar= false;; nivel(); } } } // Fin del loop
Nombre: José Luis Bejarano Vásquez Vásquez Lugar de nacimiento: Barranquilla-Colombia Estudios:
Tecnólogo en ingeniería electrónica industrial, Ingeni Ing eniero ero en ele electr ctrónic ónica, a, des desarr arroll ollado adorr de software. Canal Ca nal de youtube: sistemasymicros.
http://www.youtube.com/c/sistem http://www .youtube.com/c/sistemasymicros1 asymicros1 Página Pá gina de f ace acebook: book:
https://www.facebook.com/sistemasy https://www .facebook.com/sistemasymicros/ micros/