Slide 1

Slide 1 text

Programando Robots de Lego con Java y Kotlin Miguel Córdova

Slide 2

Slide 2 text

Miguel Córdova Ingeniería de Sistemas - UNI Desarrollador de software Software Engineer at Verizon IntelliJ Plugin Developer Aficionado a Lego @miguelcordovam github.com/miguelcordovam linkedin.com/in/miguelcordovam plugins.jetbrains.com/author/1fcdf7e0-7193-4557-89e9-021303ab0108 www.kotlinrobots.com

Slide 3

Slide 3 text

Agenda ¿Por qué aprender a programar robots? Evolución de robots de Lego ¿Cómo empezar a programar con Lego? Ejemplos en Java Ejemplos en Kotlin

Slide 4

Slide 4 text

¿Por qué aprender a programar robots? Es divertido Potencia tu creatividad Puedes aprender como jugando Los robots son cada vez más importantes en la sociedad Libro: Rise of the Robots: Technology and the Threat of a Jobless Future - Martin Ford https://willrobotstakemyjob.com/

Slide 5

Slide 5 text

Evolución de Robots de Lego http://robotsquare.com/2013/07/16/ev3-nxt-compatibility/ RCX 1998 NXT 2006 EV3 2013

Slide 6

Slide 6 text

Home Edition vs Education Edition https://shop.lego.com/en-US/LEGO-MINDSTORMS-EV3-31313 https://education.lego.com/en-us/shop/mindstorms%20ev3

Slide 7

Slide 7 text

Expansion Set (opcional) https://education.lego.com/en-us/products/lego-mindstorms-education-ev3-expansion-set/45560

Slide 8

Slide 8 text

Lego EV3 Mindstorms Home Edition http://robotsquare.com/2013/11/25/difference-between-ev3-home-edition-and-education-ev3/

Slide 9

Slide 9 text

Lego Brick https://shop.lego.com/en-US/EV3-Intelligent-Brick-45500 Procesador ARM 9 4 puertos para motores 4 puertos para sensores Bluetooth / USB MicroSD 64MB RAM

Slide 10

Slide 10 text

EV3 Motores https://education.lego.com/en-us/products/ev3-large-servo-motor/45502 https://education.lego.com/en-us/products/ev3-medium-servo-motor/45503 Large Motor Medium Motor

Slide 11

Slide 11 text

EV3 Sensores https://education.lego.com/en-us/products/ev3-color-sensor/45506 https://education.lego.com/en-us/products/ev3-infrared-sensor/45509 https://education.lego.com/en-us/products/ev3-touch-sensor/45507 Color Infrared Touch

Slide 12

Slide 12 text

Más sensores https://education.lego.com/en-us/products/ev3-gyro-sensor-/45505 https://education.lego.com/en-us/products/mindstorms-temperature-sensor/9749 Gyro Temperature

Slide 13

Slide 13 text

¿Cómo programarlos?

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

¿Qué otras opciones hay?

Slide 16

Slide 16 text

LeJOS EV3 Incluye un API para manejar el robot Java Virtual Machine Lenguaje orientado a objetos Threads, arrays, exceptions, etc. Java types: float, long, String, etc. Mayoría de clases de java.lang, java.util, java.io Corre a partir de un microSD (dual-boot). http://www.lejos.org/ev3.php https://sourceforge.net/p/lejos/wiki/Home/

Slide 17

Slide 17 text

Ev3dev Sistema Operativo basado en Debian Linux compatible con Lego Ev3 y BrickPi. Corre a partir de un microSD (dual-boot). Soporta: Python, Javascript (Node.js), Java, Go, C, C++. https://www.dexterindustries.com/brickpi/ https://www.ev3dev.org/docs/getting-started/ https://www.ev3dev.org/docs/programming-languages/

Slide 18

Slide 18 text

Empezando con LeJOS EV3 Necesitamos: 1 SD Card de 2GB como mínimo y formateada con FAT32 JDK 7 instalado en la PC o laptop. Descargar el instalador de LeJOS: https://sourceforge.net/projects/ev3.lejos.p/files Descargar el Oracle Java SE Embedded version 7 http://www.oracle.com/technetwork/java/embedded/d ownloads/javase/javaseemeddedev3-1982511.html https://sourceforge.net/p/lejos/wiki/Installing%20leJOS/ https://sourceforge.net/p/lejos/wiki/Windows%20Installation/

Slide 19

Slide 19 text

Empezando con LeJOS EV3

Slide 20

Slide 20 text

LeJOS Plugin para Eclipse Usar este repositorio e instalar plugin oficial: http://lejos.sourceforge.net/tools/eclipse/plugin/ev3 https://sourceforge.net/p/lejos/wiki/Installing%20the%20Eclipse%20plugin/

Slide 21

Slide 21 text

LeJOS Plugin para IntelliJ https://plugins.jetbrains.com/plugin/9954-lejos-plugin-for-lego-ev3-mindstorms https://github.com/miguelcordovam/leJOS_plugin

Slide 22

Slide 22 text

File > Settings > Plugins > Browse Repositories

Slide 23

Slide 23 text

Ejemplos en Java : Game https://www.youtube.com/watch?v=gNB8gsQ5Shw

Slide 24

Slide 24 text

Shooter https://www.youtube.com/watch?v=O7WOqiyKn0E

Slide 25

Slide 25 text

Ejemplos en Kotlin http://www.kotlinrobots.com/2018/02/07/moving-explor3r-kotlin/

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

Usando Extension Functions:

Slide 29

Slide 29 text

Más Extension Functions

Slide 30

Slide 30 text

Con Extension Properties

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

Utils.kt

Slide 33

Slide 33 text

Sharpener http://www.kotlinrobots.com/2018/04/15/drawing-with-kotlin-spirograph/

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

Spirograph http://www.kotlinrobots.com/2018/04/15/drawing-with-kotlin-spirograph/

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

No content

Slide 39

Slide 39 text

Safe box http://www.kotlinrobots.com/2018/02/18/color-sensor-in-action-safe-box-kotlin/

Slide 40

Slide 40 text

Recursos Kotlin Robots : www.kotlinrobots.com Kotlin Oficial Documentation : kotlinlang.org Robot Square : http://robotsquare.com/ JK BrickWorks : http://jkbrickworks.com/category/models/ Lejos Wiki : https://sourceforge.net/p/lejos/wiki/Home/ Lejos Oficial : http://www.lejos.org/ Lejos Foro : https://lejos.sourceforge.io/forum/ Lego template : https://www.showeet.com/10/01/2016/templates/lego- powerpoint-template/

Slide 41

Slide 41 text

Beginning Robotics Programming in Java with LEGO Mindstorms Wei Lu github.com/Apress/beg-robotics-programming-in-java-w- lego-mindstorms The LEGO MINDSTORMS EV3 Discovery Book: A Beginner's Guide to Building and Programming Robots Laurens Valk

Slide 42

Slide 42 text

Gracias