salve, sto facendo un piccolo progetto con il mio arduino 1
in pratica sto costruendo un piccolo robot che cammina per casa e se arriva ad una certa distanza da un ostacolo si gira e riprende ad andare avanti. la distanza viene misurata da un sensore ad infrarossi
ho fatto questo sketch:
#define PWMA 3
#define PWMB 9
#define AIN1 4
#define AIN2 7
#define BIN1 8
#define BIN2 12
#define STBY 2
#define motoreA 0
#define motoreB 0
#define AVANTI 0
#define INDIETRO 0
#define SENSIBILITA 200
int SHIR = A5;
void setup()
{
pinMode( STBY,OUTPUT );
pinMode( PWMA,OUTPUT );
pinMode( PWMB,OUTPUT );
pinMode( AIN1,OUTPUT );
pinMode( AIN2,OUTPUT );
pinMode( BIN1,OUTPUT );
pinMode( BIN2,OUTPUT );
pinMode( SHIR,INPUT );
digitalWrite( STBY,HIGH );
}
void loop()
{
int dist = analogRead(SHIR);
if ( dist > SENSIBILITA ) {digitalWrite( AIN1,LOW );
digitalWrite( AIN2,HIGH );
digitalWrite( BIN1,HIGH );
digitalWrite( BIN2,LOW );
analogWrite( PWMA,100 );
analogWrite( PWMB,100 );
delay( 200 ); }
if ( dist < SENSIBILITA ) {digitalWrite( AIN1,HIGH );
digitalWrite( AIN2,LOW );
digitalWrite( BIN1,HIGH );
digitalWrite( BIN2,LOW );
analogWrite( PWMA,100 );
analogWrite( PWMB,100 );
}
}
se collego la scheda al pc il programma funziona correttamente ma, se collego solo l’alimentazione il robot continua senza sosta a girare intorno a se stesso, come posso fare ?