Archivo de la etiqueta: Saber más

Saber Más Iniciación Arduino 2018

Día 10: “Comunicaciones Arduino”

Grabar Datos en Tarjeta SD

El Ethernet shield tiene disponible una ranura para tarjetas microSD. Arduino es capaz de leer y escribir en la tarjeta microSD mediante la librería SD: https://www.arduino.cc/en/Reference/SD

Leer la documentación de la librería SD y entender qué hace cada una de las clases y sus métodos.

Insertar una tarjeta microSD y hacer un programa que grabe los datos de temperatura en un archivo llamado temp_log.csv cada 5 segundos. Los datos a guardar son: segundos desde inicio con la función millis() y la temperatura del sensor TMP36.

Opcionalmente crear un menú con 3 opciones:

  • 1 – Muestra el último dato guardado en la SD
  • 2 – Vuelca el contenido del fichero temp_log.csv por consola
  • 3 – Borra el contenido del fichero

Esquema de conexión:

Soluciónhttps://github.com/jecrespo/aprendiendoarduino-Curso_Arduino_2017/tree/master/Ejercicio34-SD_Datalogger

Capítulos Vistos Día 10:

Otros no vistos


Día 1: “Presentación del Curso”

Una vez visto “Qué es Arduino”, hagamos las 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?

Capítulos Vistos Día 1:

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

Capítulos Vistos Día 2:

Día 3: “Programación Arduino II”

Capítulos Vistos Día 3:

Día 4: “Programación Arduino III”

Práctica Led RGB:

Resultado de imagen de led rgb arduino

Capítulos Vistos Día 4:

Día 5: “Arrays y Strings”

Uso en parking:

Capítulos Vistos Día 5:

Día 6: “Librerías Arduino”

Otro simulador: https://www.sites.google.com/site/unoardusim/home

Mejora ejercicio coche fantástico usando el puerto serie: https://github.com/jecrespo/Aprendiendo-Arduino/blob/master/Ejercicio17-CocheFantastico_4/Ejercicio17-CocheFantastico_4.ino

Puerto Serie Arduino pines 0 y 1, van conectados al USB mediante el conversor de USB a Serial (Atmega16u2)

USB:

En el caso del USB el 0 y 1 se distingue por la diferencia de voltaje entre D+ y D-:

Esquemático USB y Atmega16U2:

Comunicación entre microcontroladores:

Resultado de imagen de arduino uno serial schematic

Alimentación por USB:

Alimentación por jack:

Monitorización de Energía:

Capítulos Vistos Día 6:

Día 7: “Hardware Arduino”

Capítulos Vistos Día 7:

Día 8: “Entradas y Salidas Digitales y Analógicas Arduino”

Capítulos Vistos Día 8:

Día 9: “Sensores y Motores”

 
int freeRam () {
  extern int __heap_start, *__brkval; 
  int v; 
  return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval); 
}

Capítulos Vistos Día 9:

Anuncios

Saber Más Avanzado 2017

 

Día 1: “Presentación del curso”

Programación Arduino:

Arduino y la Industria 4.0:

Opinión en Diario La Rioja 03/09/207:

Capítulos Vistos:

Día 2: “Arduino en la Industria”

Resultados del Test:

Capítulos Vistos:

Día 3: “Arduino en la Educación”

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:

Día 4: “IoT y Eficiencia Energética”

IoT Fridge Saver:

Sonda temperatura DS18B20

OpenCV

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:

Día 5: “Concursos e IMUs”

Concursos:

Arduino MKR FOX 1200 Contest:

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

Datos en Bruto y datos reales IMU 6050

Librerías para MPU-6050

Capítulos Vistos:

Día 6: “Manejar LEDs con Arduino”

Librerías FastLED y 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:

Día 7: “Arduino en los Hobbies”

Red para control de trenes de modelismo

Arduino y Slot

Uso sensor temperatura DS18B20: https://programarfacil.com/blog/arduino-blog/ds18b20-sensor-temperatura-arduino/

Open Data

JSON: formato de intercambio de datos

Comunicación

Capítulos Vistos:

Día 8: “Domótica con Arduino”

Proyectos de domótica

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:

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:

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:

IMU para medir ángulos:

Bend sensor:

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:

Dispositivo basado en ESP8266: http://blog.tindie.com/2017/09/cactus-whid-keyboard-injector/

Capítulos Vistos:

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:

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:

Microprocesadores:

Al final de la clase recoger todos los elementos en sus cajas.

Capítulos Vistos:


Puntos no vistos:

Saber Más…

Día 1: “Presentación del curso”

Día 2: “Qué es Arduino y Primer Proyecto”

Día 3: “Sketch Arduino y Placas Arduino”

Día 4: “Librerías Arduino”

Día 5: “Programación Arduino I”

Día 6 : “Programación Arduino II”

Día 7: “Electrónica Arduino”

Día 8: “Motores y Sensores”

Día 9: “Conexión a Internet”

Día 10: “Proyecto Final”