0% encontró este documento útil (0 votos)
24 vistas22 páginas

Introducción a Arduino y Programación

Este documento presenta la placa Arduino UNO e introduce la programación de Arduino. Describe los componentes de la placa, sus características técnicas y proporciona ejemplos de programas para controlar LEDs y motores.

Traducido por

ScribdTranslations
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)
24 vistas22 páginas

Introducción a Arduino y Programación

Este documento presenta la placa Arduino UNO e introduce la programación de Arduino. Describe los componentes de la placa, sus características técnicas y proporciona ejemplos de programas para controlar LEDs y motores.

Traducido por

ScribdTranslations
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

CPES

INICIO EN LA PROGRAMACIÓN ARDUINO


Objetivo :
- Descubrir el universo ARDUINO
- Tener la información técnica principal sobre la tarjeta ARDUINO UNO 3h
- Saber cómo realizar un programa ARDUINO

1. PRESENTACIÓN ARDUINO........................................................................................................................... 2
2. LA PLACA ARDUINO UNOO ............................................................................................................................ 3
2.1. Los diferentes elementos
2.2. Las principales características ...................................................................................................... 3
2.3. La alimentación................................................................................................................................ 4
2.4. Las entradas-salidas ........................................................................................................................... 4
2.5. Los recuerdos................................................................................................................................. 5
2.6. El reloj........................................................................................................................................ 5
2.7. La comunicación
2.8. El restablecimiento.......................................................................................................................................... 5
2.9. La protección de sobreintensidad USB................................................................................................... 5
3. LA PROGRAMACIÓN DE LA TARJETA ARDUINO ........................................................................................... 6
3.1. La interfaz de programación........................................................................................................ 6
3.2. La estructura de un programa......................................................................................................... 7
3.3. La sintaxis del lenguaje ARDUINO..................................................................................................... 8
3.4. Los comentarios .......................................................................................................................... 8
3.5. Los datos, variables y constantes .............................................................................................. 8
3.6. Los operadores ............................................................................................................................... 9
3.7. Las bibliotecas de funciones ..................................................................................................... 10
3.8. Las etapas de desarrollo de un programa............................................................................ 17
4. LOS EJERCICIOS

4.1. EJERCICIO N°1: HACER PARPADEAR UN LED.................................................................................... 18


4.2. EJERCICIO N°2 : ENCENDER UN LED CON UN BOTÓN PULSADOR ......................................................... 20
4.3. EJERCICIO N°3: CONTROLAR UN MOTOR EN UN SENTIDO DE ROTACIÓNN.............................................. 20
4.4. EJERCICIO N°4: CONTROLAR UN MOTOR EN LAS 2 DIRECCIONES DE ROTACIÓN POR 1 PUENTE EN H ............... 21
4.5. EJERCICIO N°5GESTIÓN DE UNA ENTRADA ANALÓGICAE .................................................................. 21
5. AIDE BREADBOARD

P á g e 1 | 22
CPES

ARDUINO

1. Presentación ARDUINO
ARDUINO es una plataforma de hardware y software para el desarrollo de aplicaciones embebidas.

En cuanto al hardware, consiste en un circuito electrónico basado en un microcontrolador (ATMEL AVR)


comportando un cierto número de entradas y salidas (los puertos) que permiten la conexión de sensores, o
de actuadores.

El software de programación de los módulos ARDUINO es una aplicación Java, libre y multiplataforma, que sirve
de editor de código y compilador, y que puede transferir el programa a través de la conexión USB. El lenguaje de
La programación utilizada es una mezcla de C y C++, restringida y adaptada a las posibilidades de la tarjeta.

Las principales ventajas del sistema ARDUINO son:

➢ Material poco costoso: Las tarjetas ARDUINO son relativamente económicas en comparación con las demás.
plataformas de desarrollo. La versión más barata del módulo ARDUINO puede ser ensamblada en la
principal, e incluso las placas ARDUINO preensambladas cuestan menos de 25 €.

➢ Material: Los esquemas de los módulos se publican bajo una licencia Creative Commons, y es posible de
realizar nuestras propias versiones de las tarjetas ARDUINO, complementándolas y mejorándolas.

➢ Software gratuito: El software ARDUINO y el lenguaje ARDUINO están disponibles para ser complementados por
programadores experimentados. El lenguaje también se puede ampliar con la ayuda de bibliotecas C++.

➢ Software multiplataforma: El software ARDUINO, escrito en Java, funciona en los sistemas operativos
Windows, Macintosh y Linux.

➢ Módulos « Shield »: Tarjetas adicionales que se conectan al módulo ARDUINO para aumentar la
posibilidades: pantalla gráfica en color, interfaz Ethernet, GPS, etc.…

