salida digital

58
Del uC al Arduino Francisco Di Zonno +58.414.246.48.25 [email protected] [email protected] Arduino, aplicaciones actuales y potenciales, para contrarrestar los efectos del cambio climático en la agricultura www.zonaelectronica.com www.webelectronica.com.ar

Transcript of salida digital

Page 1: salida digital

Del uC al Arduino

Francisco Di Zonno+58.414.246.48.25

[email protected]@gmail.com

Arduino, aplicaciones actuales y potenciales, para contrarrestar los efectos del cambio

climático en la agricultura

www.zonaelectronica.com

www.webelectronica.com.ar

Page 2: salida digital

Del uC al Arduino

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.

Un proceso evolutivo

Page 3: salida digital

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.

Page 4: salida digital

Del uC al Arduino

La Informática

Page 5: salida digital

Del uC al Arduino

La InternetWeb 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.

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.

World Wide Web (WWW o la Web) - 1990

Page 6: salida digital

Del uC al Arduino

Las redes de telefonía

Page 7: salida digital

Del uC al Arduino

Tecnología wireless de baja potencia

Page 8: salida digital

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

Page 9: salida digital

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.

Page 10: salida digital

Del uC al Arduino

Dispositivos IoT

Lo que hace a los dispositivos IoTdiferentes 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?

Page 11: salida digital

Del uC al Arduino

IoT – Un mundo de muchas posibilidades

Page 12: salida digital

Del uC al Arduino

Algunos productos

Page 13: salida digital

Del uC al Arduino

Philips HUE,

bombillos LED

conectados a

Internet

Apple – HomeKit

SmartThings - Samsung

Algunos actores

Google - Brillo & Weave

Page 14: salida digital

Del uC al Arduino

Actores principales

Microcontroladores

Page 15: salida digital

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.

Page 16: salida digital

Del uC al Arduino

Microcontroladores (μC) hoy en día

Sistemas embebidos (embedded)

Page 17: salida digital

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.

Page 18: salida digital

Del uC al Arduino

Ambiente de Desarrollo Integrado - IDE

Tareas Típicas de un IDE1.- Á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.

MPLAB X

PICAXE Editor

ARDUINO

PINGUINO

Page 19: salida digital

Del uC al Arduino

Page 20: salida digital

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).

Hardware libreSoftware libre

Page 21: salida digital

Del uC al Arduino

ARDUINO 2005 / 2016

Arduino nació como un proyecto colaborativo y educativo - año 2005

Gianluca Martino

Tom Igoe

Massimo BanziDavid Cuartielles

David Mellis

Page 22: salida digital

Del uC al Arduino

Page 23: salida digital

Del uC al 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

El Ecosistema ARDUINO

Page 24: salida digital

Del uC al Arduino

Arduino - USA

Page 25: salida digital

Del uC al Arduino

Arduino - USA

Page 26: salida digital

Del uC al Arduino

Arduino - USA

Page 27: salida digital

Del uC al Arduino

Arduino UNO R3

Page 28: salida digital

Del uC al Arduino

Arduino – Shields - Extensiones

Page 29: salida digital

Del uC al 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

Trabajando con ARDUINO

Page 30: salida digital

Del uC al Arduino

ARDUINO - IDE

Los programas en Arduino se llaman SKETCHs

Barra de menues

Barra de herramientas

Pestañas

Editor de texto

Área de mensajes

Consola

Page 31: salida digital

Del uC al Arduino

Abrir el sketch de ejemplo BLINK

Page 32: salida digital

Del uC al Arduino

“Cargar” el sketch y ver el funcionamiento en la tarjeta

Page 33: salida digital

Del uC al Arduino

ARDUINO – IDE

Ejemplos

Page 34: salida digital

Del uC al Arduino

ARDUINO - IDE

Bibliotecas

(Libraries)

Page 35: salida digital

Del uC al Arduino

ARDUINO – Sketch o programa base

Page 36: salida digital

Del uC al Arduino

Transducción

Conversión de un tipo de energía en otra

Energía Física

Energía Eléctrica

Sensores Actuadores

Page 37: salida digital

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

Page 38: salida digital

Del uC al Arduino

Salida Digital:

Simples:LEDs, Buzzer

Complejas:Motores, Solenoides, Bombillos, Calentadoras de Café

Relés y transistores

Cualquier dispositivo que pueda ser

encendido-apagado, puede ser un

potencial transductor de salida

digital

Salidas Digitales

Page 39: salida digital

Del uC al Arduino

Proyecto – Hola Mundo

Salidas DigitalesLED 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

}

Page 40: salida digital

Del uC al Arduino

Suiche normalmente abierto

Suiche normalmente cerrado

Suiche momentáneo

Entrada Digital: Suiche

ON–OFF Apagado-Encendido

Entradas Digitales

Page 41: salida digital

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;

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);

}

}

Entradas Digitales

Page 42: salida digital

Del uC al Arduino

Transducción:

Transformación o conversión de una forma de energía de

entrada, en otra diferente de salida

Sensores

No todo es blanco y negro, hay grises

Page 43: salida digital

Del uC al Arduino

Resistores Flex

Potenciómetros, reóstatos

Termistores

Fotoceldas, fotorresistencias

Resistores de fuerza

Entradas Analógicas

Resistencias VariablesConvierten 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.

Page 44: salida digital

Del uC al Arduino

Suministran una señal digital en un momento

y la convierten en un equivalente analógico

para manipular objeto que produce una acción

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

Page 45: salida digital

Del uC al Arduino

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);

}

Entradas Analógicas

Page 46: salida digital

Del uC al Arduino

Salida Analógicas:

Ejemplos:Cambiar el brillo de un LED

Control de la velocidad de un motor DC

Generar tonos

Servomecanismos

Cuando queremos realizar algo mas que

simplemente encender o apagar un

elemento, es decir, generar un voltaje de

salida variable

Salidas Analógicas

Page 47: salida digital

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.

Page 48: salida digital

Del uC al Arduino

// 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 – Salidas Analógicas

Page 49: salida digital

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.

Page 50: salida digital

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

cuanto a nitrógeno se refiere.

Page 51: salida digital

Del uC al Arduino

Garduino: Un huerto controlado con Arduino.

Creando un sistema controlado de irrigación,

iluminación y temperatura

Page 52: salida digital

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%.

Page 53: salida digital

Del uC al Arduino

Drones

ArduPilot

Page 54: salida digital

Del uC al Arduino

FARMBOT

Primera maquina CNC de cultivos

bajo filosofía Open-Source

Page 55: salida digital

Del uC al Arduino

FarmBot

Page 56: salida digital

Del uC al Arduino

ARDUINO – Recursos

Scratch for Arduino – S4A

mBlock

Page 57: salida digital

Del uC al Arduino

ARDUINO para todos

Page 58: salida digital

Del uC al Arduino

Gracias

Francisco Di Zonno+58.414.246.48.25

www.zonaelectronic.com

www.weblectronica.com.ar

[email protected]@gmail.com

@fdizonno