The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

1266 MANUAL - INTRODUCCIÓN AL MICROCONTROLADOR ARDUINO - CENALTEC CHIHUAHUA

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by CENALTEC, 2023-04-05 14:53:47

INTRODUCCIÓN AL MICROCONTROLADOR ARDUINO

1266 MANUAL - INTRODUCCIÓN AL MICROCONTROLADOR ARDUINO - CENALTEC CHIHUAHUA

Keywords: ARDUINO,CONTROLLERS,ITS,CENALTEC

INTRODUCCIÓN AL MICROCONTROLADOR ARDUINO 1


INTRODUCCIÓN AL MICROCONTROLADOR ARDUINO 2 INDICE INTRODUCCIÓN .................................................................................................... 3 VENTAJAS DE USAR ARDUINO ........................................................................... 3 ENTORNO .............................................................................................................. 4 LO ESENCIAL EN HARDWARE............................................................................. 4 LO ESENCIAL EN SOFTWARE.............................................................................. 6 Estructura básica de un programa..................................................................... 10 Funciones .......................................................................................................... 10 Variables............................................................................................................ 10 Tipos de datos ................................................................................................... 11 Operadores Aritméticos ..................................................................................... 11 Sentencias condicionales. ................................................................................. 12 Señales digitales................................................................................................ 12 Señales Análogas.............................................................................................. 13 Funciones de Entradas y salidas ....................................................................... 13 Funciones de tiempo y matemáticas. ................................................................ 14 Funciones de generación aleatoria.................................................................... 14 Puerto Serie....................................................................................................... 14 Bare Minimum: Lo mínimo necesario de código para iniciar un boceto de Arduino. ............................................................................................................. 16 Electronica de potencia...................................................................................... 16 Comunicación alámbrica e inalámbrica ............................................................. 17 Control desde dispositivos inteligentes (smartphones)...................................... 17 REFERENCIAS BIBLIOGRAFICAS...................................................................... 17


INTRODUCCIÓN AL MICROCONTROLADOR ARDUINO 3 INTRODUCCIÓN Arduino es una plataforma electrónica de código abierto basada en hardware y software fáciles de usar. Las tarjetas Arduino son capaces de leer entradas - luz en un sensor, un dedo en un botón o un mensaje de Twitter - y convertirlo en una salida - activar un motor, encender un LED, publicar algo en línea. Usted puede decirle a su junta lo que debe hacer enviando un conjunto de instrucciones al microcontrolador en el tablero. Para ello se utiliza el lenguaje de programación Arduino (basado en el cableado), y el software Arduino (IDE), basado en el procesamiento. A lo largo de los años Arduino ha sido el cerebro de miles de proyectos, desde objetos cotidianos hasta complejos instrumentos científicos. Una comunidad mundial de creadores - estudiantes, aficionados, artistas, programadores y profesionales - se ha reunido alrededor de esta plataforma de código abierto, sus contribuciones han sumado a una increíble cantidad de conocimiento accesible que puede ser de gran ayuda tanto para principiantes como para expertos. Arduino nació en el Ivrea Interaction Design Institute como una herramienta fácil para el prototipado rápido, dirigido a estudiantes sin experiencia en electrónica y programación. Tan pronto como llegó a una comunidad más amplia, la junta de Arduino comenzó a cambiar para adaptarse a las nuevas necesidades y desafíos, diferenciando su oferta de simples tableros de 8 bits a productos para aplicaciones IoT, portátiles, impresión 3D y entornos incrustados. Todas las placas de Arduino son totalmente de código abierto, lo que permite a los usuarios construirlas independientemente y eventualmente adaptarlas a sus necesidades particulares. El software, también, es de código abierto, y está creciendo a través de las contribuciones de los usuarios de todo el mundo. VENTAJAS DE USAR ARDUINO Gracias a su sencilla y accesible experiencia de usuario, Arduino se ha utilizado en miles de proyectos y aplicaciones diferentes. El software Arduino es fácil de usar para los principiantes, pero lo suficientemente flexible para los usuarios avanzados. Se ejecuta en Mac, Windows y Linux. Los maestros y los estudiantes lo utilizan para construir instrumentos científicos de bajo costo, para probar los principios de química y física, o para comenzar con la programación y la robótica. Diseñadores y arquitectos construyen prototipos interactivos, músicos y artistas lo utilizan para instalaciones y para experimentar con nuevos instrumentos musicales. Los fabricantes, por supuesto, lo utilizan para construir muchos de los proyectos expuestos en la feria Maker, por ejemplo. Arduino es una herramienta clave para aprender cosas nuevas. Cualquier persona - niños, aficionados, artistas,