P á g i n a 2 | 22
CPES

ARDUINO

2. La tarjeta ARDUINO UNO


El modelo UNO de la sociedad ARDUINO es una placa electrónica cuyo corazón es un microcontrolador ATMEL de
referencia ATMega328. El microcontrolador ATMega328 es un microcontrolador de 8 bits de la familia AVR cuya
la programación se puede realizar en lenguaje C.

Los diferentes elementos

Las principales características


Microcontrolador ATMEGA 328
Tensión de alimentación interna 5V
Tensión de alimentación (recomendada) 7 a 12V
Tensión de alimentación (límites) 6 a 20 V
Entradas/salidas digitales 14 de los cuales 6 salidas PWM (configurables)

Entradas analógicas 6
Corriente máxima por pines E/S 40 mA (200 mA acumulados para el conjunto de los pines)

Memoria del programa Flash 32 Ko, de los cuales 0,5 Ko son utilizados por el bootloader

Memoria SRAM (memoria volátil) 2 KB


Memoria EEPROM (memoria no volátil) 1 KB
Frecuencia del reloj 16 MHz
Dimensiones 68.6 mm x 53.3 mm
P á g i n a 3 | 22
CPES

ARDUINO

La alimentación
La placa ARDUINO UNO puede ser alimentada por el cable USB, por un bloque de alimentación externo conectado a través de una
prise « jack » de 2,1mm o bien por un bloque de pilas cuyo conexionado se realiza a través de los « GND »
« Vin » del conector de alimentación. La alimentación exterior debe tener un voltaje comprendido entre 7 y 12V.

La tarjeta genera, a través de reguladores integrados, dos tensiones estabilizadas: 5 V y 3,3 V.


las tensiones permiten la alimentación de los componentes electrónicos de la placa ARDUINO. Estando disponibles en
conectores colocados en el perímetro de las tarjetas, también permiten la alimentación de los módulos Shields.

Las entradas-salidas
La placa « ARDUINO UNO » dispone de 14 E/S digitales y de 6 entradas analógicas.

2.4.1. Las entradas-salidas digitales


Cada uno de los 14 pines digitales (numerados del 0 al 13) puede ser utilizado como entrada (input) o como salida (output)
bajo el control del programa. El sentido de funcionamiento incluso podría cambiar de manera dinámica durante
su ejecución.

Funcionan con lógica TTL (0V-5V); cada una puede proporcionar (fuente) o recibir una corriente máxima de
40 mA y dispone si es necesario de una resistencia interna de 'pull-up'.

Ciertas pines pueden tener varias funciones diferentes seleccionadas por programación descritas a continuación:

N° E/S N° línea de puerto Función


0 PD0 Rx: Entrada de enlace serie sincrónica
1 PD1 Salida de enlace serie sincrono
2 PD2 INT0: Entrada de interrupción externa
Entrada interrupción externa
3 PD3
OC2B: Modulación PWM a ancho de pulso
T0: Entrada Temporizador/contador 0
4 PD4
XCK: Entrada reloj
Entrée Temporizador/contador 1
5 PD5
OC0B: Salida del módulo de modulación PWM a ancho de pulso
OC0A: Módulo de salida PWM modulación por ancho de pulso
6 PD6
AIN0: Entrada comparador analógico
7 PD7 AIN1: Entrada comparador analógico
CLKO: Salida del reloj de funcionamiento
8 PB0
Entrada de captura Timer/contador 1
9 PB1 OC1A: Módulo de salida de modulación PWM a ancho de pulso
SS: Seleccionar esclavo enlace SPI
10 PB2
OC1B: Salida del módulo de modulación PWM a ancho de pulso
MOSI: Salida de enlace SPI
11 PB3
OC2A: Módulo de salida de modulación PWM a ancho de pulso
12 PB4 MISO: Entrada de enlace SPI
13 PB5 SCK: Reloj de enlace SPI
P á g i n a 4 | 22
CPES

ARDUINO

2.4.2. Las entradas analógicas


Las seis entradas analógicas, etiquetadas A0 a A5 (PC0 a PC5), pueden admitir toda una tensión analógica.
comprende entre 0 y 5V (por defecto, pero esto puede ser modificado). Estas entradas analógicas son gestionadas por un
convertidor analógico/digital de 10 bits, cuya salida puede variar de 0 a 1023.

Las entradas A4 y A5 también se pueden utilizar respectivamente como la línea de datos SDA y la línea
del reloj SCL de la interfaz serie I2C.

