0% encontró este documento útil (0 votos)
116 vistas18 páginas

Arduino

Este documento describe las características de la placa Arduino Atmega-328P y su aplicación en proyectos automotrices. Explica que la placa contiene un microcontrolador Atmega-328P y describe sus memorias Flash, SRAM y EEPROM. También cubre los tipos de variables que se pueden usar como booleano, byte, char, int y long, y provee ejemplos de su implementación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
116 vistas18 páginas

Arduino

Este documento describe las características de la placa Arduino Atmega-328P y su aplicación en proyectos automotrices. Explica que la placa contiene un microcontrolador Atmega-328P y describe sus memorias Flash, SRAM y EEPROM. También cubre los tipos de variables que se pueden usar como booleano, byte, char, int y long, y provee ejemplos de su implementación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 18

www.themegallery.

com
LOGO

APLICACIÓN AUTOMOTRIZ
MICROCONTROLADOR
Atmega-328P-PU
(ARDUINO)

AUTOTRÓNICA
Lic. Marcelo Quispe M.
ITA - 367
1

CONTENIDO TEMÁTICO

CONOCIENDO ARDUINO
1
3

CARACTERÍSTICAS DE LA PLACA ARDUINO ATMEGA-328P


2

Análisis de la placa Arduino


3

4 Las memorias del microcontrolador

2 Lic. Marcelo Quispe M. LOGO


CONTENIDO TEMÁTICO

APLICACIÓN AUTOMOTRIZ
5
3

6 TIPOS POSIBLES DE UNA VARIABLE

CAMBIO DE TIPO DE DATOS (NUMÉRICOS)


7
3

8 BLOQUES CONDICIONALES

3 Lic. Marcelo Quispe M. LOGO

CONOCIENDO ARDUINO

4 Lic. Marcelo Quispe M. LOGO


CONOCIENDO ARDUINO

5 Lic. Marcelo Quispe M. LOGO

CONOCIENDO ARDUINO

Fundamentalmente Arduino es una plataforma electrónica


abierta para la creación de prototipos y que gira entorno a un
microcontrolador.

6 Lic. Marcelo Quispe M. LOGO


CONOCIENDO ARDUINO

Conviene conocer estas características para identificar qué placa


Arduino es la que nos convendrá más en cada proyecto

7 Lic. Marcelo Quispe M. LOGO

CONOCIENDO ARDUINO
los microcontroladores incorporados en las diferentes placas Arduino
pertenecen todos a la misma “familia tecnológica”, por lo que su
funcionamiento en realidad es bastante parecido entre sí. En concreto, todos los
microcontroladores son de tipo AVR, una arquitectura de microcontroladores
desarrollada y fabricada por la marca Atmel

8 Lic. Marcelo Quispe M. LOGO


CARACTERÍSTICAS DE LA PLACA ARDUINO
ATMEGA-328P

La placa Arduino comprende tres partes principales:

FT232RL
Recepción de
datos Tx/Rx

9 Lic. Marcelo Quispe M. LOGO

Análisis de la placa Arduino

10 Lic. Marcelo Quispe M. LOGO


Esquema de conexionado de los pines digitales y
analógicos al microcontrolador Atmega328P

11 Lic. Marcelo Quispe M. LOGO

Esquema de conexionado de los pines de alimentación


al microcontrolador Atmega328P

12 Lic. Marcelo Quispe M. LOGO


Conector ICSP

13 Lic. Marcelo Quispe M. LOGO

Microcontrolador Atmega 328P

14 Lic. Marcelo Quispe M. LOGO


Microcontrolador Atmega 328P

15 Lic. Marcelo Quispe M. LOGO

Las memorias del microcontrolador

16 Lic. Marcelo Quispe M. LOGO


Las memorias del microcontrolador

Memoria Flash: memoria persistente donde se almacena


permanentemente el programa que ejecuta el microcontrolador
(hasta una nueva reescritura si se da el caso). En el caso del
ATmega328P tiene una capacidad de 32KB.

• 1 kilobyte (a veces escrito como KB) es un grupo de 1024 bytes


