0% encontró este documento útil (0 votos)
4 vistas24 páginas

Introducción a Arduino y Programación

Este documento presenta la placa Arduino UNO y la programación con Arduino. Describe los componentes de la placa Arduino UNO, la programación con el lenguaje Arduino y varios ejercicios prácticos para controlar LEDs, motores y sensores.

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)
4 vistas24 páginas

Introducción a Arduino y Programación

Este documento presenta la placa Arduino UNO y la programación con Arduino. Describe los componentes de la placa Arduino UNO, la programación con el lenguaje Arduino y varios ejercicios prácticos para controlar LEDs, motores y sensores.

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

CICLO N°2

Nivel : 1élS-SI
ESTRUCTURAALGORÍTMICA
✓ Descubrir el universo ARDUINO
✓ Saber cómo realizar un programa ARDUINO
✓ Medida de una diferencia de temperatura por sensor LM35

TP ARDUINO (4h)

1. PRESENTACIÓN ARDUINO........................................................................................................................... 2
2. LA TARJETA ARDUINO UNO ............................................................................................................................ 3
2.1. Los diferentes elementos .................................................................................................................. 3
2.2. Las principales características ...................................................................................................... 3
2.3. La alimentación................................................................................................................................ 4
2.4. Las entradas-salidas ............................................................................................................................. 4
2.5. Las memorias................................................................................................................................. 5
2.6. El reloj........................................................................................................................................ 5
2.7. La comunicación
2.8. El reinicio.......................................................................................................................................... 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..................................................................................................... 7
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……………………………………………………………………………………………………………………………………………..18

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


4.2. EJERCICIO N°2: ENCENDER UN LED CON UN BOTÓN DE ACCIONAMIENTO ......................................................... 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ÓGICAPAR LDR .................................................... 21
4.6. EJERCICIO N°6: CONTROL DE UN SERVOMOTOR POR POTENCIÓMETRO……………………………………..22
4.7. EJERCICIO N°7: MEDIDA DE UNA DIFERENCIA DE TEMPERATURA POR CAPTADOR LM35………………..……………..23

5. PLACAS DE PROTOTIPO AIDE…………………………………………………………………………………………………………………………………….24

P á g e 1 | 24
1. Presentación ARDUINO
ARDUINO es una plataforma de hardware y software para el desarrollo de aplicaciones integradas.

En cuanto al hardware, se compone de una tarjeta electrónica basada 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 baratas en comparación con las demás.
plataformas de desarrollo. La más barata de las versiones del módulo ARDUINO puede ser ensamblada en la
main, 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 completados por
programadores experimentados. El lenguaje también se puede extender 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 las
posibilidades: pantalla gráfica en color, interfaz Ethernet, GPS, etc.…

P a g e 2 | 24
2. La carte 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 todos los pines)
Memoria 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.6mm x 53.3mm

P á g i n a 3 | 24
La alimentación
La placa ARDUINO UNO se puede alimentar a través del cable USB, por un bloque de alimentación externa conectado a través de una
toma "jack" de 2,1 mm o bien por un bloque de pilas cuyo conexionado se realiza a través de los "GND"
et« Vin »del conector de alimentación. La alimentación externa debe presentar un voltaje entre 7 y 12V.

La placa genera, a través de reguladores integrados, dos tensiones estabilizadas: 5 V y 3,3 V. Estos dos
las tensiones permiten la alimentación de los componentes electrónicos de la placa ARDUINO. Estando disponibles en
conectores colocados en el contorno 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 salida (output)
bajo el control del programa. El sentido de funcionamiento incluso puede cambiar de manera dinámica durante
su ejecución.

Funcionan en 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 clavijas pueden tener varias funciones diferentes elegidas por programación descritas a continuación:

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