Las memorias
El microcontrolador ATmega 328 dispone de 32k de memoria Flash que permite almacenar el programa en
ejecutar.

También contiene 2 ko de memoria RAM (SRAM). Esta memoria se utiliza generalmente para almacenar los
resultados temporales durante cálculos. Puede ser leída y escrita en cualquier momento por el microcontrolador, pero su contenido
est perdido tan pronto como no se alimenta más.

El ATmega 328 también tiene 1k de memoria EEPROM para permitir que el programa almacene datos.
persistentes. El contenido de esta memoria es accesible gracias a las funciones de la biblioteca « EEPROM ».

El reloj
El reloj está controlado por cuarzo y funciona a una frecuencia de 16 MHz.

La comunicación
La placa « ARDUINO UNO » tiene numerosas posibilidades de comunicación con el exterior. El Atmega328
posee una interfaz de comunicación serie accesible, gracias a los pines digitales 0 (Rx) y 1 (Tx).

Por otro lado, soporta el bus I2C accesible, gracias a los pines analógicos 4 (SDA) y 5 (SCL) y la conexión serie.
SPI síncrono gracias a las patas digitales 10 (SS), 11 (MOSI), 12 (MISO) y 13 (SCX).

El reinicio
A la puesta en marcha, un reinicio automático permite al programa contenido en la memoria del microcontrolador de
iniciar automáticamente tan pronto como la placa ARDUINO esté alimentada.

La placa « Arduino UNO » también está equipada con un botón pulsador de reinicio manual. Una pulsación en este
permite reiniciar la ejecución de un programa si es necesario, ya sea porque se ha "colgado" o simplemente
porque se desea que vuelva a empezar desde su inicio.

La protección de sobreintensidad USB


Por medida de seguridad para el ordenador al que estará conectado el ARDUINO, se incluye un fusible en la conexión.
d'alimentation 5 V de la prise USB. Toute consommation supérieure à 500mA, provoque le déclenchement de ce
fusible, protegiendo así el puerto USB de la computadora a la que está conectada la tarjeta.
P á g e 5 | 22
CPES

ARDUINO

3. La programación de la tarjeta ARDUINO


El software ARDUINO para funciones principales:

➢ De poder escribir y compilar programas para la tarjeta ARDUINO


➢ Conectarse con la tarjeta ARDUINO para transferir los programas
➢ De comunicar con la tarjeta ARDUINO

La interfaz de programación
La interfaz de programación del software ARDUINO es la siguiente:

La « Barra de Botones » que da acceso directo a las funciones esenciales del software. Los diferentes botones
son :

P á g e 6 | 22
CPES

ARDUINO

La estructura de un programa
Un programa destinado a una tarjeta ARDUINO se compone de 3 partes:

Zona de definición de las constantes o de los


variables o inclusión de bibliotecas

/* Este programa hace parpadear un LED conectado al pin n°13


y hace parpadear el LED de prueba de la placa */

intledPin = 13; // LED conectada al pin n°13

void setup()
{
pinMode(ledPin, OUTPUT); // Define la pin n°13 como una salida
}

bucle vacío()

{
digitalWrite(ledPin,ALTO) ; Coloca la salida ledPin en NL1 (diodo encendido)
retraso(3000) ; // Esperar 3 s
digitalWrite(ledPin,BAJO) ; // Pone la salida ledPin a NL0 (diodo apagado)
retraso(1000) ; Esperar 1 s
}

Funciónconfiguración() Funciónbucle()
que contiene las instrucciones de inicialización que contiene las instrucciones del programa

La primera parte permite definir las constantes y las variables declarando su tipo. También permite
la inclusión de las bibliotecas utilizadas en el programa mediante #include.

La función setup() contiene las instrucciones de inicialización o de configuración de los recursos de la placa como
por ejemplo, la configuración de entrada o salida de los pines de E/S digitales, la definición de la velocidad de
comunicaciones de la interfaz serie, etc.. Esta función se ejecuta sólo una vez justo después del lanzamiento del
programa.

La función loop() contiene las instrucciones del programa en sí. Esta función se repetirá
indefinidamente mientras la tarjeta ARDUINO esté bajo tensión.

P á g e 7 | 22
CPES

ARDUINO

La sintaxis del lenguaje ARDUINO


La cincuentena de elementos de la sintaxis ARDUINO es visible aquí[Link]
así como a partir del documento “[Link]” (en la carpeta “Referencia” que descargaste con ARDUINO),
también accesible en el menú “Ayuda” del software.

Los comentarios
Para colocar comentarios en una sola línea o al final de la línea, hay que utilizar la siguiente sintaxis:
// Esta línea es un comentario en UNA SOLA línea

