El codigo se ve bien y el cableado esta listo, pero el robot se empena en fallar la linea blanca? Trata la linea blanca como suelo negro y pasa por encima, o trata el suelo negro como linea y gira mal / se para?
No entres en panico; el codigo puede estar bien. A menudo falta el ajuste de ojos, es decir, la calibracion.
Como son nuestras pistas?
Muchos tutoriales online describen suelo blanco + linea negra. En nuestras pistas de taller y competicion es al reves: suelo negro con linea blanca. La idea es la misma; solo cambia que color tratas como linea.
Que pasa? Juegos de luz
Los sensores de linea (sobre todo IR por reflexion) dependen de la luz ambiente. La luz del taller no es la de la sala de competicion. Los valores medidos en casa pueden cambiar en otra sala.
Por eso no escribas un numero magico y esperes un milagro:
if (sensor < 500) {
// asumo que estoy en la linea
}
500 puede ser correcto en tu taller e incorrecto en la pista del concurso.
Que lee el sensor? (nuestra medicion)
- Blanco (linea): cerca de 0 (mucha reflexion)
- Negro (suelo): cerca de 1023 (poca reflexion)
Para nosotros: linea = valor bajo, suelo = valor alto.
El truco: ensena al robot la sala
Cada vez que entres en un entorno nuevo (otra sala, otra pista, otra luz), mide de nuevo el suelo y la linea.
1) Mide la linea blanca
Coloca los sensores justo sobre la linea blanca. Anota el valor por Serial. Ejemplo: 50 (cerca de 0).
2) Mide el suelo negro
Pon el robot sobre suelo negro (fuera de la linea). Anota el valor. Ejemplo: 1000 (cerca de 1023).
3) Busca el medio (umbral)
umbral = (blanco + negro) / 2
// Ejemplo: (50 + 1000) / 2 = 525
Ese es tu umbral real para ese momento y esa sala. En el codigo:
if (sensor < umbral) {
// en la linea blanca (valor bajo)
} else {
// en suelo negro (valor alto)
}
Nota de taller: Usa
Serial.println(sensor)al calibrar; apaga Serial antes de la pista (modoPrueba = 0).
Cuando recalibrar?
- Al cambiar de sala o de pista
- Cuando cambia la luz (sol, focos, sala oscura)
- Si cambia la altura o el angulo del sensor
- Si cambia el color del suelo o de la cinta
Resumen
Nuestra pista: suelo negro, linea blanca. Mide blanco y negro, usa la media como umbral y busca la linea en valores bajos. Umbral correcto = robot que ve.
Lista: Linea blanca medida (cerca de 0)? Suelo negro medido (cerca de 1023)? Umbral = media? Recalibrado en la nueva sala?