salida digital

Anuncio
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
[email protected]
[email protected]
Del uC al Arduino
Un proceso evolutivo
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
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.
Del uC al Arduino
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.
Del uC al Arduino
La Informática
Del uC al Arduino
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.
Del uC al Arduino
Las redes de telefonía
Del uC al Arduino
Tecnología wireless de baja potencia
Del uC al Arduino
La idea propuesta por Kevin Ashton en 1999
Se estima que 50 mil millones de dispositivos
estarán conectados en el año 2020
Del uC al Arduino
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.
Del uC al Arduino
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?
Del uC al Arduino
IoT – Un mundo de muchas posibilidades
Del uC al Arduino
Algunos productos
Del uC al Arduino
Algunos actores
Philips HUE,
bombillos LED
conectados a
Internet
Apple – HomeKit
Google - Brillo & Weave
SmartThings - Samsung
Del uC al Arduino
Actores principales
Microcontroladores
Del uC al Arduino
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.
Del uC al Arduino
Microcontroladores (μC) hoy en día
Sistemas embebidos (embedded)
Del uC al Arduino
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.
Del uC al Arduino
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
Del uC al Arduino
Del uC al Arduino
¿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
Del uC al Arduino
ARDUINO 2005 / 2016
David Mellis
Gianluca Martino
David Cuartielles
Tom Igoe
Massimo Banzi
Arduino nació como un proyecto colaborativo y educativo - año 2005
Del uC al Arduino
Del uC al Arduino
El Ecosistema ARDUINO
Consiste de:
o
o
o
o
o
o
La placa Arduino
El IDE Arduino
El lenguaje Arduino
Software (Bibliotecas) de terceros
Shields o extensiones
Componentes electrónicos
Del uC al Arduino
Arduino - USA
Del uC al Arduino
Arduino - USA
Del uC al Arduino
Arduino - USA
Del uC al Arduino
Arduino UNO R3
Del uC al Arduino
Arduino – Shields - Extensiones
Del uC al Arduino
Trabajando con ARDUINO
Pasos:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Conseguir un Arduino y un cable USB
Descargar el IDE de Arduino
Instalar - descomprimir el IDE
Conectar la placa a la PC
Ejecutar el IDE Arduino
Crear o abrir el programa, ejemplo Blink
Seleccionar la placa (tarjeta Arduino)
Seleccionar el puerto serie (COM)
Subir (Cargar) el sketch a la placa
Verificar el funcionamiento del programa
Del uC al Arduino
ARDUINO - IDE
Barra de menues
Barra de herramientas
Pestañas
Editor de texto
Área de mensajes
Consola
Los programas en Arduino se llaman SKETCHs
Del uC al Arduino
Abrir el sketch de ejemplo BLINK
Del uC al Arduino
“Cargar” el sketch y ver el funcionamiento en la tarjeta
Del uC al Arduino
ARDUINO – IDE
Ejemplos
Del uC al Arduino
ARDUINO - IDE
Bibliotecas
(Libraries)
Del uC al Arduino
ARDUINO – Sketch o programa base
Del uC al Arduino
Transducción
Conversión de un tipo de energía en otra
Energía Física
Sensores
Actuadores
Energía Eléctrica
Del uC al Arduino
Tareas en las que usamos el Arduino
1.- Salidas Digitales
2.- Entradas Digitales
3.- Salidas Analógicas
4.- Entradas Analógicas
Del uC al Arduino
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
Del uC al Arduino
Proyecto – Hola Mundo
Salidas Digitales
LED Intermitente (Blink)
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
}
Del uC al Arduino
Entradas Digitales
Entrada Digital: Suiche
Suiche normalmente abierto
Suiche normalmente cerrado
Suiche momentáneo
ON–OFF Apagado-Encendido
Del uC al Arduino
/* 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);
}
Del uC al Arduino
}
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
Del uC al Arduino
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
Del uC al Arduino
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
Del uC al Arduino
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);
}
Del uC al Arduino
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
Del uC al Arduino
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.
Del uC al Arduino
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);
}
}
Del uC al Arduino
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.
Del uC al Arduino
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
Del uC al Arduino
cuanto a nitrógeno se refiere.
Garduino: Un huerto controlado con Arduino.
Creando un sistema controlado de irrigación,
iluminación y temperatura
Del uC al Arduino
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%.
Del uC al Arduino
Drones
ArduPilot
Del uC al Arduino
FARMBOT
Primera maquina CNC de cultivos
bajo filosofía Open-Source
Del uC al Arduino
FarmBot
Del uC al Arduino
ARDUINO – Recursos
Scratch for Arduino – S4A
mBlock
Del uC al Arduino
ARDUINO para todos
Del uC al Arduino
Gracias
Francisco Di Zonno
+58.414.246.48.25
www.zonaelectronic.com
www.weblectronica.com.ar
[email protected]
[email protected]
@fdizonno
Del uC al Arduino
Descargar