Para colocar comentarios en varias líneas:


/* Comentario, en VARIAS líneas que será ignorado por el programa, pero
pasar por aquel que lee el código */

Los datos, variables y constantes


Los diferentes tipos utilizados con la programación ARDUINO son:

Nombre Descripción
booleano Dato lógico (verdadero o falso) sobre 8 bits
byte Entero sin signo de 8 bits
int Entero firmado de 16 bits
sin signo entero Entero sin signo de 16 bits
largo Entero firmado de 32 bits
sin signo largo Entero sin signo de 32 bits
flotar Número de punto flotante de 32 bits
personaje Carácter de 8 bits. Solo se definen los caracteres cuyo código ASCII tiene un valor de 0 a 127.

Una constante se puede definir mediante const o #define:

#define N 2 Toda variable N encontrada en el programa será reemplazada por el valor 2

const byte N=2 // N es una constante de tipo « byte » y valor 2

Un cierto número de nombres de constantes están predefinidos en el lenguaje « ARDUINO » :

Nombre Descripción
verdadero Dato binario igual a 1 o dato numérico diferente de 0
falso Dato binario o numérico igual a 0
ALTO Generación de un nivel de tensión alto en una de las salidas digitales
BAJO Generación de un nivel de tensión bajo en una de las salidas digitales
ENTRADA Configuración de un pin digital como entrada
SALIDA Configuración de un pin digital como salida

P á g e 8 | 22
CPES

ARDUINO

Los operadores
3.6.1. Los operadores aritméticos
Símbolo Descripción Ejemplo
+ Adición c=a+b;
- Sustracción c=a-b;
* Multiplicación c=a*b;
/ División c=a/b;
% Módulo (resto de la división entera) c=a%b;

3.6.1. Los operadores lógicos


Símbolo Descripción Ejemplo
& ET c=a&b;
| OU c=a|b;
^ OU exclusivo c=a^b;
~ NO b = ~a ;
>> Desplazamiento a la derecha de los bits c = a >> b ;//a desplazó b veces hacia la derecha
<< Desplazamiento a la izquierda de los bits c = a << b ;//a desplazó b veces a la izquierda

3.6.2. Las asignaciones


Símbolo Descripción Ejemplo
= Afecto ordinario a=b;
+= Sumador de a += b ; → a = a + b ;
-= Sustraer de a -= b ; →a = a - b ;
*= Multiplicar por a *= b ; →a = a * b ;
/= Dividir por a /= b ; → a = a / b ;
%= Resto de la división entera por a %= b ; → a = a % b ;
&= ET con a=a&b;
|= OU con a |= b ; → a = a | b ;
-- Restar 1 (decremetación) a -- ; →a = a - 1 ;
++ Incrementar en 1 (incremetación) a ++ ; →a = a + 1 ;

3.6.3. Los operadores de comparación


Símbolo Descripción Ejemplo
&& ET lógica si (a && b)
|| OU lógica si (a || b)
== Igual a si (a == b)
!= Diferente de si (a != b)
> Superior a si (a > b)
< Inferior a si (a < b)
>= Superior o igual a si (a >= b)
<= Inferior o igual a si (a <= b)
P á g e 9 | 22
CPES

ARDUINO

Las bibliotecas de funciones


Una biblioteca es un conjunto de funciones utilitarias puestas a disposición de los usuarios del entorno
Arduino. Las funciones se agrupan según su pertenencia a un mismo dominio conceptual.
(matemáticas, gráfico, ordenamientos, etc).

El IDE de ARDUINO incluye por defecto varias bibliotecas externas. Para importarlas en tu programa,
debe utilizar el siguiente menú:

La siguiente instrucción se agregará al principio de su programa: #include <la_biblioteca.h>

Ejemplo :

#include <SPI.h> // Importación de la biblioteca SPI

Algunas funciones ya están presentes en el IDE de ARDUINO, las principales se explican a continuación.

3.7.1. Las funciones de gestión del tiempo


La función « delay »
retrasotempo

Esta función genera una pausa cuya duración es igual a tempo × 1 ms.

La variable tempo debe ser del tipo unsigned long, lo que puede permitir temporizaciones que pueden ser muy
largas.

retraso(1000) ; // Pausa de 1 s

La función « delayMicroseconds »
retardoMicrosegundos(tempo) ;

Esta función genera una pausa cuya duración es igual a tempo × 1 μs.

La variable tempo debe ser de tipo unsigned int.

La duración de la pausa solo se asegura a valores superiores a 3 μs.

retrasarMicrosegundos(100) ; // Pausa de 100 µs

P á g e 10 | 22
CPES

