Día 1: «Presentación del curso»
Programación Arduino:
- Reference Core Arduino: https://www.arduino.cc/en/Reference/HomePage
- CheatSheet Arduino: https://github.com/liffiton/Arduino-Cheat-Sheet/blob/master/Arduino%20Cheat%20Sheet.pdf
- “Arduino Programming Notebook”: http://playground.arduino.cc/uploads/Main/arduino_notebook_v1-1.pdf
- “Arduino Programming Notebook” traducido: http://www.ardumania.es/wp-content/uploads/2011/10/Arduino_programing_notebook_ES.pdf
Arduino y la Industria 4.0:
- Plan de Desarrollo Industrial http://www.ader.es/fileadmin/redactor/utilidades/estudios-e-informes/Plan_de_Desarrollo_Industrial_de_La_Rioja_2017-2020.pdf
- http://nuevecuatrouno.com/2017/06/20/plan-desarrollo-industrial-2017-2020-la-rioja-contara-140-millones-euros/
- Industria 4.0, IoT, BigData, ciberseguridad, Impresión 3D, Robots Inteligentes y Autónomos.
- La geolocalización, análisis predictivo, funcionalidad telemática o el procesamiento de eventos complejos.
- http://www.larioja.org/innovacion/es
- V Plan Riojano de I+D+I 2017-2020: http://www.larioja.org/innovacion/es/planes-estrategicos/v-plan-riojano-i-d-i-2017-2020
- HADA: Herramienta de autodiagnóstico digital avanzada: http://www.larioja.org/innovacion/es/industria-4-0/hada-herramienta-autodiagnostico-digital-avanzada
- Bases reguladoras de la concesión de ayudas dirigidas a impulsar la transformación digital: http://www.larioja.org/innovacion/es/noticias/noticia-innovacion/publicada-orden-bases-reguladoras-concesion-ayudas-dirigida
Opinión en Diario La Rioja 03/09/207:
Capítulos Vistos:
- Presentación Curso Avanzado 2017
- Qué es Arduino
- Novedades Arduino
- Instalación Software Arduino
- IDE Arduino y Configuración
- Prácticas Repaso (Solo test)
Día 2: «Arduino en la Industria»
- Industrial Shields: https://www.industrialshields.com/
- M-Duino 21: https://www.industrialshields.com/es/shop/m-duino-plc-arduino-21-i-os-analog-digital/
- Controllino: https://controllino.biz/
- Industruino: https://industruino.com/
- Winkhel: http://www.winkhel.com/
- Simatic IoT 2020: https://store.arduino.cc/siemens-simatic-iot2020
- OpenPLC Project: http://www.openplcproject.com/
- Adaptadores de Phoenix Contact: https://www.phoenixcontact.com/online/portal/es?uri=pxc-oc-itemdetail:pid=2315078&library=eses&tab=1
Resultados del Test:
Capítulos Vistos:
- https://aprendiendoarduino.wordpress.com/2017/08/11/kit-de-practicas-2/
- https://aprendiendoarduino.wordpress.com/2017/08/11/instalacion-de-las-practicas-2/
- https://aprendiendoarduino.wordpress.com/2017/08/11/manejo-arduino-basico/
- https://aprendiendoarduino.wordpress.com/2017/09/03/practicas-repaso/
Día 3: «Arduino en la Educación»
- Scratch: https://scratch.mit.edu/
- Blockly: https://developers.google.com/blockly/ es la propuesta de google frente a scratch
- Arduino CTC Program: https://www.arduino.cc/en/Main/Education?from=Main.CTCprogram
- Arduino Education: https://www.arduino.cc/en/Main/Education
- Arduino CTC101: https://programminginschool.com/creative-technologies-in-the-classroom/
- STEM: https://es.wikipedia.org/wiki/STEM
- Proyecto verkstad: http://www.verkstad.cc/
- Verkstad en Castilla: http://ctc-dev.verkstad.cc/question/
- Plataformas para aprender Arduino y Scratch: http://www.ticbeat.com/educacion/plataformas-para-que-los-ninos-aprendan-a-programar-en-arduino-y-scratch/
- Shield Educacional: http://nanoplayboard.org/
- Raspberry Pi en Educación: https://www.raspberrypi.org/education/
- El cable amarillo: https://github.com/ElCableAmarillo
- Fablab at school: https://innovacioneducativa.fundaciontelefonica.com/blog/2014/11/13/fablab-school-de-la-idea-al-producto/
Medir capacidad de un condensador:
- TC = R * C
- TC = time constant in seconds
- R = resistance in ohms
- C = capacitance in farads (1 microfarad [ufd] = .0000001 farad = 10^-6 farads )
- The voltage at 1 Time Constant equals 63.2% of the charging voltage.
Capítulos Vistos:
- https://aprendiendoarduino.wordpress.com/2017/08/11/microcontrolador-vs-microprocesador-3/
- https://aprendiendoarduino.wordpress.com/2017/08/11/hw-arduino-a-fondo-2/
- https://aprendiendoarduino.wordpress.com/2017/09/03/librerias-arduino-4/
Día 4: «IoT y Eficiencia Energética»
IoT Fridge Saver:
- https://devpost.com/software/freeze-optimizer
- https://programarfacil.github.io/index.html
- https://www.youtube.com/watch?v=ksqzcmeFBKY
- http://blog.bricogeek.com/noticias/arduino/iot-fridge-saver-como-controlar-el-consumo-de-tu-frigorifico-y-ahorrar-energia/
- https://create.arduino.cc/projecthub/thethingsio/monitor-fridge-with-arduino-mkr1000-and-thethings-io-b40819
- La web del proyecto: http://www.iotfridgesaver.com/
Sonda temperatura DS18B20
- Datasheet: https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf
- Muy buena explicación: https://www.luisllamas.es/temperatura-liquidos-arduino-ds18b20/
- Protocolo OneWire: https://en.wikipedia.org/wiki/1-Wire
- OneWire en Arduino: https://playground.arduino.cc/Learning/OneWire
- Librería: https://www.pjrc.com/teensy/td_libs_OneWire.html
OpenCV
- OpenCV http://opencv.org/
Manejo Librerías
- Ejemplo con simpleNTP: https://github.com/jecrespo/simpleNTP
- Probar a poner #include «simpleNTP.h» y #include <simpleNTP.h> poniendo la librería en el directorio local del ejemplo o en el directorio de librerías.
Capítulos vistos:
- https://aprendiendoarduino.wordpress.com/2017/06/21/comunicacion-serie-arduino-3/
- https://aprendiendoarduino.wordpress.com/2017/06/21/uso-del-puerto-serie-en-arduino/
- https://aprendiendoarduino.wordpress.com/2017/07/09/i2c/
Día 5: «Concursos e IMUs»
Concursos:
Arduino MKR FOX 1200 Contest:
- Concurso: https://www.hackster.io/contests/arduino-mkrfox1200
- Ideas: https://create.arduino.cc/projecthub/contests/arduino-mkrfox1200/ideas
- Mi propuesta: https://create.arduino.cc/projecthub/contests/arduino-mkrfox1200/ideas/6721
Bus SPI: https://aprendiendoarduino.wordpress.com/2016/11/13/bus-spi/
Problemas con el compilador en simpleNTP/simpleNTP.h: Pasa con todas las librerías es un problema de las opciones del compilador. Para que funcione se deben cambiar las opciones del compilador. SOLUCIÓN: Poner la librería dentro del fichero no dentro de la carpeta.
Vídeo conexión dos Arduinos darse de alta en https://www.scolartic.com/inicio
Actualizado programa para mover servo con IMU
- https://github.com/jecrespo/aprendiendoarduino-Curso_Arduino_Avanzado_2017/blob/master/Ejercicio17-I2C_Servo/Ejercicio17-I2C_Servo.ino
- https://github.com/jecrespo/Aprendiendo-Arduino/blob/master/Ejercicio66-Servo_IMU/IMU_1servo/IMU_1servo.ino
Datos en Bruto y datos reales IMU 6050
- Explicación: http://playground.arduino.cc/Main/MPU-6050
- Conversión de valores explicado en respuesta 8 de: https://electronics.stackexchange.com/questions/39714/how-to-read-a-gyro-accelerometer
- Datasheet en página 13: https://www.invensense.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf
- raw values: https://github.com/jecrespo/Aprendiendo-Arduino/blob/master/Ejercicio62-MPU6050/raw_values/raw_values.ino
- advanced values: https://github.com/jecrespo/Aprendiendo-Arduino/blob/master/Ejercicio62-MPU6050/advanced_values/advanced_values.ino
- Valores tratados usando la librería I2Cdev: https://github.com/jrowberg/i2cdevlib
- Using more than two MPU-6050 sensors can be achieved by connecting each of the AD0pins to a separate output of the Arduino. If the number of pins is a problem, then a shift register or a port expander can be used.
Librerías para MPU-6050
- FreeIMU: http://www.varesano.net/projects/hardware/FreeIMU
- Código FeerIMU: https://github.com/Fabio-Varesano-Association/freeimu
- Arduino-MPU6050: https://github.com/jarzebski/Arduino-MPU6050
- Ejemplo uso librería Arduino-MPU6050: https://github.com/jarzebski/Arduino-MPU6050/blob/master/MPU6050_accel_simple/MPU6050_accel_simple.ino
- Una librería sencilla: https://github.com/ayushgaud/MPU6050
- Librería I2Cdev: https://www.i2cdevlib.com/devices/mpu6050#source
- Código librería I2Cdev: https://github.com/jrowberg/i2cdevlib
Capítulos Vistos:
- https://aprendiendoarduino.wordpress.com/2017/09/05/repaso-programacion-arduino/
- https://aprendiendoarduino.wordpress.com/2017/09/06/programacion-visual-con-scratch/
- https://aprendiendoarduino.wordpress.com/2017/09/07/programacion-visual-con-s4a/
- https://aprendiendoarduino.wordpress.com/2017/09/08/programacion-visual-con-mblock/
- https://aprendiendoarduino.wordpress.com/2017/09/08/programacion-visual-con-visualino/
Día 6: «Manejar LEDs con Arduino»
Librerías FastLED y Neopixel
- Librería FastLed http://fastled.io/
- Código fastled: https://github.com/FastLED/FastLED
- Documentación fastled: https://github.com/FastLED/FastLED/wiki/Overview
- Uso Básico: https://github.com/FastLED/FastLED/wiki/Basic-usage
- wiki fastled: https://github.com/FastLED/FastLED/wiki/Overview
- Librería Neopixel https://github.com/adafruit/Adafruit_NeoPixel
- Uso librería neopixel: https://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library
- Ejemplo de uso: https://github.com/jecrespo/NeoPixel
Novedades Arduino en su twitter: https://twitter.com/arduino
Placa para módulo ESP8266 ESP-12-E http://www.electrodragon.com/product/esp8266-smd-adapter-board-wi07-12/
MiFare Hacked (a partir del minuto 33): https://www.youtube.com/watch?v=K3QnsDWVbag
Artículo en Diario La Rioja 10/09/207:
Riohub:
I4MS: I4MS es una iniciativa de la Comunidad Europea para el sector de la fabricación y, en concreto, para las PyMEs de alta tecnología, para disfrutar de los más novedosos avances en TIC. La competitividad de Europa en este sector depende de su capacidad para entregar productos altamente innovadores que a menudo integran TIC avanzadas en sus productos.
Capítulos Vistos:
- https://aprendiendoarduino.wordpress.com/2017/06/24/conceptos-basicos-de-comunicaciones-2/
- https://aprendiendoarduino.wordpress.com/2017/09/10/protocolo-tcpip/
- https://aprendiendoarduino.wordpress.com/2017/09/10/hardware-ethernet-en-arduino/
- https://aprendiendoarduino.wordpress.com/2017/09/11/protocolo-http-3/
- https://aprendiendoarduino.wordpress.com/2017/06/26/libreria-ethernet-2/
- https://aprendiendoarduino.wordpress.com/2017/06/26/arduino-web-client-2/
- https://aprendiendoarduino.wordpress.com/2017/06/26/arduino-web-server-2/
Día 7: «Arduino en los Hobbies»
Red para control de trenes de modelismo
- http://www.dccwiki.com/LocoNet
- http://www.digitrax.com/support/loconet/home/
- Librería: https://github.com/mrrwa/LocoNet
- Loconet Interface: http://mrrwa.org/loconet-interface/
Arduino y Slot
- Proyectos: https://hackaday.com/tag/scalextric/
- Control por Arduino: http://www.univers-scalex.info/scalextric-controlled-by-arduino/
Uso sensor temperatura DS18B20: https://programarfacil.com/blog/arduino-blog/ds18b20-sensor-temperatura-arduino/
Open Data
- Definición: https://es.wikipedia.org/wiki/Datos_abiertos
- Qué es opendata: http://opendata.aragon.es/portal/open-data
- Open data La Rioja: http://www.larioja.org/dato-abierto-rioja/es?datos=T
- Open data Logroño: http://www.xn--logroo-0wa.es/wps/portal/web/inicio/especiales/fiware/!ut/p/c4/04_SB8K8xLLM9MSSzPy8xBz9CP0os_hAc9NQf293QwMDFyB29PT2sDAyMzQ28DbTL8h2VAQA_QzA3Q!!/?WCM_GLOBAL_CONTEXT=/web_es/logrono/especiales/fiware
JSON: formato de intercambio de datos
- JSON: http://es.wikipedia.org/wiki/JSON
- Librería Arduino: https://github.com/bblanchon/ArduinoJson
Comunicación
- Formulario en servidor Arduino: https://github.com/jecrespo/aprendiendoarduino-Curso_Arduino_Avanzado_2017/tree/master/Ejercicio22-Formulario_Password_DHCP
- Three Way Handshake y demostración: https://aprendiendoarduino.wordpress.com/2017/09/10/protocolo-tcpip/
- Librería Webduino y uHTTP: https://aprendiendoarduino.wordpress.com/2017/09/11/protocolo-http-3/
- POST y GET: https://aprendiendoarduino.wordpress.com/2017/06/26/arduino-web-client-2/
- NTP y librería time: https://aprendiendoarduino.wordpress.com/2017/06/26/arduino-web-client-2/
- Servidor web con Ajax: https://aprendiendoarduino.wordpress.com/2017/06/26/arduino-web-server-2/
- Manejo de Conexiones HTTP en Arduino: https://aprendiendoarduino.wordpress.com/2017/09/12/manejo-de-conexiones-http-arduino/
Capítulos Vistos:
- https://aprendiendoarduino.wordpress.com/2017/09/11/protocolo-http-3/
- https://aprendiendoarduino.wordpress.com/2017/06/26/arduino-web-client-2/
- https://aprendiendoarduino.wordpress.com/2017/06/26/arduino-web-server-2/
- https://aprendiendoarduino.wordpress.com/2017/09/12/wifi-en-arduino-2/
- https://aprendiendoarduino.wordpress.com/2017/09/12/que-es-esp8266/
Día 8: «Domótica con Arduino»
Proyectos de domótica
- http://domotica-arduino.es/
- http://www.openhab.org/
- http://www.opendomo.es/
- https://domoticz.com/
- https://www.jeedom.com/site/en/index.html
- Y muchos más…
Puntos interesante de domoticz:
Puntos interesantes de EXcontrol:
- Las funciones setup() y loop() están en Common_functions.h
- La función setDateDs1307() guarda la hora en un RTC DS1307 vía I2C
- En setup() llama a las funciones para inicializar los periféricos. Ver directivas de preprocesamiento. Y también define un userSetup()
- En Loop() ejecuta cada segundo una función llamada LoopNewSecond() que es una temporización y luego un SystemLoop() que son funciones más críticas y este llama a UserLoop()
- Función RecepcionPaqueteUDP(), tiene muchos if encadenados para comprobar el paquete recibido con la función strncmp. Usan la variable packetBuffer para almacenar lo recibido por red.
- Función ComproRespuestaHTTP(), funciona igual que el serie
- Los ficheros .ino solo hacen los include de las librerías, declaraciones de variables y algunas funciones generales y definiciones de constantes
- En Excontrol_def.h define las constantes principales
Firmware de Makey Makey: https://github.com/sparkfun/MaKeyMaKey/tree/master/firmware/Arduino/makey_makey
Hay una versión de avrdude con GUI que se llama avrdudess:
- https://blog.adafruit.com/2013/02/19/avrdudess-a-gui-for-avrdude/
- Web: http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/
- Github: https://github.com/zkemble/AVRDUDESS
Otro GUI para avrdude es avr8-burn-o-mat: http://avr8-burn-o-mat.aaabbb.de/avr8_burn_o_mat_avrdude_ui_en.php
Leer el contenido de la flash de Arduino: http://www.evilmadscientist.com/2011/avr-basics-reading-and-writing-flash-contents/
Ver hilo: https://forum.arduino.cc/index.php?topic=403201.0
Ruta de avrdude: C:\Program Files (x86)\Arduino\hardware\tools\avr\bin
Manual avrdude http://www.ladyada.net/learn/avr/avrdude.html
Máximo número de leds que soporta: https://github.com/FastLED/FastLED/issues/288
Capítulos Vistos:
- https://aprendiendoarduino.wordpress.com/2017/09/12/que-es-esp8266/
- https://aprendiendoarduino.wordpress.com/2017/09/12/esp8266-y-arduino/
- https://aprendiendoarduino.wordpress.com/2017/09/13/programacion-esp8266-con-ide-arduino/
Día 9: «Sensores para Medir Problemas Estructurales»
Sensores para medir problemas estructurales en edificios y recogerlos con un Arduino. Luego guardarlos en un repositorio.
Celda de carga: http://circuits4you.com/2016/11/25/hx711-arduino-load-cell/
Proyecto interesante:
- https://www.hackster.io/tharindu-suraj/save-your-life-with-the-building-collapse-monitor-3d5681
- https://create.arduino.cc/projecthub/tharindu-suraj/save-your-life-with-the-building-collapse-monitor-3d5681
IMU para medir ángulos:
- http://www.starlino.com/imu_guide.html
- http://robl-unsy605.blogspot.com.es/2015/10/inertial-measurement-unit-imu-sensor.html
- http://www.nelsonpub.com/cms/dfx/opens/article-view-dfx.php?nid=4&bid=209&et=featurearticle&pn=06
- https://sensing.honeywell.com/press-release-honeywell-inertial-measurement-unit-6d-motion-variant-6df-series-final4.pdf
- Uso de IMU en otras aplicaciones: http://www.industryemea.com/9797-application-note-industrial-applications-for-tamagawa-seiki-tri-axis-inertial-measurement-units.htm
Bend sensor:
- https://celebratelife24x7.wordpress.com/2014/11/17/arduino-project-5robotic-hand/
- https://learn.sparkfun.com/tutorials/flex-sensor-hookup-guide
Sensores capacitivos hecho de forma manual: https://hackaday.io/project/9636-ddr-pad-using-arduino-capacitive-sensors
Sensor de nivel de Agua para Arduino: https://www.alibaba.com/product-detail/Hydrostatic-4-20mA-0-5V-RS485_60664314465.html
Sistema de Medición de Termopares Arduino de Precisión: http://www.iaasr.com/arduino-thermocouple-measuring-system/
Otros módulos ESP8266:
- Wemos https://www.wemos.cc/
- D1 Mini: https://www.wemos.cc/product/d1-mini.html
- D1 Mini Pro: https://www.wemos.cc/product/d1-mini-pro.html
- Shields: https://www.wemos.cc/D1-mini-Shields
- NodeMCU http://www.nodemcu.com/index_en.html
- Firmware: https://github.com/nodemcu/nodemcu-firmware
- Node mcu flasher: https://github.com/nodemcu/nodemcu-flasher
- Sonoff: http://sonoff.itead.cc/en/
Dispositivo basado en ESP8266: http://blog.tindie.com/2017/09/cactus-whid-keyboard-injector/
Capítulos Vistos:
- https://aprendiendoarduino.wordpress.com/2017/09/13/uso-esp8266-con-arduino-puerto-serie/
- https://aprendiendoarduino.wordpress.com/2017/09/03/microcontroladores-arduino-a-fondo/
- https://aprendiendoarduino.wordpress.com/2017/09/03/puertos-digitales-arduino-avanzado/
Día 10: «Seguridad»
Arduino en Shodan.io: https://www.shodan.io/search?query=arduino
Robot educativo en Kickstarter: https://www.kickstarter.com/projects/slantrobotics/critter-a-3d-printed-arduino-biped-kit-unlike-any
Leds y Raspberry Pi:
- https://www.hwlibre.com/construye-una-cabeza-gigante-850-000-leds-29-raspberry-pi/
- https://www.bizjournals.com/columbus/news/2017/08/31/photos-columbus-newest-public-art-piece-is-a-3d.html
Proyecto con Bluetooth: https://www.instructables.com/id/Arduino-Android-Based-Bluetooth-Control-Password-P/
Usando avr-libc podemos hacer nuestro código más eficiente:
Saber más electrónica:
- Buena web para iniciarse en electrónica: http://startingelectronics.org/
- Un libro para comenzar con la eléctrónica: http://mysite.du.edu/~ccolem22/Getting_started_in_electronics.pdf
- Como leer datasheets: http://rufianenlared.com/como-leer-datasheet/
- Grobs Basic Electronics: http://lshoshia.science.tsu.ge/circuits/Mitchel_E._Schultz_Grobs_Basic_Electronics__2010.pdf
- Libros básicos de electrónica que deberías leer: http://hackaday.com/2016/08/19/books-you-should-read-basic-electronics/
- Más libros: http://www.free-engineering-books.com/
Microprocesadores:
- Intel Xeon 3040: https://ark.intel.com/es-es/products/27203/Intel-Xeon-Processor-3040-2M-Cache-1_86-GHz-1066-MHz-FSB
- Intel Xeon E5-2683 v4: https://ark.intel.com/es-es/products/91766/Intel-Xeon-Processor-E5-2683-v4-40M-Cache-2_10-GHz
Al final de la clase recoger todos los elementos en sus cajas.
Capítulos Vistos:
Puntos no vistos:
Pingback: Presentación Curso Avanzado 2017 | Aprendiendo Arduino