0 PD0 Rx: Entrada de enlace de serie sincrónica
1 PD1 Salida de enlace serie síncrono
2 PD2 INT0: Entrada de interrupción externa
INT1: Entrada de interrupción externa
3 PD3
OC2B: modulación PWM a ancho de pulso
T0: Entrada Temporizador/contador 0
4 PD4
XCK: Entrada de reloj
Entrada Timer/contador 1
5 PD5
OC0B: Salida de módulo de modulación PWM a ancho de pulso
OC0A: Módulo de salida de modulación PWM a 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 modulación PWM a ancho de pulso
SS: Seleccionar enlace esclavo 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: Enlace de entrada SPI
13 PB5 SCK: Reloj de enlace SPI
2.4.2. Las entradas analógicas
Las seis entradas analógicas, etiquetadas A0 a A5 (PC0 a PC5), pueden aceptar cualquier tensión analógica.
comprende entre 0 y 5V (por defecto, pero esto se puede modificar). Estas entradas analógicas son gestionadas por un
convertidor analógico/digital de 10 bits, cuya salida puede variar de 0 a 1023.

P á g e 4 | 24
Las entradas A4 y A5 también se pueden utilizar respectivamente como la línea de datos SDA y la línea
d’horloge SCL de l’interface série I2C.

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

También contiene 2ko 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 perdu tan pronto como ya no se alimenta.

El ATmega 328 también dispone de 1 ko 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 es 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 otra parte, 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 los pines digitales 10 (SS), 11 (MOSI), 12 (MISO) y 13 (SCK).

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

La tarjeta « Arduino UNO » también está equipada con un botón de reinicio manual. Al presionarlo
permite reiniciar la ejecución de un programa si es necesario, ya sea porque se ha 'plantado' o simplemente
porque se desea que vuelva a comenzar desde su principio.

La protección de sobreintensidad USB


Por medida de seguridad para la computadora a la que estará conectado el ARDUINO, hay un fusible en la conexión.
d'alimentación de 5 V de la toma USB. Cualquier consumo superior a 500mA provoca el desencadenamiento de esto
fusible, protegiendo así el puerto USB de la computadora a la que está conectada la tarjeta.

P á g e 5 | 24
3. La programación de la tarjeta ARDUINO
El software ARDUINO para funciones principales:

➢ De poder escribir y compilar programas para la placa 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 ofrece acceso directo a las funciones esenciales del software. Los diferentes botones
son :

P á g i n a 6 | 24
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 de inclusión de bibliotecas

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


y también hace parpadear el diodo de prueba de la placa */

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

void setup()
{
pinMode(ledPin, SALIDA); Define el pin n°13 como una salida
}

bucle vacío()

{
digitalWriteledPinALTO) ; // Establece la salida ledPin al NL1 (diodo encendido)
retraso(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

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 tarjeta como
por ejemplo, la configuración de entrada o salida de los pines de E/S digitales, la definición de la velocidad de
comunicación de la interfaz serie, etc. Esta función solo se ejecuta 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 permanezca bajo tensión.

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 “Reference” que descargaste con ARDUINO),
también accesible en el menú "Ayuda" del software.

P á g i n a 7 | 24
Los comentarios
Para colocar comentarios en una única línea o al final de la línea, se debe usar la siguiente sintaxis:

// Esta línea es un comentario en UNA SOLA línea

Para colocar comentarios en varias líneas :

