Archivo de la categoría: Arduino

Criterios de Evaluación de los Proyectos

Criterios de Evaluación/Partes del proyecto a valorar:

  • Complejidad del proyecto
  • Calidad de la documentación
  • Calidad del código
  • Motivación y descripción de proyecto.
  • Análisis previo de necesidades
  • Justificación de la elección de la placa, medio de comunicación, componentes, sensores, etc…
  • Justificación de la elección de librerías y documentación de su uso
  • Justificación del software usado
  • Diagrama de flujo como documentación de firmware y luego su uso en la fase de testeo
  • Lista de materiales, datasheet, enlaces y precios
  • Presupuesto
  • Cálculo de horas de trabajo
  • Esquemáticos y otra documentación del montaje (Fritzing)
  • Descripción del software utilizado
  • Descripción herramientas utilizadas
  • Descripción de los pasos y las diferentes fases de desarrollo
  • Videos y demos
  • Test realizados para comprobar las funcionalidades del proyecto (análisis funcional)
  • Posibles mejoras futuras y funcionalidades a desarrollar.
  • Uso de un sistema de control de versiones.
  • Incluir temas adicionales como diseño 3D (Tinkercad, freecad), diseño de apps moviles (app inventor) o diseño de software (python, processing, etc…), diseño de PCB (KiCad)
  • Uso de otras placas o HW como Raspberry Pi
  • Uso de protocolos y comunicación (mosquitto, Node-RED, etc…)

Plataformas de Publicación de Proyectos Arduino

Webs con proyectos Arduino de todo tipo:

Tutorial de Arduino Project Hub: https://www.hackster.io/Arduino_Genuino/how-to-submit-content-on-arduino-project-hub-cf2177

Planificación y Diseño de Proyectos con Arduino

Cuando nos planteamos un nuevo proyecto con Arduino, es aconsejable seguir una serie de pasos para conseguir el éxito. Además de los pasos que habría que seguir en cualquier proyecto, es muy importante hacer una buena planificación antes de empezar a comprar los elementos y ponernos a programar.

  • Analizar los requisitos de nuestro proyecto, obtenido el número de de entradas y salidas digitales y analógicas que vamos a necesitar, los tipos de comunicación que vamos a utilizar y los shields que vamos a usar. Con todo ello debemos elegir la placa más adecuada para nuestro proyecto.
  • Hacer la elección de los sensores, actuadores, periféricos. Para ello debemos buscar qué dispositivos se adaptan a nuestras necesidades y posteriormente asegurarse para cada dispositivo como va a interactuar con Arduino y si vamos a necesitar drivers para los actuadores/periféricos. Comprobaremos que las librerías que acompañan a cada dispositivo tiene las funcionalidades que hay en los requisitos del proyecto.
  • En la parte de hardware es importante hacer el esquema eléctrico y obtener las partes o piezas que vamos a usar, para ello nos podemos ayudar de fritzing como hemos visto anteriormente.
  • El siguiente paso es planificar la programación, buscar las librerías que vamos a necesitar y asegurarse de tener todas la librerías importadas y en el caso que trabajemos varias personas en proyecto, que usemos todos las mismas librerías con las mismas versiones.
  • Realizar el diagrama de flujo en la fase de diseño para mejorar el software y asegurarse de programar todas las opciones.

Ejemplo de Planificación

Imaginemos que el departamento de Prevención que nos han pedido hacer un proyecto de un medidor de confort para oficinas. Habrá que medir temperatura, humedad, calidad del aire en 2 ubicaciones concretas, además se instalará una bombilla de alarma que se encenderá cuando se sobrepasen algunos de los parámetros de confort y un botón para resetear esa alarma. Por último mandará un correo electrónico diario a los responsables del departamento con los valores medios medidos.

Práctica: Hacer el análisis de este proyecto.

Elementos necesarios:

Ejemplos de Proyectos con Arduino

Propuestas de Proyectos Sencillos con Arduino

Algunas propuestas de proyectos para inspirar o desarrollar.

Taller de proyectos: 

Estación Meteorologica: https://aprendiendoarduino.wordpress.com/2016/07/06/proyecto-estacion-meteorologica/ 

Control Motor DC: https://aprendiendoarduino.wordpress.com/2016/07/06/proyecto-arranque-y-parada-motor-dc/

Proyecto Alarma Casera: https://aprendiendoarduino.wordpress.com/2017/06/29/proyecto-sistema-de-alarma/

Pantalla con botones y/o potenciómetro con un menú que realice operaciones, p.e. encender leds o mover un servo. 

Cronómetro que cuente vueltas y las muestre en una pantalla. Opcionalmente mandar los datos a un servidor. Las vueltas se pueden contar con un sensor, p.e. cronómetro para scalextric. Base del proyecto: https://tronixstuff.com/2011/06/22/tutorial-arduino-timing-methods-with-millis/

Mensajes entre placas wifi que se comuniquen entre ellas. Base del proyecto https://github.com/jecrespo/ESP-Wireless-Control

