UNIDAD EDUCATIVA PARTICULAR "POLITÉCNICO"
3er Año PAI - 9no "A" - "Rutgers"
Individual #1: "Práctica de encendido de luces led"
Nombre: Daniela Nicole Guevara Torres Fecha: 20/07/17
ARDUINO UNO.
Arduino es una placa con un microcontrolador de la marca Atmel y con toda la circuitería de
soporte, que incluye, reguladores de tensión, un puerto USB. Arduino UNO es la última versión de la placa, existen dos variantes, la Arduino UNO convencional y la Arduino UNO SMD. La única diferencia entre ambas es el tipo de microcontrolador que montan.
1.- LENGUAJE 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.
2.- CARACTERÍSTICAS DE C:
- Es el lenguaje de programación de propósito general asociado al sistema operativo UNIX.
- Es un lenguaje de medio nivel. Trata con objetos básicos como caracteres, números, etc… también con bits y direcciones de memoria.
- Posee una gran portabilidad
- Se utiliza para la programación de sistemas: construcción de intérpretes, compiladores, editores de texto, etc
3.- INSTRUCCIONES DE USO Y DEFINICIÓN DE VARIABLES.
{} entre llaves Las llaves sirven para definir el principio y el final de un bloque de instrucciones. Se utilizan para los bloques de programación setup(), loop(), if.., etc.Una llave de apertura “{“ siempre debe ir seguida de una llave de cierre “}”, si no es así el compilador dará errores. El entorno de programación de Arduino incluye una herramienta de gran utilidad para comprobar el total de llaves. Sólo tienes que hacer click en el punto de inserción de una llave abierta e inmediatamente se marca el correspondiente cierre de ese bloque (llave cerrada).
; punto y coma El punto y coma “;” se utiliza para separar instrucciones en el lenguaje de programación de Arduino. También se utiliza para separar elementos en una instrucción de tipo “bucle for”. Nota: Si olvidáis poner fin a una línea con un punto y coma se producirá en un error de compilación.
/*… */ bloque de comentarios Los bloques de comentarios, o comentarios multi-línea son áreas de texto ignorados por el programa que se utilizan para las descripciones del código o comentarios que ayudan a comprender el programa. Comienzan con / * y terminan con * / y pueden abarcar varias líneas. Debido a que los comentarios son ignorados por el compilador y no ocupan espacio en la memoria de Arduino pueden ser utilizados con generosidad.
// línea de comentarios Una línea de comentario empieza con / / y terminan con la siguiente línea de código. Al igual que los comentarios de bloque, los de línea son ignoradas por el programa y no ocupan espacio en la memoria. Una línea de comentario se utiliza a menudo después de una instrucción, para proporcionar más información acerca de lo que hace esta o para recordarla más adelante.
4.- TIPOS DE DATOS.
SETUP ()
La función setup() se invoca una sola vez cuando el programa empieza. Se utiliza para inicializar los modos de trabajo de los pins, o el puerto serie. Debe ser incluido en un programa aunque no haya declaración que ejecutar. Así mismo se puede utilizar para establecer el estado inicial de las salidas de la placa.
LOOP ()
Después de llamar a setup(), la función loop() hace precisamente lo que sugiere su nombre, se ejecuta de forma cíclica, lo que posibilita que el programa esté respondiendo continuamente ante los eventos que se produzcan en la placa.
5.- PIN MODE
Esta instrucción es utilizada en la parte de configuración setup () y sirve para configurar el modo de trabajo de un pin pudiendo ser INPUT (entrada) u OUTPUT (salida).
pinMode(pin, OUTPUT); // configura 'pin' como salida
Los terminales de Arduino, por defecto, están configurados como entradas, por lo tanto no es necesario definirlos en el caso de que vayan a trabajar como entradas. Los pines configurados como entrada quedan, bajo el punto de vista eléctrico, como entradas en alta impedancia.
Estos pines tienen a nivel interno una resistencia de 20 KΩ a las que se puede acceder mediante software. Estas resistencias se accede de la siguiente manera:
pinMode(pin, INPUT); // activa las resistencias internas,
// configurando el pin como entrada
digitalWrite(pin, HIGH); // Pone el pin a 1 (pull-up)
Las resistencias internas normalmente se utilizan para conectar las entradas a interruptores. En el ejemplo anterior no se trata de convertir un pin en entrada, es simplemente un método para activar las resistencias internas.
Los pins configurado como OUTPUT (salida) se dice que están en un estado de baja impedancia y pueden proporcionar 40 mA (miliamperios) de corriente a otros dispositivos y circuitos. Esta corriente es suficiente para alimentar un diodo LED (no olvidando poner una resistencia en serie), pero no es lo suficiente grande como para alimentar cargas de mayor consumo como relés, solenoides o motores.
Un cortocircuito en las patillas Arduino provocará una corriente elevada que puede dañar o destruir el chip ATmega. Puede ser buena idea conectar un pin configurado como salida a un dispositivo externo en serie con una resistencia de 470 o de 1000 Ω
6-DIGITAL WRITE
Escribe un valor HIGH o un valor LOW en un pin digital.
Si el pin ha sido configurado como OUTPUT con pinMode(), su voltaje se establece en el valor correspondiente: 5V (o 3.3 V en placas de 3.3 V) para HIGH, 0 V (masa) para LOW.
Si el pin se configura como INPUT, digitalWrite() activará (HIGH) o desactivará(LOW) las resistencias pullup enternas en el pin de entrada. Es recomendable configurar pinMode() aINPUT_PULLUP para habilitar las resistencias pull-up internas. Ver el tutorial digital pins para más información.
NOTA: Si no se configura pinMode () como salida, y se conecta un LED a un pin, al llamar digitalWrite (HIGH), el LED aparece apagado. Sin establecer explícitamente pinMode (), digitalWrite () han permitido a la resistencia pull-up interna, que actúe como una gran resistencia limitadora de corriente.
7.- ANALOG WRITE
Esta instrucción sirve para escribir un pseudo-valor analógico utilizando el procedimiento de modulación por ancho de pulso (PWM) a uno de los pines de Arduino marcados como PWM. El más reciente Arduino, que implementa el chip ATmega368, permite habilitar como salidas analógicas tipo PWM los pines 3, 5, 6, 9, 10 y 11. Los modelos de Arduino más antiguos que implementan el chip ATmega8, sólo tiene habilitadas para esta función los pines 9, 10 y 11. El valor que se puede enviar a estos pines de salida analógica puede darse en forma de variable o constante, pero siempre con un margen de 0-255.
8.- DIGITAL READ
La función digitalWrite que se utiliza para activar las salidas digitales. Muchos la hemos utilizado para manejar pantallas LCD por ejemplo o incluso distintos drivers que necesitan de distintos pines digitales para su funcionamiento y por norma general la velocidad de ésta función no es precisamente rápida. Lo podemos notar en proyectos donde necesitamos manipular un puerto entero de forma rápida. Pues bien, ésta función toma más de 50 ciclos de reloj para su ejecución, lo cual es demasiado si queremos velocidad.
9.- ANALOGREAD
Lee el valor de un determinado pin definido como entrada analógica con una resolución de 10 bits. Esta instrucción sólo funciona en los pines (0-5). El rango de valor que podemos leer oscila de 0 a 1023.
valor = analogRead(pin); // asigna a 'valor' lo que lee en la entrada 'pin'
Nota: Los pins analógicos (0-5) a diferencia de los pines digitales, no necesitan ser declarados como INPUT u OUPUT ya que son siempre INPUT.
10.- DELAY
Hace una pausa en el programa durante el tiempo (en milisegundos) especificado como parámetro. (Hay 1000 milisegundos en un segundo.), delay (ms)
ms: el número de milisegundos para hacer una pausa (long sin signo)
APA
Lenguaje de programación de Arduino, estructura de un programa. (2015, Marzo 26). Recuperado Julio 20, 2017, para https://aprendiendoarduino.wordpress.com/2015/03/26/lenguaje-de-programacion-de-arduino-estructura-de-un-programa/
Lenguaje de programación C. (2015, Marzo 26). Recuperado July 20, 2017, de https://aprendiendoarduino.wordpress.com/2015/03/26/lenguaje-de-programacion-c/
Estructura de un programa. (n.d.). Recuperado Julio 20, 2017, por http://playground.arduino.cc/ArduinoNotebookTraduccion/Structure