Archivo de la categoría: Fritzing

Conexionado del Robot Minisumo V2

Página principal del robot: https://aprendiendoarduino.wordpress.com/2021/04/02/robot-minisumo-v2/ 

Tiempo aproximado conexiones: 15 minutos

La parte principal para las conexiones es la Arduino Nano Expansion Board. Esta placa dispone de una expansión de los puertos del Arduino Nano junto con un pin de VCC y otro de GND para cada pin del Arduino.

Buena explicación de la expansion board: http://dyor.roboticafacil.es/en/arduino-intro/ 

Datasheet: https://roboticafacil.es/datasheets/nano_io_shield.pdf 

http://forum.arduino.cc/index.php?action=dlattach;topic=498217.0;attach=224635 

Arduino nano data sheet:

Una vez montado el robot procedemos a conectar el cableado.

Conexiones:

DispositivoPin Arduino
Sensor Suelo IR Izquierdo2
Sensor Suelo IR Derecho3
Sensor Suelo IR Trasero4
Sensor Ultrasónico Distancia5 (Trigger), 6 (Echo)
Servo Rueda Derecha9
Servo Rueda Izquierda10
Buzzer12

Esquema Fritzing:

Repositorio del proyecto: https://github.com/jecrespo/Robot-MiniSumo-V2 

Documentos Fritzing: https://github.com/jecrespo/Robot-MiniSumo-V2/tree/main/Esquema%20Fritzing 

IMPORTANTE:

  • Seguir el esquema de cableado y el código de colores si es posible
  • En los conectores de tres pines usados en los sensores IR, tener en cuenta que hay que cruzar los pines GND y Vcc para que coincida con las conexiones de la placa de expansión de Arduino
  • El buzzer, tiene polaridad.

Ejemplo parecido donde obtener algunas partes de Fritzing: http://fritzing.org/projects/bender-dyor

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.

Documentar Proyectos Educativos

A la hora de realizar un proyecto de cualquier tipo y especialmente en educación, es importante documentar adecuadamente los proyectos. Disponemos de muchas herramientas on-line para poder hacerlo.

Además en el uso de hardware libre cobra especial importancia documentar el proyecto no solo para nosotros mismos o los alumnos sino para compartir con la comunidad y que nuestros proyectos sean replicado e incluso mejorados por otras personas, pueda reutilizarse el material y extendamos el conocimiento libre con nuestro trabajo.

Un magnífico ejemplo de todos esto es el proyecto El Cable Amarillo http://www.elcableamarillo.cc/. Proyecto educativo para fomentar el uso de la Programación y Robótica en los centros educativos de Murcia.

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:

Arduino Project Hub

Arduino project hub: https://create.arduino.cc/projecthub

Arduino Project Hub es un lugar donde poder ver proyectos realizados con Arduino y también poder compartir los proyectos propios.

Cuando queremos publicar un proyecto en Arduino Project Hub es muy sencillo porque separa por apartados todo lo que tenemos que documentar el proyecto:

  • Nombre del Proyecto
  • Imagen de portada
  • Nivel de dificultad
  • Historia de Proyecto
  • Lista de Materiales (BOM)
  • Aplicaciones y Servicios On-line Usados
  • Descripción de proyecto
  • Herramientas
  • Esquemáticos y diagramas de circuito
  • CAD
  • Código

Cómo enviar un proyecto: https://create.arduino.cc/projecthub/Arduino_Genuino/how-to-submit-content-on-arduino-project-hub-cf2177

Guideline: https://create.arduino.cc/projecthub/guidelines

Arduino Project Hub está basado en Hackster: https://www.hackster.io/

Arduino Web Editor

Arduino.cc ha sacado un IDE on-line llamado Arduino Web Editor que puede usarse en lugar del IDE que acabamos de ver. Este IDE on-line está dentro del proyecto Arduino Create accesible desde https://create.arduino.cc/ y incluye varios apartados.

Para usar este IDE es necesario instalar un plugin y mediante este wizard online es posible instalarlo: https://create.arduino.cc/getting-started/plugin

También es importante señalar que es necesario crearse una cuenta de arduino.cc para poder usar este IDE on-line.

Getting started con Arduino Web Editor: https://create.arduino.cc/projecthub/Arduino_Genuino/getting-started-with-the-arduino-web-editor-4b3e4a

Arduino Web editor no solo permite publicar el código hecho sino también genera un fichero de documentación y pueden subirse imágenes y esquemas de montaje.

Sigfox Bike Tracking: https://www.hackster.io/aprendiendoarduino/bike-tracking-system-with-dead-man-alert-22da0b

Instructables

Instructables es la web más usada para publicar cualquier tutorial, paso a paso o proyecto que hagamos y no solo de Arduino, sino de cualquier otra cosa, desde una tarta o un disfraz hasta el montaje de una red inalámbrica para IoT.

