La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción al uso de Arduino

Presentaciones similares


Presentación del tema: "Introducción al uso de Arduino"— Transcripción de la presentación:

1 Introducción al uso de Arduino
Magister Víctor Andrade Soto

2 Programar desde cero Si queremos avanzar y aprender Arduino no nos queda otra que empezar por el principio con la electrónica y la programación. Por eso he decidido crear este curso de Arduino desde cero. Aquí veremos: El proceso del prototipado. Introducción al software y hardware con Arduino. Fundamentos de programación con Arduino

3 El proceso del prototipado con Arduino
Arduino es una placa orientada al prototipado. No sólo porque todo lo que está en la propia placa y el software están pensados para prototipar de una forma muy fácil y rápida. Además, tenemos sensores, actuadores y shields alrededor de Arduino que nos facilitan esta tarea. ¿Qué es lo primero que se hace cuando queremos hacer un proyecto con Arduino? Puede que pienses: «uhmmmmm pues conecto los componentes y a programar«. ¡¡¡ NO !!! Se trata de un error muy típico.

4 Cuando tenemos que empezar a crear un proyecto con Arduino lo primero que tenemos que hacer es plantear ese proyecto. Debemos plasmarlo con lápiz o bolígrafo en un papel. Así de sencillo.

5 La idea general del proyecto con Arduino
Si lo que estás planteando, por ejemplo, es hacer un proyecto con Arduino para medir la temperatura, en esta fase el proyecto no tiene que ser una simple estación meteorolótica. Tiene que ser el satélite Meteosat : plasma todo en un simple papel. Un dibujo sencillo, sin complicaciones, donde vengan todos los componentes que te gustaría tener en tu proyecto. Al final de esta fase tendrás un listado de ideas y especificaciones del satélite Meteosat ;) Este sería el inicio de la siguiente fase, el prototipo mínimo.

6

7 El prototipo mínimo Debes plantearte una pregunta crucial ¿seré capaz de enviar un satélite al espacio? ¿No sabes la respuesta? Ya te lo digo yo, ¡NO!. No estoy dudando de tus capacidades, para nada. Si que dudo de tus recursos. A no ser que seas Elon Musk, veo difícil poner un satélite en órbita. Y como este ejemplo muchos otros. A veces me preguntan si no sería mejor hacer una PCB o circuito impreso para algún proyecto. Por supuesto que si pero ¿qué experiencia tienes diseñando PCBs?¿qué experiencia tienes con electrónica?¿dónde vas a fabricar ese circuito impreso?

8 Por eso es importante centrarse en el objetivo principal de tu proyecto. Esta fase consiste en eliminar todo aquello que no es importante y que solo aportan funcionalidades extra. Si lo que quieres es medir la temperatura para algo concreto ¿por qué mides la presión? ¿por qué lo conectas a Internet? Céntrate en eso concreto y consigue crear un prototipo mínimo que sea capaz de hacer la funcionalidad principal de tu proyecto. Debes ser capaz de conocer tus limitaciones y de los medios que dispones. Es simple, si consigues hacer un prototipo mínimo en poco tiempo, no sentirás la frustración de no llevar tu idea a la realidad. Esta fase es crucial para aprender Arduino. Debes ser capaz de con muy poco, obtener resultados. Siempre tendrás tiempo de ir mejorando el proyecto con Arduino y añadir nuevas funcionalidades.

9 El diseño incremental Ahora sí, ya tienes las ideas claras de lo que tienes que hacer para llevar a cabo tu prototipo mínimo. Lo has plasmado todo y ahora empieza la fase de creación. Ya puedes empezar a crear los circuitos y a programar Arduino a partir de ese prototipo mínimo. Mi consejo es que apliques el diseño incremental. Básicamente consiste en dividir ese gran problema que vas a resolver, en pequeños problemas. Puedes verlo como un pintor. Haz un bosquejo de lo que quieres conseguir y poco a poco ves dando forma a esa idea primitiva.