ARDUINO

La función «millis() »
Valor =milisegundos() ;

Esta función devuelve el número de milisegundos desde el arranque del programa por la tarjeta ARDUINO.

El valor devuelto es de tipo unsigned long


El número de milisegundos vuelve a cero aproximadamente después de 50 días.

La función «micros() »
Valormicros() ;

Esta función devuelve el número de microsegundos desde el inicio del programa por la placa ARDUINO.

El valor retornado es de tipo unsigned long

Esta función tiene una resolución de 4µs (con un reloj de 16MHz), por lo tanto, el valor devuelto es un
múltiplo de 4.
El número de milisegundos vuelve a cero aproximadamente después de 70 minutos.

3.7.2. Las funciones de gestión de las E/S digitales


La función « pinMode »
modoPin(Número de broche, Sentido de funcionamiento) ;

Esta función permite configurar la dirección de funcionamiento, entrada o salida, del pin seleccionado.

modoPin(12SALIDA) ; La broche 12 está configurada como una salida

La función « digitalWrite »
digitalWrite(Número de broche, Nivel lógico) ;

Esta función permite imponer un nivel lógico alto o bajo en la salida numérica seleccionada.

escribirDigital(12,ALTO) ; La salida 12 está colocada en el nivel lógico alto (NL1)

La función « digitalRead »
Valor =leerDigital(Número de broche)

Esta función permite leer el nivel lógico en la entrada numérica seleccionada. Esta función no retorna
que dos valores ALTO o BAJO.

etatlecturaDigital(11) ; La variable etat es igual al nivel lógico de la entrada 11

P á g e 11 | 22
CPES

ARDUINO

3.7.3. Las funciones de gestión de salidas PWM


Los μC que equipan las placas Arduino son capaces de generar señales de Modulación por Ancho de Pulso.
(MLI) o « Modulación por Ancho de Pulsos » (PWM).

Se trata de señales lógicas rectangulares de frecuencia igual a 490 Hz y con ciclo de trabajo programable.

La función « analogWrite »
analogWrite(Número de salida, Informe cíclico) ;

Esta función permite generar, en la salida seleccionada, una señal PWM con el ciclo de trabajo deseado.
La variable « Rapport cyclique » debe ser de tipo int, es decir, que puede estar comprendida entre 0 y 255 para un
rapport cíclico, para la señal generada, comprendido entre 0 y 100 %.

La señal PWM se genera a partir del momento de la ejecución de la función « analogWrite » y hasta que una
nueva instrucción « analogWrite » o una instrucción « digitalRead » o « digitalWrite » se ejecute en la misma
broche

El valor del índice cíclico solo se garantiza para valores superiores al 10 %.

analogWrite(2,64) ; Señal PWM de ciclo de trabajo del 25 % en la salida analógica 2

3.7.4. Las funciones de gestión de las entradas analógicas


Las entradas analógicas están conectadas a un convertidor analógico digital (CAD) de 10 bits. La salida del CAD
genera un dato igual a 0 cuando la tensión de entrada es nula y un dato igual a 1023 cuando la tensión
la entrada es igual a la tensión de referencia del ADC.

La función « analogReference »
referenciaAnalógica(Tipo)

Esta función permite definir la tensión de referencia del ADC.

La variable type puede tomar los siguientes valores:

➢ DEFAUT: La tensión de referencia es igual a la tensión de alimentación de la placa Arduino (5V para la placa
Arduino Uno
➢ INTERNAL: La tensión de referencia es igual a 1,1 V para la tarjeta Arduino Uno;
➢ EXTERNO: La tensión de referencia es igual a la tensión aplicada en la entrada externa AREF de la placa
Arduino.

La tensión aplicada a una entrada analógica nunca debe ser superior a la tensión de alimentación
de la carta.

P á g e 12 | 22
CPES

ARDUINO

La función « analogRead »
Valor =leerAnalógico(Número de entrada) ;

Esta función permite leer el resultado de la conversión analógica a digital de la tensión presente en
la entrada analógica seleccionada.

El dato devuelto debe estar entre 0 y 1023 y debe ser de tipo int.

La duración de la conversión es de aproximadamente 100 μs.

lecturaAnalógica(1) ; La tensión es igual al resultado de la CAN de la entrada analógica 1

3.7.5. Las funciones particulares de gestión de entradas-salidas


La función « tono »
tonoNúmero de salida

Esta función permite generar, en la salida seleccionada, una señal cuadrada (ciclo de trabajo del 50%) de
frecuencia programable y durante la duración deseada.

La dato "Frecuencia" debe ser dada en Hz y la dato "Duración" debe ser fijada en ms. Si esta duración no es
No especificado, la señal se genera hasta que se ejecute la función « notone ».

La función « notone »
notone(Número de salida) ;

Esta función permite detener la generación de la señal cuadrada en la salida seleccionada.

La función « pulseIn »
duraciónpulseIn(Número de entrada, Tipo, Plazo máximo) ;

Esta función permite medir la duración de un impulso en la entrada seleccionada. El resultado devuelto es de
tipo sin signo largo.

El valor de la dato « Tipo » puede ser ALTO en el caso de un impulso en NL1 o BAJO en un impulso en
NL0.

La variable « Delai max » permite definir el tiempo de espera de la impulsión. Cuando este tiempo se supera y
que ninguna impulsión se ha producido, la función devuelve un valor nulo. Este dato es del tipo unsigned.
long etest expresado en μs. Si esta dato no está especificado, el valor por defecto será de 1 s.

El resultado proporcionado se considera correcto solo para impulsos de duración comprendida entre 10 μs y
3 min.

Página 13 | 22
CPES

ARDUINO

3.7.6. Las funciones de manipulación de bits


La función « lowByte »
resultadobajoByte(Dado)

Esta función permite extraer los 8 bits de peso bajo de la variable 'Donnée'.

El valor devuelto es de tipo byte mientras que la variable "Donnée" puede ser de cualquier tipo (por lo tanto
cualquier tamaño).

La función « highByte »
resultatbyteAlto(Dato) ;

Esta función permite extraer el segundo byte desde la derecha de la variable « Dato ».

El valor devuelto es de tipo byte mientras que la variable "Donnée" puede ser de cualquier tipo.

La función « bitRead »
resultatbitLeer(Dato, n)

Esta función permite leer el nièmebit de la variable « Donnée ».

La función « bitWrite »
bitWriteDatos

Esta función permite imponer un nivel lógico sobre el enésimo bit de la variable "Datos".

La función « bitSet »
conjuntoDeBitsDato

Esta función permite imponer un 1 lógico sobre el nèmebit de la variable « Donnée ».

La función « bitClear »
bitClearDatos

Esta función permite imponer un 0 lógico sobre el níèmebit de la variable « Donnée ».

P á g i n a 14 | 22
CPES

ARDUINO

3.7.7. Las funciones de gestión del puerto serie asíncrono


La tarjeta ARDUINO UNO dispone de un puerto serie asíncrono accesible a través de las E/S digitales 0 (línea Rx) y 1 (línea Tx)
Tx).

El puerto serie asíncrono de los microcontroladores que equipan las placas ARDUINO dispone de un búfer.
capaz de memorizar hasta 128 caracteres recibidos.

La función « [Link] »
[Link](Velocidad) ;

Esta función que debe ser llamada al menos una vez, generalmente en la función setup(), permite definir
la velocidad utilizada por la conexión serie.

El valor tomado por la variable "Velocidad" debe ser una de las velocidades definidas por la norma RS232.

La función « [Link] »
[Link]() ;

Esta función permite desactivar la conexión serie asíncrona y, por lo tanto, liberar los pines digitales 0 y 1.

La función « [Link] »
[Link]() ;

Esta función permite conocer el número de caracteres recibidos y por lo tanto contenidos en el búfer de memoria en
atención de lectura por el programa. La variable « número » es de tipo int.

La función « [Link] »
[Link]() ;

Esta función permite leer el primer carácter disponible en el búfer de recepción. La variable
"carácter" es de tipo int. El valor devuelto es -1 si no se ha recibido ningún carácter (memoria intermedia vacía).

La función « [Link] »
[Link]() ;

Esta función permite vaciar el búfer.

La función « [Link] »
[Link](Dato) ;

Esta función permite emitir uno o varios datos a través de la conexión serie en forma binaria bruta. Si la
La donnée es de tipo cadena de caracteres, los caracteres se transmiten, en formato ASCII, uno tras otro.
P á g i n a 15 | 22
CPES

ARDUINO

La función « [Link] »
[Link]

Esta función permite emitir uno o más datos a través de la conexión serie especificando la codificación utilizada.

Si la variable « Format » no se especifica, un dato numérico se considerará como decimal, una cadena
de caracteres se transmitirá tal cual y un dato de punto flotante se transmitirá únicamente con dos
décimales.
De lo contrario, la variable « Formato » permite especificar la codificación o la base de numeración para los datos numéricos.
Puede tomar uno de los siguientes valores: BIN (binario), OCT (octal), HEX (hexadecimal), DEC (decimal) o BYTE
(codificación ASCII). Para los datos de punto flotante, la variable « Formato » puede tomar un valor numérico
comprende entre 0 y 7 correspondiendo al número de decimales a transmitir.

