//FUNCION AND
int pin_INa = 5; //Definimos el pin 5 para conectar el pulsador INa
int pin_INb = 4; //Definimos el pin 4 para conectar el pulsador INb
int pin_LED = 3; //Definimos el pin 3 para conectar el led
boolean INa, INb, OUT;//Definimos que las E/S son booleanas
void setup() /*Se usa para inicializar variables, asignar los
modos (INPUT o OUTPUT) de los pines, inicializar la comunicación
serie, etc.*/
{ //Comienzo del bloque de configuración
pinMode(pin_INa, INPUT); //pin como entrada
pinMode(pin_INb, INPUT); //pin como entrada
pinMode(pin_LED, OUTPUT);//pin como salida
}// Final del bloque de configuración
void loop() /*La función loop() ejecuta un bloque de código de forma
cíclica continuamente*/
{ //Comienzo del bloque de ejecución del programa
INa = digitalRead(pin_INa);// Indicamos que el valor depende del pin_INa
INb = digitalRead(pin_INb);// Indicamos que el valor depende del pin_INa
OUT = INa && INb;// Indicamos que la salida OUT depende del valor que tenga INa Y Inb
//&& AND Devuelve 1 si se cumplen las dos condiciones
digitalWrite(pin_LED, OUT);// prenda el LED
} // Finalización del bloque de ejecución del programa
/*
- Las llaves se utilizan en diversas contrucciones. La principal aplicación
es definir el comienzo y el final del bloque de declaraciones de una función.
También se utilizan en los bucles (while,do...while y for) y en las sentencias
condicionales (if, if...else).
- El punto y coma. Se utiliza para finalizar una declaración
(toda declaración debe terminar en ;) y para separar los elementos de un bucle for.
- La función pinMode() configura un pin como entrada o salida. Para utilizarla,
se le pasan sus dos parámetros: el primero es el número del pin que se va a
configurar y el segundo que es la constante INPUT (entrada) o la constante
OUTPUT (salida), para indicar la configuración del pin.
- La función digitalWrite() envía un valor a un pin digitalWrite(pin_LED, OUT)
- La función delay() hace a Arduino esperar un tiempo dado por el número
especificado de milisegundos dentro del paréntesis antes de continuar con la
siguiente línea.
- Definición de niveles de pin, HIGH y LOW
Al leer o escribir en un pin digital sólo son posibles dos valores: HIGH y LOW.
· HIGH
Cuando un pin se configura como entrada (INPUT) con pinMode() y se lee con digitalRead(), el
microcontrolador devuelve HIGH si en el pin hay un voltaje de 3 V o más.
Cuando un pin se configura como salida (OUTPUT) con pinMode() y se pone a HIGH con
digitalWrite(), el pin se encontrará a 5 V.
· LOW
Cuando un pin se configura como entrada (INPUT) con pinMode() y se lee con digitalRead(), el
microcontrolador devuelve LOW si en el pin hay un voltaje de 2 V o menos.
Cuando un pin se configura como salida (OUTPUT) con pinMode() y se pone a LOW con
digitalWrite(), el pin se encontrará a 0 V.
void
- La palabra clave void (vacío) se utiliza sólo en las declaraciones de funciones. Indica que la
función no retorna ninguna información a la función desde la que se ha llamado. Por ejemplo, las
funciones setup() y loop() realizan acciones pero no devuelven información al programa principal.
-Un valor booleano contiene uno de dos valores, true o false. Una variable booleana ocupa sólo
un byte de memoria.
-int
Los enteros son el principal tipo de datos para el almacenamiento de números, y almacenan un
valor de 2 bytes. Esto supone un rango desde -32.768 a 32.767 (valor mínimo de –2^15 y un valor
máximo de (2^15) –1).
-Variables
Para poder usar una variable primero hay que declararla. Declarar una variable es, por
decirlo así, crear una variable nueva, lo que equivale a reservar un espacio de la
memoria RAM para guardar un dato. Para declarar una variable es preciso indicar dos
cosas: el nombre de la variable y el tipo de dato que almacenará la misma. Esto se hace
de la siguiente manera:
tipo_dato nombre_variable;
donde:
tipo_dato es el tipo de dato que vamos a guardar en la variable, que puede ser
int (número entero), char (carácter), float (número con decimales), etc.
nombre_variable es el nombre que nosotros le vamos a dar a esa variable.
Además, de forma opcional podemos inicializar la variable cuando la declaramos, es
decir, es decir, al mismo tiempo que la creamos podemos darle un valor inicial con el
que comenzará en cuanto empiece la ejecución del programa. Esto se hace así:
tipo_dato nombre_varible = valor;
donde:
valor representa el valor inicial que contendrá la variable al crearse.
Además, podemos declarar más de una variable en una sola línea, siempre que las
variables sean del mismo tipo. Esto se hace de la siguiente manera:
tipo_dato nombre_variable1, nombre_variable2;
Nota sobre los nombres de las variables:
A las variables no se les puede dar cualquier nombre. No se pueden poner más que
letras de la 'a' a la 'z' (la ñ no vale), números y el símbolo '_'. No se pueden poner
signos de admiración, ni de interrogación. Además, el nombre de una variable puede
contener números, pero su primer carácter no puede serlo. Tampoco valen como
nombres de variable las palabras reservadas que usa el compilador, como por ejemplo:
for, main, do, while.
Es importante tener en cuenta que el lenguaje de programación C distingue entre
mayúsculas y minúsculas. Por lo tanto, los siguientes nombres serán tres variables
diferentes:
nombre
Nombre
NOMBRE
Por último, con el objetivo de escribir un código que sea fácilmente legible, para
nombrar a las variables se deben utilizar nombres descriptivos, es decir, nombres que
definan de alguna manera el dato que van a guardar. A continuación se muestran
algunos ejemplos de nombres descriptivos y no descriptivos:
Variables globales y locales___________________________________________
Ya sabemos cómo se declaran las variables, pero la siguiente pregunta sería: ¿en qué
lugar de nuestro programa hemos de declararlas?
Dependiendo de dónde las declaremos, el funcionamiento de las variables será
diferente. En concreto, distinguimos dos tipos de variables, en función del lugar donde
han sido declaradas:
Variable global: es aquella variable que se declara al principio del programa,
es decir, antes de la función setup(). Esta variable puede ser leída y utilizada en
cualquier parte del programa.
Variable local: es aquella variable que se declara dentro de una función, como
por ejemplo dentro la función setup(), loop(), o dentro de una función definida
por el usuario. Esta variable sólo será visible y por tanto sólo podrá ser
utilizada dentro de la función en la que se declaró.
- Operadores lógicos__________________________________________________
En muchas ocasiones queremos que una acción se realice cuando se cumplen dos o
más condiciones. Los operadores lógicos se utilizan para concatenar varias
condiciones en las instrucciones de control de flujo. Los comparadores lógicos son 3:
Símbolo Operación Comentario
&& AND Devuelve 1 si se cumplen las dos condiciones
| | OR Devuelve 1 si se cumple al menos una de las condiciones
! NOT Devuelve 1 si el resultado de la condición era 0 y viceversa
!INa && !INb Si no está INa Y INB =1
!INa || !INb Si no está INa O INB =1
*/