2. 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).
5. 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
11. 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
15. 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
16. Shields
Un Shield es una placa que permite expandir
funcionalidades a Arduino.
18. Arduino Uno
1. Conector USB para el cable Tipo AB
Pulsador de Reset
Pines de E/S digitales y PWM
LED verde de placa encendida
LED naranja conectado al pin13
ATmega 16U2 encargado de la
comunicación con el PC
LED TX (Transmisor) y RX (Receptor) de la
comunicación serial
Puerto ICSP para programación serial
Microcontrolador ATmega 328, cerebro del
Arduino
2.
3.
4.
5.
6.
7.
8.
9.
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
19. 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.
24. 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.
25. Variables
Booleano:
true ó false
Boolean encendido=true;
Entero:
Valor entero
int conta=5;
Carácter:
Almacena un ASCII
char letra=’a’;
27. 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)
28. 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
29. 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
30. Condicionales
if (entrada < 500) switch (var) {
{ case 1:
// acción A // acción A
} else break;
{ case 2:
// acción B // acción B
} break;
default:
// acción C
}
31. Ciclos
for( int a=0; a>10; a++ ) while ( var < 200) {
{ // acción a repetir
// acción a repetir var++;
} }
32. 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
33. 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);
34. 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);
35. 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);
36. El programa de Arduino se puede dividir
en tres partes principales:
La estructura, las variables (valores y
constantes) y funciones.
37.
38.
39. 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
40.
41.
42.
43.
44.
45. 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