(es decir, 8192 bits).
• en la placa Arduino no podemos usar toda la capacidad de la
memoria Flash porque existen 512 bytes (el llamado
“bootloader block”) ocupados ya por un código preprogramado
de fábrica (el llamado “bootloader” o “gestor de arranque”)

17 Lic. Marcelo Quispe M. LOGO

LAS MEMORIAS DEL MICROCONTROLADOR

Memoria SRAM: memoria volátil donde se alojan los datos que


en ese instante el programa (grabado separadamente en la
memoria Flash, recordemos) necesita crear o manipular para su
correcto funcionamiento. Estos datos suelen tener un contenido
variable a lo largo del tiempo de ejecución del programa y cada
uno es de un tipo concreto (es decir, un dato puede contener un
valor numérico entero, otro un número decimal, otro un valor de
tipo carácter… también pueden ser cadenas de texto fijas u otros
tipos de datos más especiales). Independientemente del tipo de
dato, su valor siempre será eliminado cuando se deje de alimentar
eléctricamente al microcontrolador. En el caso del ATmega328P
esta memoria tiene una capacidad de 2KB.

18 Lic. Marcelo Quispe M. LOGO


LAS MEMORIAS DEL MICROCONTROLADOR

Memoria SRAM: memoria volátil donde se alojan los datos que


en ese instante el programa (grabado separadamente en la
memoria Flash, recordemos) necesita crear o manipular para su
correcto funcionamiento. Estos datos suelen tener un contenido
variable a lo largo del tiempo de ejecución del programa y cada
uno es de un tipo concreto (es decir, un dato puede contener un
valor numérico entero, otro un número decimal, otro un valor de
tipo carácter… también pueden ser cadenas de texto fijas u otros
tipos de datos más especiales). Independientemente del tipo de
dato, su valor siempre será eliminado cuando se deje de alimentar
eléctricamente al microcontrolador. En el caso del ATmega328P
esta memoria tiene una capacidad de 2KB.

19 Lic. Marcelo Quispe M. LOGO

LAS MEMORIAS DEL MICROCONTROLADOR

Memoria EEPROM: memoria persistente donde se almacenan


datos que se desea que permanezcan grabados una vez apagado el
microcontrolador para poderlos usar posteriormente en siguientes
reinicios. En el caso del ATmega328P esta memoria tiene una
capacidad de 1 KB, por lo que se puede entender como una tabla
de 1024 posiciones de un byte cada una.

20 Lic. Marcelo Quispe M. LOGO


Microcontrolador Atmega 328P

21 Lic. Marcelo Quispe M. LOGO

Algunos pines tienen funciones principales:

Serial: 0 (Rx) y 1 (Tx). Usados para recibir (Rx) y transmitir (Tx) datos TTL,
en serie. Estos pines están conectados a los pines correspondientes del chip
FTDI USB-a-TTL Serie.
Interruptores externos: 2 y 3. Estos pines pueden ser configurados para
disparar un interruptor en un valor bajo, un margen creciente o decreciente, o
un cambio de valor. Mirar la función attachInterrupt()
http://www.arduino.cc/en/Reference
PWM: 3, 5, 6, 9, 10 y 11. Proporcionan salida PWM de 8 bits con la función
analogWrite(). http://www.arduino.cc/en/Reference
LED: 13. Hay un LED instalado en la placa arduino conectado al pin D13.
Cuando el pin 13 está a valor HIGH, el LED está encendido, cuando el pin está
a LOW, está apagado.
Reset. Pone esta línea a LOW para resetear el microcontrolador. Típicamente
usada para añadir un botón de reset a dispositivo que bloquean a la placa
principal.
Entradas analógicas. Arduino Duemilanove tiene 6 entradas analógicas AN0
a AN5 (analog pins).
22 Lic. Marcelo Quispe M. LOGO
23 Lic. Marcelo Quispe M. LOGO

APLICACIÓN AUTOMOTRIZ

24 Lic. Marcelo Quispe M. LOGO


APLICACIÓN AUTOMOTRIZ

25 Lic. Marcelo Quispe M. LOGO

APLICACIÓN AUTOMOTRIZ

26 Lic. Marcelo Quispe M. LOGO


APLICACIÓN AUTOMOTRIZ

27 Lic. Marcelo Quispe M. LOGO

APLICACIÓN AUTOMOTRIZ