10 Introducción al software y hardware
Son dos disciplinas que debes dominar en un curso de Arduino son la programación y la electrónica. No queda otra, debes pasar por esto. Si has llegado hasta aquí, es porque quieres aprender Arduino. Pero al contrario que otras tecnologías como pueda ser un ratón o un teclado, denominadas tecnologías Plug&Play, Arduino no es un hardware que se conecte y listo. En un curso de Arduino debes aprender todas las nociones para que puedas configurar y programar el microcontrolador de Arduino. Para empezar debes conocer el software y el hardware que está involucrado.

11 #1 Entorno de desarrollo de Arduino
Si quieres aprender Arduino tienes que programar. No existen fórmulas milagrosas ni atajos. Programar es la única manera de llevar a cabo tus propios proyectos con Arduino. Esta programación, ya sea para Arduino, para otro tipo de placa o para otro lenguaje de programación, se suele hacer a través de un IDE o entorno de desarrollo. Pero, ¿qué es un IDE o entorno de desarrollo?

12

13 Por ejemplo, cuando escribimos una palabra reservada nos la cambia de color. Podemos contraer estructuras de control o funciones. Insertar y gestionar librerías a través del menú o formatear el código. Pero lo más importante del IDE de Arduino es que podemos cargar el código a la placa. Podríamos escribir todo nuestro código en el Bloc de Notas o algún otro editor de texto y sería totalmente válido. El código no es más que texto. Sin embargo, el IDE de Arduino nos permite hacer una cosa fundamental: compilar el código y subirlo a la placa. Esa es la clave. No te preocupes si ahora no entiendes qué es eso de compilar, muy pronto lo veremos.

14 Otra característica importante del IDE de Arduino es que es de código abierto. Pero ¿qué quiere decir esto? Bueno, Arduino es una plataforma abierta. Dentro de esta plataforma se incluye el IDE de Arduino. Esto significa que ya no solo tenemos el software de forma gratuita, también lo podemos modificar a nuestro antojo. Eso sí, para hacer cualquier mejora o cambio debes conocer el lenguaje de programación con el que se programa el propio entorno de desarrollo de Arduino.

15 Versiones del IDE de Arduino
Se trata de un software que está en constante actualización. Arduino no tiene un periodo fijo a la hora de hacer actualizaciones. Cuando sale una nueva versión se añaden nuevas opciones o se corrigen errores. Lo más importante es que de momento (al momento vamos por la versión 1.8.9) el IDE sigue manteniendo su mismo aspecto. Esto es más importante de lo que parece. Las opciones suelen estar siempre en el mismo sitio y por lo tanto, cuando se actualiza apenas notarás la diferencia. Pero por ahora tampoco cambia el código. Esto quiere decir que si tu tienes un programa que hiciste con la versión 1.4 de Arduino, también te servirá para cargarlo a la placa con la versión 1.8.

16 Para la aplicación de escritorio: (el simulador ya a estar en el canvas y el software también)

17 No es obligatorio hacer ninguna donación aunque si que es recomendable
No es obligatorio hacer ninguna donación aunque si que es recomendable. Como ya te he comentado, podemos colaborar de múltiples formas. Cualquier ayuda es buena. Todo lo demás que continúa a partir de aquí es una secuencia de pantallas que lo único que hacen es instalar todo lo necesario para poder programar con el IDE de Arduino. A continuación un resumen rápido de la secuencia de instalación. Solo advertir que voy a hacerlo para Windows. Esto es debido a una cosa simplemente. A día de hoy es el sistema operativo más utilizado del mundo aunque nos pese. Si tengo que elegir uno prefiero este para poder ayudar al mayor número de personas.

18 1. Ejecutar el instalador del IDE de Arduino como administrador

19 2 Aceptar el acuerdo de licencia

20 3 Elegir los componentes de software

21 4 Elegir ubicación

22 5 Instalar complementos

