Variables

¿Que es una variable? https://aprendiendoarduino.wordpress.com/2017/06/20/variables-en-arduino/

Tipos de variables https://www.prometec.net/intro-programacion/   

Tipos de Datos

Si quiero utilizar la variable en cualquier parte del programa, lo tengo que declarar al principio del programa, antes del setup(), y se las llama VARIABLES GLOBALES.

Si la declaro dentro de un setup(), if {}, swich{}… solo funciona dentro de esa función y se las llama VARIABLES LOCALES

Puedes ver unos ejemplos de utilización de variables en la siguiente página web http://diwo.bq.com/variables-en-arduino/

EJEMPLO

En el siguiente programa, la variable «a» se incremente una unidad por cada pulsación o por cada medio segundo que mantenga pulsado el pulsador 1 (cableado al pin 5), luego al activar el pulsador 2 (cableado al pin 6) se enciende durante 2 segundos, un led si «a» vale 1, dos led si «a» vale 2 y tres led si «a» vale 3, y cambio el valor de la variable «a» a 0. puedo ver el valor de la varible «a» con el monitor serie.

int a=0; // inicializo la variable a y almaceno el valor 0
int pul_1=5;// la variable pul1 vale 5 y la utilizo para indicar que el pulsador 1 esta conectado al pin 5
int pul_2=6;// indico que el pulsador 2 esta conectado al pin 6
int pul_3=7;// pulsador 3 al pin 7
int led_v=2;// led verde al pin2
int led_r=3;// led rojo al pin3
int led_a=4;// led amarillo al pin4

void setup() 
{
pinMode(led_v,OUTPUT);
pinMode(led_r,OUTPUT);
pinMode(led_a,OUTPUT);
pinMode(pul_1,INPUT);
pinMode(pul_2,INPUT);
pinMode(pul_3,INPUT);
Serial.begin(9600);
}
void loop() 
{
 if (digitalRead(pul_1) == HIGH)
  {
  a=a+1;// al activar el pulsador incremento la variable a una unidad
   Serial.print("el valor de la variable a es  ");
   Serial.print(a);
   delay (500);// espero medio segundo  
   Serial.println("  Habilitada siguiente pulsacion ");
   }
  if (digitalRead(pul_2) == HIGH&& a==1) digitalWrite(led_v,HIGH);
  if (digitalRead(pul_2) == HIGH&& a==2)
    {
     digitalWrite(led_v,HIGH);
     digitalWrite(led_r,HIGH);
    }
  if (digitalRead(pul_2) == HIGH&& a>2)
    {
     digitalWrite(led_v,HIGH);
     digitalWrite(led_r,HIGH);
     digitalWrite(led_a,HIGH);
    
    }
   if (digitalRead(pul_2)==HIGH)
    {
     Serial.print("el valor de la variable a es  ");
     Serial.println(a);
     delay (2000);
     digitalWrite(led_v,LOW);
     digitalWrite(led_r,LOW);
     digitalWrite(led_a,LOW);
     a=0;
     Serial.println("PREPARADO PARA EL SIGUIENTE CONTAJE  ");
     }
    
}

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *