Snellimento programma

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;} *