miércoles, 2 de marzo de 2022

Arduino básico

Proyectos básicos

En este caso se presentarán 5 aplicaciones básicas en Arduino empleando diodos led, resistencias, pulsadores, interruptores DIP y potenciómetros.

EJERCICIO 01 - Encender y apagar un LED

El siguiente ejemplo encenderá un LED durante 3 segundos, luego lo apagará y así de forma consecutiva. Tener en cuenta que dependiendo del voltaje de funcionamiento del LED elegido se debe variar la resistencia para que este no resulte quemado y/o la luz se pueda apreciar.

Materiales:

  • Arduino (Arduino UNO)
  • Led (Verde con voltaje de 1.6v)
  • Protoboard
  • Cables dupont
  • Resistencia de 680 ohmnios

Diagrama de conexión:

Código

//Constante que hace referencia al PIN donde se conecta el LED
const int LED = 8;

void setup(){
  pinMode(LED, OUTPUT);   //Indica que el Pin es de salida
  digitalWrite(LED, LOW); //Indica que el LED por defecto esta apagado
}

void loop(){
  digitalWrite(LED, HIGH); //Enciende el LED
  delay(3000);             //Espera 3000 milisegundos
  digitalWrite(LED, LOW);  //Apaga el LED
  delay(3000);             //Espera 3000 milisegundos
}

EJERCICIO 02 - Encender y apagar un LED con pulsador

El siguiente ejemplo encenderá un LED mientras un pulsador se mantenga presionado, si se suelta se apagará y así de forma consecutiva. Tener en cuenta que dependiendo del voltaje de funcionamiento del LED elegido se debe variar la resistencia para que este no resulte quemado y/o la luz se pueda apreciar. Además, la configuración de la resistencia del pulsador es "PULL-DOWN" y de 10 KΩ

Materiales:

  • Arduino (Arduino UNO)
  • Led (Rojo con voltaje de 1.2v)
  • Protoboard
  • Pulsador
  • Cables dupont
  • Resistencias de 560Ω (LED) y 10KΩ (pulsador)

Diagrama de conexión:

Código

//Constante que hace referencia al PIN donde se conecta el LED
const int LED = 12;
//Constante que hace referencia al PIN donde se conecta el pulsador
const int PUL = 7;

void setup(){
  pinMode(LED, OUTPUT);   //Indica que el Pin es de salida
  pinMode(PUL, INPUT);    //Indica que el Pin es de entrada
  digitalWrite(LED, LOW); //Indica que el LED por defecto esta apagado
}

void loop(){
  if(digitalRead(PUL)){           //Si el pulsador esta presionado
  	digitalWrite(LED, HIGH);      //Enciende el LED
  }else{                          //Si el pulsador deja de estar presionado
  	digitalWrite(LED, LOW);       //Apaga el LED
  }
}

EJERCICIO 03 - Encender y apagar un LED con pulsadores sin mantener presionado

El siguiente ejemplo encenderá un LED mientras al presionar un interruptor y se apagará al presionar otro, no es necesario mantenerlos presionados. Tener en cuenta que dependiendo del voltaje de funcionamiento del LED elegido se debe variar la resistencia para que este no resulte quemado y/o la luz se pueda apreciar. Además, la configuración de la resistencia de los pulsadores es "PULL-DOWN" y de 10 KΩ

Materiales:

  • Arduino (Arduino UNO)
  • Led (blanco con voltaje de 3.7v)
  • Protoboard
  • Pulsadores
  • Cables dupont
  • Resistencias de 100Ω (LED blanco) y 10KΩ (2 para los pulsadores)

Diagrama de conexión:

Código

const int LED = 8;
const int PUL_ON = 5;
const int PUL_OFF = 2;
boolean estado; //variable auxiliar para capturar el estado

void setup() {
  pinMode(PUL_ON, INPUT);
  pinMode(PUL_OFF, INPUT);
  pinMode(LED, OUTPUT);
}

