Capítulos no Vistos en el Curso
- Memoria en Arduino
- Arrays y Strings
- Ejemplos Arrays
- Manejo Avanzado de Strings
- Debug con Arduino
- Comunicación Serie Arduino
- Uso del Puerto Serie en Arduino
- I2C
Día 1: «Presentación del curso»
- 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
- Crearse una cuenta en github y mandar un correo a aprendiendoarduino@gmail.com con el nombre de la cuenta para añadirlo a la organización: https://github.com/curso-programacion-arduino
Día 2: «git/github»
- S4A Mini Board
- Testeo Hardware: https://www.fictiv.com/hwg/test/hardware-testing-101
- Emisor/receptor infrarrojos
- Recepetor infrarrojos: http://www.prometec.net/infrarrojos/
- Librería: https://github.com/NicoHood/IRLremote
- Comprar: https://www.prometec.net/producto/emisor-receptor-infrarrojo/
- Librería multiprotocolo: https://github.com/z3t0/Arduino-IRremote
- Manejar librería: http://www.seeed.cc/project_detail.html?id=1817
- Sensores infrarrojos siguelíneas: http://www.prometec.net/siguelineas-ir/
Día 3: «Programación Básica I»
- Fix error buzzer: https://github.com/jecrespo/aprendiendoarduino-Curso_Programacion_Arduino/commit/b6f977c6635395bc1ad951b5f344c8feff37738d
- Otros servidores git
- Gitlab: https://about.gitlab.com/
- Hosting gitlab: https://about.gitlab.com/gitlab-com/
- git como servidor: https://git-scm.com/book/es/v1/Git-en-un-servidor-Preparando-el-servidor
- Bitbucket: https://bitbucket.org/
- Un cliente Alternativo a SourceTree: https://www.gitkraken.com/
- Otra alternativa a SourceTree: http://www.syntevo.com/smartgit/
- Git no solo sirve para programación, ejemplo de documentación: https://github.com/jecrespo/Documentacion
- Wiki instalable: https://www.mediawiki.org/wiki/MediaWiki
- Trabajo colaborativo, controlar modificaciones del equipo.
- ORGANIZACIÓN del curso.
- Todo lo que programemos en el curso se va a guardar en https://github.com/curso-programacion-arduino.
- Cada uno tiene su cuenta de github, pero los ejercicios no los guardamos en la cuenta de cada uno sino en la cuenta del curso (es una organización realmente).
- Existe un repositorio por cada ejercicio que deberemos clonar antes de hacer el ejercicio. Clonar en la ruta C:\Users\ThinkTIC\Documentos\Arduino\EjercicioXX
- Una vez clonado, crearemos en esa copia local nuestro sketch con el nombre EjercicioXX-Nombre para identificarlo
- Luego subiremos nuestro ejercicio y será visible por todos
- Cualquier podrá hacer modificaciones en el código del resto (no hacer) y el profesor podrá modificar el código de los alumnos para solucionar cualquier problema.
- Requisitos antes de empezar a hacer los ejercicios:
- Tener instalado SourceTree
- Tener una cuenta de github
- Aceptar el correo de unirse a la organización: «Curso Programación Arduino»
- Estar en el equipo de la organización del curso: https://github.com/curso-programacion-arduino,
- Clonar repositorio Ejecicio01 https://github.com/curso-programacion-arduino/Ejercicio01 en la ruta C:\Users\ThinkTIC\Documentos\Arduino\Ejercicio01
- Crear un nuevo directorio en la copia local del ejercicio01 con el nombre Ejercicio01-Nombre, poniendo el nombre de cada uno (IMPORTANTE que no haya nombres repetidos)
- En ese directorio guardar un sketch de Arduino llamado Ejercicio01-Nombre.ino, por ejemplo un blink del led 1 (pin 4)
- Hacer un commit y un push para subirlo. IMPORTANTE: en el proceso se pide un nombre y un email solo a modo de identificación de quien hace el cambio en el repositorio.
- Al hacer un commit, hay que pasar los ficheros que queramos incorporar a la nueva versión a stage y luego poner un pequeño comentario que describa que cambios hacemos.
- IMPORTANTE: el primer commit y push lo haremos de uno en uno mientras el resto comprueban que lo sincronizan. Si vamos a hacer un push y alguien ha subido algo antes debo sincronizarlo y luego subirlo.
- IMPORTANTE: en el proceso de push (subir nuestros cambios) nos pide que nos identifiquemos en github (la primera vez) para dar permiso a la aplicación sourcetree a hacer cambios en github
- Hacer fetch y pull para comprobar y sincronizar el cambio de los compañeros.
- SEGURIDAD. Nuestro usuario y contraseña se ha quedado almacenado en SourceTree, para borrar la contraseña ir a preferencias – Accounts
Día 4: «Programación Básica II»
- Usuarios github:
- Permiso a las aplicaciones para github:
@torpeman has requested approval for a third-party application to access Curso Programación Arduino organization resources via the GitHub API:
«GitKraken» from Axosoft
Until it is approved, this application will have no access to private resources and will have read-only access to public resources belonging to your organization.
- Repositorio oficial del curso: https://github.com/jecrespo/aprendiendoarduino-Curso_Programacion_Arduino
- Repositorio para «jugar»: https://github.com/curso-programacion-arduino
- ESP8266: https://aprendiendoarduino.wordpress.com/2016/11/12/wifi-en-arduino/
- Ejercicio paso a paso y uso de ramas: ejercicio 3, ver rama «paso a paso»
- Solución Germán
- Solución Inés
- Solución Iván – Otra forma de detectar flancos
- Solución Jorge
- Solución Óscar
- Solución InesG
Día 5: «Programación Básica III»
RECOGER EN ARMARIO TODO EL MATERIAL Y DEJAR SERVO EN LA MESA
- Temario Cerrado. Elegir temas que más interesen.
- Uso de git para dudas en código. Mandar repositorio para revisar y proponer mejoras.
- ¿Como aprender a programar?. Talleres Programación.
- ¿Propuestas de ejercicios?
- Robot Educativo, aprender a programar:
- Robot: https://www.makeblock.es/productos/robot_educativo_mbot/
- Entorno gráfico de programación basado en scratch: http://www.mblock.cc/
- Descarga: http://www.mblock.cc/download/
- Programación: https://www.makeblock.es/soporte/mblock/
- Packs de extensiones: https://www.makeblock.es/productos/?t=mbot
- Bluetooth y 2.4G como opciones
- Descargas makeblock: https://www.makeblock.es/blog/descargas/
- Github makeblock: https://github.com/Makeblock-official
- Librerías maleblock: https://github.com/Makeblock-official/Makeblock-Libraries
- firmware mBot: https://github.com/Makeblock-official/Makeblock-Libraries/tree/master/makeblock/examples/Firmware_For_mBlock
- Firmware factoria mBot: https://github.com/Makeblock-official/Makeblock-Libraries/blob/master/makeblock/examples/Firmware_For_mBlock/mbot_factory_firmware/mbot_factory_firmware.ino
Día 6: «Librerías Arduino»
- Jornada de puertas abiertas en UR-maker http://www.unirioja.es/urmaker/
- Presentación de los PFG de los alumnos
- Ventaja de git: trabajar desde casa y continuar lo hecho después del curso
- Operadores en C y C++: https://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B
- and: http://en.cppreference.com/w/cpp/language/operator_logical
- AND: operador bitwise equivalente a & en ensamblador http://www.cplusplus.com/doc/tutorial/operators/
- Proyecto Open Energy Monitor: https://openenergymonitor.org/
- Conectar toroidal abierto (pinza amperimétrica) en Arduino:
- Split-core current transformer: https://shop.openenergymonitor.com/100a-max-clip-on-current-sensor-ct/
- Shield EMON Tx: https://github.com/openenergymonitor/emontx-shield
- Shield: https://shop.openenergymonitor.com/emontx-arduino-shield-smt/
- Explicación con el emontx shield: https://learn.openenergymonitor.org/electricity-monitoring/ct-sensors/interface-with-arduino
- Ejemplo de uso con Arduino: https://github.com/openenergymonitor/EmonLib/blob/master/examples/current_only/current_only.ino
- Librería: https://github.com/openenergymonitor/EmonLib
- Ejemplo de uso: https://github.com/jecrespo/Arduino_Based_Remote_MultiProbe_Sensor
- Otra explicación: https://learn.sparkfun.com/tutorials/environmental-monitoring-with-the-tessel-2
- Un tutorial MUY BUENO: https://www.luisllamas.es/arduino-sensor-corriente-stc-013/
- Como usarlo con un LM358: http://www.naylampmechatronics.com/blog/51_tutorial-sensor-de-corriente-ac-no-invasivo-s.html
- Monitor de energía comercial: http://efergy.com/es/e2v2-monitor
Día 7: «Clases Y Objetos»
- Conectar cable blanco (DVI) en lugar del azul al ordenador.
-
Impresoras 3D:
- Proyecto Clone Wars, que es el RepRap español: http://www.reprap.org/wiki/Proyecto_Clone_Wars
- Proyecto RepRap: http://reprap.org/
- Reprap en Español: http://reprap.org/wiki/RepRap/es
- Data Adquisition con tarjeta SD:
- Comprobar el funcionamiento de: https://github.com/jecrespo/aprendiendoarduino-Curso_Programacion_Arduino/tree/master/Ejercicio08-Pulse
Día 8: «Comunicaciones Serie»
- Dudas Héctor
- Detección de flanco ascendente y descendente en ejercicios 3 y 5.
- En ejercicio 5 static boolean anterior_a y boolean estado_a
- Duda de como sales a «miservo.write(grados)»
- Ejercicio 6 explicación del if usado en el setup.
void detectaFlanco() { static boolean anterior_a = digitalRead(PIN_BOTON_A); //Variable local boolean estado_a = digitalRead(PIN_BOTON_A); //Variable local if (anterior_a != estado_a) { if (estado_a == HIGH) { //flanco ascendente pull-up if (grados >= 170) grados = 10; else grados += 10; miservo.write(grados); } anterior_a = estado_a; // } }
- git usando branch
- Comunicaciones Arduino por Redes móviles:
- gsm shield: https://store.arduino.cc/arduino-gsm-shield-2-integrated-antenna
- Y librería para conectarse a Internet: https://www.arduino.cc/en/Reference/GSM
- Shield Barato: https://es.aliexpress.com/item/High-Quality-SIM900-GPRS-GSM-Shield-Development-Board-Quad-Band-SIM900-Module-SIM900-board-with-sim/32688972139.html
- Placa Adafruit 3G: https://learn.adafruit.com/adafruit-fona-3g-cellular-gps-breakout/overview
- LTE Cinterion Connect shield: http://www.gemalto.com/m2m/development/cinterion-connect-shield
- Documentación Cinterion: https://developer.gemalto.com/documentation/cinterion%C2%AE-connect-shield-tools-documentation
- Módulo de Digi: https://www.digi.com/products/xbee-rf-solutions/embedded-rf-modules-modems/digi-xbee-cellular
Día 9: «Comunicaciones IP I»
- NodeMCU. Viernes a las 20:30 estaremos un rato viendo su configuración.
- Arducky: http://www.elladodelmal.com/2017/07/arducky-un-rubber-ducky-hecho-sobre.html
- Como funciona el gestor de librerías de Arduino: https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ
- Especificación de librería: https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification
- Seguridad librerías descargadas.
- Temario del curso finalizado.
Día 10: «Comunicaciones IP II»
- Monitorización de una nevera https://programarfacil.github.io/pages/index.html
- Librería detecta flanco: https://github.com/jecrespo/aprendiendoarduino-Curso_Programacion_Arduino/tree/master/Ejercicio18-Libreria_Detecta_Flanco
- Detector de movimiento con dos LDR: http://www.aprendizdetecnologo.com/index.php/practicas/arduino/49-detector-de-barrido-swipe-con-arduino-y-ldr
- Eliminar usuario y contraseña del sourcetree
- Propuesta de cursos y talleres
- Taller de programación
- Propuesta de Proyectos: Juego Simón y Juego Sogatira
- Y Aquí no Acaba el Curso…
me interesa la programacion y quiero aprender rápido estudie electronica digital hace muchos años cuando recién se empezaba hablar. de ella . quisiera seguir aprendiendo , encontre por casualidad esta pagina ,la recorrí y me gusto. a los 78 años que tengo no tengo mucho tiempo por delante , pero quiero continuar con esto .cual es la mejor manera para hacerlo.
un saludo a uds..
Me gustaLe gusta a 1 persona
Hola, la forma más rápida de aprender a programar es hacer un curso presencial, pero suele ser difícil encontrar cursos presenciales de ese tipo. El año pasado hice uno en Logroño, puedes encontrar la documentación del curso en https://www.aprendiendoarduino.com/cursos/programacion-arduino/
Estoy intentando hacer un curso en youtube con todo el material de los cursos presenciales, poco a poco estoy subiendo vídeos en el canal https://www.youtube.com/c/EnriqueCrespo
Me gustaMe gusta