/* Comentario, sobre VARIAS líneas que será ignorado por el programa, pero
pas 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
entero sin signo Entero no firmado 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
carácter Caracteres 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 de 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 Dado 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 de salida

P á g i n a 8 | 24
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 a 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;
+= Sumar de a=a+b;
-= Sustraer de a -= b ; → a = a - b ;
*= Multiplicar por a *= b ; →a = a * b ;
/= Dividir por a=a/b;
%= Resto de la división entera por a %= b ; →a = a % b ;
&= ET con a &= b ; →a = a & b ;
|= OU con a |= b ; → a = a | b ;
-- Sustraer 1 (decrementación) a -- ; →a = a - 1 ;
++ Añadir 1 (incremento) 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ógico 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 | 24
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 en función de su pertenencia a un mismo dominio conceptual.
(matemática, gráfica, clasificaciones, etc).

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

La siguiente instrucción se añadirá al principio de tu programa: #include <la_biblioteca.h>

Ejemplo :

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

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

3.7.1. Las funciones de gestión del tiempo


La función « delay »
retraso(tempo)

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

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

retraso(1000) ; // Pausa de 1 s

La función « delayMicroseconds »
retrasarMicrosegundos(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 garantiza para valores superiores a 3 μs.

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

La función «millis() »
Valormilisegundos() ;

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

El valor devuelto es de tipo unsigned long. El número de milisegundos vuelve a cero aproximadamente después de 50 días.

P á g i n a 10 | 24
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 devuelto 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últiple de 4.
El número de milisegundos regresa a cero aproximadamente después de 70 minutos.

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


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

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

modoPin(12,SALIDA) ; El pin 12 está configurado 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 digital seleccionada.

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

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

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

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

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 Pulso » (PWM).

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

P á g i n a 11 | 24
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
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 instante 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 de la relación cíclica solo está garantizado 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 (ADC) de 10 bits. La salida del ADC
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 CAN.

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);
➢ INTERNO: 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 en una entrada analógica nunca debe ser superior a la tensión de alimentación
de la carta.

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

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

La dato devuelto está comprendido entre 0 y 1023, debe ser de tipo int.

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

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

Página 12 | 24
3.7.5. Las funciones particulares de gestión de entradas-salidas
La función « tono »
tono(Número de salida, Frecuencia, Duración) ;

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 darse en Hz y la dato "Duración" debe fijarse en ms. Si esta duración no es
No se especifica, la señal se genera hasta que se ejecuta la función « notone ».

La función « notone »
ninguno(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 »
duréepulseIn(Número de entrada, Tipo, Plazo máximo) ;

Esta función permite medir la duración de un pulso en la entrada seleccionada. El resultado devuelto es del
tipo unsigned long.

El valor del dato « Tipo » puede ser ALTO en el caso de un pulso en NL1 o BAJO de un pulso 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 retorna un valor nulo. Este dato es de tipo unsigned
largo y se expresa en μs. Si este dato no se especifica, el valor por defecto será de 1 s.

El resultado proporcionado solo se considera correcto para pulso de duración entre 10 μs y


3 min.

P á g e 13 | 24
3.7.6. Las funciones de manipulación de bits
La función « lowByte »
resultatbyteBajo(Datos) ;

Esta función permite extraer los 8 bits de menor peso de la variable "Datos".

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(Donnée)

Esta función permite extraer el segundo octeto desde la derecha de la variable 'Datos'.

El valor devuelto es de tipo byte mientras que la variable « Dato » puede ser de cualquier tipo.

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

Esta función permite leer el níèmebit de la variable 'Donnée'.

La función « bitWrite »
bitWrite(Dato, n, Nivel) ;

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

La función « bitSet »
conjunto de bits(Datos, n) ;

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

La función « bitClear »
bitClear(Dado, n);

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

P á g e 14 | 24
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).

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 que toma 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.
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
"caractère" es de tipo int. El valor devuelto es -1 si no se ha recibido ningún carácter (buffer vacío).

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

Esta función permite dividir el búfer de memoria.

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

Esta función permite emitir uno o más datos a través del enlace serie en forma binaria cruda. Si la
los datos son de tipo cadena de caracteres, los caracteres se transmiten, en formato ASCII, uno tras otro.

P á g e 15 | 24
La función « [Link] »
[Link](Datos, formato)

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

Si la variable "Format" no está especificada, un dato numérico se considerará como decimal, una cadena
de caracteres se transmitira tal cual y un dato de punto flotante se transmitira solo 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 correspondiente al número de decimales a transmitir.

[Link](100101,BIN) ;// Transmisión de la data (100101)2

[Link](4B,HEX) ; // Transmisión de la dato (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 dato 1.23456

P á g e 16 | 24
Las etapas de desarrollo de un programa

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

Si no hay errores, aparecerá: “Compilación


terminada”, seguida del tamaño del programa.

Seleccionar la tarjeta ARDUINO utilizada


partir del menú Herramienta → Tipo de carta Conecte su tarjeta ARDUINO a su computadora usando
su cable USB. La luz LED verde de alimentación (denominada PWR) debería
s'allumer.

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
su programa

P á g e 17 | 24
[Link]
4.1 EJERCICIO N°1: HACER PARPADEAR UN LED
Este programa debe permitir que un LED conectado al pin digital número 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 LED de prueba de la placa */

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

void setup()
{
pinMode(ledPin,SALIDA) ; // Define el pin número 10 como una salida
}

bucle vacío()

{
digitalWrite(ledPin, ALTO); // Establece la salida ledPin en NL1 (diodo encendido)
retraso(3000); // Esperar 3 s
digitalWrite(ledPin,LOW); // Establece la salida ledPin en 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

Lanzar el software ARDUINO.

Editar el programa a partir del algoritmo anterior en ARDUINO.

Compila el programa.

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

Iniciar el software PROTEUS 8

Cliquersurl'icône ISIS

Seleccionar el ícono de componentes

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

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

P á g e 18 | 24
Una vez que el esquema esté terminado, transferirás el archivo .hex proveniente de la compilación de la
carte ARDUINO. Atención, primero debe configurar los retardos en segundos, porque por ahora, ellos
son enms

Para transferir el archivo .hex:


1. En ARDUINO, haz clic en "Esquema" y luego en "Exportar los binarios compilados" (se debe crear un archivo .hex)
crear junto al 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 en PROTEUS

Ahora con el funcionar en real. Para ello, necesitas una tarjeta Arduino, una BREADBORD,
una LED, un cable de subida PC-TARJETA y cables de conexión

Reajustar los retrasos en ms. Luego compilar el programa. Cargar en 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, entonces
cableado de la placa ARDUINO una vez que la simulación esté validada

P á g i n a 19 | 24
4.2 EJERCICIO N°2: ENCENDER UN LED POR BOTÓN PULSADOR
Este programa debe permitir encender un LED conectado al pin digital N°12 cuando se presiona un botón
el pulsador, conectado al pin digital número 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 utilizando una tarjeta ARDUINO, un LED y un botón pulsador. Luego, cargar en la tarjeta.
ARDUINO suprograma, luego probar el funcionamiento

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


Se desea controlar un motor de corriente continua en un sentido de rotación usando 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

Realizar el programa en ARDUINO, luego compilarlo.

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

Realizar el cableado utilizando una placa ARDUINO, un motor de corriente continua, una resistencia
de alrededor de 500Ω y una de 10 kΩ, un diodo de rueda libre 1N4001, un transistor 2N2222A y un
BP. Conecte su programa en la tarjeta ARDUINO, luego pruebe el funcionamiento

P á g e 20 | 24
4.4 EJERCICIO N°4: CONTROLAR UN MOTOR EN 2 SENTIDOS DE ROTACIÓN POR PUENTE 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 BP pin 13 que permitirá iniciar el funcionamiento

Realizar el programa bajo ARDUINO, luego compilarlo.

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

Realizar el cableado utilizando una tarjeta ARDUINO, un motor de corriente continua, una resistencia de
10 kΩ, un puente en H (L293D) y un BP. Puistéléverserdans la tarjeta ARDUINO tu programa,
puedes probar el funcionamiento

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


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

Realizar el programa en ARDUINO, luego compilarlo.

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

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

P á g i n a 21 | 24
4.6 EJERCICIO N°6: CONTROL DE UN SERVOMOTOR POR POTENCIÓMETRO
Un servomotor (a menudo abreviado como 'servo') es un motor capaz de mantener una oposición a un
esfuerzo estático y cuya posición se verifica de manera continua y se corrige en función de la medida. Por lo tanto, es un
sistema automático.

Un servomotor es un sistema motorizado capaz de alcanzar posiciones predeterminadas, y luego de ellas


mantener.

Porque el servomotor solo puede girar 180°, y la entrada analógica del potenciómetro varía
entre 0 y 1023, tendremos que utilizar una función llamada map() que nos permitirá calcular
automáticamente el ángulo de rotación del motor.

Para controlar el servomotor en la placa Arduino, utilizaremos la biblioteca externa Servo.

Aquí está el montaje a realizar con los componentes suministrados:

1/Establecer el programa con el software ARDUINO que permite el funcionamiento de un montaje así

2/Realiza este montaje con el software PROTEUS. Inserta el archivo HEX de tu programa ARDUINO y
simular el funcionamiento en presencia del profesor

3/Si tu montaje funciona en simulación bajo PROTEUS, puedes probarlo realizando el montaje.
del conjunto en la placa de pruebas. Hacer verificar el montaje por su profesor. Simular su funcionamiento

P á g e 22 | 24
4.7 EJERCICIO N°7: MEDIDA DE TEMPERATURA POR SENSOR LM 35
El sensor de temperatura LM35 es un sensor analógico de temperatura fabricado porTexas Instruments.
Es extremadamente popular en electrónica, ya que es preciso, de bajo costo y muy fácil de usar. El sensor
El LM35 es capaz de medir temperaturas que van de -55 °C a +150 °C en su versión.
más precisa
¡Atención!

El LM35 no le gusta nada estar montado al revés (se quema)


La pata5 Vest a conectar a la borne 5 V de la carta
La pataSortie est à connecter à une entrée analogique A0 par exemple
La patte GND está conectada a la borne GND de la tarjeta.

Características:

· su tensión de salida es linealmente proporcional a la temperatura expresada en grados Celsius.

· Sensibilidad: S = 10 mV/°C.

· Precisión: LM35D: ± 1,5 °C (valor garantizado) y ± 0,6°C a 25°C (típico)


1/Según los datos del fabricante, ¿cuál será la tensión entregada por el sensor a 25°C?
¿Cuál será entonces el intervalo de confianza (precisión) a esta temperatura?
3/Queremos conectar nuestro sensor LM35 a la placa ARDUINO. Para ello, lo conectamos a una entrada
análogo de la tarjeta. ¿Cuál es la resolución del CAN de la tarjeta ARDUINO UNO?

4/Cuando estamos conectados únicamente por USB, la tensión de referencia es ligeramente inferior.
a 5 V, calcular el quantum qsiVref= 4,82 V
5/Realizar con el software ARDUINO, el programa que retranscribe el funcionamiento de este sensor.
6/Se simulará con el software PROTEUS el funcionamiento de este sensor para mostrar la
temperatura de la sala de TP.
Realizar el montaje con un sensor de temperatura LM35, una pantalla LCD y el microcontrolador.
ATMEGA 328P o Tarjeta Arduino (si se instala la biblioteca)

Inserte el archivo Hex de la pregunta 5 / luego verifique el funcionamiento del conjunto

7/ Implementación del sensor LM 35


Tienes a tu disposición una tarjeta ARDUINO UNO, una Breadboard y un sensor de temperatura.
LM35. Realizar el montaje

-Hacer verificar por el profesor. Luego conectar la tarjeta utilizando el cable USB al ordenador
- Verifica ahora tu programa usando el monitor serie ARDUINO. Harás pinzas con tus
toque el sensor para hacer variar la temperatura
8/Ahora se quiere señalar con la ayuda de un LED el sobrepaso de un umbral de temperatura. Modificar
su programa sabiendo que queremos encender este LED cuando la temperatura supere los 23°C.
Añadir el LED en la placa de pruebas y verificar el correcto funcionamiento del conjunto. Medir la temperatura.
de la sala de TP con la ayuda de un termómetro. Comparar este valor con el del sensor LM35. Concluir sobre
les márgenes y el rendimiento de un sensor así

P á g i n a 23 | 24
5. TABLA DE PAN
La Breadboard no es una tabla de cortar pan como su nombre indica, sino una placa
a ensayo "o placa de prototipado rápido para la electrónica. No es necesario
souder les composants sur la Breadboard, car c'est prévu pour tester rapidement des
circuitos electrónicos.
Así, la placa está compuesta por una multitud de agujeros, algunos de los cuales están conectados.
eléctrica entre ellos. Existen diferentes formatos y diferentes tamaños de Breadboard.
SIMULACIÓN DE BREADBOARD
SERVIDOR A ENCENDER UNA LUZ
Aquí hay uno de los formatos de Breadboard más utilizados:

Estas placas de prueba son realmente simples de usar. En una breadboard 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 de puntos conectados eléctricamente.
La creación de un circuito electrónico se facilita enormemente. Solo hay que insertar algunos componentes en los
agujeros y usar algunos cables eléctricos. Un gran número de componentes electrónicos se pueden enchufar
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
el hilo es más fácil de manejar, pero uno se pierde rápidamente cuando aumenta el número de hilos utilizados. Además, los hilos
los cables tienden a desviarse hacia los lados y a veces dan conexiones deficientes cuando los conectores de la
La placa de prueba se ha utilizado varias veces. Por lo tanto, recomendamos usar hilos rígidos y siempre tener una
pequeño pinza plana para quitarlos más fácilmente.

P á g e 24 | 24

También podría gustarte