23 6 Terminar instalación

24 Funciones principales del IDE de Arduino
Seleccionar la placa correcta y el puerto serie Seleccionar la placa es relativamente sencillo. En este curso vamos a trabajar con el modelo Arduino UNO (luego lo veremos más en profundidad). Con el IDE podemos trabajar con todos los modelos de Arduino e incluso con modelos que no son de la misma marca. Cada vez que sale una nueva placa, el IDE se actualiza para poder programarla. Con los años verás como va creciendo esta lista :) Puedes seleccionar la placa a través del menú en Herramientas>Placa>Arduino/Genuino UNO. No hace falta que conectes la placa al ordenador para seleccionar un modelo.

25

26 El puerto serie es por donde se comunican Arduino y el ordenador
El puerto serie es por donde se comunican Arduino y el ordenador. Es necesario que tengas conectado tu Arduino al ordenador. Es muy sencillo, no tiene pérdida.

27 Para seleccionar el puerto lo hacemos a través del menú Herramientas>Puerto. Puede que aparezca más de uno y además el nombre varía según el sistema operativo.

28 Preferencias del sistema

29 Localización del proyecto: podemos seleccionar una carpeta donde iremos guardando los proyectos. Por defecto será la que ha creado el instalador en documentos/Arduino. Esta ruta varía según el sistema operativo. Editor de idioma: con esta opción podemos cambiar el idioma del IDE. Editor de Tamaño de Fuente: indica el tamaño de fuente del editor del IDE. Mostrar número de línea: para que muestre los números de líneas en el editor.

30 Habilitar plegado el código: siempre que el código tenga una sentencia con {} nos permitirá contraer y expandir ese código. Muy útil cuando trabajamos con archivos muy grandes. Guardar cuando se verifique o cargue: es importante que cuando verifiquemos el código o lo carguemos al microcontrolador haga un guardado automático. Déjalo marcado.

31 Sistema de ficheros de Arduino
Una de las mejoras que han ido introduciendo dentro del IDE de Arduino es la gestión de archivos. Lo primero que debes conocer es la extensión con que se guardan los ficheros de Arduino, .ino. Si has creado un programa o sketch (sketch significa esquema o bosquejo) verás que tiene una extensión .ino. Cuando guardas un archivo en tu ordenador, el propio IDE de Arduino ya lo organiza por ti. Crea una carpeta con el mismo nombre que el archivo y dentro guarda el fichero. Por ejemplo, si creas un nuevo programa y vas al menú Archivo>Salvar, te permitirá guardarlo con un nombre.

32 Partes fundamentales del IDE de Arduino

33 El editor Aquí es donde más vamos a trabajar ya que es donde escribimos nuestro código. Pero no solo eso, también tenemos acceso a las funciones más utilizadas. En la parte central encontramos el propio editor. Incluye el número de línea útil, por ejemplo, para detectar errores.

34 Justo arriba del editor tenemos los accesos directos a las funciones más utilizadas.

35 Verificar/Compilar: este botón verifica el código en busca de errores y lo compila. Cuando hablo de compilar me refiero a traducir el lenguaje de programación que entendemos los humanos en código máquina que entienden las máquinas. Subir: el botón subir nos permite cargar o subir el código al microcontrolador a través del puerto serie USB. Nuevo: sirve para crear un programa nuevo. Esto genera una nueva ventana donde escribir el código de ese nuevo programa.

36 Abrir: abre un programa que hayas guardado previamente en el disco duro.
Salvar: guarda el archivo en el disco duro. Es como la opción que hemos visto anteriormente. Monitor serie: es una de las partes más importantes del IDE de Arduino. Sirve para mostrar información de la comunicación entre el ordenador y Arduino en las dos direcciones.

37 El área de mensajes En este área de mensajes se muestra la última acción que has realizado. También muestra mensajes cuando se está realizando alguna tarea como subiendo un programa a la placa.

