così è giusto ?
#include <Servo.h>
Servo polso;
int sens=3;
int contatoresens;
boolean abilitazione;
int arrayled[130];
int posbraccio;
int posfinale;
int val;
void setup() {
pinMode(sens,INPUT);
int i;
for (i=0;i<130;i++){
arrayled*=0;}*
- }*
void loop() {
azzeramento(); //azzero
-
//parto con la scannerizzata *
-
for(val=0;val<130;val++){ //se arriva a 130 non fa nulla ovviamente ed esce dal loop*
-
if(sens=0){ //sensore non interrotto*
-
if (abilitazione=1) //se c'è stata l abilitazione vuol dire che ha sorpassato l'oggetto una volta e può posizionarsi*
-
posizionamento(); //chiama*
-
polso.write(val); //fintanto che il sensore non si è interrotto si muove*
-
delay(40); *
-
}*
-
if (sens=1){ //sensore interrotto*
-
if(abilitazione=0){ //fintanto che abbiamo azzerato i valori registriamo la prima posizione dove viene interrotto il sens*
-
posbraccio=polso.read();//registriamo la posizione*
-
abilitazione=1;} //diciamo che abbiamo incontrato un ostacolo*
-
polso.write(val); //si muove fintanto che il sensore è interrotto dal ciclo if *
-
contatoresens++; //contiamo i passi che fa prima di interrompersi*
-
delay(40);}*
-
}*
}
//-----------------------------------------------POSIZIONAMENTO---------------------------------------------------- -
void posizionamento() {*
-
posfinale=posbraccio+(contatoresens/2);*
-
for(val=polso.read();val<posfinale;val--){//verificare i menomeno(del val-- e il segno < o >) sarà sempre prima della posattuale)*
-
polso.write(val);*
-
delay(40);}*
-
}*
//-----------------------------------------------AZZERAMENTO------------------------------------------------------------ -
void azzeramento() {*
for(val=polso.read();val>0;val--){ -
polso.write(val);*
-
delay(40);}*
-
abilitazione=0;*
-
contatoresens=0;} *