Arduino, aplicaciones actuales y potenciales, para contrarrestar los efectos del cambio climático en la agricultura www.zonaelectronica.com www.webelectronica.com.ar Francisco Di Zonno +58.414.246.48.25 fdizonno@zonaelectronica.com fdizonno@gmail.com
La evolución de los automatismos es la consecuencia de la evolución de varias ciencias y/o disciplinas. 1.- La Electricidad 2.- La Electrónica 3.- La Informática Un proceso evolutivo La electricidad nos ha permitido elevar el nivel de confort en nuestras viviendas y edificaciones. La electricidad ha dado paso a la entrada de los electrodomésticos: Lavadoras, Neveras, Lavaplatos, Hornos, Cocinas eléctricas, Máquinas capaces de realizar tareas cotidianas de forma casi autónoma, elevando nuestro nivel de confort que en otros tiempos eran inimaginables.
La Evolución de la Electrónica, ha marcado el desarrollo de muchos sistemas, permitiendo realizar programaciones y/o rutinas, que regulan cada proceso que se quiera controlar.
La Informática
La Internet Web 1.0. Se basa en la Sociedad de la Información, en medios de entretenimiento y consumo pasivo (medios tradicionales, radio, TV, email). Las páginas web son estáticas y con poca interacción con el usuario (web 1.0, páginas para leer). Web 2.0. Se basa en la Sociedad del Conocimiento, la autogeneración de contenido, en medios de entretenimiento y consumo activo. En esta etapa las páginas web se caracterizan por ser dinámicas e interactivas (web 2.0, páginas para leer y escribir) en donde el usuario comparte información y recursos con otros usuarios. World Wide Web (WWW o la Web) - 1990 Web 3.0. Las innovaciones que se están produciendo en estos momentos se basan en Sociedades Virtuales, realidad virtual, web semántica, búsqueda inteligente.
Las redes de telefonía
Tecnología wireless de baja potencia
La idea propuesta por Kevin Ashton en 1999 Se estima que 50 mil millones de dispositivos estarán conectados en el año 2020
La Internet de las Cosas (IoT) es una red de tecnología que monitorea el estado de los objetos físicos, captura DATA, y transmite la información usando redes IP a programas de Aplicaciones.
Dispositivos IoT Lo que hace a los dispositivos IoT diferentes de un sensor ordinario es básicamente la habilidad de éste de comunicarse (usualmente) en forma directa o indirecta a la Internet. Las preguntas serian: Cuáles son las principales razones para que un dispositivo se tenga que conectar a Internet o un servicio de Internet? Qué clase de servicio será ese? Qué tipo de servicio debería obtener?
IoT Un mundo de muchas posibilidades
Algunos productos
Algunos actores Philips HUE, bombillos LED conectados a Internet Apple HomeKit Google - Brillo & Weave SmartThings - Samsung
Actores principales Microcontroladores
Microcontrolador (μc) Un microcontrolador es un circuito integrado que contiene internamente todos los componentes básicos de un computador: CPU Memoria Unidades de E/S Este se utiliza para controlar el funcionamiento de Sistemas Electrónicos con tareas determinadas.
Microcontroladores (μc) hoy en día Sistemas embebidos (embedded)
Dispositivos Interactivos Dispositivo electrónico capaz de sentir el medio ambiente usando sensores, que convierten las señales externas en señales eléctricas. Procesar la información recibida que se obtiene de los sensores con comportamientos que están implementados en el software. Interactuar o actuar con el mundo exterior usando actuadores que convierten señales eléctricas en acciones físicas.
Ambiente de Desarrollo Integrado - IDE Tareas Típicas de un IDE 1.- Área para escribir el código fuente. 2.- Compilar, ensamblar y encadenar el código fuente con los programas que conviertan el código fuente en unos y ceros que es lo que finalmente entiende el microcontrolador. 3.- Probar el programa utilizando simuladores. 4.- Quemar o grabar el código en la memoria de programa del microcontrolador y verificar que se ejecuta correctamente en la aplicación definitiva. ARDUINO PINGUINO MPLAB X PICAXE Editor
Qué es ARDUINO? Arduino es una plataforma de desarrollo de computación física, de código abierto, basada en una placa con un sencillo microcontrolador y un entorno de desarrollo para crear software (para esa placa). Software libre Hardware libre
ARDUINO 2005 / 2016 David Mellis Tom Igoe Gianluca Martino David Cuartielles Massimo Banzi Arduino nació como un proyecto colaborativo y educativo - año 2005
El Ecosistema ARDUINO Consiste de: o La placa Arduino o El IDE Arduino o El lenguaje Arduino o Software (Bibliotecas) de terceros o Shields o extensiones o Componentes electrónicos
Arduino - USA
Arduino - USA
Arduino - USA
Arduino UNO R3
Arduino Shields - Extensiones
Trabajando con ARDUINO Pasos: 1. Conseguir un Arduino y un cable USB 2. Descargar el IDE de Arduino 3. Instalar - descomprimir el IDE 4. Conectar la placa a la PC 5. Ejecutar el IDE Arduino 6. Crear o abrir el programa, ejemplo Blink 7. Seleccionar la placa (tarjeta Arduino) 8. Seleccionar el puerto serie (COM) 9. Subir (Cargar) el sketch a la placa 10. Verificar el funcionamiento del programa
ARDUINO - IDE Barra de menues Barra de herramientas Pestañas Editor de texto Área de mensajes Consola Los programas en Arduino se llaman SKETCHs
Abrir el sketch de ejemplo BLINK
Cargar el sketch y ver el funcionamiento en la tarjeta
ARDUINO IDE Ejemplos
ARDUINO - IDE Bibliotecas (Libraries)
ARDUINO Sketch o programa base
Transducción Conversión de un tipo de energía en otra Sensores Energía Física Energía Eléctrica Actuadores
Tareas en las que usamos el Arduino 1.- Salidas Digitales 2.- Entradas Digitales 3.- Salidas Analógicas 4.- Entradas Analógicas
Salidas Digitales Salida Digital: Cualquier dispositivo que pueda ser encendido-apagado, puede ser un potencial transductor de salida digital Simples: LEDs, Buzzer Complejas: Motores, Solenoides, Bombillos, Calentadoras de Café Relés y transistores
Proyecto Hola Mundo LED Intermitente (Blink) Salidas Digitales Algoritmo - Encender el LED - Esperar un tiempo - Apagar el LED - Esperar otro tiempo - Repetir siempre /* Encender y apagar un LED durante 1 segundo, repetidamente */ // El pin 13 del Arduino está conectado a un LED // Rutina de inicialización. void setup() { // Inicializa el pin 13 como salida pinmode(13, OUTPUT); } // La rutina loop de ejecuta continuamente void loop() { digitalwrite(13, HIGH); // Enciende el LED delay(1000); // Retardo de 1 segundo digitalwrite(13, LOW); // Apaga el LED delay(1000); // Retardo de un segundo }
Entradas Digitales Entrada Digital: Suiche Suiche normalmente abierto Suiche normalmente cerrado Suiche momentáneo ON OFF Apagado-Encendido
/* Encender un LED cuando se pulsa un botón */ // Declarar unas variables de memoria int buttonpin = 2; int ledpin = 13; int buttonstate = 0; Entradas Digitales void setup() { pinmode(ledpin, OUTPUT); pinmode(buttonpin, INPUT); } void loop() { // leemos el estado del pulsador buttonstate = digitalread(buttonpin); // Verfificamos si el pulsador está presionado if (buttonstate == HIGH) { // encendemos el LED digitalwrite(ledpin, HIGH); } else { // apagamos el LED digitalwrite(ledpin, LOW); } }
No todo es blanco y negro, hay grises Sensores Transducción: Transformación o conversión de una forma de energía de entrada, en otra diferente de salida
Entradas Analógicas Resistencias Variables Convierten un cambio mecánico, de iluminación, de temperatura y de otras formas de energía en un cambio en la resistencia eléctrica que ofrece. Fotoceldas, fotorresistencias Potenciómetros, reóstatos Resistores Flex Resistores de fuerza Termistores
Convertidores Análogos a Digitales Permiten leer un nivel de voltaje en un momento dado y convertirlo a un valor digital que puede ser manipulado o almacenado en el microcontrolador o Computadora Suministran una señal digital en un momento y la convierten en un equivalente analógico para manipular objeto que produce una acción
Entradas Analógicas int sensorpin = A0; int ledpin = 13; int sensorvalue = 0; void setup() { pinmode(ledpin, OUTPUT); } void loop() { // leer el valor del sensor sensorvalue = analogread(sensorpin); // encender el LED digitalwrite(ledpin, HIGH); // detener el programa por un tiempo definido delay(sensorvalue); // apagar el LED digitalwrite(ledpin, LOW); // detener el programa por un tiempo definido delay(sensorvalue); }
Salidas Analógicas Salida Analógicas: Cuando queremos realizar algo mas que simplemente encender o apagar un elemento, es decir, generar un voltaje de salida variable Ejemplos: Cambiar el brillo de un LED Control de la velocidad de un motor DC Generar tonos Servomecanismos
ARDUINO Salidas Análogas PWM: Modulación por ancho de Pulso Voltaje Efectivo Voltaje Efectivo D = t/t Ciclo de Trabajo Es una señal cuadrada formada por pulsos de frecuencia constante de aproximadamente de 490 Hz.
ARDUINO Salidas Analógicas // Efecto dimmer con un LED const int LED = 3; // Se usa el pin 3 PWM int i = 0; // Se usa para llevar un contador // ascendente y descendente void setup() { pinmode(led, OUTPUT); } void loop(){ for (i = 0; i < 255; i++) { // loop de 0 to 254 (fade in) analogwrite(led, i); delay(10); } for (i = 255; i > 0; i--) { // loop de 255 to 1 (fade out) analogwrite(led, i); delay(10); } }
ARDUINO Aplicaciones El Invernadero electrónico. El objetivo es regular la temperatura dentro del invernadero gracias al uso controlado de lámparas, y con sistema de servomotores para abrir las ventanas y encender ventiladores. Mantener constante el nivel de humedad del suelo con un sistema de riego con bomba de agua y recibiendo los datos de temperatura ambiente, humedad del aire y luminosidad. Sistema controlado a través de un sitio web en forma remota.
Nduino: Medidor de bajo coste basado en Arduino para agricultura de precisión Este aparato está destinado a determinar los requerimientos de nitrógeno de las plantas (cereales, fundamentalmente) directamente en el campo, con el fin de afinar la fertilización nitrogenada. Mide el contenido en clorofila de la hoja, y como este se relaciona con el estado de nutrición nitrogenada de la misma, permitiendo calcular el estado nutricional de las plantas al menos en cuanto a nitrógeno se refiere.
Garduino: Un huerto controlado con Arduino. Creando un sistema controlado de irrigación, iluminación y temperatura
Vinduino: Proyecto de ahorro de agua de un viticultor. Monitoreo de la humedad del suelo a diferentes profundidades para determinar cuándo regar, y - más importante - la cantidad de agua que se necesita. Permite ahorros de hasta un 25%.
Drones ArduPilot
FARMBOT Primera maquina CNC de cultivos bajo filosofía Open-Source
FarmBot
ARDUINO Recursos Scratch for Arduino S4A mblock
ARDUINO para todos
Gracias Francisco Di Zonno +58.414.246.48.25 www.zonaelectronic.com www.weblectronica.com.ar fdizonno@zonaelectronica.com fdizonno@gmail.com @fdizonno