38 La consola La consola nos va a dar información muy valiosa. Nos puede dar información sobre una acción concreta, por ejemplo los datos tras subir un programa a la placa. Pero lo más importante, nos informa si hay algún error.

39 Fundamentos de la placa de Arduino
Si haces una pequeña búsqueda en Internet, encontrarás que hay multitud de placas de Arduino. Hay originales, copias y un amplio abanico de modelos dependiendo de cual es su funcionalidad. Así que lo primero que debes preguntarte es ¿qué quiero conseguir?

40 No es lo mismo comprar una placa con conexión WiFi que sin ella
No es lo mismo comprar una placa con conexión WiFi que sin ella. Por ejemplo, Arduino MKR1000 puede conectarse a Internet a través de la WiFi y transmitir datos. Un Arduino UNO o un Arduino Mega no pueden por si solos. Necesitan algún tipo de shield ya sea ethernet o WiFi. Salvo estas características especiales de cada placa, el 99% del código te va a servir para cualquier placa. Por ejemplo, el acceso a los pines se hace en todas las placas igual. Esa es la magia de Arduino.

41 ¿Por qué utilizar Arduino UNO?
Dentro de todos los modelos que podemos encontrar en la tienda oficial, el recomendado para aprender Arduino es el modelo Arduino UNO. Se trata del buque insignia de la marca, el más famoso y el más vendido. Muchos otros modelos se han construido a partir de este.

42 Pero lo realmente increíble de Arduino, es que una vez que te inicias con una placa, es muy sencillo utilizar otros modelos de placa e incluso de otras marcas. Cuando hablo de placas, lo realmente importante y sobre lo que todo gira es el microcontrolador que tienen integradas esas placas.

43 ¿Qué es un microcontrolador?
Si miramos de cerca la placa nos da la sensación de que se trata de un circuito sacado de un electrodoméstico. La realidad es que Arduino está creado con un único objetivo: facilitarnos la programación de un microcontrolador. Pero qué es un microcontrolador. Lo primero es identificarlo dentro de la placa. Si miras un Arduino de cerca, verás una cucaracha o pastilla negra donde pone ATMEL. Eso es el microcontrolador.

44

45 Los microcontroladores también se llaman MCU por sus siglas en inglés Microcontroller Unit. Diariamente utilizamos decenas de ellos en dispositivos electrónicos, electrodomésticos, coches, ordenadores, móviles, etc… Pero ¿qué es una MCU o microcontrolador?. Es un circuito integrado programable, capaz de ejecutar las órdenes que están almacenadas en su memoria. Ojo a esto, circuito integrado progamable. Esto quiere decir que lo podemos programar :) Pero también existen los microprocesadores. Son los típicos procesadores que encontramos en los ordenadores por ejemplo. Existe una diferencia principal entre una MCU o microcontrolador y un microprocesador, su utilidad.

46 Una MCU tiene como objetivo una tarea concreta
Una MCU tiene como objetivo una tarea concreta. Por ejemplo, cerrar las puertas de un ascensor, captar la temperatura de un sensor, etc.. Sin embargo, un microprocesador es de propósito general. Puede hacer varias cosas a la vez. Recopilar información de los datos, enviar por , mostrar en una pantalla, etc… Un claro exponente de un dispositivo que lleva un microprocesador es una Raspberry Pi. Utilizar uno u otro dependerá del objetivo de nuestro proyecto.

47 Concepto de placa de prototipado
Una vez que ya sabemos qué es un microcontrolador ¿qué hace Arduino para facilitarnos el conexionado y la programación en un microcontrolador? Para ello vamos a sacarlo de la placa.

48 Su nombre completo es ATMEGA328P-PU y es un microcontrolador de 8-bit
Su nombre completo es ATMEGA328P-PU y es un microcontrolador de 8-bit. Esto quiere decir que solo puede hacer operaciones con números de 8-bit (números entre 0 y 255). Ahora imagínate que tuvieras que programar este circuito integrado o chip, ¿cómo lo conectas al ordenador? ¿cuáles son los pines digitales y analógicos? ¿donde está el pin de 5V y el de GND? Toda esta información la podemos obtener de su hoja de características técnicas.