INTRODUCCIÓN AL MICROCONTROLADOR ARDUINO 4 programadores - puede empezar a jugar sólo siguiendo las instrucciones paso a paso de un kit, o compartiendo ideas en línea con otros miembros de la comunidad de Arduino. Hay muchos otros microcontroladores y plataformas de microcontroladores disponibles para la computación física. Parallax Basic Stamp, BX-24 de Netmedia, Phidgets, Handyboard del MIT y muchos otros ofrecen una funcionalidad similar. Todas estas herramientas toman los detalles desordenados de la programación de microcontroladores y la envuelven en un paquete fácil de usar. Arduino también simplifica el proceso de trabajo con los microcontroladores, pero ofrece algunas ventajas para los profesores, estudiantes y aficionados interesados en otros sistemas: Barato - Los tableros Arduino son relativamente baratos en comparación con otras plataformas de microcontroladores. La versión más barata del módulo Arduino se puede montar a mano, e incluso los módulos Arduino pre-ensamblados cuestan menos de $ 50 dolares. Cross-platform - El software Arduino (IDE) se ejecuta en sistemas operativos Windows, Macintosh OSX y Linux. La mayoría de los sistemas de microcontroladores están limitados a Windows. Entorno de programación sencillo y claro - El software Arduino (IDE) es fácil de usar para principiantes, pero lo suficientemente flexible como para que los usuarios avanzados también se beneficien. Para los profesores, se basa convenientemente en el entorno de programación de Procesamiento, por lo que los estudiantes que aprenden a programar en ese entorno estarán familiarizados con el funcionamiento del IDE de Arduino. Software de código abierto y extensible - El software Arduino se publica como herramientas de código abierto, disponibles para la extensión por programadores experimentados. El lenguaje se puede expandir a través de las bibliotecas C ++ y la gente que quiere entender los detalles técnicos puede dar el salto desde Arduino al lenguaje de programación AVR C en el que se basa. Del mismo modo, puede agregar el código AVR-C directamente a sus programas Arduino si lo desea. Open source y hardware extensible - Los planes de las placas Arduino se publican bajo una licencia Creative Commons, por lo que los diseñadores de circuitos experimentados pueden hacer su propia versión del módulo, ampliarla y mejorarla. Incluso los usuarios relativamente inexpertos pueden construir la versión de paneles del módulo con el fin de entender cómo funciona y ahorrar dinero. ENTORNO LO ESENCIAL EN HARDWARE Arduino es un microcontrolador montado sobre una tablilla electrónica, donde cada una de sus entradas y salidas están conectadas a un pin de fácil conexión, este circuito integrado es programable y cuenta con distintos tipos de entradas, salidas y conexiones dependiendo del diseño y modelo.


INTRODUCCIÓN AL MICROCONTROLADOR ARDUINO 5 Pero básicamente se puede clasificar con los siguientes elementos: Entradas/salidas digitales. Entradas/salidas análogas. Jack de alimentación a 12vDC. Bus a usb para programación y alimentación básica. Regulador de voltaje. Cristal. Microprocesador. Botón de reset. Pin de transmisión y recepción. Leds de estado. Entre otros. La estructura básica es la siguiente:


INTRODUCCIÓN AL MICROCONTROLADOR ARDUINO 6 LO ESENCIAL EN SOFTWARE Se debe tener previamente instalado el compilador y programador de arduino, el cual se puede descargar de la página propia que es la siguiente: https://www.arduino.cc/en/Main/Software Dentro del software aparecerán las opciones correspondientes para crear nuevo proyecto o sobre escribir en alguno de sus ejemplos, y puede llegar a ser tan avanzado como los requerimientos lo ameriten, tal y como se muestra en la siguiente imagen:


INTRODUCCIÓN AL MICROCONTROLADOR ARDUINO 7 Debido a que es una programación basada en lenguaje C, con algunas variantes, cada vez que se hace una programación de código, se debe verificar la programación o “compilar” es decir, verificar a prueba de errores, si el software no detecta ningún error, permitirá la correcta programación a la tarjeta arduino correspondiente.


INTRODUCCIÓN AL MICROCONTROLADOR ARDUINO 8 De ser correcta la compilación, aparecerá como se muestra a continuación: De haber errores en la programación aparecerá como se muestra a continuación Los errores pueden ser por múltiples variables, como son; Lenguaje de programación incorrecto. Nomenclatura incorrecta. Software desactualizado u obsoleto. Caracteres faltantes. Librerías faltantes. Entre otros. De la misma manera, una vez terminado de programar y compilar, deberá realizarse la comunicación adecuada dependiendo de la tarjeta de Arduino a utilizar, estas dos operaciones pueden ser inversas. Para esto deberá seleccionarse el puerto de comunicación y la tarjeta a utilizarse, verificando que el software detecte la tarjeta correctamente tal y como se muestra a continuación: (En caso de no detectarse, debera instalarse un driver para cable y arduino.)


INTRODUCCIÓN AL MICROCONTROLADOR ARDUINO 9 Una vez que el software detecte la tarjeta en el puerto correspondiente, se procede a seleccionar el tipo de placa correspondiente, tal y como se muestra a continuación: Una vez realizado esto, se procede a programar la tarjeta Arduino con la opción de “subir”, teniendo de esta manera, una tarjeta de adquisición de datos con señales de control programadas y autónomas.


INTRODUCCIÓN AL MICROCONTROLADOR ARDUINO 10 Estructura básica de un programa La estructura básica de programación de Arduino es bastante simple y divide la ejecución en dos partes: setup y loop. Setup() constituye la preparación del programa y loop() es la ejecución. En la función Setup() se incluye la declaración de variables y se trata de la primera función que se ejecuta en el programa. Esta función se ejecuta una única vez y es empleada para configurar el pinMode (p. ej. si un determinado pin digital es de entrada o salida) e inicializar la comunicación serie. La función loop() incluye el código a ser ejecutado continuamente (leyendo las entradas de la placa, salidas, etc.). Como se observa en este bloque de código cada instrucción acaba con ; y los comentarios se indican con //. Al igual que en C se pueden introducir bloques de comentarios con /* ... */. Funciones Una función es un bloque de código identificado por un nombre y que es ejecutado cuando la función es llamada. La declaración de una función incluye en primer lugar el tipo de datos que devuelve la función (e.j. int si lo que devuelve es un valor entero). Después del tipo de datos se especifica el nombre de la función. Variables Una variable debe ser declarada y opcionalmente asignada a un determinado valor. En la declaración de la variable se indica el tipo de datos que almacenará (int, float, long)


INTRODUCCIÓN AL MICROCONTROLADOR ARDUINO 11 Una variable puede ser declarada en el inicio del programa antes de setup(), localmente a una determinada función e incluso dentro de un bloque como pueda ser un bucle. El sitio en el que la variable es declarada determina el ámbito de la misma. Una variable global es aquella que puede ser empleada en cualquier función del programa. Estas variables deben ser declaradas al inicio del programa (antes de la función setup()). Tipos de datos Arduino permite manejar los siguientes tipos de datos: • Byte. Almacena un valor numérico de 8 bits. Tienen un rango de 0-255. • Int. Almacena un valor entero de 16 bits con un rango de 32,767 a -32,768. • Long. Valor entero almacenado en 32 bits con un rango de 2,147,483,647 a -2,147,483,648. • Float. Tipo coma flotante almacenado en 32 bits con un rango de 3.4028235E+38 a -3.4028235E+38. • Arrays Se trata de una colección de valores que pueden ser accedidos con un número de índice (el primer valor del índice es 0). Ejemplos de utilización: o Definición y asignación. int myArray[] = {value0, value1, value2...} o Definición. int myArray[5]; // declara un array de 6 enteros o Asignación del cuarto componente. myArray[3] = 10; o Recuperar el cuarto componente y asignarlo a x. x = myArray[3]; Operadores Aritméticos Empleando variables, valores constantes o componentes de un array pueden realizarse operaciones aritméticas y se puede utilizar el operador cast para conversión de tipos. Ej. int a = (int)3.5; Además pueden hacerse las siguientes asignaciones:


