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
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
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.
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
Post a Comment