Tema 5 – Proyectos Arduino

  • MotorDC
  • ChatSerie
  • LCD
  • Simon
  • Otros Ejercicios

Después de tanta teoría mezclada con ejemplos, toca aplicar todos los conocimientos y enfrentarse a los problemas que aparecen al hacer un proyecto con Arduino.

En esta parte vamos a hacer el resto de las prácticas del libro y otros proyectos de mayor nivel.

Ejercicio21-Motor DC

Ejercicio basado en el número 9 y 10 del libro Arduino Starter Kit. Hacer el Ejercicio 9 pero que al pulsar el botón se encienda y al volver a pulsar el botón se apague para entender el ejercicio 10.
Hacer Ejercicio 10. Añadir rampa de aceleración/deceleración y en cambio de sentido para que pase por cero con una compilación de “seguridad” y sin ella. Añadir una parada de emergencia que tenga preferencia sobre todo y pare de golpe al pulsar un botón de emergencia (seta de emergencia) → Prioridades.

Solución: https://github.com/jecrespo/Aprendiendo-Arduino/tree/master/Ejercicio21-MotorDC

Ejercicio22-ChatSerie

Hacer un programa que comunique por puerto serie tu arduino (usar la librería software serial) con otro y saque por pantalla (puerto serie del USB) lo recibido por el puerto serie y mande por el puerto serie todo aquello que mandes desde el terminal.
Hacer una versión mejorada que acepte comandos, por ejemplo mandar una cadena varias veces.

Para entender de una vez por todas el puerto serie:

Solución: https://github.com/jecrespo/Aprendiendo-Arduino/tree/master/Ejercicio22-ChatSerie

Ejercicio23-LCD

Ejercicio basado en el número 11 del libro Arduino Starter Kit. Hacer el ejercicio 11 del libro.

Modificar el ejercicio 11 del libro para que la pregunta la hagas por el puerto serie y tras pensar 5 segundos, muestre la respuesta tanto en el LCD como por el terminal serie.
Modificar el código del ejercicio 22 para que muestre por el LCD todo lo que recibo por el puerto serie.

Los LCD tienen un interfaz paralelo, lo que significa que debe manipular varios pines del interfaz simultáneamente: RS, RW, Enable pin y data pins.

Muy bien explicado este ejercicio en: http://www.jmnlab.com/lcd/lcd.html

Solución: https://github.com/jecrespo/Aprendiendo-Arduino/tree/master/Ejercicio23-LCD

Ejercicio24-Simon

Implementar el clásico juego de Simon con 4 botones, 4 leds de diferentes colores y un piezo. Usar la función random() para generar el código de luces.
Arduino Tome Library: https://code.google.com/p/rogue-code/wiki/ToneLibraryDocumentation

Solución: https://github.com/jecrespo

Otros ejercicios propuestos

  • ColorMIxingLamp – Ejercicio basado en el número 4 del libro Arduino Starter Kit
  • LightThereminAdvanced – Ejercicio basado en el número 6 y 7 del libro Arduino Starter Kit
  • RelojArena – Ejercicio basado en el número 8 del libro Arduino Starter Kit
  • Cerradura – Ejercicio basado en el número 12 del libro Arduino Starter Kit
  • Reseteo: Resetear Arduino uniendo un pin al de reset y cuando el loop tarde mucho, poner el pin a GND para resetear el Arduino al estilo de un watchdog.
  • Calibrar: Calibrar un sensor analógico, http://arduino.cc/en/Tutorial/WhileLoop
  • LedsSerial: Encender/apagar el led o leds elegidos mandando el número del led por el puertos serie. Basado en http://arduino.cc/en/Tutorial/SwitchCase2

Y por último…

Serías capaz de hacer algo similar a esto?

http://www.cooking-hacks.com/documentation/tutorials/open-garden-hydroponics-irrigation-system-sensors-plant-monitoring

  • Compatible con Arduino Uno
  • Shield
  • Instrucciones de como cargar el programa con arduino UNO como ISP
  • Librería