far cadere le uscite di Arduino UNO


buongiorno tutti sono nuovo del forum e sto cercando un piccolo aiutino, ho cercato un pò dappertutto ma forse non nemmeno cercare quelo che mi serve, mi spiego subito.

sto provando fare un piccolo programmino per simulare una protezione che tenga disabilitate tutte le uscite di arduino in sua assenza e nel caso sia tutto regolare e questa viene mancare deve disabilitare e portare tutto allo stato iniziale e far suonare un buzz.

questo è il codice che ho fatto
code: [select]

int led = 2;            // pin del led
int button = 7;         // pin del il pulsante
int controllo = 8;      // pin di input per il controllo/protezione
int buzz = 6;           // pin del buzzer

int val = 0;
int cnt = 0;
int old_val = 0;
int state = 0;

void setup(){
 pinmode(led, output);        // segnala ad arduino che led è un output
 pinmode(button, input);      // button è un input
 pinmode(controllo, input);   // controllo è input
 pinmode(buzz, output);       // buzz è output
}

void loop(){
 cnt = digitalread(controllo);  //legge lo stato del controllo
 
//se la protezione è valida allora vai avanti
 if (cnt == high) {
   val = digitalread(button);  //legge il valore dell'input e lo conserva
   
   //verifica che l'input sia high(pulsante premuto) e ne cambia lo stato
   if ((val == high) && (old_val == low)) {
     state = 1 - state;
     delay(10);
   }
 
   old_val = val;  // memorizza il valore precedente di val
 
   if (state == 1){
     digitalwrite(led, high);  // accende il led
   } else {
     digitalwrite(led, low);   // spegne il led
   }
 } else {              //se la protezione non è valida ferma la macchina e fai suonare il buzz
   val = old_val = low;
   digitalwrite(led, low);   // spegne il led
   buzz(6, 4186, 100);
   delay(10);
 }
}

void buzz(int targetpin, long frequency, long length) {
long delayvalue = 1000000/frequency/2;
long numcycles = frequency * length / 1000;
(long i=0; < numcycles; i++)
{
digitalwrite(targetpin,high);
delaymicroseconds(delayvalue);
digitalwrite(targetpin,low);
delaymicroseconds(delayvalue);
}
}


procedura di prova
abilito la protezione
pigio il pulsante
accendo il led
disabilito la protezione
il led si spegne e suona il buzz
riabilito la protezione
?????ed il led è di nuovo acceso senza pigiare il tastino????

cosa potrei fare per far cadere tutte le uscite di arduino alla disabilitazione della protezione?

grazie tutti in anticipo

ti invitiamo presentarti qui: http://forum.arduino.cc/index.php?topic=113640.0
e leggere il regolamento: http://forum.arduino.cc/index.php?topic=149082.0
- qui una serie di schede xxxpighi per collegamenti elettronici vari: http://forum.arduino.cc/index.php?topic=146152.0
- qui le pinout delle varie schede xxxpighi: http://forum.arduino.cc/index.php?topic=151646.0
- qui una serie di link utili: http://forum.arduino.cc/index.php?topic=126861.0

il codice deve essere racchiuso negli appositi tag code. vedi sezione 7 del regolamento, spiega come fare. altrimenti parti del codice vengono interpretati come attributi del testo e quindi mal visualizzati.


Arduino Forum > International > Italiano > Software (Moderator: leo72) > far cadere le uscite di Arduino UNO


arduino

Comments

Popular posts from this blog

opencv3, tbb and rasp pi 2 - Raspberry Pi Forums

small ethernet problem - Raspberry Pi Forums

Multithumb configuration params not working? - Joomla! Forum - community, help and support