Web: https://www.instructables.com/

Instructables Arduino: https://www.instructables.com/howto/Arduino/

Instructables Electrónica: https://www.instructables.com/classes/tagged/electronics/

Instructables mBlock: https://www.instructables.com/id/mBlock/

Tutorial de uso de Instructables: https://www.instructables.com/about/create.jsp

Halloween candy Counter: https://www.instructables.com/id/Halloween-Candy-Counter/

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 ciircuitos https://www.tinkercad.com/circuits

Y más…

Github

GitHub es una forja (plataforma de desarrollo colaborativo) para alojar proyectos utilizando el sistema de control de versiones Git. Se utiliza principalmente para la creación de código fuente de programas de computadora.

Web: https://github.com/

Características

  • Wiki para cada proyecto.
  • Página web para cada proyecto​
  • Gráfico para ver cómo los desarrolladores trabajan en sus repositorios y bifurcaciones del proyecto.
  • Funcionalidades como si se tratase de una red social, por ejemplo, seguidores.
  • Herramienta para trabajo colaborativo entre programadores.
  • Gestor de proyectos de estilo Kanban.

Github puede ser una excelente herramienta de documentación, pero es más compleja de usar y solo es adecuada para usuarios avanzados.

Los documentos con formato se escriben en Markdown https://es.wikipedia.org/wiki/Markdown

Simulador Arduino