[Link](100101,BIN) ;// Transmisión de los datos (100101)2

[Link](4B,HEX) ; Transmisión de la datos (4B)16

[Link](K,BYTE) ; // Transmisión de la dato (K)ASCII

[Link](1.23456,0) ;// Transmisión de la dato 1

[Link](1.23456,5) ;Transmisión de la data 1.23456

P á g e 16 | 22
CPES

ARDUINO

Las etapas de desarrollo de un programa

Editar el programa a partir de ARDUINO Verificar y compilar el código usando el botón 'Verificar'.

Si no hay errores, veremos que se muestra: “Compilación


terminó”, seguido del tamaño del programa.

Seleccionar la tarjeta ARDUINO utilizada


partir del menú Herramienta → Tipo de mapa Conecte su tarjeta ARDUINO a su computadora utilizando
su cable USB. La luz LED verde de alimentación (denominada PWR) debería
encenderse.

Seleccionar el puerto serie correcto desde el menú Herramientas → Puerto serie

Verificar el funcionamiento del programa


en la tarjeta ARDUINO

Cargar el programa en la tarjeta ARDUINO haciendo clic en el


botón « Subir ».

Una vez que se complete la carga, el software ARDUINO debe


Si es necesario, presione el botón de
Mostrar un mensaje "Carga completada"
reinicio de la tarjeta para reiniciar
tu programa
P á g i n a 17 | 22
CPES

ARDUINO

[Link]
4.1 EJERCICIO N°1: HACER PARPADEAR UN LED
Este programa debe permitir que un LED conectado al pin digital n°10 parpadee. Debe permanecer
encendida durante 2 s y apagada durante 1 s.

Vamos a hacer el primer programa juntos. Aquí está el algoritmo


/* Este programa hace parpadear un LED conectado al pin n°10 y también hace parpadear el diodo de prueba de la placa */

intledPin = 10; // LED conectada al pin n°10

void configurar()
{
pinMode(ledPin, SALIDA); // Define el pin n°10 como una salida
}

bucle vacío()

{
digitalWrite(ledPin,ALTO); // Pone la salida ledPin en NL1 (diodo encendido)
retrasar(3000); // Esperar 3 s
digitalWrite(ledPin,Bajo) ; // Establece la salida ledPin en NL0 (diodo apagado)
retraso(1000); // Esperar 1 s
}

Funciónconfigurar() Funciónbucle()
que contiene las instrucciones de inicialización que contiene las instrucciones del programa

Lanzar el software ARDUINO.

Editar el programa a partir del algoritmo anterior en ARDUINO.

Compila el programa.

Ahora vamos a simular este programa bajo PROTEUS, que es un software de CAO electrónico que permite ...
dibujar y simular diversos montajes.

Lanzar el software PROTEUS 8

Haga clic en el ícono de ISIS

Seleccionar el ícono de componentes

En la ventana del selector de objetos, haga clic en P:

P á g e 18 | 22
CPES

ARDUINO

Realiza tu esquema. Necesitas un LED (LED-ROJO) y una placa ARDUINO UNO

Una vez que el esquema esté terminado, vas a transferir el archivo .hex proveniente de la compilación de la
carta ARDUINO. Atención, debe primero poner los retrasos en segundos, porque por ahora, ellos
son enms

Para transferir el archivo .hex:


1. En ARDUINO, haga clic en «Esquema» y luego en «Exportar los binarios compilados» (debe generar un archivo .hex)
crear al lado del archivo .ino del programa.
2. En PROTEUS, haga clic derecho en el microcontrolador y luego en "Editar propiedades". En la línea "Archivo de programa",
haga clic en la pequeña carpeta y busque su archivo .hex. Haga clic en Aceptar.

Simular el funcionamiento bajo PROTEUS

Ahora con el funcionamiento en real. Para ello, necesitas una tarjeta Arduino, una BREADBORD,
un LED, un cable de televersement PC-CARTE y unos cables de conexiones

Reestablecer los retrasos en ms. Luego compilar el programa. Subir a la tarjeta ARDUINO.

Realizar el cableado. Luego probar el funcionamiento

De ahora en adelante para los siguientes ejercicios, seguirán este procedimiento. Simulación en PROTEUS, luego
cableado de la tarjeta ARDUINO una vez que la simulación esté validada

P á g i n a 19 | 22
CPES

ARDUINO

4.2 EJERCICIO N°2: ENCENDER UN LED CON UN BOTÓN DE PRESIÓN


