Arduino(Tipos y su Programacion)
-
Upload
oscar-pastrana -
Category
Education
-
view
854 -
download
9
description
Transcript of Arduino(Tipos y su Programacion)
![Page 1: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/1.jpg)
ArduinoHernando M. León Araujo
Jesús D. Gulfo Agudelo
![Page 2: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/2.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/3.jpg)
Familia Arduino
![Page 4: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/4.jpg)
Familia Arduino
![Page 5: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/5.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/6.jpg)
Arduino Uno
![Page 7: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/7.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/8.jpg)
Arduino Mega
![Page 9: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/9.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/10.jpg)
Arduino Mega ADK
![Page 11: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/11.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/12.jpg)
Arduino Lilypad
![Page 13: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/13.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/14.jpg)
Arduino Fio
![Page 15: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/15.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/16.jpg)
Shields
Un Shield es una placa que permite expandir funcionalidades a Arduino.
![Page 17: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/17.jpg)
Shields
![Page 18: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/18.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/19.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/20.jpg)
Vista Protoboard
![Page 21: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/21.jpg)
Vista Esquema
![Page 22: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/22.jpg)
Vista PCB
![Page 23: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/23.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/24.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/25.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/26.jpg)
Operadores booleanos
Usados generalmente dentro del condicional If
&& (y)
|| (o)
! (negación)
If (a || b)
![Page 27: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/27.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/28.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/29.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/30.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/31.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/32.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/33.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/34.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/35.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/36.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/37.jpg)
![Page 38: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/38.jpg)
![Page 39: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/39.jpg)
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)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/40.jpg)
![Page 41: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/41.jpg)
![Page 42: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/42.jpg)
![Page 43: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/43.jpg)
![Page 44: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/44.jpg)
![Page 45: Arduino(Tipos y su Programacion)](https://reader031.fdocument.pub/reader031/viewer/2022020922/5479c3b65906b511358b45db/html5/thumbnails/45.jpg)
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