salida digital

Preview:

Citation preview

Del uC al Arduino

Francisco Di Zonno+58.414.246.48.25

fdizonno@zonaelectronica.comfdizonno@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

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

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

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 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?

Del uC al Arduino

IoT – Un mundo de muchas posibilidades

Del uC al Arduino

Algunos productos

Del uC al Arduino

Philips HUE,

bombillos LED

conectados a

Internet

Apple – HomeKit

SmartThings - Samsung

Algunos actores

Google - Brillo & Weave

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

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

Hardware libreSoftware libre

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

Del uC al Arduino

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

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

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

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

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

Energía Eléctrica

Sensores Actuadores

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

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

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

}

Del uC al Arduino

Suiche normalmente abierto

Suiche normalmente cerrado

Suiche momentáneo

Entrada Digital: Suiche

ON–OFF Apagado-Encendido

Entradas Digitales

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

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

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.

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

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

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

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

// 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

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

cuanto a nitrógeno se refiere.

Del uC al Arduino

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

fdizonno@zonaelectronica.comfdizonno@gmail.com

@fdizonno

Recommended