Este programa debe permitir encender un LED conectado en el pin digital N°12 cuando se presiona un botón.
El pulsador, conectado al pin digital N°13, está presionado.

Realizar el programa en ARDUINO, luego compilarlo.

Realiza el esquema en PROTEUS como se muestra a continuación. Luego simula.

Realizar el cableado con una tarjeta ARDUINO, un LED y un BP. Luego, cargar en la tarjeta.
ARDUINO suprograma, luego probar el funcionamiento

4.3 EJERCICIO N°3: CONTROLAR UN MOTOR EN 1 SENTIDO DE ROTACIÓN


Se desea controlar un motor de corriente continua en un sentido de rotación utilizando una placa Arduino. Para ello, se
conéctalo al pin digital 12 y presiona un botón en el pin 13 que permitirá iniciar el
funcionamiento

Realiza el programa bajo ARDUINO, luego compílalo.

Realizar el esquema en PROTEUS como se muestra a continuación. Luego simular

Realizar el cableado utilizando una tarjeta ARDUINO, un motor de corriente continua, una resistencia
d'environ 500Ω et une de 10 kΩ, une diode de roue libre 1N4001, un transistor 2N2222A et un
BP. Arrastra el programa en la tarjeta ARDUINO, luego prueba el funcionamiento
P á g e 20 | 22
CPES

ARDUINO

4.4 EJERCICIO N°4: CONTROLAR UN MOTOR EN 2 SENTIDOS DE ROTACIÓN POR PONT EN H


Se desea controlar un motor de corriente continua en los 2 sentidos de rotación utilizando una placa Arduino y un puente.
en H (L293D). Se presiona el botón BP en el pin 13 que permitirá iniciar el funcionamiento.

Realizar el programa en ARDUINO, luego compilarlo.

Realiza el esquema en PROTEUS como se muestra a continuación. Luego simula.

Realizar el cableado utilizando una placa ARDUINO, un motor de corriente continua, una resistencia de
10 kΩ, un puente en H (L293D) y un BP. Puedes cargarlo en la placa ARDUINO tu programa,
puedes probar el funcionamiento

4.5 EJERCICIO N°5: GESTIÓN DE UNA ENTRADA ANALÓGICA


Este programa debe permitir hacer parpadear un LED conectado al pin digital número 12 a una velocidad
de parpadeo proporcional a la iluminación ambiental captada por una célula fotoeléctrica (LDR).

Realiza el programa en ARDUINO, luego compílalo.

Realiza el esquema en PROTEUS como se indica a continuación. Luego simula.

Realizar el cableado utilizando una tarjeta ARDUINO, una resistencia de 10 kΩ y un LDR. Luego
Cargue su programa en la tarjeta ARDUINO y luego pruebe su funcionamiento

P á g e 21 | 22
CPES

ARDUINO

[Link] DE PAN
La Breadboard no es una tabla de pan como su nombre indica, sino una 'placa
à essai"ouplaquette de prototypage rapide pour l'électronique. Il n'y apas besoin de
soldar los componentes en la placa de pruebas, ya que está diseñado para probar rápidamente
circuitos electrónicos.
Así, la plaqueta está compuesta por una multitud de agujeros de los cuales algunos están conectados
eléctricamente entre ellos. Existen diferentes formatos y diferentes tamaños de Breadboard.
SIMULACIÓN DE TABLERO DE PROTOTIPADO
SERVICIO A ENCENDER UN LED
Aquí hay uno de los formatos de Breadboard más utilizados:

Estas placas de prueba son realmente fáciles de usar. En una protoboard estándar, las dos líneas de arriba y del
Las bases están conectadas eléctricamente. Del mismo modo, cada columna en el centro está compuesta por puntos conectados eléctricamente.
La creación de un circuito electrónico se facilita en gran medida. Solo hace falta insertar algunos componentes en los
agujeros y usar algunos cables eléctricos. Un muy gran número de componentes electrónicos pueden ser enchufados
directamente y simplemente en una Breadboard. Y aquí están los cables que se pueden usar para conectar los componentes entre
las columnas :

El primer tipo de hilo es práctico para visualizar bien el resultado final del circuito electrónico. El segundo tipo de
Es más fácil de manejar, pero nos perdemos rápidamente cuando aumenta el número de hilos utilizados. Además, los hilos
los cables tienden a desviarse por los lados y a veces proporcionan malas conexiones cuando los conectores de la
La placa de prueba ha sido utilizada varias veces. Por lo tanto, recomendamos utilizar hilos rígidos y siempre tener una
pinza plana pequeña para quitarlas más fácilmente.

P á g i n a 22 | 22

También podría gustarte