Arduino(Tipos y su Programacion)
-
Upload
oscar-pastrana -
Category
Education
-
view
854 -
download
9
description
Transcript of Arduino(Tipos y su Programacion)
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