arduino(tipos y su programacion)

Post on 29-Nov-2014

857 Views

Category:

Education

9 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

ArduinoHernando M. León Araujo

Jesús D. Gulfo Agudelo

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

Familia Arduino

Familia Arduino

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

Arduino Uno

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

Arduino Mega

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

Arduino Mega ADK

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 

Arduino Lilypad

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 

Arduino Fio

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 

Shields

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

Shields

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

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.

Vista Protoboard

Vista Esquema

Vista PCB

Programar en Arduino

Estructuras

Variables

Operadores: matemáticos, lógicos y booleanos

Estructuras de control: Condicionales y ciclos

Funciones

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.

Variables

Booleano:

true ó false

Boolean encendido=true;

Entero:

Valor entero

int conta=5;

Carácter:

Almacena un ASCII

char letra=’a’;

Operadores booleanos

Usados generalmente dentro del condicional If

&& (y)

|| (o)

! (negación)

If (a || b)

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)

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

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

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

}

Ciclos

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

{

// acción a repetir

}

while ( var < 200) {

// acción a repetir

var++;

}

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

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

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

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

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

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

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

top related