49 Sin embargo, hubo una persona que pensó que había que democratizar el uso de microcontroladores y creo Arduino. El es David Cuartielles uno de los cofundadores de Arduino y el padre de la criatura. Todo lo que rodea a la placa de Arduino está pensado para facilitarnos la programación y conexión con el microcontrolador. La huella o forma en la que están dispuestos los pines, la conexión serie USB para programar y alimentar, el alimentador de baterías o pilas, cada componente está puesto en su sitio para que todo sea más fácil para nosotros.

50 Puerto USB Se llama puerto USB pero realmente estamos trabajando a través del puerto serie. Dentro de la propia placa hay un conversor de USB a serie, también conocido como TTL o FTDI. Imagino que ya te habrás dado cuenta lo que nos facilita la tarea de cargar los programas a través del puerto USB desde cualquier ordenador.

51 FTDI Los cables FTDI son la familia de cables convertidores USB a TTL serie UART y están incorporados con FT232R IC . El chip maneja todo el protocolo de conversión de datos USB a datos seriales UART. Los cables proporcionan una forma rápida y sencilla de conectar dispositivos con una interfaz serial de nivel TTL a USB y no requieren ninguna instalación y configuración de software adicional antes de usarlos. Por lo tanto, son simples dispositivos plug and play.

52

53 Pines de Arduino UNO ¿Recuerdas el microcontrolador ATMEGA328P? Este circuito integrado tiene unas patillas o patas. A esto le denominamos pines. En el lado de la placa de Arduino, estos pines tienen un acceso muy fácil para poder conectar diferentes componentes. Pero no son más que plástico, contactos y cables que se conectan con las patillas correspondientes del microcontrolador. Su función es facilitarnos su uso. Pero ¿qué podemos conectar a estos pines? Bueno, pues podemos conectar otros circuitos compatibles con cada uno de los pines. Vamos a ver los 3 zócalos que nos vamos a encontrar en Arduino UNO.

54

55 Pines digitales ¿Qué quiere decir digital? Digital es algo abstracto así que mejor verlo con una analogía. Imagínate que eres pintor. Cuando vas a pintar un cuadro solo te permiten utilizar dos colores: blanco y negro. Si quieres pintar con un gris claro por ejemplo, no puedes, no existe ese color. Solo puedes elegir entre blanco o negro. 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.

56 Podríamos tener un voltaje de 3V por ejemplo
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.

57 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) o 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).

58 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 está conectado a un LED integrado dentro de la placa. Hay algún pin más dentro de este zócalo pero como ya te he dicho al principio de este curso de Arduino, aquí vamos a ver lo esencial para ponernos en acción.

59 Pines analógicos Es el zócalo donde pone ANALOG IN y van numerados del A0 al A5, 6 pines. Si nos llevamos esto al mundo de la electrónica con Arduino, 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.