INTRODUCCIÓN AL MICROCONTROLADOR ARDUINO 12 x ++. Lo mismo que x = x + 1. x --. Lo mismo que x = x - 1, ó decrementar x por -1. x += y. Lo mismo que x = x + y, ó incrementar x por +y. x -= y. Lo mismo que x = x - y . x *= y. Lo mismo que x = x * y. x /= y. Lo mismo que x = x / y. Para su utilización en sentencias condicionales u otras funciones Arduino permite utilizar los siguientes operadores de comparación: x == y. x es igual a y. x != y. x no es igual a y. x < y, x > y, x <= y, x >= y. Y los siguientes operadores lógicos: Y lógico: if (x > 0 && x < 5). Cierto si las dos expresiones lo son. O lógico: if (x > 0 || y > 0). Cierto si alguna expresión lo es. NO lógico: if (!x > 0). Cierto si la expresión es falsa. El lenguaje de Arduino presenta las siguientes constantes predefinidas: TRUE / FALSE. HIGH/LOW. Estas constantes definen los niveles de los pines como HIGH o LOW y son empleados cuando se leen o escriben en las entradas o salidas digitales. HIGH se define como el nivel lógico 1 (ON) o 5 V. LOW es el nivel lógico 0, OFF, o 0 V. INPUT/OUTPUT. Constantes empleadas con la función pinMode() para definir el tipo de un pin digital usado como entrada INPUT o salida OUTPUT. Ej. pinMode(13, OUTPUT); Sentencias condicionales. El lenguaje de arduino permite realizar sentencias condicionales if, if... else, for, while, do... while. Su utilización es similar a las funciones correspondientes en C. Señales digitales Las señales digitales son aquellas que se consideran como unos y ceros y que mantienen ese valor sin fluctuaciones, es decir, hay señal o no hay, arduino es una tarjeta que procesa señales electrónicas, por lo tanto, su rango de trabajo debe oscilar entre 0-5vDC. (Fuera de estas especificaciones puede llegar a dañarse la tarjeta). En electrónica se considera un “1” como 5v cuando es arriba de 3.75v y un “0” como 0v cuando es debajo de 1.75, lo que sería HIGH o LOW respectivamente. Los puntos intermedios se consideran como señales flotantes, es decir pueden ser tomadas como unos o ceros sin control. La manera de declarar un pin como entrada o salida en una tarjeta arduino es la siguiente:


INTRODUCCIÓN AL MICROCONTROLADOR ARDUINO 13 Señales Análogas Las señales Análogas son aquellas que tienen un rango de valores establecidos entre 0-5v, pudiendo variar con respecto al tiempo y emitir un voltaje preciso, por ejemplo 2.875v, procesando este mismo voltaje definido. La manera de declarar las entradas/salidas análogas es la siguiente: Funciones de Entradas y salidas Función pinMode(pin, mode) Función usada en la function setup() para configurar un pin dado para comportarse como INPUT o OUTPUT. Ej. pinMode(pin, OUTPUT); configura el pin número 'pin' como de salida. Los pines de Arduino funcionan por defecto como entradas, de forma que no necesitan declararse explícitamente como entradas empleando pinMode(). Función digitalRead(pin) Lee el valor desde un pin digital específico. Devuelve un valor HIGH o LOW. El pin puede ser especificado con una variable o una constante (0-13). Ej. v = digitalRead(Pin); Funcion digitalWrite(pin, value) Introduce un nivel alto (HIGH) o bajo (LOW) en el pin digital especificado. De nuevo, el pin puede ser especificado con una variable o una constante 0-13. Ej. digitalWrite(pin, HIGH); Función analogRead(pin) Lee el valor desde el pin analógico especificado con una resolución de 10 bits. Esta función solo funciona en los pines analógicos (0-5). El valor resultante es un entero de 0 a 1023. Los pines analógicos, a diferencia de los digitales no necesitan declararse previamente como INPUT o OUTPUT.


