Archivo de la categoría: Arduino

Kit de Prácticas

Las prácticas de este curso están diseñadas para usar con los elementos disponibles en el kit de prácticas. Todo el material entregado es en préstamo y debe cuidarse al máximo, a la hora del montaje de las prácticas se seguirán las instrucciones para evitar dañar los componentes.

Todos los Kits, Arduinos y Shields en préstamo tienen un número de serie entre el 1 y el 21. A cada alumno se le asignará uno de ellos y es el que usará durante todo el curso.

Se entregará una hoja de préstamo de material que deberá estar rellenada con el número de kit entregado y firmada. Al final del curso se entregará otra hoja de devolución de material comprobando que todo el material está correcto.

Cada alumno tiene su propio kit con el número de kit. Recordad este número porque se usará durante las prácticas.

Conozcamos a fondo cada uno de los elementos del kit de prácticas.

Arduino UNO

El Arduino que usaremos durante el curso es el Arduino UNO. Es el Arduino más conocido y usado.

Arduino UNO: https://www.arduino.cc/en/Main/ArduinoBoardUno

Arduino Ethernet Shield

Un shield es una placa de circuito modular que se montan unas encima de otras para dar funcionalidad extra a un Arduino. Esta Shields son apilables.

Durante el curso usaremos el Ethernet Shield para conectar Arduino a una red interna o a Internet.

Ethernet Shield V1: https://www.arduino.cc/en/Main/ArduinoEthernetShieldV1

Se trata de la versión antigua del Ethernet Shield, ahora está la versión 2 https://store.arduino.cc/arduino-ethernet-shield-2 que usa el chip W5500 en lugar del chip W5100 que usa la placa que vamos a usar en el curso.

Arduino Starter Kit

Los elementos de los que disponemos como sensores, actuadores, motores y periféricos son los correspondientes al Arduino Starter Kit. Documentación Arduino Starter Kit: http://arduino.cc/en/Main/ArduinoStarterKit

Documentación Arduino Starter Kit: http://arduino.cc/en/Main/ArduinoStarterKit