Fritzing es el programa por excelencia para la realización de esquemas eléctricos en proyectos con Arduino. Es software open source. Dispone bibliotecas con la mayoría de componentes (http://fritzing.org/parts/), incluido por supuesto los propios Arduinos, placas de conexiones, led, motores, displays, etc. Además permite hacer esquemas eléctricos, diseñar nuestro PCB final… 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: http://fab.fritzing.org/fritzing-fab. Por ejemplo, nos permitiría diseñar un shield propio.

También podemos explorar proyectos: http://fritzing.org/projects/

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

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.

Web Principal: http://fritzing.org/home/

Descarga: http://fritzing.org/download/

Solicitar fabricar diseño realizado con Fritzing: http://fab.fritzing.org/fritzing-fab

123D Circuit.io: 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.

Una genial iniciativa que, de momento, aún tiene unos cuantos problemas. La simulación es lenta y como programa de dibujo sigue siendo mejor Fritzing. No obstante, una aplicación muy interesante que desde luego merece la pena echar un vistazo.

Web principal que merece la pena ser visitada y ver todo lo que ofrece: http://123d.circuits.io/

Web del simulador: http://www.123dapp.com/circuits

Una herramienta muy interesante que ofrece 123d.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.

Los ejemplos de #aprendiendoarduino para parcticar: https://123d.circuits.io/users/127626/designs

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

Otras herramientas: existen muchas otras herramientas para diseño de circuitos y pcbs, así como para simulación.

Práctica: Simulación en 123d.circuits.

Tema 5 – Taller de Proyectos con Arduino

A continuación se dan las soluciones a los proyectos propuestos.

Proyecto 1 – Estación meteorológica.

Enunciado

Estación meteorológica con una sonda de temperatura y pantalla LCD. Hacer que actualice continuamente la temperatura y la muestre por pantalla. Poner un botón que al pulsarlo la primera vez muestre por pantalla la máxima temperatura leída, al volver a pulsarlo muestre la temperatura mínima leída y al volver a pulsarlo muestre la temperatura actual. Para resetear los valores máximo y mínimo, pulsar durante 5 segundos el botón y muestre por pantalla “valores reseteados”.

Versión mejorada: Con el shield de ethernet conectarse a internet y mediante la API de http://openweathermap.org/ y obtener los datos de humedad y presion y mostrarlos por pantalla. Actualizar estos datos cada hora. También se pueden obtener los datos de la API de AEMET.

Información o referencias usadas

Esquema de conexión

Diagrama de flujo

Proyecto1-Diagrama Flujo

Solución

Proyecto 2 – Arranque y parada de motor DC controlado.

Enunciado

Basándose en los ejercicios 9 y 10 del libro del Arduino Starter Kit, añadir una rampa de arranque y otra de parada cuando se detecte el encendido y apagado. También añadir una rampa de parada y arranque cuando se detecte un cambio de sentido. Añadir un botón de parada de emergencia, que al pulsarlo, se pare el motor inmediatamente.

Información o referencias usadas

Ejemplo básico: http://diymakers.es/control-velocidad-y-sentido-de-motor-dc/

Esquema de conexión

Diagrama de flujo

Proyecto_2-Motor_DC_Controlado
Solución

Proyecto  3 – Juego de Sogatira

Enunciado

Hacer un juego con 7 leds y dos botones. El led central se ilumina y en función de quien más veces pulsa el botón el led encendido se va desplazando hacia él, hasta que gana cuando ha llegado al último led. En el inicio el led central parpadea y comienza el juego cuando se queda fijo, cada vez que se gana una posición el led parpadea y cuando gana el led final se queda parpadeando en un bucle infinito hasta que reseteo el Arduino para volver a jugar.

Información o referencias usadas

Ejemplo simulado: http://123d.circuits.io/circuits/463198-juego-sogatira

Esquema de conexión

sogatira

Diagrama de flujo

Proyecto_3-Juego_Sogatira

Solución

Proyecto 4 – Simon

Enunciado

Hacer el juego de Simon con Arduino

Información o referencias usadas

Juego Simón: http://es.wikipedia.org/wiki/Simon_%28juego%29

Varios ejemplos:

Esquema de conexión

Diagrama de flujo

Proyecto_4-Simon

Solución

Proyecto 5 – Gráfica de datos de temperatura en plot.ly

Enunciado

Recoger datos de temperatura cada 5 segundos y mandarlos a la web de plot.ly para que nos los imprima en tiempo real. Será necesario conectarse a Internet y usar el Ethernet Shield.

Información o referencias usadas

API Arduino para Plot.ly: https://github.com/plotly/arduino-api

Información: http://makezine.com/2014/01/21/streaming-data-with-plotly/

Ejemplo: https://plot.ly/arduino/dht22-temperature-tutorial/

Otro ejemplo: https://plot.ly/arduino/tmp36-temperature-tutorial/

Esquema de conexión

Solución

 

Proyecto 6 – Gráfica de datos potenciómetro con Processing

Enunciado

Enviar los datos de voltaje leídos a través de un potenciómetro a nuestro ordenador mediante el puerto serie e imprimirlos en una gráfica mediante processing.
AVANZADO: Encender un Led al ejecutar una determinada acción sobre un programa en Processing.
En lugar de processing se puede hacer con otros lenguajes como Python o .Net para hacer los dos ejemplos anteriores.

Información o referencias usadas

Comunicar Arduino y Processing: http://playground.arduino.cc/interfacing/processing

Ejemplo: http://arduino.cc/en/Tutorial/Graph

Ejemplo Led: http://arduino.cc/en/Tutorial/PhysicalPixel

Esquema de conexión

Solución

Proyecto 8 – Comunicar dos Arduinos mediante I2C

Enunciado

Comunicar dos Arduinos para que se manden información vía I2C. Configurar uno como master para que todo lo que recoja por el puerto serie lo mande al bus I2C y el slave lo recoja y lo muestre por pantalla.

Información o referencias usadas

I2C: https://aprendiendoarduino.wordpress.com/2014/11/18/tema-6-comunicaciones-con-arduino-4/

Ejemplo1: http://arduino.cc/en/Tutorial/MasterReader

Ejemplo2: http://arduino.cc/en/Tutorial/MasterWriter

Otro ejemplo: https://github.com/jecrespo/Aprendiendo-Arduino/tree/master/Ejercicio33-I2C

Esquema de conexión

Solución

Proyecto 9 – Servidor Web embebido

Enunciado

Hacer una sencilla web embebida en Arduino usando el ethernet shield. La web estará en una tarjeta SD dentro de un fichero llamada index.html.

Información o referencias usadas

Librería Ethernet: https://aprendiendoarduino.wordpress.com/2014/11/18/tema-6-comunicaciones-con-arduino-2/

Ejemplo: https://github.com/jecrespo/Aprendiendo-Arduino/blob/master/Ejercicio30-SD/Ejercicio30-SD.ino

Ejemplo: http://arduino.cc/en/pmwiki.php?n=Tutorial/WebServer

Tutorial: http://www.academia.edu/7510788/Embedded_Web_Server_using_Arduino_Ethernet_Shield

Otro tutorial: http://blog.startingelectronics.com/arduino-web-server-tutorial/

Diagrama de flujo

Solución

Proyecto 10 – Grabar datos de temperatura en una Raspberry Pi

Enunciado

Datalogger de los datos de temperatura leídos en una Raspberry Pi. Con una RPi que tenga un servidor LAMP instalado, grabar en una tabla de una BBDD MySQL los datos de temperatura que mande Arduino cada 5 segundos.

Información o referencias usadas

Ejemplo: https://github.com/jecrespo/Aprendiendo-Arduino/tree/master/Ejercicio32-EnviaDatos

Solución

Y aquí no acaba el curso…

Recordad que el curso sigue en:

https://aprendiendoarduino.wordpress.com/

Y también en las redes sociales:

Y todas las novedades sobre Arduino, futuros eventos, cursos, etc… mediante correo electrónico.