60 Sin embargo, existe un problema
Sin embargo, existe un problema. El microcontrolador no entiende de números decimales, sólo entiende datos digitales 1’s y 0’s. Para resolver esto, la MCU incorpora un ADC (son las siglas de Analog 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, o en 0,

61 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 Básicamente lo que estamos haciendo es dividir el rango de 0V a 5V en 1024 partes.

62 Pines de alimentación El zócalo de pines de alimentación nos sirve para alimentar los componentes, sensores y actuadores. Hay que destacar 4 de todos los que hay: 3,3V: suministra ese voltaje por ese pin. 5V: suministra ese voltaje por ese pin. GND: hay dos pines con esta función además del que está en el zócalo de los pines digitales. Es la toma de tierra y por donde debemos cerrar el circuito.

63 Otras características a destacar
El botón reset resetea la placa y hace que empiece a ejecutar el código desde el principio. Por último vamos a ver una serie de características secundarias que es importante destacar. La huella que forman los pines se ha convertido en un estándar para conectar los shields.

64 El LED de encendido nos informa si la placa está alimentada.
El pin Vin nos da otra alternativa a la hora de alimentar Arduino con un voltaje de entre 6V y 12V. De momento te recomiendo que lo alimentes a través del puerto USB.

65 Conector jack de alimentación
Conector jack de alimentación. Es igual que el pin Vin pero a través de un conector jack. El voltaje de alimentación que soporta es de 6V a 12V.

66 Ejercicios Prácticos

67 Encender Leds al mismo tiempo

68 El signo de admiración indica que hay un problema
El signo de admiración indica que hay un problema. Tenemos una resistencia de 1 Kohm.

69 La resistencia colocarla en 220 Ohm

70 Las 3 resistencias deben conectarse al GND
Las 3 resistencias deben conectarse al GND. Podríamos colocarlas en los GND inferiores pero no es eficiente.

71 Encender los 3 Leds al mismo tiempo.

72

73 Usar una batería Girar el arduino 180 grados para tener comodidad.

74

75 En este diseño le hacemos resistencia al lado positivo y tierra al negativo. Dejamos la resistencia en 1 KOhm

76

77 Modificamos el diseño de manera que positivo a positivo y negativo a negativo sin tierra.

78 Bloques Código Borrar Elementos de arrastre

79 Elegir 4

80 Seleccionar control y arrastrar esperar 1 segundo
Repetir pero en baja

81

82 Introducción a la programación en Arduino
Todo programa (sketch) escrito para Arduino tiene dos funciones básicas: setup y loop. Usaremos la función setup para inicializar variables y establecer un punto de partida de nuestro sketch. La función loop contendrá la actividad central de nuestro código, que se ejecutará en un bucle infinito mientras la placa Arduino tenga alimentación eléctrica.

83 ¿ Y por qué un bucle infinito forzoso. Muy sencillo
¿ Y por qué un bucle infinito forzoso? Muy sencillo. Nuestro Arduino tiene que estar continuamiente ejecutándose para comprobar el estado de los sensores y actuadores conectados. Así, dependiendo del estado de estos se actuará de una forma u otra cada vez. Una vez indicado el esqueleto básico de un sketch (programa), vamos a enumerar los tipos principales con los que podremos crear variables: boolean, char, byte, int, long, float, double, string (array de char), String (objeto) y array. De los tipos primitivos anteriores derivan los tipos unsigned, como unsigned int o unsigned long.

84 Para delimitar una instrucción de nuestro programa usaremos el símbolo de cierre «;». Para poner comentarios en nuestro código usaremos «//» para comentarios de una línea o «/* codigo */» para varias líneas. Finalmente, las cabeceras #define y #include nos servirán para declarar constantes y añadir librerías, respectivamente.

85 Operaciones Aritmético-lógicas
Existe una seria de constantes muy importantes para trabajar en Arduino. Las más usadas son: HIGH y LOW: Representan una corriente a nivel alto (un 1 en digital) o a nivel bajo (0 en digital) INPUT y OUTPUT: Para indicar si un elemento es de entrada (sensor) o de salida (actuador) true y false: Representan verdadero y falso

86 Para las operaciones aritméticas disponemos de los siguientes operadores:
Asignación: = Suma: + Resta: – Multiplicación: * División: / Módulo (resto de división): %

87 Para realizar operaciones de comparación y operaciones lógicas tenemos los siguientes:
Igual a: == Distinto de: != Menor que: < Mayor que: > Menor o igual que: >= Mayor o igual que: <= Y lógico (AND): && O lógico (OR): || Negación lógica (NOT): !

88 Estructuras de control
Una vez presentados los tipos de datos básicos y cómo compararlos, pasamos a ver las estructuras de control que permitirán modificar el flujo de nuestro programa: if: Representa una condición lógica que debe cumplirse. Si se cumple, se ejecutarán una serie de instrucciones de nuestro código else: Representa una condición que no se cumple. Se suele usar junto a un if, para establecer la situación de «if-else». Es decir, si condición X ejecuto A, si no se cumple X, ejecuto B

89 for (condición): Bucle en el que se ejecutarán una serie de instrucciones concretas, y se repetirá hasta dejar de cumplir la condición definida while (condición): Bucle mientras en el que se ejecutarán instrucciones mientras se cumpla la condición break: salir de un bucle continue: pasar a la siguiente iteración de un bucle return: salir de una función devolviendo un valor

90 Operaciones digitales y analógicas
Recordemos brevemente qué son la electrónica digital y analógica. Un dispositivo digital es aquel que se basa en una onda cuadrada, que sólo tiene dos posibles estados: 0 (apagado) y 1 (encendido). Un dispositivo analógico está basado en una onda sinusoidal que puede tomar gran cantidad de valores. Por último, vamos a plantear las funciones básicas para tratamiento de entrada-salida digital y analógica:

91 pinMode(pin, mode): establece el comportamiento de un pin de Arduino concreto
pin: entero positivo que indica el puerto de la placa al que está conectado mode: constante OUTPUT o INPUT para indicar si el dispositivo conectado es de entrada o salida a la placa digitalRead(pin): lee el valor digital del sensor conectado en «pin». Devuelve HIGH o LOW pin: puerto de la placa Arduino al que está conectado el sensor

92 digitalWrite(pin, value): escribe un valor digital al actuador conectado en «pin» pin: puerto de la placa Arduino al que está conectado el actuador value: valor HIGH o LOW para indicar si mandamos un valor de tensión alto o bajo al dispositivo analogRead(pin): lee el valor analógico del sensor conectado en «pin». Devuelve un valor entre 0 y 1023

93 pin: puerto de la placa Arduino al que está conectado al sensor
analogWrite(pin, value): escribe un valor analógico al actuador conectado en «pin», muy útil en PWM pin: puerto de la placa Arduino al que está conectado el actuador value: valor entre 0 y 255 enviado al dispositivo actuador

94 Modulación por Ancho de Pulsos (PWM)
Para entender bien cómo trabaja la función analogWrite() explicaremos superficialmente el funciomiento de PWM, o Modulación por Ancho de Pulsos. Supongamos una onda eléctrica cuadrada, en la que tendremos los valores HIGH y LOW. Esta técnica nos permitirá modificar el ancho de cada ciclo de la onda para hacerlo más largo o más corto. El resultado de esta técnica aplicada a un led supondría establecer la intensidad lumínica.

95 Más despacio, ¿quieres?. Imagina que esta onda circula a una velocidad muy muy grande. Si pasa mucho tiempo en estado alto supondrá que estará mucho rato «encendida» y por tanto estaremos más tiempo viendo el led brillar. Sin embargo, si estamos mucho tiempo en estado bajo, la luminosidad del led desprendida será menor. Entendamos este fenómeno como un efecto óptico. Nuestro ojo integra las imágenes como si fuesen fotogramas. Cuantos más fotogramas vea con luminosidad, mayor será la intensidad del color del led.

96 ¿Todo esto para explicar la función analogWrite(). Sí
¿Todo esto para explicar la función analogWrite()? Sí. Esta función es imprescindible para poder trabajar con dispositivos analógicos, que suponen una de las complicaciones iniciales en Arduino. Así, los valores 0 y 255 supondrán un led totalmente apagado o totalmente encendido, respectivamente. Si vamos aumentando el valor iremos viendo que la luminosidad crece de forma constante. Para completar la información anterior tenéis la referencia al lenguaje Arduino en la web del proyecto. En ella se desarrolla cada uno de los elementos del lenguaje citados.

97 Ejercicios


Descargar ppt "Introducción al uso de Arduino"

Presentaciones similares


Anuncios Google