CONTADORES DIGITALES CON ARDUINO
1. COMPETENCIA ESPECIFICA DE LA SESION
- Programación de sensores digitales con Arduino.
- Programación de actuadores digitales con Arduino.
- Implementación de proyecto con sensores y actuadores digitales.
2.1 PROGRAMACIÓN ARDUINO
La estructura de un programa en Arduino puede llegar a ser muy diferente en función de la complejidad de la aplicación que queramos crear, pero como en la mayoría de lenguajes de programación esta estructura está formada por funciones, sentencias, bucles y otros elementos que conforman la estructura de programa.
2.1.1 Funciones
Una función es un bloque de código con un nombre y un conjunto de estamentos que son ejecutados cuando se llama a dicha función. Las funciones de usuario se crean para realizar tareas repetitivas reduciendo de esa manera el tamaño del programa.
Las funciones están asociadas a un tipo de valor "type", este es el valor que devolverá la función una vez termine su ejecución.
type nombreFunción (parámetros)
{
Estamentos o instrucciones;
}
Si la función no devuelve ningún valor, se le asignará el tipo "void" o función vacía.
No es obligatorio pasarles parámetros a la función, se pueden crear funciones independientes que obtengan sus propios parámetros para trabajar.
Ejemplo de función:
/* Define la función "multiplicar" a la que se le pasarán los 2 números que se deseen multiplicar devolviendo un valor entero (int). */
int multiplicar (int x, int y) //función multiplicar
{
int resultado; //declara la variable donde se almacena el resultado resultado = x * y; //ejecuta la operación de multiplicar
return resultado; //devuelve el resultado de la multiplicación
}
Para hacer uso de la función anterior, tan solo habrá que llamarla desde cualquier parte del programa. Esta llamada a la función se realiza de la siguiente manera:
void loop()
{
int i =2;
int j =3;
int k;
k = multiplicación(i, j); //llama a la función multiplicación pasándole los //parámetros "i" y "j"
}
En Arduino los programas pueden estar compuestos por infinidad de funciones, pero existe una estructura básica que deben de cumplir todos los programas.
Esta estructura básica, está formada por dos funciones totalmente necesarias para la ejecución del programa, la función setup() y loop().
A) Setup ()
La función setup() se invoca una sola vez al comienzo del programa. Esta función se usa para realizar la configuración inicial, dentro de esta configuración podemos establecer el modo de trabajo de los pines o inicializar la comunicación serie entre otras cosas.
void setup()
{
Estamentos o instrucciones;
}
B)Loop ()
La función loop() es la función principal dentro del programa. Esta función se va a
ejecutar continuamente de manera cíclica, ejecutando todas las instrucciones
que se encuentren en su interior.
void loop()
{
Estamentos o instrucciones;
}
Además de las funciones principales, existen otros elementos de la estructura de programa que ayudan a definir, delimitar, estructurar y a hacer más claro el
contenido del programa.
2.1.2 Llaves {}
Las llaves definen el principio y el final de un bloque de instrucciones. Se usan para delimitar el inicio y fin de funciones como setup()o para delimitar el alcance de los bucles y condicionales del programa.
funcion()
{
Estamentos o instrucciones;
}
2.1.3 Punto y coma ;
El punto y coma ";" se utiliza para definir el final de una instrucción y separarla de la siguiente. Si no colocamos punto y coma, el programa va a interpretar mal las instrucciones y se va a producir un error de compilación.
digitalWrite (10, HIGH);
El error más común a la hora de programar suele ser olvidar poner punto y coma al final de la instrucción.
2.1.4 Bloque de comentarios /*...*/
Los bloques de comentarios son áreas de texto que nos ayudan a describir o comentar un programa, estos bloques serán ignorados a la hora de compilar el programa en nuestro Arduino.
/*El bloque de comentario ayuda
al programador a describir el programa
*/
Se pueden introducir todas las líneas de texto que se deseen siempre que se encuentren entre los caracteres /*...*/.
Se recomienda el uso de bloques de comentarios siempre que se pueda, ya que ayudan a la comprensión del programa a personas ajenas al mismo, además, estos comentarios no van a ocupar espacio de programa, ya que son ignorados a la hora de compilar.
2.1.5 Línea de comentarios //
La línea de comentarios tienen la misma función que los bloques de comentarios, la única diferencia es que las líneas de comentarios suelen usarse para comentar instrucciones ya que solo afectan a una línea.
int x = 10; //declara la variable 'x' como tipo entero de valor 13
2.1.6 Variables
Las variables son elementos donde se almacenan valores numéricos que serán usados por el programa. Como su nombre indica, las variables van a cambiar de valor con la evolución del programa y nos van a permitir crear la lógica del programa en función de estos cambios.
int variable_entrada = 0; //declara una variable y le asigna el valor 0variable_entrada = analogRead(2); //la variable toma el valor de la entrada analógica 2
Una variable debe ser declarada y opcionalmente asignarle un valor antes de ser usada por el programa, si no hemos declarado la variable o lo hemos hecho con posterioridad a su uso va a dar un error al compilar el programa.
Es recomendable asignarle un valor inicial a las variables para no tener un valor indeterminado que pudiera ocasionar algún error a la hora de la ejecución del programa.
Cuando se asignen nombres a las variables, se deben de usar nombres que identifiquen claramente a dichas variables, para ello se usan nombres como "pulsador", "led", "entrada_1".... esto va a ayudar a hacer un código legible y fácil de entender.
A) Utilización de las variables
Las variables pueden ser declaradas en diferentes lugares del programa, en función del lugar donde sean declaradas, las variables van a ser de tipo global o local, determinando esto el ámbito de aplicación o la capacidad de ciertas partes del programa para hacer uso de las mismas
Una variable global es aquella que puede ser vista y utilizada por cualquier función y estamento de un programa. Las variables globales se declaran al comienzo del programa, antes de la función setup().
Una variable local es aquella que se define dentro de una función o como parte de un bucle. Solo será visible y podrá utilizarse dentro de la función o bucle donde es declarada.
La existencia de variables globales y locales, permite el uso de variables con el mismo nombre en partes diferentes del programa, estas variables podrán almacenar valores distintos sin que se produzca ningún conflicto, ya que a las variables locales solo tendrán acceso las funciones donde se declaren dichas variables.
Ejemplo de variables globales y locales:
int led = 10; //"led" es una variable global visible para cualquier función
void setup()
{
pinMode (led, OUTPUT); //establece el pin "led" como salida
}
void loop ()
{ float valor; //"valor" es una variable local solo visible dentro de "loop"
for (int i=0; i<20; i++) //"i" es una variable local usada por el bucle for
{
digitalWrite (led, HIGH); //uso de la variable global "led"
}
}
B)Tipos de variables
A la hora de usar una variable dentro del programa debemos de pararnos a pensar que información o qué tipo de operaciones vamos a aplicar a estas variables y en función de esto asignarle un tipo u otro. Debemos de asegurarnos que el tipo de variable que estemos usando tiene rango suficiente para almacenar los datos sin llegar a ser desproporcionada, ya que usar variables grandes va a consumir más recursos de memoria.
*char: el tipo "char" se utiliza para almacenar caracteres en formato ASCII
*float: el tipo "float" se utiliza para datos con decimales, aunque cuenta con 32bit's, tan solo tiene una precisión de 7 dígitos en sus decimales.
4. EVIDENCIA DE TAREAS EN LABORATORIO
4.1 PRIMER EJERCICIO
4.2 SEGUNDO EJERCICIO
4.3 TERCER EJERCICIO
VÍDEO
5. OBSERVACIONES
- Se observo que el juego blockly games puzzle es una introducción al arduino ,y se puede decir que ya estamos programando en forma de diverción
- Se aprecio que en el laboratorio debiamos establecer bien nuestra programacion para que el numero podriera aumentar y disminuir
- Se tubo algunos problemas al realizar el ultimo trabajo po el cual necesitabamos el comando "if.."
6. CONCLUSIONES
- Se logro hacer la programación de sensores digitales con Arduino.
- Se pudo hacer la programación de actuadores digitales con Arduino.
- Se pudo Implementar el proyecto con sensores y actuadores digitales
- Se logró hacer contar y descontar con la programación
7. FOTO GRUPAL










No hay comentarios:
Publicar un comentario