domingo, 23 de julio de 2017

Bitácora Arduino

UNIDAD EDUCATIVA PARTICULAR “POLITÉCNICO”
3er Año PAI - 9no “B
Prof: Viviana Tuarez
Alyssa Gamboa
Bitácora Arduino 
Resultado de imagen para arduinoversión de esta placa. Si se trata de hablar de versiones de arduinos, se podría decir que Arduino UNO es la última

Nosotros denominamos arduino a 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, conectado a un módulo adaptador USB-Serie que permite programar el microcontrolador desde cualquier PC. Un arduino tiene 14 pines que pueden configurarse como entrada o salida y a los que puede conectarse cualquier dispositivo que sea capaz de transmitir o recibir señales digitales de 0 a 5 V. También dispone de entradas y salidas analógicas.

 Sabemos que Arduino UNO es la ultima versión de la placa, pero en esta existen dos variantes, la Arduino UNO convencional, o la Arduino UNO SMD. La única dferencia entre las dos es el tipo de microcontrolador que montan. La primera es un microcontrolador Atmega en formato DIP, y la segunda, dispone de un microcontrolador en formato SMD

Aunque se hable de que hay un lenguaje propio de programación de Arduino, no es cierto, la programación se hace en C++ pero Arduino ofrece unas librerías que facilitan la programación de los pines de entrada y salida y de los puertos de comunicación, así como otras librerías para operaciones específicas. El propio IDE ya incluye estas librerías de forma automática y no es necesario declararlas expresamente. 
El arduino tiene un lenguaje para poder ejecutarse, a continuación una pequeña parte de lo que es el lenguaje arduino:
    Resultado de imagen para lenguaje arduino
  • {} 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.
  • ; punto y coma. El punto y coma “;” se utiliza para separar instrucciones en el lenguaje de programación de Arduino.
  • /*… */ 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.
  • // 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.
  • Cabeceras: #define, #include
  • Operadores aritméticos: +, -, *, /, %
  • Asignación: =
  • Operadores de comparación: ==, !=, <, >, <=, >=
  • Operadores Booleanos: &&, ||, !
  • Operadores de acceso a punteros: *, &
  • Operadores de bits: &, |, ^, ~, <<, >>
  • Operadores compuestos:
  • Incremento y decremento de variables: ++, --
  • Asignación y operación: +=, -=, *=, /=, &=, |= 
  • Condicionales: if, if...else, switch case
  • Bucles: for, while, do. while
  • Bifurcaciones y saltos: break, continue, return, goto
  • HIGH/LOW: representan los niveles alto y bajo de las señales de entrada y salida. Los niveles altos son aquellos de 3 voltios o más.
  • INPUT/OUTPUT: entrada o salida.
  • false (falso): Señal que representa al cero lógico. A diferencia de las señales HIGH/LOW, su nombre se escribe en letra minúscula.
  • True (verdadero): Señal cuya definición es más amplia que la de false. Cualquier número entero diferente de cero es "verdadero", según el álgebra de Boole, como en el caso de -200, -1 o 1. Si es cero, es "falso".
Resultado de imagen para estructura basica de un arduino

 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.).
 
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). 
  • Boolean. Un booleano solo tiene dos valores true y false. Cada booleano ocupa un byte de memoria.
 Los datos que guardamos en las variables pueden ser de diferentes 
tipos, vamos a listar algunos de ellos. 
Resultado de imagen para variables arduino
  • char, se utilizan para almacenar caracteres, ocupan un byte.
  • byte, pueden almacenar un número entre 0 y 255.
  • int, ocupan 2 bytes (16 bits), y por lo tanto almacenan número entre 2-15 y 215-1, es decir, entre -32,768 y 32,767.
  • unsigned int, ocupa trambién 2 bytes, pero al no tener signo puede tomar valores entre 0 y 216-1, es decir entre 0 y 65,535.
  • long, ocupa 32 bits (4 bytes), desde -2,147,483,648 a 2,147,483,647.
  • unsigned long.
  • float, son números decimales que ocupan 32 bits (4 bytes). Pueden tomar valores entre -3.4028235E+38 y +3.4028235E+38.
  • double, también almacena números decimales, pero disponen de 8-bytes (64 bit).
Resultado de imagen para pinmode
 Tambien un Arduino tiene tipos de instrucciones tales como:
 

pinMode(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).

Resultado de imagen para digitalwrite 
 digitalWrite(pin, value): Envía al pin definido previamente como OUTPUT el valor HIGH o LOW (poniendo a 1 ó 0 la salida). El pin se puede especificar ya sea como una variable o como una constante (0-13).

 

 

Resultado de imagen para analogwrite arduinoanalogWrite(pin, value): Asigna el valor de un pin de salida PWM. Los valores posibles por defecto están en el rango 0-255 . En las tarjetas Wiring v1 los pines con capacidad PWM son: 29, 30, 31, 35, 36 y 37. En la tarjeta Wiring S los pines con capacidad PWM son: 4, 5, 6, 7, 19 y 20. analogWrite es un alias para el comando PWMWrite(). Usar analogWrite() en un pin sin capacidad PWM hace que el pin sea colocado en HIGH sin ningun otro efecto.

Resultado de imagen para digitalread 

 

digitalRead(pin): Lee el valor de un pin digital dando un resultado HIGH (alto) o LOW (bajo). El pin se puede especificar ya sea como una variable o una constante (0-13).

Resultado de imagen para analogread arduino  

analogRead(): Lee el valor de un pin análogo. Los valores posibles están en el rango 0-1023, donde 0 es 0 voltios y 1023 es 5 voltios. 

 

 

Imagen relacionada 

 

delay(ms): Pausa el programa por la cantidad de tiempo (en milisegundos) especificada como parámetro (hay 1000 milisegundo en un segundo)

 En clase...

Lamentablemente en la clase pasada yo no pude asistir ya que estuve enferma, y me encontraba con mucho malestar, pero logré realizar la practica de arduino pero en mi casa, con un poco de ayuda de mis compañeros, que me expicaron como se llevaba a cabo esta conexión, y enrealidad no me pareció una conexión difícil, salvo por los códigos que tenían que de alguna manera ser modificados, pienso que es muy interesante saber acerca de que manera puedo realizar una herramienta que en este caso es un sensor de humedad, que va a ser de uso exclusivo para no solo la realizacion del proyecto de sistema de riego, sino también para que en un futuro podamos efectuar mas tipos de sensores y sepamos como manipularlos.

Fuentes: https://es.wikipedia.org/wiki/Arduino#Lenguaje_de_programaci.C3.B3n_Arduino

diwo.bq.com/variables-en-arduino/

http://dfists.ua.es/~jpomares/arduino/page_06.htm

 

No hay comentarios:

Publicar un comentario