INTRODUCCIÓN AL MICROCONTROLADOR ARDUINO 14 Función analogWrite(pin, value) Escribe un valor pseudo-analógico usando modulación por ancho de pulso (PWM) en un pin de salida marcado como PWM. Esta función está activa para los pines 3, 5, 6, 9, 10, 11. Ej analogWrite(pin, v); // escribe 'v' en el 'pin' analógico. Puede especificarse un valor de 0 - 255. Un valor 0 genera 0 V en el pin especificado y 255 genera 5 V. Para valores de 0 a 255, el pin alterna rápidamente entre 0 V y 5 V, cuanto mayor sea el valor, más a menudo el pin se encuentra en HIGH (5 V). Por ejemplo, un valor de 64 será 0 V tres cuartas partes del tiempo y 5 V una cuarta parte. Un valor de 128 será 0 V la mitad del tiempo y 5 V la otra mitad. Un valor de 192 será 0 V una cuarta parte del tiempo y 5 V tres cuartas partes. Funciones de tiempo y matemáticas. • delay(ms). Realiza una pausa en el programa la cantidad de tiempo en milisegundos especificada en el parámetro (máximo 1000, mínimo 1). • millis(). Devuelve la cantidad de milisegundos que lleva la placa Arduino ejecutando el programa actual como un valor long unsigned. Después de de 9 horas el contador vuelve a 0. • min(x,y). max(x,y). Devuelve el mínimo y el máximo respectivamente de entre sus parámetros. Funciones de generación aleatoria. • randomSeed(seed). Especifica un valor o semilla como el punto de inicio para la función random(). Este parámetro debe ser realmente aleatorio y para ello puede emplearse la función millis() o incluso analogRead() para leer ruido eléctrico desde una entrada analógica. • random(max), random(min, max). Esta función devuelve un valor aleatorio entre el rango especificado. Puerto Serie. • Serial.begin(rate). Abre un Puerto serie y especifica la velocidad de transmisión. La velocidad típica para comunicación con el ordenador es de 9600 aunque se pueden soportar otras velocidades. • Serial.println(data). Imprime datos al puerto serie seguido por un retorno de línea automático. Este comando tiene la misma forma que Serial.print() pero este último sin el salto de línea al final. Este comando puede emplearse para realizar la depuración de programas. Para ello puede mandarse mensajes de


INTRODUCCIÓN AL MICROCONTROLADOR ARDUINO 15 depuración y valores de variables por el puerto serie. Posteriormente, desde el entorno de programación de Arduino, activando el "Serial Monitor" se puede observar el contenido del puerto serie, y, por lo tanto, los mensajes de depuración. Para observar correctamente el contenido del puerto serie se debe tener en cuenta que el "Serial Monitor" y el puerto serie han de estar configurados a la misma velocidad (Para configurar la velocidad del puerto serie se hará con el comando Serial.begin(rate)). • Serial.read().Lee o captura un byte (un caracter) desde el puerto serie. Devuelve -1 si no hay ningún carácter en el puerto serie. • Serial.available(). Devuelve el número de caracteres disponibles para leer desde el puerto serie.


INTRODUCCIÓN AL MICROCONTROLADOR ARDUINO 16 Bare Minimum: Lo mínimo necesario de código para iniciar un boceto de Arduino. Electrónica de potencia. Se ve dentro de las practicas: Control de 5 VCD Control de 24 VCD Control de 127 VCA Control de 220 VCA Encendido de lámparas piloto, luminarias, motores eléctricos Uso de pantallas, monitoreo y mensajes de texto


INTRODUCCIÓN AL MICROCONTROLADOR ARDUINO 17 Comunicación alámbrica e inalámbrica Se ve dentro de las prácticas. Control desde dispositivos inteligentes (smartphones) Se ve dentro de las prácticas. REFERENCIAS BIBLIOGRAFICAS http://dfists.ua.es/~jpomares/arduino/page_01.htm https://www.arduino.cc/


Click to View FlipBook Version