Buenas,
Estoy haciendo un proyecto que consta de un rover 4x4 que a través de la Pixy2 identifica colores de diferentes objetos y los lleva cada uno a un determinado lugar. Ademas, le he puesto el sonar HC-SR04 para detectar objetos y detenerse si encuentra alguno.
El caso es que el sonar daba lecturas correctas y todo funcionaba de maravilla hasta que metí la Pixy2 para determinar que rutina elegir (para ir a un sitio o a otro).
La subrutina del sonar es la misma de antes y ahora no funciona.
Os adjunto la subrutina del sonar y como utilizo la Pixy2.
[u]HC-SR04[/u]
long SONAR( int angelua) // SONARRAREN AZPIPROGRAMA
{
servoMotor.attach(10);
long duracion, distancia ;
servoMotor.write(angelua);
delay(50);
digitalWrite(52,HIGH);
digitalWrite(trigPin, LOW); // Nos aseguramos de que el trigger está desactivado
delayMicroseconds(2); // Para asegurarnos de que el trigger esta LOW
digitalWrite(trigPin, HIGH); // Activamos el pulso de salida
delayMicroseconds(10); // Esperamos 10µs. El pulso sigue active este tiempo
digitalWrite(trigPin, LOW); // Cortamos el pulso y a esperar el echo
duracion = pulseIn(echoPin, HIGH) ;
distancia = duracion / 2 / 29.1 ;
//Serial.println(String(distancia) + " cm.") ;
return distancia;
}
[u]PIXY2:[/u]
void loop()
{
Serial.println("ITXAROTEN");
pixy.ccc.getBlocks(); // Kamerako datuak irakurri
if(pixy.ccc.numBlocks) // Zerbait detektatu duen jakiteko
{
if(pixy.ccc.blocks[0].m_signature==1)
{
Abat(); // A bat lekura joatea
}
else if(pixy.ccc.blocks[0].m_signature==2)
{
Abi(); // A bi lekura joatea
}
else if(pixy.ccc.blocks[0].m_signature==3)
{
digitalWrite(30,HIGH);
}
}
}
Espero que podáis ayudarme.
Muchas gracias