20x Arduino Starter Kit (https://www.arduino.cc/en/Main/ArduinoStarterKit) que contiene un Arduino Uno, una serie de sensores y actuadores y diversos elementos electrónicos necesarios para realizar las prácticas y proyectos. Componentes:

El Arduino Starter Kit viene con un libro de ejercicios, es posible ver este libro en castellano en la url: http://www.slideshare.net/TinoFernndez/libro-de-proyectos-del-kit-oficial-de-arduino-en-castellano-completo-arduino-starter-kit-arduino-projects-book

Con este kit hay 15 proyectos muy interesantes propuestos:

  • GET TO KNOW YOUR TOOLS an introduction to the basics
  • SPACESHIP INTERFACE design the control panel for your starship
  • LOVE-O-METER measure how hot-blooded you are
  • COLOR MIXING LAMP produce any color with a lamp that uses light as an input
  • MOOD CUE clue people in to how you’re doing
  • LIGHT THEREMIN create a musical instrument you play by waving your hands
  • KEYBOARD INSTRUMENT play music and make some noise with this keyboard
  • DIGITAL HOURGLASS a light-up hourglass that can stop you from working too much
  • MOTORIZED PINWHEEL a colored wheel that will make your head spin
  • ZOETROPE create a mechanical animation you can play forward or reverse
  • CRYSTAL BALL a mystical tour to answer all your tough questions
  • KNOCK LOCK tap out the secret code to open the door
  • TOUCHY-FEEL LAMP a lamp that responds to your touch
  • TWEAK THE ARDUINO LOGO control your personal computer from your Arduino
  • HACKING BUTTONS create a master control for all your devices!

En esta lista de youtube hay varios video tutoriales de los proyecto propuestos por el Arduino Starter Kit: https://www.youtube.com/playlist?list=PLT6rF_I5kknPf2qlVFlvH47qHvqvzkknd

Video tutoriales con ejemplos de uso del Arduino Starter Kit: https://www.youtube.com/playlist?list=PLT6rF_I5kknPf2qlVFlvH47qHvqvzkknd

Arduino Leonardo

También disponemos de 10 unidades de Arduino Leonardo incluidos en el Kit XBee: http://www.digikey.es/product-detail/en/digi-international/XKB2-AT-WWG/602-1550-ND/5271212

Arduino Leonardo es otro de los Arduinos más usados y tiene como principal característica que el propio microcontrolador ya integra el interfaz USB.

Se usa un microcontrolador ATmega32u4 en lugar del ATmega328p del Arduino Uno.

Diferencias en entre Arduino UNO y Arduino Leonardo: http://www.tresdprinttech.com/cual-es-la-diferencia-entre-arduino-uno-y-arduino-leonardo/

Kit XBee

10x Kit XBee( http://www.digikey.es/product-detail/en/digi-international/XKB2-AT-WWG/602-1550-ND/5271212) para desarrollo de aplicaciones con XBee.

Datasheet: https://media.digikey.com/pdf/Data%20Sheets/Digi%20International%20PDFs/XBee_Arduino_Compatible_Coding_Platform.pdf.

Compuesto por:

  • Arduino Leonardo-compatible
  • XBee shield XBee 802.15.4 modules
  • XBee breadboard adapters
  • XBee USB adapter
  • One 2-axis joysticks
  • Six pushbuttons
  • Solderless breadboards
  • Breadboard power supplies
  • 18 LEDs
  • 10kΩ potentiometers
  • Package of 330Ω resistors
  • 9 V batteries and battery clips
  • Micro USB cable
  • Mini USB cable
  • Bundle – jumper wires

Kit Raspberry Pi

20x Kits Raspberry Pi compuestos por:

Kit Wemos D1 Mini

Kit Wemos D1 mini

Kit Comunicaciones

Módulos de comunicación:

Otros Elementos Disponibles

Disponemos de otros módulos para prácticas:

Anuncios

Presentación del Curso

Objetivos

El objetivo de este curso es que el alumno obtenga un conocimiento completo de la plataforma Arduino y sea capaz de realizar proyectos de cualquier tipo con cualquiera de las diferentes placas Arduino o compatibles.

En este curso el alumno también aprenderá los conceptos del hardware libre, microcontroladores, el mundo maker y DIY.

Al finalizar el curso el alumno será capaz de:

  • Manejar la plataforma Arduino
  • Saber cuándo Arduino es una buena solución a un proyecto o idea.
  • Conocer el lenguaje de programación
  • Programar y ejecutar programas en la plataforma Arduino y compatibles
  • Usar eficazmente el entorno de programación
  • Conocer el potencial de Arduino para usar en casi cualquier tipo de aplicación
  • Aprender a manejar componentes de hardware para recibir señales externas mediante sensores
  • Controlar elementos que nos rodean para interactuar con el mundo físico mediante los actuadores
  • Y mucho más…

Requisitos

Este curso parte desde cero, por lo que no son necesarios unos conocimientos previos, pero sí son recomendables conocimientos básicos de programación (especialmente C++), electricidad y electrónica.

Es recomendable un conocimiento medio de Inglés puesto que gran parte de la documentación está en Inglés.

Metodología

El curso se compone de una combinación de teoría y práctica que establecen las bases necesarias para entender la plataforma Hardware y Software de Arduino, con una duración de 30 horas. También se realizará un proyecto más complejo al final del curso donde se pondrán en práctica los conocimientos y habilidades adquiridas.

Los recursos utilizados para la realización de este curso son:

Además están disponibles otros recursos para ampliar información:

Para interactuar en el curso se puede hacer mediante:

  • Twitter con el hashtag #aprendiendoarduino
  • En el blog poniendo comentarios en los post con la documentación del curso
  • Correo a aprendiendoarduino@gmail.com
  • Preguntando en clase

Para realizar las prácticas de este curso se dispone de un kit de prácticas completo cuya descripción puede verse en https://aprendiendoarduino.wordpress.com/2019/06/15/kit-de-practicas-4/. Entre otras cosas contiene un Arduino Uno, una serie de sensores y actuadores y diversos elementos electrónicos necesarios para realizar las prácticas y proyectos.

Todo el material entregado es en préstamo y debe cuidarse al máximo, a la hora del montaje de las prácticas se seguirán las instrucciones para evitar dañar los componentes.

La documentación está disponible on line con el objetivo de mantenerla actualizada y no como un documento físico que se queda obsoleto al día siguiente. Además la documentación irá creciendo durante el curso y después de finalizar el curso seguirá estando disponible para todos.

El repositorio de código del curso y mucho más código está disponible en github en http://github.com/jecrespo y está aumentando continuamente con nuevos ejemplos y prácticas.

Toda la documentación y código es liberado con licencia Creative Commons.

Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.

Aprendiendo Arduino by Enrique Crespo is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.

Organización del curso

Duración total de 30 horas. El curso se realiza del 17 al 28 de junio de 2019 de Lunes a Viernes en horario de 17.30 a 20.30. Se hará un descanso de 10 minutos aproximadamente a mitad de la sesión.

Los principales puntos del curso son:

  • Primeros Pasos con Arduino
  • Programación Arduino
  • Hardware Arduino
  • Manejo Arduino
  • Comunicaciones Arduino

Detalle del temario: https://www.aprendiendoarduino.com/cursos/iniciacion-arduino-2019/

Cada día de curso de compone de 3 partes diferenciadas:

  • Saber más: Al principio de la clase se verán durante 10-15 minutos temas relacionados con Arduino propuestos por los alumnos o que hayan surgido anteriormente.
  • Teoría: Contenidos más teóricos
  • Práctica: Ejercicios prácticos

Los contenidos teóricos y prácticos se irán combinando cada día.

Como Empezar con Arduino

Para empezar con Arduino debes preguntarte qué sabes de electrónica y qué sabes de programación. Si no sabes de electrónica, es difícil entender cómo funcionan los elementos con los que va a interactuar la placa Arduino y si no sabes de programación no va a ser posible traducir las órdenes que deseas hacer a la electrónica para que las ejecute Arduino.

La gran ventaja de Arduino es que no es necesario ser un experto en cada una de esas áreas, nos ofrece una capa de programación muy sencilla y el HW es muy sencillo de manejar sin saber mucho de electrónica.

Para empezar con Arduino hay que aprender electrónica y a programar y eso es lo que vamos a aprender en este curso entre otras cosas.

Artículos de como empezar con Arduino:

Un buen tutorial para los que están empezando lo puedes ver en https://openwebinars.net/tutorial-de-arduino/

Aclaraciones sobre el curso

Arduino es una plataforma ampliamente usada por aficionados (makers) y para prototipado y puede verse como un “juguete”, pero en este curso vamos a aprender a programarlo y usarlo para implantarlo en cualquier aplicación que necesitemos tanto para un uso profesional como personal/aficionado. La principal ventaja de usar una plataforma de este tipo es el rápido despliegue de una nueva aplicación y la facilidad de programación.

Arduino se trata principalmente como una herramienta para prototipado y usada en el mundo del hobby, pero aquí vamos a ir más allá y lo trataremos como una herramienta profesional que puede abarcar multitud de sectores.

A lo largo del curso se van a ver muchos conceptos de diferentes tecnologías que a priori no tienen nada que ver entre ellos: electronica digital y analogica, electricidad, programación, microcontroladores, tratamiento de señales, bases de datos, protocolos de comunicación, arquitectura de procesadores, mecánica, motores, diseño de placas electrónicas etc…

En unos casos se profundizará más y en otros menos, pero sin ponerse demasiado académico, de hecho la filosofía con la que nació  arduino es facilitar las cosas, lo que ocurre es que cuando las necesidades crecen, la programación de un microcontrolador se hace más compleja y hay que profundizar en la teoría.

Hay conceptos muy importantes a aprender y avisaré de ello y luego otros conceptos que daré las nociones y las herramientas para que quien lo necesite amplíe su conocimiento.

Este curso es totalmente dinámico y cualquier inquietud o necesidad que se tenga de un aspecto en concreto de Arduino se puede incluir en el curso.

El objetivo principal de este curso no es aprender la programación de Arduino, sino ver gran parte de lo que es Arduino y lo que se puede hacer para luego poder profundizar cada uno por su cuenta o en otros cursos.

Existe mucha documentación sobre Arduino en Internet, pero eso es un problema y a veces está desordenado o es demasiado básico, así que una parte de mi trabajo es recopilar la información más interesante, ordenarla y estructurarla.

Acerca de Enrique Crespo

El autor del curso es Enrique Crespo. Llevo trabajando con Arduino desde el año 2011 y en el año 2014 empecé mi andadura como profesor de Arduino y otros temas relacionados. Desde entonces he impartido muchos cursos presenciales de Arduino, talleres y conferencias en diversos lugares. También colaboro en el makerspace de la Universidad de la Rioja UR-maker.

Todos los cursos, talleres y conferencias que he impartido puedes verlos en https://www.aprendiendoarduino.com/, donde publico toda la documentación y código.

Twitter @jecrespo: https://twitter.com/jecrespom

Linkedin: https://www.linkedin.com/in/enriquecrespo/

Contacto

Para cualquier consulta durante el curso y en cualquier otro momento mediante email: aprendiendoarduino@gmail.com

Twitter @jecrespo: https://twitter.com/jecrespom

Y más información sobre el curso y el autor: http://www.aprendiendoarduino.com/acerca-de/

Presentaciones

Arduino tiene muchos ámbitos de aplicación, desde el sector agrícola, fabricación, eficiencia energética, robótica, monitorización, automatización, educación, etc… Para que entorno tienes pensado usar Arduino?

  • Como conoces Arduino?
  • Qué sabes de electrónica/electricidad?
  • Qué sabes de programación?
  • Qué te gustaría aprender sobre Arduino en este curso?
  • Qué quieres hacer con Arduino? Proyectos?

Construcción y Programación de Robot Minisumo

Este tutorial de construcción y programación de un robot minisumo para competiciones de minisumo está motivado por el Taller de construcción de Robot Minisumo celebrado el 15 de marzo del 2019 en el CEIP Obispo Blanco dentro del Arduino Day 2019 de Logroño https://www.aprendiendoarduino.com/talleres-arduino/arduino-day-logrono-2019/ y el posterior taller de perfecionamiento celebrado el 9 de mayo en el Área UR-Maker de la Universidad de La Rioja

Con el objetivo de acercar la robótica y la programación a los niños, proponemos un taller donde fabricar y programar un robot de sumo autónomo. El hardware y el software para fabricarlo y programarlo es libre y abierto. Los robots de sumo competirán por pares en un dohyo (tablero circular). El robot ganador será el que logre sacar a su contrincante fuera del dohyo.

También aprovechamos este taller para preparar los robots de minisumo para la competición en el 1er encuentro maker en tierra de Estella: https://encuentromaker.dictelweb.org/

Repositorio github de este tutorial: https://github.com/jecrespo/Robot-MiniSumo

Robots Minisumo

Este robot minisumo ha sido diseñado desde cero nos hemos basado en este robot: https://www.instructables.com/id/SimpleSumo-Educational-Fighting-Robots/

Se ha simplificado al no tener brazos ni botones de sensores de pulsación. El diseño 3D se ha rehecho desde el principio. Se trata de un fork del SimpleSumo robot kit https://www.instructables.com/id/SimpleSumo-Educational-Fighting-Robots/

Existen muchos tutoriales de robots minisumo como:

Reglas Competiciones Minisumo

Para un conjunto de reglas serias ver: Unified Sumo Robot Rules

Para un conjunto de reglas divertidas de leer ver: fully illustrated guide to robot sumo rules

Más enlaces con reglas de competiciones de robots sumo en español:

Lista de Materiales

Los materiales deben ser iguales o similares en dimensiones para encajar en el diseño del chasis:

Coste Aproximado Materiales Robot Minisumo: 20€

Construcción Robot

El chasis impreso en 3D consiste en dos piezas, en la pieza inferior se coloca el portapilas y los tres sensores IR TCRT5000 sujetos con tornillos. Luego se colocan los dos servos con las ruedas y el sensor de distancia ultrasónico HC-SR04 en los huecos a tal efecto.

Sobre la pieza superior se coloca la placa de expansión de Arduino nano y el Arduino ya instalado.

Una vez todo colocado, se conectarán los cables usando los jumpers dupont.

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

Arduino nano data sheet:

Otro modelo de placa:

Conexionado de Placa y Dispositivos

Conexiones:

Dispositivo Pin Arduino
Sensor Suelo IR Izquierdo 2
Sensor Suelo IR Derecho 3
Sensor Suelo IR Trasero 4
Sensor Ultrasónico Distancia 5 (Trigger), 6 (Echo)
Servo Rueda Derecha 9
Servo Rueda Izquierda 10
Buzzer 12

Esquema Fritzing:

Imagen en Github: https://github.com/jecrespo/Robot-MiniSumo/blob/master/Robot%20Minisumo%20Sketch_bb.jpg

Esquema en Github: https://github.com/jecrespo/Robot-MiniSumo

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

Programación por Bloques

Para programar el robot minisumo usaremos mBlock: http://www.mblock.cc/mblock-software/

Existen varias opciones:

Para la programación se ha usado la versión 3.4.12 de mBlock y no ha sido necesario instalar ninguna extensión.

Para programar es necesario usar el modo Arduino, que se selecciona desde edit – Arduino Mode. Si se usa un Arduino Nano, en boards poner Arduino UNO, si se selecciona Nano (mega328) no funciona.

En caso que no cargue, comprobar si el Arduino Nano tiene el bootloader viejo, en ese caso habrá que actualizar el bootloader o sino usar el IDE de Arduino y usar el bootloader antiguo como se explica en el siguiente punto.

Los códigos en mBlock usados se pueden encontrar en: https://github.com/jecrespo/Robot-MiniSumo/tree/master/Firmware%20mBlock

La primera parte de la programación es hacer las funciones básicas y ponerlas todas en un código de test que compruebe que funcionen los motores y todos los sensores y buzzer.

Funciones básicas a programar:

  • Marcha adelante
  • Marcha Atrás
  • Gira derecha
  • Gira Izquierda
  • Para
  • Pita (se pueden hacer diferentes tonos para identificar qué hace, por ejemplo inicio, detecta linea, detecta oponente, etc…)
  • Detecta distancia
  • Detecta linea (diferencia entre derecha, izquierda y trasero)

Los bloques de funciones básicas quedan así:

En mi caso en lugar de poner 0 y 180 para máxima velocidad de los servos (giro izda. y dcha.) he puesto 15 y 165 que funciona mejor.

El código de prueba es:

Este código comprueba el correcto funcionamiento de los motores y los movimientos, así como el buzzer y los sensores IR de suelo y el sensor de distancia ultrasónico.

Fotos

Frontal:

Lateral

Trasera

Bajo

Presentación Taller Wifi Arduino

Dentro del Arduino Day 2019 La Rioja https://www.aprendiendoarduino.com/talleres-arduino/arduino-day-logrono-2019/ celebrado en Logroño celebrado el 16 de marzo de 2019 se realiza el taller “Wifi Arduino”, donde vemos cómo conectar por wifi nuestros Arduinos o dispositivos compatibles.

El objetivo de este taller el conocer las posibilidades de Arduino con Wifi y conectarlo a Internet para comunicar entre dispositivos o con plataformas locales o en la nube. También es muy útil para domotizar la casa.

Veremos las diferentes opciones de conectar Arduino a Wifi o crear una red Wifi así como el uso de las librerías Wifi. Nos centraremos en el uso de los dispositivos basados en el chip ESP8266 de https://www.espressif.com/.

Además este taller sirve como introducción a otros talleres que se realizarán el 30 de marzo dentro del “Arduino Day Extension 2019 La Rioja”:

  • Taller “Ok Google… enciende la luz! Creando electrónica para el Asistente de Google” – @kikeelectronico
  • Taller “Ok Google… enciende la luz! Creando electrónica para el Asistente de Google” – @kikeelectronico

Material Utilizado

El material para el taller es:

Además como servidor local usaremos:

Acerca de Enrique Crespo

El autor del taller es Enrique Crespo. Llevo trabajando con Arduino desde el año 2011 y en el año 2014 empecé mi andadura como profesor de Arduino y otros temas relacionados. Desde entonces he impartido muchos cursos presenciales de Arduino, talleres y conferencias en diversos lugares.

Todos los cursos, talleres y conferencias que he impartido puedes verlos en https://www.aprendiendoarduino.com/, donde publico toda la documentación y código.

Twitter @jecrespo: https://twitter.com/jecrespom

Linkedin: https://www.linkedin.com/in/enriquecrespo/

Para cualquier consulta durante el curso y en cualquier otro momento mediante email: aprendiendoarduino@gmail.com

LDR con Arduino

Una fotorresistencia o LDR (por sus siglas en inglés “light-dependent resistor”) es un componente electrónico cuya resistencia varía en función de la luz.

Se trata de un sensor que actúa como una resistencia variable en función de la luz que capta. A mayor intensidad de luz, menor resistencia: el sensor ofrece una resistencia de 1M ohm en la oscuridad, alrededor de 10k ohm en exposición de luz ambiente, hasta menos de 1k ohm expuesto a la luz del sol. Aunque estos valores pueden depender del modelo de LDR.

El LDR actúa como una resistencia variable. Para conocer la cantidad de luz que el sensor capta en cierto ambiente, necesitamos medir la tensión de salida del mismo. Para ello utilizaremos un divisor de tensión, colocando el punto de lectura para Vout entre ambas resistencias. De esta forma:

Dónde Vout es el voltaje leído por el PIN analógico del Arduino y será convertido a un valor digital, Vin es el voltaje de entrada (5v), R2 será el valor de la resistencia fija colocada (10k ohm generalmente) y R1 es el valor resistivo del sensor LDR. A medida que el valor del sensor LDR varía, obtendremos una fracción mayor o menor del voltaje de entrada Vin.

El LDR que usamos: Photoresistor [VT90N2 LDR]

El valor de resistencia eléctrica de un LDR es bajo cuando hay luz incidiendo en él (puede descender hasta 50 ohms) y muy alto cuando está a oscuras (varios megaohmios).

Más información http://diwo.bq.com/descubre-el-ldr/

Ejemplos de uso:

Esquema de conexión:

Leer el valor del LDR cada 500ms y mostrarlo por el Serial Plotter. Usar delay para grabar cada 500ms.

Opcionalmente calcular el máximo y mínimo, mostrándolo por pantalla. Usar las funciones:

Esto nos puede servir para calibrar un elemento y conocer su máximo y mínimo para luego en función de esos valores regular otro elemento como la intensidad de un LED.

Solución: https://github.com/jecrespo/aprendiendoarduino-Curso_Programacion_Arduino/tree/master/Ejercicio02-LDR