Info!

ho realizzato questo sketc

int triggerPort = 9;
int echoPort = 8;
int distanza;


void setup() {
pinMode(4,OUTPUT);
pinMode(6,OUTPUT);
pinMode(5,OUTPUT);
pinMode(7,OUTPUT);
pinMode( triggerPort, OUTPUT );
pinMode( echoPort, INPUT );
Serial.begin( 9600 );
Serial.println( "Sensore ultrasuoni: ");
}

void loop() {
  analogWrite(4,900);
  analogWrite(6,500);
  analogWrite(5,0);
  analogWrite(7,0);
  

  digitalWrite( triggerPort, LOW );
 
//invia un impulso di 10microsec su trigger
digitalWrite( triggerPort, HIGH );
delayMicroseconds( 10 );
digitalWrite( triggerPort, LOW );
 
long duration = pulseIn( echoPort, HIGH );
 
long r = 0.034 * duration / 2;
 
Serial.print( "durata: " );
Serial.print( duration );
Serial.print( " , " );
Serial.print( "distanza: " );
 

if( duration > 38000 ) Serial.println( "fuori portata");
else { Serial.print( r ); Serial.println( "cm" );}
 if(r<=20){
   analogWrite(6,0);
   analogWrite(4,0);
   delay(100);
   analogWrite(5,500);
   delay(100);
  }
 
 

delay( 300 );

}

Chiedo il pèerche il robot mi tende ad andare a sinistra! Ho misurato la tensione ai capi dei motorini e mi da in uno 5,13 volt nell'altro 4,68 volt circa . Chi mi dare un aiouto per farlo andare diritto ? dove è sbagliato il progetto . Per farlo funzionare uso una pila da 9 volt!

Bene

Hai tralasciato 80% delle informazioni: che hardware usi, che schema di collegamento, che sensore?
Sei sicuro che vuoi aiuto?

Ciao Uwe

uso i sensori di distanza e uso l298 n per pilotare i motori e ( non credo che si possa far senza)Arduino uno!

Ecco lo schema di collegamento!

i pin usati non sono pwm.

Arduino ha 3 timer, ogni timer è collegato a due pin ed ognuno di essi sviluppa una pulsazione ad una determinata frequenza e un duty variabile.
Quindi al timer0 corrisponde il pin 5/6
timer1 9/10
timer2 11/3

analogWrite() andrà solo con quei sei pin.
Dato che il timer0 è usato per scandire il tempo, fa frequenza è diversa da quello di T1 e T2 quindi andranno diversamente.
claro? altrimenti Cercati Arduino pwm!

quindi se ho ben capito devo collegare i motori nei pin da te elecati?

Li vedi su Arduino i pin che hanno il simbolo "~" ? Ecco, sono gli unici pin che generano PWM, quindi, se devi controllare dei motori in PWM o usi quei pin o non puoi controllarli.


Guglielmo

ok domani ci provo e vi faro sapere!

Tutto a posto grazie di tutto!!!! Buona Pasqua!!!!