Arduino - Cuarta sesión
-
Upload
javier-gamarra -
Category
Technology
-
view
348 -
download
0
description
Transcript of Arduino - Cuarta sesión
![Page 1: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/1.jpg)
Arduino - Semana 431 de Mayo 2014
![Page 2: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/2.jpg)
Agenda Cuarta Sesión
● Simon Says
● Servos
● Serial.read
● Coche
![Page 3: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/3.jpg)
Simon Says
● Video
● Montaje sencillo:○ Leds con su resistencia○ Pulsadores
![Page 4: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/4.jpg)
Simon Says
● Pulsador típico (pull up | push down).
![Page 5: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/5.jpg)
Simon Says
● Arduino tiene resistencias internas, que se pueden usar.INPUT_PULLUP.
![Page 6: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/6.jpg)
Ejercicio 1
● Probadlo!● Código
● digitalRead() / Serial.println()
![Page 7: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/7.jpg)
Ejercicio 1
![Page 8: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/8.jpg)
Simon Says
● Reutilizar el ground del pulsador en el led.
● Código
![Page 9: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/9.jpg)
Simon Says
![Page 10: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/10.jpg)
Simon Says
![Page 11: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/11.jpg)
Servos
● Dos tipos básicos:○ Motores DC (corriente continua)○ Motores paso a paso
![Page 12: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/12.jpg)
Servos
● En Arduino:○ Servos de 180 (+-10)○ Servos continuos
![Page 13: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/13.jpg)
Servo estándar
● Fácil de conectar, marrón/negro a tierra, rojo a 5V, amarillo a digital.
● Valores posibles de 0 a 180.
![Page 14: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/14.jpg)
Servo estándar
● #include <Servo.h>
● Servo myServo;
● setup -> myServo.attach(PIN);
● loop -> myServo.write(VALUE);
![Page 15: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/15.jpg)
Ejercicio 2
● Mueve el servo de 0 a 180º y vuelta.● Código
![Page 16: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/16.jpg)
Ejercicio 2
![Page 17: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/17.jpg)
Servos continuos (motores)
● Servo continuo:○ 180 máxima velocidad en una dirección○ 0 máxima velocidad en dirección opuesta
![Page 18: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/18.jpg)
Ejercicio 3
● Prueba las diferentes velocidades del motor
![Page 19: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/19.jpg)
Ejercicio 4
● Controla la velocidad del servo con un potenciómetro.
○ Utiliza map para transformar los valores leídos del potenciómetro en el rango del servo (0-180).
○ Código
![Page 20: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/20.jpg)
Utilizando 2 servos
● Arduino va a tener problemas en trabajar con 2 servos a la vez.
○ No puede dar suficiente corriente.
● Podemos hacer sólo un tipo de acción a la vez y desconectar el servo que no usemos.
○ myServo.detach();
![Page 21: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/21.jpg)
Ejercicio 5
● Utiliza los 2 servos conectando y desconectando.
○ 2 servos configurados (attach en setup)
○ detach 1 antes de usar 2 y viceversa.○ Código
![Page 22: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/22.jpg)
Ejercicio 5
![Page 23: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/23.jpg)
Utilizando 2 servos
● Podemos trabajar con más servos con una fuente externa, como las pilas.
○ Tierra común (ground de Arduino y ground de pilas)
○ Inputs de arduino○ Voltaje de pilas
![Page 24: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/24.jpg)
Ejercicio 6
● Utiliza los 2 servos directamente con pilas.
![Page 25: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/25.jpg)
Matriz de leds
● Matrix de 8x8 = 64 leds, 64 inputs?
● Multiplexando○ 1 led encendido si fila apagada y
columna encendida.
![Page 26: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/26.jpg)
Matriz de leds
● Un ejemplo:
![Page 27: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/27.jpg)
Ejercicio 7
● Conectad los 16 pines y probad a encender leds individuales.
![Page 28: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/28.jpg)
Serial read
● Si os acordáis habíamos escrito por el puerto serie.
● Vamos a leer del mismo.
![Page 29: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/29.jpg)
Ejercicio 8
● Moved un servo (de 180º) dependiendo de un valor leído por el puerto serie.
![Page 30: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/30.jpg)
Comunicación con Java
● Interacción con el exterior a través del puerto serie.
● Una posibilidad es escritura desde Java (multiplataforma).
○ Extensión de la JDK○ Librería RXTX
![Page 31: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/31.jpg)
Ejercicio 9
● Pequeño programa que lee tweets (‘aos2k14’): http://bit.ly/1oUgu8B
● Levantad una bandera con cada tweet nuevo…
● Código Arduino y código Java
![Page 32: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/32.jpg)
Ejercicio 9
![Page 33: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/33.jpg)
Ejercicio 9
![Page 34: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/34.jpg)
Construyendo nuestro coche
● Puntos a tener en cuenta:
○ Transmisión trasera.
○ Rueda delantera de giro.
![Page 35: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/35.jpg)
Ejercicio 10
● Go!
![Page 36: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/36.jpg)
(Opcional) Tickle Robot
● Tickle Robot
![Page 37: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/37.jpg)
(Opcional) Cazador de luz
● Cazador de luz
![Page 38: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/38.jpg)
Semana 5
● Más sensores?
● Proyecto final?● Flappy Bird● Cookies
● Competición?
![Page 39: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/39.jpg)
![Page 40: Arduino - Cuarta sesión](https://reader034.fdocumento.com/reader034/viewer/2022052506/557b5df8d8b42a8b078b5262/html5/thumbnails/40.jpg)
Arduino - Semana 431 de Mayo 2014