Pan & Tilt: Control de dos servos para un sistema de dos grados de libertad. Hacer con un joystick o con un acelerómetro. Base del proyecto: http://nevit.blogspot.com/2014/07/arduino-mpu-6050-pitch-roll-with-2.html y código https://github.com/jecrespo/Aprendiendo-Arduino/blob/master/Ejercicio66-Servo_IMU/IMU_2servos/IMU_2servos.ino

Inclinómetro o nivel usando leds y sonido. Base del proyecto https://aprendiendoarduino.wordpress.com/2018/04/15/uso-de-motores-con-arduino-2/

Juegos:

Mis Proyectos

Arduino Conference clock: https://github.com/jecrespo/conference_clock

Arduino MiniSumo Robot: https://aprendiendoarduino.wordpress.com/2019/05/06/construccion-y-programacion-de-robot-minisumo/

Proyectos Avanzados con Arduino

AR Sandbox: https://www.youtube.com/watch?v=kFJjUSM8tuE

Control remoto rover: https://www.youtube.com/watch?v=Ip-dunPC6Pw

Control fuegos artificiales: https://www.instructables.com/id/Firework-Control-Module/

Data Center Monitoring: https://www.instructables.com/id/Data-Center-Monitoring-by-IOT-ESP32/ 

Lora Weather Station: https://diyodemag.com/projects/lora_weather_station

Simuladores Arduino

Tinkercad

Tinkercad es un software gratuito online creado por la empresa Autodesk, una de las empresas punteras en el software de diseño 3D.

Tinkercad: https://www.tinkercad.com/

Tinkercad ofrece:

  • Aplicación de diseño e impresión 3D
  • Simulador de circuitos, incluido Arduino
  • Diseños 3D interactivos con electrónica:
  • Publicar nuestro proyectos
  • Ver otros proyectos y clonarlos: https://www.tinkercad.com/things/v2#/things

Tinkercad circuitos https://www.tinkercad.com/circuits

Y más…

Fritzing

Fritzing es el programa por excelencia para la realización de esquemas eléctricos en proyectos con Arduino y es open source. Dispone bibliotecas con la mayoría de componentes (http://fritzing.org/parts/), incluido los propios Arduinos, placas de conexiones, led, motores, displays, etc. Además permite hacer esquemas eléctricos, diseñar nuestro PCB final y un sinfín de opciones que convierten a este programa en una herramienta muy útil.

También nos permitirá obtener el esquema eléctrico, listado de componente usados y el diagrama para poder fabricar la PCB. Luego podemos solicitar que nos hagan la pcb con el servicio Fritzing Fab: https://go.aisler.net/fritzing. Nos permitiría diseñar un shield propio y que nos los construyan.

Podemos explorar otros proyectos y usarlos: http://fritzing.org/projects/ 

Para aprender más sobre Fritzing: http://fritzing.org/learning/ 

Librería de partes: http://fritzing.org/parts/ 

Fritzing no es un simulador, pero las nuevas versiones de Fritzing permite guardar el código de un diseño e incluso cargarlo en Arduino.

Enlaces:

Una de las librerías de partes de frizting más completa es la de adafruit https://github.com/adafruit/Fritzing-Library. Para instalarla, seguir el tutorial: https://learn.adafruit.com/using-the-adafruit-library-with-fritzing?view=all 

Tutorial para hacer tus propias “parts” de Fritzing: https://learn.adafruit.com/make-beautiful-fritzing-parts-with-eagle2fritzing-brd2svg?view=all

Tinkercad Circuits

Herramienta online gratuita de Autodesk que permite dibujar esquemas de forma similar a Fritzing. Además permite simulación de circuitos, e incluso podemos realizar la “programación virtual” de las placas Arduino y comprobar el funcionamiento, es un simulador online.

Web: https://www.tinkercad.com/circuits 

Una herramienta muy interesante que ofrece Tinkercad Circuits es el debugger, con ella podemos parar la ejecución de un programa y ver los valores de las variables, algo que con arduino no podemos hacer. Nos permite “parar” el tiempo.

Los ejemplos de #aprendiendoarduino para practicar: https://www.tinkercad.com/users/duMg80HCDio-aprendiendoarduino?category=circuits

Para más información consultar la ayuda: https://support.circuits.io/hc/en-us 

Uso de Tinkercad Circuits

Darse de alta en https://www.tinkercad.com/ y simular el sketch de blink.

Ver los ejemplos del usuario “aprendiendoarduino” https://www.tinkercad.com/users/duMg80HCDio-aprendiendoarduino?category=circuits&sort=likes&view_mode=default, abrir cualquiera de los ejemplos, leer el código y ejecutarlo.

Circuitmaker

CircuitMaker es la mejor herramienta de diseño de circuitos impresos y esquemáticos de libre uso para la comunidad de hardware de código abierto. Pero CircuitMaker es más que una herramienta gratuita de diseño de esquemas y placas de circuito impreso: es una vibrante comunidad de diseñadores, fabricantes, aficionados, estudiantes y profesionales de código abierto que trabajan juntos para crear nuevos y excitantes productos todos los días.

Web: https://circuitmaker.com/

Proyectos: https://circuitmaker.com/Projects

Otros Simuladores y Herramientas

Ardusim:

Existen muchas otras herramientas para diseño de circuitos y pcbs, así como para simular.