INSTITUTO TECNOLOGICO DON BOSCO
Carrera de Mecánica Automotriz
ELECTRONICA AUTOMOTRIZ
TRABAJO DE INVESTIGACION
Docente:
Lic. Víctor Adrián Apaza
Estudiante:
Jhamil Beymar Condori Quispe
Curso:
4to “B”
Fecha:
23/09/2021
PROGRAMACION DE ARDUINOS
INTRODUCCION
Programar Arduino consiste en traducir a líneas de código las tareas automatizadas que queremos
hacer leyendo de los sensores y en función de las condiciones del entorno programar la
interacción con el mundo exterior mediante unos actuadores.
Arduino proporciona un entorno de programación sencillo y potente para programar, pero además
incluye las herramientas necesarias para compilar el programa y “quemar” el programa ya
compilado en la memoria flash del microcontrolador. Además el IDE nos ofrece un sistema de
gestión de librerías y placas muy práctico. Como IDE es un software sencillo que carece de
funciones avanzadas típicas de otros IDEs, pero suficiente para programar.
TIPO DE LENGUAJE QUE UTILIZA ARDUINOS PARA LA PROGRAMACIÓN
El equipo que desarrolló la tarjeta Arduino creo un lenguaje propio para programar estas tarjetas.
Este lenguaje está basado en un lenguaje llamado Wiring. Este es un framework (Un framework es
una especie de plantilla, esquema o estructura conceptual de base tecnológica que nos permite
trabajar de una manera mucho más sencilla) de código abierto para la programación de micro
controladores.
Wiring: Está escrito en los lenguajes de programación C y C++. De allí que la sintaxis sea
parecida a la usada en estos lenguajes. La ventaja de usar este framework es la gran variedad
de microcontroladores que soporta, este soporta los microcontroladores atmega que son los
usados por las familias de tarjetas de Arduino.
Por último, al igual que Arduino, wiring cuenta con un IDE basado en Processing donde se
puede realizar la programación de los microcontroladores. Para ello simplemente debemos
ir al sitio web de wiring y descargar este entorno de desarrollo. Está disponible para
Windows, Linux y MAC.
Processing: Para poder escribir el código y darle instrucciones a nuestro microcontrolador o
tarjeta de desarrollo necesitamos un entorno. Estos entornos son conocidos como IDE
(Integrated Development Enviroment) que se define como un entorno de desarrollo
integrado.
Lenguaje C/C++: Ya vimos que el lenguaje Arduino está basado en wiring y este a su vez
está basado en C/C++. Por lo cual para trabajar con proyectos en Arduino debemos tener
conocimientos de lenguaje C. Si bien no se usan todas las funciones de este lenguaje, si se
usan los tipos de variables y las estructuras.
La ventaja que ofrece C es que es un lenguaje de medio nivel, que permite manejar más
eficientemente los recursos del microcontrolador, además es un lenguaje compilado, lo cual nos
permite crear un archivo que posteriormente será cargado en el microcontrolador.
DIAGRAMA DE FLUJO QUE UTILIZA ARDUINO
La estructura básica de un sketch de Arduino es bastante simple y se compone de al menos dos
partes. Estas dos partes son obligatorios y encierran bloques que contienen declaraciones,
estamentos o instrucciones.
En donde setup() es la parte encargada de recoger la configuración y loop() es la que contiene el
programa que se ejecutará cíclicamente (de ahí el término loop –bucle-). Ambas funciones son
necesarias para que el programa trabaje.
La función de configuración (setup) debe contener la inicialización de los elementos y esta función
sólo se ejecuta una vez justo después de hacer el reset y no se vuelve a ejecutar hasta que no haya
otro reset. Es la primera función a ejecutar en el programa y se utiliza para configurar, inicializar
variables, comenzar a usar librerías, etc.
La función bucle (loop) siguiente contiene el código que se ejecutará continuamente (lectura de
entradas, activación de salidas, etc). Esta función es el núcleo de todos los programas de Arduino
y se usa para el control activo de la placa.
INSTRUCCIÓN QUE UTILIZA ARDUINOS PARA LA PROGRAMACIÓN
Programar consiste básicamente en decirle a tu Arduino y a los actuadores que este controla desde
sus puertos (o “shields”) lo que tiene que hacer (o esperamos que haga, todos los programadores
saben que estas son cosas frecuentemente diferentes).
Un programa (o “sketch” en la jerga Arduino) consigue este objetivo fundamentalmente mediante
el procesamiento más o menos complejo de datos y la transmisión de estos datos procesados a los
actuadores. Lo que llamamos variables es simplemente una manera de codificar o representar estos
datos dentro del sketch para facilitar su manipulación de cara a su transmisión hacia o desde los
actuadores/sensores.
Desde un punto de vista práctico, podemos considerar las variables como los cajones de un
escritorio, cada uno tiene una etiqueta describiendo el contenido y dentro de él se encuentra el valor
de la variable (el contenido del cajón). Hay tantos tipos de variables como de datos: números de
todo tipo representados de diferentes maneras (enteros, reales, binarios, decimales, hexadecimales,
etc.), textos (de un solo o varios caracteres o líneas), matrices (arrays), constantes, etc.
PARTES DE LA TARJETA DE ARDUINO Y FUENTE DE ALIMENTACIÓN
Existen múltiples variantes del Arduino. En este caso, usaremos el Arduino UNO que es el más
común.
Potencia - USB (1) / Conector de Adaptador (2): Cada placa Arduino necesita una forma de estar
alimentado electricamente. Esta puede ser alimentado desde un cable USB que viene de su
ordenador o un cable de corriente eléctrica con su respectivo adaptador. La conexión USB es
también cómo va a cargar código en su placa Arduino.
Pines (5V, 3.3V, GND, Analog, Digital, PWM, AREF): Los pines en la placa Arduino es donde se
conectan los cables de un circuito. El Arduino tiene varios tipos diferentes de entradas, cada uno
de las cuales está marcado en el tablero y utilizan para diferentes funciones:
• GND (3): Abreviatura de "tierra" (en Ingles). Hay varios pines GND en el Arduino, cualquiera
de los cuales pueden ser utilizados para conectar a tierra el circuito.
• 5V (4) y 3.3V (5): Son los suministros pin 5V 5 voltios de energía, y los suministros de pin 3.3V
3.3 voltios de potencia.
• Analógico (6): El área de pines en el marco del 'analógica' etiqueta (A0 a A5) son analógicas.
Estos pines pueden leer la señal de un sensor analógico (como un sensor de temperatura) y
convertirlo en un valor digital que podemos leer.
• Digital (7): Son los pines digitales (del 0 al 13). Estos pines se pueden utilizar tanto para la entrada
digital (como decir, si se oprime un botón) y salida digital (como encender un LED).
• PWM (8): Usted puede haber notado la tilde (~) al lado de algunos de los pines digitales (3, 5, 6,
9, 10 y 11). Estos pines actúan como pines digitales normales, pero también se pueden usar para
algo llamado Modulación por ancho de pulsos (PWM, por sus siglas en Ingles).
• AREF (9): Soportes de referencia analógica. La mayoría de las veces se puede dejar este pin solo.
A veces se utiliza para establecer una tensión de referencia externa (entre 0 y 5 voltios) como el
límite superior para los pines de entrada analógica.
Botón de reinicio (10): Empujando este botón se conectará temporalmente el pin de reset a tierra y
reinicie cualquier código que se carga en el Arduino. Esto puede ser muy útil si el código no se
repite, pero quiere probarlo varias veces.
Indicador LED de alimentación (11): Este LED debe encenderse cada vez que conecte la placa
Arduino a una toma eléctrica. Si esta luz no se enciende, hay una buena probabilidad de que algo
anda mal.
LEDs RX TX (12): TX es la abreviatura de transmisión, RX es la abreviatura de recibir. Estas
marcas aparecen un poco en la electrónica para indicar los pasadores responsables de la
comunicación en serie. En nuestro caso, hay dos lugares en la Arduino UNO donde aparecen TX
y RX - una vez por pines digitales 0 y 1, y por segunda vez junto a los indicadores LED de TX y
RX (12). Estos LEDs nos darán algunas buenas indicaciones visuales siempre nuestro Arduino está
recibiendo o transmitiendo datos (como cuando nos estamos cargando un nuevo programa en el
tablero).
Microcontrolador (13): Lo negro con todas las patas de metal es un circuito integrado (IC, por sus
siglas en Ingles). Piense en ello como el cerebro de nuestro Arduino. La principal IC en el Arduino
es ligeramente diferente del tipo de placa a placa tipo, pero es por lo general de la línea de ATmega
de CI de la empresa ATMEL. Esto puede ser importante, ya que puede necesitar para saber el tipo
de IC (junto con su tipo de tarjeta) antes de cargar un nuevo programa desde el software de Arduino.
Esta información se puede encontrar en la escritura en la parte superior de la IC. Si quieres saber
más acerca de la diferencia entre diversos circuitos integrados, la lectura de las hojas de datos suele
ser una buena idea.
Regulador de Voltaje (14): Esto no es realmente algo que se puede (o debe) interactuar con el
Arduino. Pero es potencialmente útil para saber que está ahí y para qué sirve. El regulador de
voltaje hace exactamente lo que dice - que controla la cantidad de tensión que se deja en la placa
Arduino. Piense en ello como una especie de guardián; se dará la espalda a una tensión adicional
que podría dañar el circuito. Por supuesto, tiene sus límites, por lo que no conecta tu Arduino a
nada superior a 20 voltios.
SISTEMA DE INTERFAZ DE ARDUINO A PC
Por ejemplo podemos crear comandos para prender/apagar un led, mover un motor, o leer un
sensor. A continuación estudiaremos un ejemplo que nos permite controlar un led RGB con la PC.
Materiales necesarios.
Arduino UNO R3
Cable USB para Arduino
Cables para conexión en el protoboard
Protoboard Miniatura
Resistencias 330 Ohms
Led RGB cátodo común
Diagrama de conexiones Controlar LED RGB desde la PC
La siguiente ilustración muestra como debemos efectuar las conexiones para el ejemplo que vamos
a cargar en nuestro arduino a continuación. Utilizamos un LED RGB de cátodo común con sus
respectivas resistencias de 330 ohms.
La vista detallada de las conexiones y el circuito armado es la siguiente:
Considera lo siguiente al armar el circuito:
El pin más largo del led es el común.
El pin más largo se conecta a tierra (pin GND de Arduino).
Se utilizan los pines de conexión 3, 5 y 6 por que son salidas PWM de la tarjeta Arduino
UNO
ESTRUCTURA DE PROGRAMACIÓN DE ARDUINO
La estructura básica del lenguaje de programación de Arduino es bastante simple y se compone de
al menos dos partes. Estas dos partes necesarias, o funciones, encierran bloques que contienen
declaraciones, estamentos o instrucciones. Veamos un ejemplo sencillo:
int led1; // antes de la función setup() podemos utilizar esta zona para declarar variables
int led2;
void setup()
Instrucciones; // aquí realizamos la configuración inicial de variables
void loop()
Instrucciones; //el código que se va a repetir de forma indefinida
En la primera parte del código nos encontramos con la zona donde podemos declarar e inicializar
las variables. Las variables son «símbolos» que usamos en programación y que van a almacenar
valores temporales, que pueden ser alterados durante la ejecución del programa.
En este ejemplo declaramos las variables led1 y led2, que bien podrían ser utilizadas para declarar
las salidas digitales que vamos a utilizar en Arduino para colocar ambos leds, de tal forma que
podamos programar su encendido y apagado. Utilizando variables nos evitamos poner el valor de
esa salida digital en el código de forma constante, de tal forma que si por alguna razón queremos
cambiar esa salida digital y conectar un led que estaba conectado a la salida 13, a la 12, sólo
tendríamos que realizar ese cambio en la declaración de la variable, y no en todas las veces que la
utilizamos en el código.
La función setup() es la parte encargada de recoger la configuración y loop() es la que contiene el
programa que se ejecutará cíclicamente (de ahí el término loop –bucle).
Ambas funciones son necesarias para que el programa trabaje. La función de configuración setup()
debe contener la declaración de las variables. Es la primera función a ejecutar en el programa, se
ejecuta sólo una vez, y se utiliza por ejemplo para configurar o inicializar las entradas/salidas
digitales con la instrucción pinMode(), la comunicación por el puerto serie y otras configuraciones
iniciales.
La función loop() contiene el código que se ejecutará continuamente (lectura de entradas,
activación de salidas, etc) Esta función es el núcleo de todos los programas de Arduino y la que
realiza la mayor parte del trabajo..
Como se observa en este bloque de código cada instrucción acaba con ; y los comentarios se indican
con // al principincio de la línea que va a ser «comentada». Al igual que en el lenguaje de
programación C se pueden introducir bloques de comentarios con /* …líneas de código */, de tal
forma que podemos escribir un comentario literal informativo de nuestro código en varias líneas
empezando y acabando con estos símbolos.
BIBLIOGRAFIA
https://aprendiendoarduino.wordpress.com/
www.flexbot.es/estructura-basica-del-codigo-arduino/
www.uco.es/aulasoftwarelibre/wp-content/uploads/2010
https://arduino.cl/ejemplo-barra-con-interfaz-de-pc