• No se han encontrado resultados

Introducción a Arduino

N/A
N/A
Protected

Academic year: 2021

Share "Introducción a Arduino"

Copied!
26
0
0

Texto completo

(1)

Mundo Arduino ¡Manos a la obra!

Introducción a Arduino

Lucas Martire - Santiago Rodríguez - Germán Scillone - Jorge Anderson - Sebastián Millán - Facundo Aparicio - Juan C.

Scattuerchio

Depto. ELECTROTECNIA - FI - UNLP

(2)

Mundo Arduino ¡Manos a la obra!

Índice

1 Mundo Arduino

(3)

Mundo Arduino ¡Manos a la obra!

Índice

1 Mundo Arduino 2 ¡Manos a la obra! CDR - 2015 Electrotecnia - FI - UNLP

(4)

Mundo Arduino

¡Manos a la obra!

¿Por qué Arduino?

El Arduino es una plataforma de desarrollo que nos brindará una rápida y fácil introducción al mundo de los microcontroladores, permitiendo tanto la creación como implementación de una gran variedad de proyectos sin un conocimiento demasiado extenso sobre la materia.

(5)

Mundo Arduino

¡Manos a la obra!

Entorno de Desarrollo Integrado (IDE)

La IDE es el lugar donde trabajaremos nuestra programación, para luego poder cargarla al Arduino. Se comunica a través del puerto UART del microcontrolador, creando una interfaz USB.

¿En que lenguaje programaremos?

El Arduino tiene la facilidad de

adaptación para un sin fin de lenguajes de programación posibles, nosotros nos dedicaremos a la programación en el

lenguajeC.

(6)

Mundo Arduino

¡Manos a la obra!

Un poco de programación

Poniendo manos a la obra

Para hacer uso del microcontrolador, habrá que especificar las instrucciones que deberá seguir para realizar las tareas deseadas.

Para ello, recurrimos a la programación usando el lenguajeCtal

como se anticipó.

Fundamentos deCpara Arduino

La IDE de Arduino hace uso varias librerías (Las cuales son conjuntos de funciones predefinidas) para facilitar la tarea de programación. En tanto, este entorno consta de dos funciones

fundamentales. Estas son las funcionessetup() yloop() y las

(7)

Mundo Arduino

¡Manos a la obra!

Algunas funciones básicas

Las siguientes funciones están relacionadas con el módulo de puertos Entrada/salida:

pinMode(pin,mode)

digitalRead(pin) digitalWrite(pin,value)

(8)

Mundo Arduino

¡Manos a la obra!

Algunas funciones básicas

Las siguientes funciones están relacionadas con el módulo de puertos Entrada/salida:

pinMode(pin,mode)

digitalRead(pin)

(9)

Mundo Arduino

¡Manos a la obra!

Algunas funciones básicas

Las siguientes funciones están relacionadas con el módulo de puertos Entrada/salida:

pinMode(pin,mode) digitalRead(pin)

digitalWrite(pin,value)

(10)

Mundo Arduino

¡Manos a la obra!

Algunas funciones básicas

La siguiente función está relacionada con el módulo del conversor Analógico/Digital:

analogRead(pin)

La siguiente función está relacionada con el módulo del temporizador:

analogWrite(pin,value)

Las siguientes funciones están relacionadas con el módulo de comunicación:

Serial.begin(speed) Serial.write(val) Serial.read()

(11)

Mundo Arduino

¡Manos a la obra!

Algunas funciones básicas

La siguiente función está relacionada con el módulo del conversor Analógico/Digital:

analogRead(pin)

La siguiente función está relacionada con el módulo del temporizador:

analogWrite(pin,value)

Las siguientes funciones están relacionadas con el módulo de comunicación:

Serial.begin(speed) Serial.write(val) Serial.read()

(12)

Mundo Arduino

¡Manos a la obra!

Algunas funciones básicas

La siguiente función está relacionada con el módulo del conversor Analógico/Digital:

analogRead(pin)

La siguiente función está relacionada con el módulo del temporizador:

analogWrite(pin,value)

Las siguientes funciones están relacionadas con el módulo de comunicación:

Serial.begin(speed) Serial.write(val) Serial.read()

(13)

Mundo Arduino

¡Manos a la obra!

Algunas funciones básicas

La siguiente función está relacionada con el módulo del conversor Analógico/Digital:

analogRead(pin)

La siguiente función está relacionada con el módulo del temporizador:

analogWrite(pin,value)

Las siguientes funciones están relacionadas con el módulo de comunicación:

Serial.begin(speed) Serial.write(val) Serial.read()

(14)

Mundo Arduino

¡Manos a la obra!

Algunas funciones básicas

La siguiente función está relacionada con el módulo del conversor Analógico/Digital:

analogRead(pin)

La siguiente función está relacionada con el módulo del temporizador:

analogWrite(pin,value)

Las siguientes funciones están relacionadas con el módulo de comunicación:

Serial.begin(speed)

Serial.write(val) Serial.read()

(15)

Mundo Arduino

¡Manos a la obra!

Algunas funciones básicas

La siguiente función está relacionada con el módulo del conversor Analógico/Digital:

analogRead(pin)

La siguiente función está relacionada con el módulo del temporizador:

analogWrite(pin,value)

Las siguientes funciones están relacionadas con el módulo de comunicación:

Serial.begin(speed)

Serial.write(val)

Serial.read()

(16)

Mundo Arduino

¡Manos a la obra!

Algunas funciones básicas

La siguiente función está relacionada con el módulo del conversor Analógico/Digital:

analogRead(pin)

La siguiente función está relacionada con el módulo del temporizador:

analogWrite(pin,value)

Las siguientes funciones están relacionadas con el módulo de comunicación:

Serial.begin(speed) Serial.write(val)

(17)

Esquema de pines del Arduino

Poniendo manos a la obra

El Arduino posee su propia enumeración para los puertos del

microcontrolador, la cual tendremos que tomar en cuenta a la hora de crear nuestras aplicaciones.

(18)

Mundo Arduino ¡Manos a la obra!

Placa de prueba

RX TX SW2 13 11 10 9 7 4 2 1 0 3 5 6 8 12 0 0 A1 A3 A4 A5 A2 A0 0 0 3.3V GND Vin 5V GND GND SW1 SW2 SW3 LED3 LED4 LED1 LED2 FT LDR POT LDR FT POT SW1 SW3 LED3 LED4 PWM LED2 PWM LED1 PWM

(19)

Mundo Arduino

¡Manos a la obra!

Pin Micro

Pin Micro

(20)

Mundo Arduino

¡Manos a la obra!

+5V

(21)

Mundo Arduino

¡Manos a la obra!

¡A trabajar!

Para concluir, se mostrará un pequeño ejemplo, clásico para la introducción en el manejo de microcontroladores. El código del proyecto siguiente servirá para mostrar un led resplandeciente con una frecuencia fija y en dicho código se utilizarán algunas de las funciones presentadas anteriormente.

(22)

Mundo Arduino

¡Manos a la obra!

Utilizando los puertos digitales

Para nuestro primer programa en Arduino comenzaremos por probar los puertos digitales. Prueben encender y apagar uno de los leds con una espera de 1 segundo, recuerden que para poder utilizar los puertos digitales deben ser configurados previamente.

Pistas

Utilice las funcionespinMode()para configurar los puertos como

salida,digitalWrite()para encender o apagar los leds y la función

delay()pare generar los retardos. ¿Hay una forma más sencillo de hacerlo?

(23)

Mundo Arduino

¡Manos a la obra!

¡Hola mundo!

#include <DEF_PP.h>

/* La rutina de inicialización se ejecuta una vez que se presione "reset" */

void setup() {

// Se inicializa el pin digital como salida. pinMode(LED1, OUTPUT);

}

/* La rutina de "loop" se ejecuta indefinidamente */ void loop() {

digitalWrite(LED1, HIGH); // encender el LED delay(1000); // esperar un segundo digitalWrite(LED2, LOW); // apagar el LED delay(1000); // esperar un segundo }

(24)

Mundo Arduino

¡Manos a la obra!

Utilizando los puertos digitales

Continuando con los puertos digitales, intente utilizar alguno de los pulsadores para encender uno de los leds cuando sea presionado.

Pistas

Recuerde que para poder leer los puertos digitales utilizaremos la

funcióndigitalRead(). La función para configurar los puertos

digitales erapinMode(). ¿Con que opción tendremos que configurar

(25)

Mundo Arduino

¡Manos a la obra!

Para finalizar

Ahora intentaremos utilizar los puertos de lectura analógicos, trate de leer el valor de tensión en el potenciómetro asignandole intervalos de valores para el encendido de diferentes leds.

Pistas

Para leer los puertos analógicos podremos utilizar la función

analogRead(). Recuerde que la función devuelve valores entre 0 y 1023 unicamente, asi que puede dividir los intervalos de 0 a 511 y 512 a 1023.

(26)

Referencias

Documento similar