Cronometro para seguidor de línea

En este proyecto realizaremos el diseño y creación de un cronometro para la competencia de seguidor de linea velocista, donde usaremos la tarjeta Arduino Uno. A continuación se muestran los materiales requeridos para el proyecto:

Materiales:

  • Arduino Uno
  • Sensor Infrarrojo
  • Led
  • Jumpers
  • Protoboard
  • 1 Resistencia de 220 Ohmnios.

Diagrama de conexión:

Código de ejemplo:

int sensor = 2;
int led = 12;
double tiempo = 0, val=0;
int valPul = 0;
double cont=0, pasos=0;

int pulsador = 7;

bool estado = false;

void setup() {
  Serial.begin(9600);
  pinMode(sensor, INPUT);
  pinMode(led, OUTPUT);
  pinMode(pulsador, INPUT);
}

void loop() {

  val = digitalRead(sensor);
  valPul = digitalRead(pulsador);

  if(val==0){
    estado = true;
    pasos = pasos + 1;
  }

  if(pasos>1){
    estado = false;
  }

  while(estado){
    digitalWrite(led, HIGH);
    cont = cont+15.3;
    tiempo = cont/100;
    Serial.println(tiempo);
    break;
  }
  if(!estado){
    digitalWrite(led, LOW);
  }

  if(valPul == 0){
    cont=0;
    tiempo=0;
    estado=false;
    pasos=0;
  }
  delay(100);
}

 

Funcionalidad del Código

  1. Inicialización:
    • Se configuran los pines del sensor, el LED y el pulsador.
    • Se inicializa la comunicación serie para enviar datos al monitor serie.
  2. Bucle Principal (loop):
    • Lectura de Sensores:
      • Lee el estado del sensor y del pulsador.
    • Detección del Sensor:
      • Si el sensor detecta un evento (estado bajo), activa el estado del sistema y cuenta un paso.
    • Verificación de Pasos:
      • Si se detectan más de un paso, desactiva el estado del sistema.
    • Medición del Tiempo:
      • Mientras el estado esté activo, enciende el LED y mide el tiempo.
      • Incrementa el contador cont en 15.3 unidades (esto puede ser un valor arbitrario que necesitas ajustar).
      • Calcula el tiempo en segundos dividiendo cont por 100 y lo muestra en el monitor serie.
      • Sale del bucle después de una iteración.
    • Estado del LED:
      • Si el estado está inactivo, apaga el LED.
    • Reinicio del Sistema:
      • Si el pulsador está presionado (estado bajo), reinicia todas las variables relacionadas con el tiempo, los pasos y el estado.

(0) Comentarios

No registra comentarios, se el primero en comentar.
Publicar

Pública tu duda o comentario

Resuelve tus dudas con la comunidad.

*Obligatorio*