0% encontró este documento útil (0 votos)
5 vistas1 página

Calibración de Sensor en C++

El documento presenta un código en C++ para calibrar un sensor y controlar un zumbador. Se definen pines y constantes, y se implementa una función de calibración que determina los valores máximo y mínimo del sensor. En el bucle principal, se lee el sensor, se mapea su valor a una frecuencia de sonido y se activa el zumbador mientras se envían datos al monitor serial.

Cargado por

unaibm310102
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
5 vistas1 página

Calibración de Sensor en C++

El documento presenta un código en C++ para calibrar un sensor y controlar un zumbador. Se definen pines y constantes, y se implementa una función de calibración que determina los valores máximo y mínimo del sensor. En el bucle principal, se lee el sensor, se mapea su valor a una frecuencia de sonido y se activa el zumbador mientras se envían datos al monitor serial.

Cargado por

unaibm310102
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

PRÁCTICA 4

// C++ code
//

// Definición de pines
const int pinZumbador = 6; // Pin donde está conectado el zumbador
const int pinSensor = A0; // Pin donde está conectado el sensor

// Definición de constantes
const unsigned long tiempoCaptura = 5000; // Tiempo de calibración en milisegundos

// Definición de variables
int sensorHigh = 0; // Valor máximo del sensor
int sensorLow = 1023; // Valor mínimo del sensor

// Función para calibrar el sensor


void calibracion() {
[Link]("Calibrando sensor...");
unsigned long tiempoInicio = millis();
while (millis() - tiempoInicio < tiempoCaptura) {
int valorSensor = analogRead(pinSensor);

if (valorSensor > sensorHigh) {


sensorHigh = valorSensor; // Actualizar valor máximo
}
if (valorSensor < sensorLow) {
sensorLow = valorSensor; // Actualizar valor mínimo
}

delay(100); // Pequeña pausa para estabilidad


}
[Link]("Calibración completada");
}

void setup() {
[Link](9600); // Iniciar comunicación serie
pinMode(pinZumbador, OUTPUT); // Configurar el pin del zumbador como salida
calibracion(); // Llamar a la función de calibración
}

void loop() {
int valorSensor = analogRead(pinSensor); // Leer el sensor

// Asegurar que sensorHigh y sensorLow no sean iguales para evitar división por cero
if (sensorHigh == sensorLow) {
sensorHigh = sensorLow + 1;
}

// Mapear el valor del sensor a una frecuencia de sonido


int frecuencia = map(valorSensor, sensorLow, sensorHigh, 100, 1000);
frecuencia = constrain(frecuencia, 100, 1000);

// Activar el buzzer con la frecuencia calculada


tone(pinZumbador, frecuencia);

// Enviar datos al Serial Plotter para visualización gráfica


[Link]("Sensor: ");
[Link](valorSensor);

[Link](" | Frecuencia: ");


[Link](frecuencia);
[Link](" | Min: ");
[Link](sensorLow);
[Link](" | Max: ");
[Link](sensorHigh);

delay(50); // Pequeña pausa para estabilidad


}

También podría gustarte