28 Lic. Marcelo Quispe M. LOGO


Tipos posibles de una variable
El tipo “boolean”: las variables de este tipo solo pueden tener dos
valores: cierto o falso. Se utilizan para almacenar un estado de
entre esos dos posibles, y así hacer que el skech reaccione según
detecte en ellas uno u otro.

Boolean mivariable=true; o bien boolean mivariable=1;

El tipo “char”: el valor que puede tener una variable de este tipo es
siempre un solo carácter (una letra, un dígito, un signo de
puntuación...). Si lo que queremos es almacenar una cadena de
caracteres (es decir, una palabra o una frase) el tipo “char” no nos
sirve, deberemos usar otro tipo explicado posteriormente.
char mivariable='A';.

29 Lic. Marcelo Quispe M. LOGO

Tipos posibles de una variable


El tipo “byte”: el valor que puede tener una variable de este tipo es
siempre un número entero entre 0 y 255. Al igual que las variables
de tipo “char”, las de tipo “byte” utilizan un byte (8 bits) para
almacenar su valor y, por tanto, tienen el mismo número de
combinaciones numéricas posibles diferentes (256), pero a
diferencia de aquellas, los valores de una variable “byte” no
pueden ser negativos.

El tipo “int”: el valor que puede tener una variable de este tipo es
un número entero entre -32768 (-215) y 32767 (215-1), gracias a
que utilizan 2 bytes (16 bits) de memoria para almacenarse.

30 Lic. Marcelo Quispe M. LOGO


Tipos posibles de una variable
El tipo “long”: el valor que puede tener una variable de este tipo
para todos los modelos de placa (ya sean basadas en
microcontroladores de tipo AVR o de tipo ARM) es un número
entero entre -2.147.483.648 y 2.147.483.647 gracias a que utilizan
4 bytes (32 bits) de memoria para almacenarse. En este sentido,
los tipos “long” e “int” para placas de la familia ARM son
equivalentes.
El tipo “unsigned long”: el valor que puede tener una variable de
este tipo para todos los modelos de placa (ya sean basadas en
microcontroladores de tipo AVR o ARM) es un número entero
entre 0 y 4.294.967.295 (232-1).

31 Lic. Marcelo Quispe M. LOGO

Tipos posibles de una variable


El tipo “double”: Es un sinónimo exactamente equivalente del tipo
“float”, y por tanto no aporta ningún aumento de precisión
respecto a este (a diferencia de lo que pasa en otros lenguajes,
donde “double” sí que aporta el doble de precisión). Tanto una
variable de tipo “double” como una de tipo “float” ocupan cuatro
bytes de memoria.
El tipo “array”: este tipo de datos en realidad no existe como tal. Lo
que existen son arrays de variables de tipo “boolean”, arrays de
variables de tipo “int”, arrays de variables de tipo “float”, etc. En
definitiva: arrays de variables de cualquier tipo de los mencionados
hasta ahora. Un array (también llamado “vector”) es una colección
de variables de un tipo concreto que tienen todas el mismo y único
nombre, pero que pueden distinguirse entre sí
por un número a modo de índice 32 Lic. Marcelo Quispe M. LOGO
Cambio de tipo de datos (numéricos)

float variablefloat=3.4;
byte variablebyte=126;
void setup() {
Serial.begin(9600);
Serial.println(byte(variablefloat));
Serial.println(int(variablefloat));
Serial.println(word(variablefloat));
Serial.println(long(variablefloat));
Serial.println(char(variablebyte));
Serial.println(float(variablebyte));
}
void loop() {
//No se ejecuta nada aquí
}

33 Lic. Marcelo Quispe M. LOGO

Cambio de tipo de datos (numéricos)

float resultado;

int numerador=5;
int denominador=2;

void setup() {
Serial.begin(9600);
resultado= float numerador/denominador;
Serial.println(resultado);
}
void loop() {}

34 Lic. Marcelo Quispe M. LOGO


Cambio de tipo de datos (numéricos)

int numero=100;
long resultado;

void setup() {
Serial.begin(9600);
resultado= numero*1000;
Serial.println(resultado);
}

void loop() {}

35 Lic. Marcelo Quispe M. LOGO

También podría gustarte