Archivo de la categoría: Avanzado Arduino 2018

Presentación Arduino Avanzado 2018

Objetivos

El objetivo de este curso es ampliar conocimientos sobre la plataforma Arduino a los alumnos que han realizado anteriormente el curso de Iniciación Arduino de http://www.aprendiendoarduino.com/  o aquellos que ya tienen conocimientos sobre la plataforma y experiencia en la realización de proyectos con Arduino.

Al finalizar el curso el alumno será capaz de realizar proyectos complejos, conocer la programación de Arduino más allá del core de Arduino, interactuar con el mundo exterior a través de órdenes enviadas desde un ordenador o desde un dispositivo móvil y comunicarse a través de Internet. También será capaz de crear sus propias librerías o modificar las existentes para mejorar las funcionalidades.

Requisitos

Para la realización de este curso es necesario haber realizado la primera parte de este curso o tener conocimientos y experiencia en la creación de proyectos con Arduino. También es necesario conocimientos de programación (especialmente C++), redes TCP/IP y protocolos de comunicación, microcontroladores, electrónica, uso de sensores, actuadores, motores, etc…

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 donde se profundiza en el conocimiento de la plataforma Hardware y Software de Arduino y otros hardware compatibles, con una duración total de 25 horas. Al final del curso se realizarán proyectos donde se pondrán en práctica los conocimientos y habilidades adquiridas, aplicando los conceptos aprendidos durante el curso.

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

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

Es posible interactuar en el curso mediante:

Para realizar las prácticas de este curso se usará:

Toda la documentación será on-line con el objetivo de mantenerla actualizada y no con un documento físico que se queda obsoleto rápidamente. Después de finalizar el curso toda la documentación on-line seguirá estando disponible de forma pública.

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.

Toda la documentación está liberada 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 25 horas. El curso se celebra del 9 al 14 de julio de 2018 de Lunes a Viernes en horario de 17.30 a 21.30 y sábado de 9:00 a 14:00. Se hará un descanso de 10-15 minutos aproximadamente a mitad de la sesión antes de empezar con la parte práctica.

Capítulos y temario del curso: https://aprendiendoarduino.com/cursos/arduino-avanzado-2018/

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

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 usarlo para implantarlo en cualquier aplicación que necesitemos tanto para un uso profesional como personal/aficionado. Veremos cómo aplicar su uso en diversos entornos como prototipado, robótica, fabricación, eficiencia energética, domótica, IoT, comunicaciones, DAQ, monitorización, educación, etc… y especialmente en este curso su aplicación a la industria.

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. A lo largo del curso se van a ver muchos conceptos de diferentes tecnologías como electrónica 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… todo ello con Arduino como nexo de unión

Presentaciones

Arduino tiene muchos ámbitos de aplicación, desde el sector agrícola, fabricación, eficiencia energética, robótica, monitorización, educación, etc…

  • Experiencia con Arduino?
  • Conocimientos de electrónica?
  • Conocimientos de programación?
  • Proyectos con Arduino?
  • Qué te gustaría aprender en este curso?

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/

Anuncios

Saber más Arduino Avanzado 2018

Día 1: “Repaso Conceptos Arduino”

Programación Arduino:

Concursos Arduino:

Capítulos Vistos Día 1:

Día 2: “Programación Avanzada Arduino”

Medir valor de un condesador: Prácticas Repaso Arduino

Capítulos Vistos Día 2:

Día 3: “Comunicaciones Arduino I”

Tratamiento Avanzado de Strings: https://aprendiendoarduino.wordpress.com/2018/07/09/tratamiento-avanzado-de-strings-2/

Debug con Arduino: https://aprendiendoarduino.wordpress.com/2017/07/13/debug-con-arduino/

Capítulos Vistos Día 3:

Día 4: “Comunicaciones Arduino II”

Finalizar clases y objetos: https://aprendiendoarduino.wordpress.com/2017/07/08/clases-y-objetos/