void loop() {
  //Estado en TRUE si se presiona el boton del PIN 5
  if(digitalRead(PUL_ON)){estado = true;}
  //Estado en FALSE si se presiona el boton del PIN 2
  if(digitalRead(PUL_OFF)){estado = false;}
  //Dependiendo del estado se enciendo o apaga el LED
  if(estado){
  	digitalWrite(LED, HIGH);
  }else{
  	digitalWrite(LED, LOW);
  }
}

EJERCICIO 04 - Encender y apagar varios LED con interruptores DIP

El siguiente ejemplo encenderá varios LED mientras el interruptor correspondiente se mantenga en ON (cerrando circuito). Tener en cuenta que dependiendo del voltaje de funcionamiento del LED elegido se debe variar la resistencia para que este no resulte quemado y/o la luz se pueda apreciar. Además, la configuración de la resistencia de los interruptores es "PULL-DOWN" y de 10 KΩ

Materiales:

  • Arduino (Arduino UNO)
  • LES (Rojo con voltaje de 1.2v, blanco y azul con voltaje de 3.7v y amarillo con voltaje de 1.6v)
  • Protoboard
  • Conmutadores DIP de 4 canales
  • Cables dupont
  • Resistencias de 100Ω (LED blanco y azul), 220Ω (LED rojo), 390Ω (LED amarillo) y 10KΩ (4 para los conmutadores DIP)

Diagrama de conexión:

Código

//Constantes para los LED
const int LED1 = 7;
const int LED2 = 8;
const int LED3 = 12;
const int LED4 = 13;
//Constantes para cada conmutador
const int PUL1 = 5;
const int PUL2 = 4;
const int PUL3 = 3;
const int PUL4 = 2;

void setup(){
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(LED3, OUTPUT);
  pinMode(LED4, OUTPUT);  
  pinMode(PUL1, INPUT);  
  pinMode(PUL2, INPUT);  
  pinMode(PUL3, INPUT);  
  pinMode(PUL4, INPUT);
}

void loop(){
  //Control del LED blanco con el conmutador 1
  if(digitalRead(PUL1)){
  	digitalWrite(LED1, HIGH);
  }else{
  	digitalWrite(LED1, LOW);
  }
  //Control del LED rojo con el conmutador 2
  if(digitalRead(PUL2)){
  	digitalWrite(LED2, HIGH);
  }else{
  	digitalWrite(LED2, LOW);
  }
  //Control del LED amarillo con el conmutador 3
  if(digitalRead(PUL3)){
  	digitalWrite(LED3, HIGH);
  }else{
  	digitalWrite(LED3, LOW);
  }
  //Control del LED azul con el conmutador 4
  if(digitalRead(PUL4)){
  	digitalWrite(LED4, HIGH);
  }else{
  	digitalWrite(LED4, LOW);
  }
}

Funcionamiento:


EJERCICIO 05 - modificar la intensidad de un LED con un potenciómetro

El siguiente ejemplo encenderá un LED y se controlará su intensidad empleando un potenciómetro. Tener en cuenta que dependiendo del voltaje de funcionamiento del LED elegido se debe variar la resistencia para que este no resulte quemado y/o la luz se pueda apreciar.

Materiales:

  • Arduino (Arduino UNO)
  • Led (blanco con voltaje de 3.7v)
  • Protoboard
  • Potenciómetro de 5KΩ
  • Cables dupont
  • Resistencias de 100Ω (LED blanco)

Diagrama de conexión:

Código

//El PIN del led debe ser PWM (tener el símbolo ~)
const int LED =11;
//El potenciómetro se debe conectar a un PIN analógico
const int POT = A0;
//Variable auxiliar para almacenar el valor del potenciómetro
int aux;

void setup(){
  pinMode(LED,OUTPUT);
  digitalWrite(LED,LOW);
}

void loop(){
  //Capturar el valor del potenciómetro
  aux = analogRead(POT);
  //Se emplea MAP para dar un valor análogo entre 0 y 255 al valor recibido entre 0 y 1023
  analogWrite(LED, map(aux,0,1023,0,255));  
}

No hay comentarios:

Publicar un comentario