Guia 3A Programación Con Arduino Grado 11.
Guia 3A Programación Con Arduino Grado 11.
GUIA DE ESTUDIO
COMPETENCIAS:
-Conocer el Software Arduino y su entorno de programación.
- Conocer el Entorno Básico de la Raspberry pi y el programa Python.
- Emplear los diferentes tipos de sensores y actuadores en la robótica básica y
para el desarrollo de proyectos transversales.
DESEMPEÑOS:
- Aplica los conceptos generales de control y programación en prácticas
sencillas con Arduino y Raspberry pi.
- Programa motores, servomotores y sensores con Arduino y Raspberry pi.
- Construye programas con Arduino y Raspberry pi para el control de
proyectos electrónicos.
INTRODUCCIÓN A ARDUINO
Arduino cuenta con la tecnología plug and play, que permite conectar y usar
el Arduino sin necesidad de hacer algo más.
Puedes darle el nombre que quieras siempre y cuando cumplas las reglas
de tu sistema operativo. Cuando haces esto suceden varias cosas. Por un
lado, cambia el nombre en el IDE de Arduino. Así sabes en todo momento
con que programa estás trabajando.
Y luego, en la ruta que hayas elegido habrá creado una carpeta con el
mismo nombre y dentro el fichero.
Justo arriba del editor tenemos los accesos directos a las funciones más
utilizadas.
EL ÁREA DE MENSAJES:
En la parte izquierda nos informa del número de línea donde está situado el
cursor. En la parte de la derecha tenemos un resumen de la placa que
tenemos seleccionada y el puerto serie que estamos utilizando.
¿Qué quiere decir digital? Digital es algo abstracto así que mejor verlo con
una analogía.
Si esto lo llevamos al mundo de la electrónica a través de un voltaje, solo
podríamos tener dos voltajes. Esto es lo que ocurre en los pines digitales de
Arduino donde solo podemos tener dos estados HIGH o LOW que
equivalen a 5V y 0V. En realidad, esto no es cierto totalmente. Podríamos
tener un voltaje de 3V, por ejemplo. Para estos casos hay una regla interna
que determina si un voltaje es HIGH o LOW.
Estos son los niveles lógicos del microcontrolador ATMega328. Todo lo que
esté entre 3V y 5V se considera nivel alto (HIGH) y todo lo que esté entre
0V y 1,5V es nivel bajo (LOW). El resto, entre 1,5V y 3V es una
indeterminación.
Esto quiere decir que cualquier voltaje dentro de este rango, el
microcontrolador no sabrá si es estado HIGH o LOW. Además, los pines
digitales pueden funcionar en 3 modos diferentes:
Modo entrada (INPUT): puede leer voltajes. Por ejemplo, ¿está pulsado un
botón? si (HIGH) o no (LOW).
Modo salida (OUTPUT): puede suministrar un voltaje. Por ejemplo,
encender/apagar un led ON (HIGH) u OFF (LOW).
Excepción (PWM): algunos pines del microcontrolador pueden funcionar
en modo salida suministrando un valor entre el rango 0V y 5V. Esto ya no
sería un pin digital. Estos pines van marcados con el símbolo ~ y hay 6
dentro de la placa de Arduino (3, 5, 6, 9, 10, 11). Por último, señalar que los
pines 0 y 1 son Rx (recibir) y Tx (transmitir). Se utilizan para la
comunicación serie entre el ordenador y Arduino y están conectados a los
Leds de la placa donde pone RX y TX. Se recomienda no utilizar estos
pines. El pin 13 es un pin que está conectado a un LED integrado dentro de
la placa. En esta guía vamos a ver lo esencial para ponernos en acción.
PINES ANALÓGICOS Es el zócalo donde pone ANALOG IN y van
numerados del A0 al A5, 6 pines.
con estos pines podemos medir diferentes voltajes entre 0V y 5V. Es decir,
podemos tener un voltaje de 3,5V en uno de estos pines y Arduino sería
capaz de leerlo. Sin embargo, existe un problema. El microcontrolador no
entiende de números decimales, sólo entiende datos digitales 1’s y 0’s. Par
resolver esto, la MCU incorpora un ADC (son las siglas de Análog Digital
Converter o en español Conversor Analógico Digital). Por otro lado, Arduino
no es capaz de medir cualquier voltaje, me explico. ¿Cuántos números hay
entre 0 y 5? realmente hay infinitos números. Puedes empezar con el 0 e ir
aumentando de 0,000001 o en 0,00000000000001.
La consecuencia de todo esto es que Arduino solo entiende datos digitales
y además estos deben estar acotados. El ADC se encargará de convertir
esos valores en datos digitales y además solo podrán ser un número
concreto de valores. A esto último se le llama resolución.
El ADC que viene integrado dentro de la MCU que lleva Arduino UNO tiene
una resolución de 10-bit. Esto equivale a que solo vamos a poder medir
1024 valores posibles que van del 0 al 1023. Básicamente lo que estamos
haciendo es dividir el rango de 0V a 5V en 1024 partes.
PINES DE ALIMENTACIÓN
El zócalo de pines de alimentación nos sirve para alimentar los
componentes, sensores y actuadores.
TIPO DE DATOS Veamos el siguiente programa que lleva a cabo una operación
aritmética la cual realiza una suma de dos valores:
Los valores de 0 a 127 corresponden con los 128 primeros caracteres de los
códigos internacionales ASCII, ANSI o UNICODE empleados para la
representación de caracteres. El siguiente ejemplo declara la variable car del tipo
char a la que se le asigna el carácter ‘t’ como valor inicial. Las cuatro
declaraciones siguientes son idénticas:
SHORT El tipo short, abreviatura de signed short int, permite declarar datos
enteros comprendidos entre -32768y +32767. Un valor short se define como un
dato de 16 bits de longitud, independientemente de la plataforma utilizada. El
siguiente ejemplo declara x y y como variables enteras del tipo short:
INT El tipo int, abreviatura de signed int permite declarar datos enteros
comprendidos entre -2147483647 y +2147483647. Un valor int se define como un
dato de 32 bits de longitud. El siguiente ejemplo declara e inicia tres variables a, b
y c, de tipo int.
LONG El tipo long se utiliza para declarar datos enteros comprendidos entre los
valores -214748648 y+2147483647. Un valor long se define como un dato de 32
bits de longitud. El siguiente ejemplo declara e inicia las variables a, b y c, del tipo
long.
FLOAT El tipo float se utiliza para declarar un dato en coma flotante de 32 bits en
el formato IEEE 754. Los datos de tipo float almacenan valores con una precisión
aproximada de 7 dígitos. Para especificar que una constante es un tipo float, hay
que añadir al final de su valor la letra ‘f’ o ‘F’. En el siguiente ejemplo se declaran
las variables a, b y c:
DOUBLE El tipo double se utiliza para declarar un dato en coma flotante de 64
bits. Los datos de tipo double almacenan valores con una precisión aproximada de
16 dígitos. Por omisión, una constante es considerada del tipo double. En el
siguiente ejemplo se declaran las variables x, y y z:
• Comentario de una sola línea. Este tipo de comentario comienza con una doble
barra (//) y se extiende hasta el final de la línea. Esto quiere decir que han
incorporado algunas características de interés de C++; una de ellas es esta. La
siguiente línea muestra un ejemplo:
En el siguiente ejemplo se declaran e inician cuatro variables: una del tipo char,
int, float y double:
El tipo, primitivo o derivado, determina los valores que puede tomar la variable, así
como las operaciones que pueden realizarse con ella. Los operadores serán
expuestos más adelante.
ACTIVIDADES
1. Basado en las explicaciones del Docente de la Asignatura y sus
conocimientos, crear un Sketch o programa para un tipo de pantalla LCD, el
cual le permitirá mostrar datos de un sensor o diversos sensores aplicados
a su proyecto transversal orientado a diversas áreas como son la física,
Química, Medio ambiente, Matemáticas, Robótica, Electrónica y otras
áreas. Programar adicional uno o dos sensores de tipo digital donde
muestre las lecturas en dicha pantalla. NOTA: Todo Sketch debe ser
guardado en una carpeta donde pueda al final del segundo período
sustentar sus programas realizados en el periodo, así como también anexar
a los informes respectivos. los programas para la pantalla LCD debe ser
verificados y simulados en Proteus y tomar evidencia de un video
explicativo donde refleje su correcto funcionamiento y si es posible llevarlo
al protoboard y con la tarjeta Arduino para evidenciar su proceso.