Menú:

miércoles, 27 de septiembre de 2023

Práctica con Leds y Potenciómetro, Protoboard y Sensor de Distancia — Grado Décimo 10º

Taller #1
 Circuito en Tinkercad
Código Arduino:

int valor; // Variable para lecturas del potenciometro
int Led1 = 3; // Verde
int Led2 = 2; // Rojo

void setup()
{
  Serial.begin(9600);   // Iniciamos la comunicación serial

  pinMode(Led1, OUTPUT);
  pinMode(Led2, OUTPUT);
}

void loop()
{
  valor = analogRead(A0);// tomamos las lecturas de potenciómetro en pin analógico A0
  Serial.print("El valor es= ");  // Mostramos en monitor serie
  Serial.println(valor);

  if (valor >= 0 && valor <= 500)
  {
    digitalWrite(Led1, HIGH); // ya que los valores obtenidos del potenciómetro van desde 0 a 1023
    digitalWrite(Led2, LOW);  //
  }
  if (valor >= 501 && valor <= 1023)
  {
    digitalWrite(Led1, LOW);
    digitalWrite(Led2, HIGH);
  }
}

 

Taller #2
 Circuito en Tinkercad para adapta Protoboard
Pasar la siguiente configuración, adaptándole una Protoboard y una resistencia de 220Ω en el circuito en serie de la parte negativa de los Leds.

Código Arduino:
int pinUltrasonido = 4; // Pin de conexión sensor ultrasonido
int distancia;
int Led1 = 3;
int Led2 = 11;
int Led3 = 5;
int ZumbadorPin = 10;

void setup() {
 Serial.begin(9600); // Inicia la comunicación con el puerto serial del computador a 9600 baudios
 pinMode(Led1, OUTPUT);
 pinMode(Led2, OUTPUT);
 pinMode(Led3, OUTPUT);
 pinMode(ZumbadorPin,OUTPUT);
}

void loop() {
 
int distancia = obtenerDistancia();  //Se iguala la variable distancia al valor de lectura de la función obetenerDistancia

if (distancia > 26){
  digitalWrite(Led1,LOW);
  digitalWrite(Led2,LOW);
  digitalWrite(Led3,LOW);
  noTone(ZumbadorPin);
}
if (distancia > 18 && distancia < 25){
  digitalWrite(Led1,HIGH);
  digitalWrite(Led2,LOW);
  digitalWrite(Led3,LOW);
  noTone(ZumbadorPin);
}
if (distancia > 9 && distancia < 17){
  digitalWrite(Led1,LOW);
  digitalWrite(Led2,HIGH);
  digitalWrite(Led3,LOW);
  noTone(ZumbadorPin);
}
if (distancia > 4 && distancia < 8){
  digitalWrite(Led1,LOW);
  digitalWrite(Led2,LOW);
  digitalWrite(Led3,HIGH);
  tone(ZumbadorPin,1000);
  delay (1000);}

Serial.print(distancia);  //Escribir en el puerto serial del computador la variable "distancia"
Serial.println(" cm"); //Escribir en el puerto serial del computador el texto que se encuentra dentro de las comillas
}

int obtenerDistancia()
{
  int d;
  pinMode(pinUltrasonido, OUTPUT);    //Indicar que se usará como salida para generar señal ultrasónica
  digitalWrite(pinUltrasonido, LOW);  //Asegurarse de que no esté generando señal ultrasónico
  delayMicroseconds(2);               //Pequeño tiempo de espera para ecos o ruidos iniciales
  digitalWrite(pinUltrasonido, HIGH); //Generar señal ultrasónica
  delayMicroseconds(10);              //Pequeño tiempo de generación de señal
  digitalWrite(pinUltrasonido, LOW);  //Apagar señal ultrasónica
  pinMode(pinUltrasonido, INPUT);     //Indicar que se usará como entrada para recibir señal ultrasónica ("micrófono")
  d = pulseIn(pinUltrasonido, HIGH);  //Instrucción para medir el tiempo en que la señal ultrasónica rebota y produce HIGH
  d = d / 58;                         //Divisíon entre 58 para pasar de tiempo (microsegundos) a distancia (cm) - Valor a calibrar
  return d;                           //Retorna d para que se pueda almacenar en variable
}

No hay comentarios:

Publicar un comentario