allora per spiegarvi meglio vi illustro il codice... Sembra funzionare ![]()
#include <Ultrasonic.h>
#define TRIGGER_PIN 10
#define ECHO_PIN 7
Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN);
int intervallo = 105; // ca 10°
float cmMsec;
long microsec;
int distanceDx[8];
int myMin = 2000;
void setup()
{
Serial.begin(9600);
pinMode(3,OUTPUT);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
}
void loop()
{
for(int i = 0; i <= 8; i++)
{
digitalWrite(8,LOW);
digitalWrite(9,LOW); //Sblocca i motori
digitalWrite(12,LOW);
digitalWrite(13,HIGH); //Direzione Dx
analogWrite(3,100);
analogWrite(11,100); //Avanti
delay(intervallo);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH); //Blocca i motori
microsec = ultrasonic.timing();
cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
distanceDx[i] = cmMsec;
myMin= min(distanceDx[i], myMin);
delay(intervallo);
}
delay(3000);
for(int n=0; n<8; n++)
{
Serial.println(distanceDx[n]);
}
Serial.print(myMin);
while(millis()>1)
{
}
}