Día 1: «Presentación del curso»
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
Capítulos Vistos:
Día 2: «Programación Arduino I»
- Velocidad/ritmo curso.
- Recoger el material al final de la clase y dejar los puestos ordenados. No manipular las tomas de red.
- Web oficial Arduino: www.arduino.cc
- IDE online Arduino: https://create.arduino.cc/
- Instalar Arduino en ubuntu 16.04: https://www.arduino.cc/en/Guide/Linux
- Sensor para detección de número de plazas en parking público
- Sensor ultrasónico de distancia HC-SR04
- Comprar: https://es.aliexpress.com/store/product/Free-shipping-1pcs-Ultrasonic-Module-HC-SR04-Distance-Measuring-Transducer-Sensor-for-Arduino-Samples-Best-prices/716258_690139020.html
- Características: http://www.micropik.com/PDF/HCSR04.pdf
- Como usarlo http://hackarobot.com/how-to-use-ultrasonic-distance-sensor-with-arduino/
- Resistencia necesaria en pin 13. Un LED es un componente en el que el voltaje que cae depende de la intensidad, de la corriente que circula por él, siempre que esta corriente circule en el sentido correcto.
- Datasheet LED rojo: https://www.arduino.cc/documents/datasheets/LED(red).pdf
- Calculadora resistencias para LED: https://www.inventable.eu/paginas/LedResCalculatorSp/LedResCalculatorSp.html
Capítulos Vistos:
- Instalación de las Prácticas
- Primer Proyecto: “Blink”
- Programación Visual con Visualino
- Cómo funciona Arduino
- Estructura sketch Arduino
- Programación Arduino
Día 3: «Programación Arduino II»
- LED_BUILTIN pines: https://www.arduino.cc/en/Tutorial/Blink
- ESP8266: http://espressif.com/en/products/hardware/esp-wroom-02/overview
- Módulo ESP8266: https://www.sparkfun.com/products/13678
- Sensores inalámbricos de bajo consumo
- WeMos D1 mini: https://wiki.wemos.cc/products:d1:d1_mini
- NodeMCU: http://www.nodemcu.com/index_en.html
- Moteino: https://lowpowerlab.com/guide/moteino/
- Serial plotter imprime 500 puntos en la pantalla, por lo tanto cuanto más lento mandemos los datos más lento se imprime:
- Hay una versión de avrdude con GUI que se llama avrdudess:
- Leer el contenido de la flash de Arduino: http://www.evilmadscientist.com/2011/avr-basics-reading-and-writing-flash-contents/
- Ruta de avrdude: C:\Program Files (x86)\Arduino\hardware\tools\avr\bin
- Manual avrdude http://www.ladyada.net/learn/avr/avrdude.html
Capítulos Vistos:
Día 4: «Programación Arduino III»
- ovf en Serial.println(float x): ver línea 229 de https://github.com/arduino/Arduino/blob/master/hardware/arduino/avr/cores/arduino/Print.cpp
- Respuesta en stackoverflow: https://stackoverflow.com/questions/42034906/too-large-const-on-arduino-uno
- Propuesta de mejora: https://github.com/arduino/Arduino/issues/1412
- ESP32
- El sucesor del ESP8266 puede que sea el ESP32 https://espressif.com/en/products/hardware/esp32/overview con wifi + bluetooth y más potencia.
- Datasheet ESP32: https://espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf
- M5Stack: http://www.m5stack.com/#
- Github: https://github.com/m5stack
- Chips USB to UART usados en Arduino:
- CH340G
- https://www.prometec.net/ch340g/
- https://www.luisllamas.es/arduinos-baratos-gracias-al-chip-ch340g/
- https://cdn.sparkfun.com/datasheets/Dev/Arduino/Other/CH340DS1.PDF
- http://www.foxdelta.com/products/ST2-0816/ch340g.pdf
- Driver: http://www.wch.cn/index.php?s=/page-search_content-keyword-ch340g-type-%E5%85%A8%E9%83%A8.html
- Pagina producto: http://www.wch.cn/product/CH340.html
- SiLabs CP2104
- http://community.silabs.com/t5/Interface-Knowledge-Base/Legacy-OS-Software-and-Driver-Packages/ta-p/182585
- https://www.silabs.com/documents/public/data-sheets/cp2104.pdf
- drivers: https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
- https://www.silabs.com/products/interface/usb-bridges/classic-usb-bridges/device.cp2104
- CH340G
- Tiempo loop en Efectos con LEDs
Capítulos Vistos:
Día 5: «Programación Arduino IV»
- Módulo iridium Arduino: https://www.sparkfun.com/products/13745
- librería módulo iridium: http://arduiniana.org/libraries/iridiumsbd/
- Vídeos de prácticas Arduino: https://www.youtube.com/playlist?list=PLT6rF_I5kknPf2qlVFlvH47qHvqvzkknd
- Leer códigos con Arduino y receptor 433MHz: http://www.princetronics.com/how-to-read-433-mhz-codes-w-arduino-433-mhz-receiver/
- Esquemático WeMos D1 mini: https://wiki.wemos.cc/_media/products:d1:mini_new_v2_2_0.pdf
Capítulos Vistos:
Día 6: «Librerías Arduino»
- Actualizar firmware Atmega16U2 de Arduino: https://www.arduino.cc/en/Hacking/DFUProgramming8U2
- Pololu AVR ISP programmer: https://www.pololu.com/product/1300
Error Arduino Juan:
>bin\avrdude -F -D -p at90usb162 -C etc\avrdude.conf -P COM28 - c avrispv2 -U flash:w:Arduino-usbserial-atmega16u2-Uno-Rev3.hex -U lfuse:w:0xFF: m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m avrdude: stk500v2_command(): command failed avrdude: initialization failed, rc=-1 avrdude: AVR device initialized and ready to accept instructions avrdude: Device signature = 0x666c61 avrdude: Expected signature for AT90USB162 is 1E 94 82 avrdude done. Thank you.
- Simuladores Arduino: https://aprendiendoarduino.wordpress.com/2017/06/18/simuladores-arduino-2/
- Otro simulador Arduino: https://www.sites.google.com/site/unoardusim/services
Capítulos Vistos:
Día 7: «Entradas y Salidas Arduino»
- Autocompletado en Beta IDE Arduino. Ya se puede ver!!!
- Memoria Flash, SRAM y EEPROM: https://aprendiendoarduino.wordpress.com/2017/06/21/memoria-flash-sram-y-eeprom-3/
- Meneador de raton: https://blog.arduino.cc/2017/10/10/an-arduino-mouse-wiggler/
- Librería Timezone: https://github.com/JChristensen/Timezone
- RTC DS1307
- Librería: https://www.pjrc.com/teensy/td_libs_DS1307RTC.html y github https://github.com/PaulStoffregen/DS1307RTC (disponible en gestor de librerías como DS1307RTC)
- Otra librería es la de adafruit: https://github.com/adafruit/RTClib/
- Tutorial: https://www.luisllamas.es/reloj-y-calendario-en-arduino-con-los-rtc-ds1307-y-ds3231/
- Ver problema de usar #include <Time.h> en https://github.com/PaulStoffregen/Time/blob/master/TimeLib.h con https://github.com/PaulStoffregen/DS1307RTC
- NTP
- Librería simple NTP: https://github.com/jecrespo/simpleNTP
- Ejemplo con ESP8266: https://github.com/PaulStoffregen/Time/tree/master/examples/TimeNTP_ESP8266WiFi
- Terminal para windows: https://sites.google.com/site/terminalbpp/
- Terminal para MAC: screen /dev/xx.usbserial-XXXXXXXX 115200 –L
- Limpiar terminal Arduino: https://stackoverflow.com/questions/10105666/clearing-the-terminal-screen
- Terminal basics: https://learn.sparkfun.com/tutorials/terminal-basics/all
- Uso de librerías locales: Podemos hacer que una librería se compile una copia local y no la del directorio libraries copiandola en el directorio del fichero .ino y poniendo la llamada como #include «Timer.h» en lugar de #include <Timer.h>. ESTO NO FUNCIONA CON LAS LIBRERÍAS POR DEFECTO DE ARDUNO LOCALIZADAS EN C:\Program Files (x86)\Arduino\libraries. Ver ejemplo: https://github.com/jecrespo/Aprendiendo-Arduino/tree/master/Otros/timerlocalblink
Capítulos Vistos:
Día 8: «Comunicaciones Arduino»
- Error en llamada a librería time en ejemplo https://github.com/PaulStoffregen/DS1307RTC/blob/master/examples/ReadTest/ReadTest.ino
- Interrupciones Arduino: https://aprendiendoarduino.wordpress.com/2016/11/13/interrupciones/
- Interrupciones SW: Las interrupciones por software son aquellas generadas por un programa en ejecución. Para generarlas, existen distintas instrucciones en el código máquina que permiten al programador producir una interrupción.
- Comunicaciones para Arduino
- Serial/UART https://aprendiendoarduino.wordpress.com/2017/06/21/comunicacion-serie-arduino-3/
- I2C https://aprendiendoarduino.wordpress.com/2017/07/09/i2c/
- SPI https://aprendiendoarduino.wordpress.com/2016/11/13/bus-spi/
- one wire https://www.pjrc.com/teensy/td_libs_OneWire.html
- RS232 https://www.arduino.cc/en/Tutorial/ArduinoSoftwareRS232 y shield https://www.sparkfun.com/products/13029
- RS485 https://www.luisllamas.es/arduino-rs485-max485/ y shield https://www.sparkfun.com/products/12965
- CAN BUS https://www.sparkfun.com/products/13262 y cable https://robosavvy.com/store/obd-ii-to-db9-cable.html
- NFC http://wiki.seeed.cc/NFC_Shield_V2.0/
- ANT+ https://www.nordicsemi.com/News/News-releases/Product-Related-News/Single-board-Arduino-Uno-shield-compatible-dev-kit-from-Nordic-Semiconductor-supports-Bluetooth-Smart-ANT-and-2.4GHz-designs
- RF (433MHz, etc…) https://www.luisllamas.es/comunicacion-inalambrica-en-arduino-con-modulos-rf-433mhz/
- Bluetooth https://aprendiendoarduino.wordpress.com/2016/11/13/bluetooth-en-arduino/
- IR http://www.electrodragon.com/product/arduino-ir-infrared-shield/
- Power Line (modulo linksys SPI): https://www.amazon.es/Linksys-PLEK500-EU-Adaptadores-Powerline-instalaci%C3%B3n/dp/B00DSIF00Q
- Ethernet https://aprendiendoarduino.wordpress.com/2017/09/10/hardware-ethernet-en-arduino/
- WiFi (b/g/n/ac/…) https://aprendiendoarduino.wordpress.com/2017/09/12/wifi-en-arduino-2/
- GSM (GPRS/HSPA/LTE/NB-IoT/LTE-IoT…) https://store.arduino.cc/mkr-gsm-1400
- XBee/ZigBee https://aprendiendoarduino.wordpress.com/2016/11/16/zigbeexbee/
- nRF24 https://www.luisllamas.es/comunicacion-inalambrica-a-2-4ghz-con-arduino-y-nrf24l01/
- LoRa https://store.arduino.cc/mkr-wan-1300
- SigFox https://www.arduino.cc/en/Main.ArduinoBoardMKRFox1200
- HC12 Long Range
- Satelite http://www.robot-domestici.it/joomla/component/virtuemart/Arduino/arduino-shield/communication-shield/iridium-shield/antrax
- y más que siguen apareciendo…
- Comunicación Arduino Raspberry: serial, I2C, ethernet, wifi, bluetooth, etc…
- Comunicación Arduino – Móvil: bluetooth o TCP/IP http://www.blynk.cc/
- Arduino + servidor (público o raspberry): https://aprendiendoarduino.wordpress.com/2016/07/08/proyecto-grabar-datos-de-temperatura-datalogger/ y https://github.com/jecrespo/aprendiendoarduino-servicios
Capítulos Vistos:
Día 9: «Hardware Arduino»
- Blynk: http://www.blynk.cc/
- Lectura tarjetas RFID: https://www.luisllamas.es/arduino-rfid-mifare-rc522/
- Librería tarjeta RFDI: https://github.com/miguelbalboa/rfid
unsigned char data[16] = { 'T','E','S','T',' ','R','F','I','D',' ','M','F','R', '5','5','2'}; printArray((byte*)data, 16); Serial.println(); void printArray(byte *buffer, byte bufferSize) { for (byte i = 0; i < bufferSize; i++) { Serial.print(buffer[i] < 0x10 ? " 0" : " "); Serial.print("0x"); Serial.print(buffer[i], HEX); } } byte data_hex[10] = {0x48,0x6f,0x6c,0x61,0x20,0x4a,0x65,0x73,0x75,0x73}; printString((char*)data_hex, 10); Serial.println(); void printString(char *buffer, byte bufferSize) { for (byte i = 0; i < bufferSize; i++) { Serial.print(buffer[i]); } }
- Concepto de firmware: sardauscan scanner 3D por menos de 30€
- http://www.instructables.com/id/Sardauscan-sub-30-Opensource-3d-laser-scanner/
- Descargar el firmware de Github: https://github.com/Sardau/Sardauscan
- En la carpeta firmware ejecutar en arduino el fichero FirmWare.ino y mandarlo al Arduino UNO
- Abrir el monitor serie y mandar comandos.
- Leer el código y ver cuanto se entiendo.
- OpenROV: https://www.openrov.com/
- Características: https://www.openrov.com/products/openrov28/
- DIY OpenROV: https://store.openrov.com/collections/components
- Comunidad: https://www.openrov.com/community/
- Qué es Arduino: Qué es Arduino
- Arduino screw shield:
- https://www.epictinker.com/Screw-Shield-p/acc08101p.htm
- http://www.robotshop.com/ca/en/arduino-compatible-screw-shield-v3.html
- Nano Expansion Board: https://es.aliexpress.com/store/product/2Pcs-ATMEGA328P-AU-Nano-V3-0-AVR-Module-Nano-Terminal-Adapter-Board-For-Arduino/2130127_32662496263.html
- Grove Shield: https://www.seeedstudio.com/Base-Shield-V2-p-1378.html
Capítulos Vistos:
Día 10: «Motores Arduino»
- Al final de la clase recoger todo
- ¿Algún proyecto para después del curso?
- ACS714: https://www.pololu.com/product/1187
- Datasheet: https://www.pololu.com/file/0J196/ACS714.pdf
- Efecto Joule: https://es.wikipedia.org/wiki/Efecto_Joule
- Pinza amperimétrica: http://www.dx.com/p/30a-1v-split-core-current-transformer-ac-current-sensor-for-arduino-446423#.WfBsVP9l_cs
- Emon TX shield: https://wiki.openenergymonitor.org/index.php/EmonTx_Arduino_Shield
- Open Energy Monitor: https://openenergymonitor.org/
- Domoticz: https://www.domoticz.com/
- Homie: http://marvinroger.github.io/homie-esp8266/stable/
- Arduino vs Raspberry Pi: Arduino vs Raspberry Pi
- Placas Arduino: Placas Arduino
- Shields Arduino: Shields Arduino
- Comunidad Arduino: https://aprendiendoarduino.wordpress.com/2016/12/14/comunidad-arduino-3/
- Makerspaces y Fablabs: https://aprendiendoarduino.wordpress.com/2016/12/14/makerspaces-y-fablabs/
- Y Aquí no Acaba el Cuso
Capítulos vistos:
- Sensores Arduino
- Ejemplo Sensor de Temperatura
- Motores Arduino
- Uso de Motores con Arduino
- Protocolo TCP/IP
- Hardware Ethernet en Arduino
- Protocolo HTTP
- Ejemplos Ethernet Arduino
Capítulos no vistos en el curso:
Hola buen día, me preguntaba si podría seguir el curso por mail o por facebook. Y sería igual que presencial. Gracias por la/s respuesta.
Me gustaLe gusta a 1 persona
Hola Ricardo, sí lo puedes seguir en twitter con #aprendiendoarduino, también tienes toda la documentación en https://www.aprendiendoarduino.com/cursos/iniciacion-arduino-2017/ y el código de las prácticas en https://github.com/jecrespo/aprendiendoarduino-Curso_Arduino_2017
Toda la documentación del curso es publica. Así que puedes ver todo lo que se explica día a día en esta página: https://aprendiendoarduino.wordpress.com/2017/10/11/saber-mas-iniciacion-arduino-2017/
Me gustaLe gusta a 2 personas
Muy agradecido por la respuesta.
Me gustaLe gusta a 1 persona