Capítulos Vistos Día 4:

Día 5: “Hardware Avanzado Arduino”

Bluetooth en Arduino: https://aprendiendoarduino.wordpress.com/2016/11/13/bluetooth-en-arduino/

Solución a los problemas encontrados con los módulos bluetooth HC-05:

  • Con algunos módulos toca hacer investigación de como usarlos si no hay documentación adecuada.
  • En otros módulos, cambiar de modo configuración (AT command) a modo transmisión, es más sencillo, simplemente poniendo un pin a HIGH.
  • En Bluetooth, el dispositivo que inicia la conexión es siempre el master, solo es necesario saber cual es el master y el esclavo en el momento de la conexión, después es posible cambiar el rol.
  • Una vez realizada la conexión, puede tener lugar un cambio de rol. Un buen ejemplo de por qué ocurre esto sería cuando un ratón se conecta al PC. El ratón inicia la conexión, por lo que es el maestro. Una vez establecida la conexión, se produce un cambio de función para que el PC se convierta en el maestro y el ratón en un esclavo. El cambio de rol tiene lugar porque el PC puede estar trabajando con múltiples dispositivos al mismo tiempo, y como tal, el PC no sería esclavo de más de un dispositivo.
  • Bluetooth profiles: https://learn.sparkfun.com/tutorials/bluetooth-basics/bluetooth-profiles
  • Los módulos sin led azul dan problemas al emparejar ¿porqué?

HC-05 module:

  • No es necesario usar el pin de EN para poner en modo de configuración.
  • Command set: http://rhydolabz.com/documents/HC-05%20AT%20Commamd.pdf
  • Review del módulo: http://rhydolabz.com/documents/HC-05_datasheet.pdf
  • Datasheet del módulo: http://cesaretopia.com/wp-content/uploads/2017/03/Modulo-Bt.pdf
  • Por defecto al iniciar parpadea rápido y no esta en modo programación. Podemos conectarnos.
  • Si pulso el botón entro en modo programación y puedo pasar comandos AT durante un tiempo (aprox 1 minuto). Sigue parpadeando rápido y me podría conectar
  • Si inicio el modulo con el botón pulsado entro en modo permanente y parpadea lento. En este modo no puedo conectarme
  • Para salir del módulo de programación pulsar AT+RESET y ya puedo conectarme y parpadea rápido
  • Una vez conectado un dispositivo si pulso en botón no entro en modo programación salvo que desconecte el dispositivo. O si mantengo pulsado el botón puedo mandar comando para programar y al soltar sigo conectado.

Como emparejar:

  • To initialize the SPP profile, use AT+INIT. Getting error message as response indicates that the command was already given.
  • AT+INQ sends inquiry request to the slaves. You will get the address, Device class and signal strength. e.g, +INQ:1014:7:103115,0,7FFF.  The LED D1(blue) blinks fastly in inquiry stage
  • Optionally you can send command to get name by using AT+RNAME?<address>. The full colon in the address must be  replace with commas. eg; AT+RNAME?1014,7,103115.
  • Send AT+LINK to pair with slave. If slave response OK, the connection is established.Led D2(yellow) become on.

Comandos interesantes

  • AT+ORGL: Restore default
  • AT+ADDR: get module address
  • AT+RMAAD: Delete all authenticated previous paired devices
  • AT+CMOD: Set/Check connect mode
  • AT+UART: Set communication baudrate
  • AT+BAUD: ¿?
  • AT+LINK: Connect Device
  • AT+CMODE=1 helps to connect any address

Default settings (ojo que van diferentes los baud rate en modo configuración y modo comunicación):

  • Baud rate in communication mode = 9600 (se cambia con AT+UART:38400,0,0)
  • Baud rate in AT/Command mode = 38400 (AT+BAUD¿?)

Aplicaciones:

Capítulos Vistos Día 5:

Día 6: “Manejo Avanzado Arduino”

Capítulos Vistos Día 6: