arduino(tipos y su programacion)

45
Arduino Hernando M. León Araujo Jesús D. Gulfo Agudelo

Upload: oscar-pastrana

Post on 29-Nov-2014

857 views

Category:

Education


9 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Arduino(Tipos y su Programacion)

ArduinoHernando M. León Araujo

Jesús D. Gulfo Agudelo

Page 2: Arduino(Tipos y su Programacion)

Introducción

Arduino es una plataforma de electrónica abierta para la creación de prototipos basada en software y hardware libre, flexibles y fáciles de usar.

El microcontrolador en la placa Arduino se programa mediante el lenguaje de programación Arduino (basado en Wiring) y el entorno de desarrollo Arduino (basado en Processing).

Page 3: Arduino(Tipos y su Programacion)

Familia Arduino

Page 4: Arduino(Tipos y su Programacion)

Familia Arduino

Page 5: Arduino(Tipos y su Programacion)

Arduino Uno

Microcontrolador ATMega328  Funcionamiento 5V  Voltaje Entrada de voltaje (recomendado) 7-12V  Límites de voltaje 6-20V  Digital I / O Pins 14 (de los cuales 6 proporcionar una

salida PWM)  6 pines de entrada analógica DC  Corriente de pines I / O 40 mA  Memoria Flash de 32 KB (ATMega328) de los cuales

0,5 KB utilizado por el gestor de arranque  SRAM 2KB (ATMega328) EEPROM 1KB (ATMega328)  Velocidad del reloj de 16 MHz

Page 6: Arduino(Tipos y su Programacion)

Arduino Uno

Page 7: Arduino(Tipos y su Programacion)

Arduino Mega

Microcontrolador ATmega2560 

Voltaje de alimentación 7-12V 

54 E / S digitales (14 salidas PWM) 

16 entradas analógicas 

256k de memoria flash 

Velocidad del reloj de 16Mhz 

Fácil de programar

Page 8: Arduino(Tipos y su Programacion)

Arduino Mega

Page 9: Arduino(Tipos y su Programacion)

Arduino Mega ADK

Microcontrolador: ATmega2560 Alimentación: 5V Entrada: 7-12V Límites (max): 5.5-16V Pines digitales: 54 (14 con PWM) Pines analógicos: 16 Corriente por pin: 40 mA Corriente sobre pin 3,3V: 50 mA Memoria Flash (programa): 256 KB (8 KB usados para el

bootloader) SRAM: 8 KB EEPROM: 4 KB Reloj: 16 MHz

Page 10: Arduino(Tipos y su Programacion)

Arduino Mega ADK

Page 11: Arduino(Tipos y su Programacion)

Arduino Lilypad Microcontrolador  ATmega328V 

Voltaje de funcionamiento 2,7-5,5 V 

Voltaje de entrada 2,7-5,5 V 

14 pines digitales I/O (de los cuales 6 proporcionan una salida PWM)

6 pines de entrada analógica  

Corriente DC de los pines I / O  40 mA 

Memoria Flash de 16 KB (de los cuales 2 KB utilizado por el gestor de arranque) 

SRAM de 1 KB  

EEPROM de 512 bytes 

Velocidad del reloj de 8 MHz 

50 mm de diámetro exterior 

Espesor del PCB 0.8mm 

Page 12: Arduino(Tipos y su Programacion)

Arduino Lilypad

Page 13: Arduino(Tipos y su Programacion)

Arduino Fio

ATmega328V funcionando a 8MHz 

Arduino Bootloader 

Zócalo XBee 

Compatible con batería de polímero de litio 

MAX1555 cargador LiPo 

Botón de reinicio 

Interruptor On/Off 

Led´s de Estado/carga/RSSI 

Page 14: Arduino(Tipos y su Programacion)

Arduino Fio

Page 15: Arduino(Tipos y su Programacion)

ATmega 328

ATMega328 de Atmel de 8 bits es un integrado de 28 pines en encapsulado DIP.

Tiene 32K de espacio para los programas.

23 líneas I/O, de las cuales 6 son los canales para el ADC de 10 bits.

Funciona hasta 20 MHz con un cristal exterior.

Voltaje operativo de 1.8V a 5V 

Page 16: Arduino(Tipos y su Programacion)

Shields

Un Shield es una placa que permite expandir funcionalidades a Arduino.

Page 17: Arduino(Tipos y su Programacion)

Shields

Page 18: Arduino(Tipos y su Programacion)

Arduino Uno1. Conector USB para el cable Tipo AB

2. Pulsador de Reset

3. Pines de E/S digitales y PWM

4. LED verde de placa encendida

5. LED naranja conectado al pin13

6. ATmega 16U2 encargado de la comunicación con el PC

7. LED TX (Transmisor) y RX (Receptor) de la comunicación serial

8. Puerto ICSP para programación serial

9. Microcontrolador ATmega 328, cerebro del Arduino

10. Cristal de cuarzo de 16Mhz

11. Regulador de voltaje

12. Conector hembra 2.1mm con centro positivo

13. Pines de voltaje y tierra

14. Entradas análogas

Page 19: Arduino(Tipos y su Programacion)

Fritzing

Fritzing es un software para diseñar los montajes en protoboard y a partir de ello generar el diagrama esquemático y el PCB.

Page 20: Arduino(Tipos y su Programacion)

Vista Protoboard

Page 21: Arduino(Tipos y su Programacion)

Vista Esquema

Page 22: Arduino(Tipos y su Programacion)

Vista PCB

Page 23: Arduino(Tipos y su Programacion)

Programar en Arduino

Estructuras

Variables

Operadores: matemáticos, lógicos y booleanos

Estructuras de control: Condicionales y ciclos

Funciones

Page 24: Arduino(Tipos y su Programacion)

Estructuras

Son dos funciones principales que debe tener todo programa en Arduino:

setup(){

}

Código de configuración inicial, solo se ejecuta una vez.

loop(){

}

Esta función se ejecuta luego del setup(), se mantiene ejecutándose hasta que se desenergice o desconecte el Arduino.

Page 25: Arduino(Tipos y su Programacion)

Variables

Booleano:

true ó false

Boolean encendido=true;

Entero:

Valor entero

int conta=5;

Carácter:

Almacena un ASCII

char letra=’a’;

Page 26: Arduino(Tipos y su Programacion)

Operadores booleanos

Usados generalmente dentro del condicional If

&& (y)

|| (o)

! (negación)

If (a || b)

Page 27: Arduino(Tipos y su Programacion)

Operadores de comparación

Usados generalmente dentro del condicional If y sobre el For y While

== (igual a)

!= (diferente de)

< (menor que)

> (mayor que)

<= (menor o igual)

>= (mayor o igual)

If (a == b)

Page 28: Arduino(Tipos y su Programacion)

Operadores matemáticos

Se aplican al manejo de variables, condicionales y ciclos

= (asignar)

% (módulo)

+ (suma)

- (resta)

* (multiplicación)

/ (división)

int valor = valor +5

Page 29: Arduino(Tipos y su Programacion)

Estructuras de control

Son instrucciones que nos permiten tomar decisiones y hacer diversas repeticiones de acuerdo a unos parámetros, dentro de las más importantes podemos destacar:

If

Switch/case

For

While

Page 30: Arduino(Tipos y su Programacion)

Condicionales

if (entrada < 500)

{

// acción A

} else

{

// acción B

}

switch (var) {

case 1:

// acción A

break;

case 2:

// acción B

break;

default:

// acción C

}

Page 31: Arduino(Tipos y su Programacion)

Ciclos

for( int a=0; a>10; a++ )

{

// acción a repetir

}

while ( var < 200) {

// acción a repetir

var++;

}

Page 32: Arduino(Tipos y su Programacion)

Funciones

Una función es un conjunto de líneas de código que realizan una tarea específica y puede retor-nar un valor. Las funciones pueden tomar pará-metros que modifiquen su funcionamiento.

Funciones digitales

Funciones analogas

Page 33: Arduino(Tipos y su Programacion)

Funciones digitales

Orientas a revisar el estado y la configuración de las entradas y salidas digitales

pinMode():Permite configurar un pin

pinMode(pin,modo)

pinMode (13,OUTPUT);

pinMode (a,INPUT);

Page 34: Arduino(Tipos y su Programacion)

Funciones digitales

digitalRead()

Leer un pin digital (0 ó 1)

digitalRead(pin)

int a = digitalRead (13);

digitalWrite()

Escribir un pin digital con 1 ó 0

digitalWrite(pin,estado)

digitalWrite (13,HIGH);

digitalWrite (13,LOW);

Page 35: Arduino(Tipos y su Programacion)

Funciones análogas

analogRead()

Leer un valor análogo 0 a 1023

analogRead(pin)

int a = analogRead (A0);

analogWrite() —> PWM

Escribir un valor análogo 0 a 255

analogWrite(pin,valor de PWM)

analogWrite (9, 134);

Page 36: Arduino(Tipos y su Programacion)

El programa de Arduino se puede dividir en tres partes principales: La estructura, las variables (valores y constantes) y funciones.

Page 37: Arduino(Tipos y su Programacion)
Page 38: Arduino(Tipos y su Programacion)
Page 39: Arduino(Tipos y su Programacion)

Librerías

EEPROM - leer y escribir

Ethernet - conectarse a Internet

Cristal líquido - control de LCD

SD - lectura y escritura de tarjetas SD

Servo - control de servomotores

SPI - comunicación por el bus SPI

Paso a paso - control de motores

Wire - enviar y recibir datos TWI/I2C

Page 40: Arduino(Tipos y su Programacion)
Page 41: Arduino(Tipos y su Programacion)
Page 42: Arduino(Tipos y su Programacion)
Page 43: Arduino(Tipos y su Programacion)
Page 44: Arduino(Tipos y su Programacion)
Page 45: Arduino(Tipos y su Programacion)

Taller

1. Realizar un programa que reciba datos desde el teclado del computador a través de la consola serial y permita controlar un juego de luces con 3 leds. Si se escribe:

a) Letra A: Enciende los tres LED’s

b) Letra B: Enciende el LED1 por un segundo y lo apaga, luego enciende el LED2 por un segundo y lo apaga y finalmente enciende el LED3 por un segundo y lo apaga, y vuelve a comenzar la secuencia.

c) Letra C: Apaga los tres LED’s