Seguimi su Youtubue
Iscriviti
Se desideri, puoi effettuare un'iscrizione gratuita al forum per entrare nella nostra community.
Ricerca Avanzata
Pubblicità Google AdSense
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
Ultimi argomenti
» arduino e ethernet shield tutorial 3
Da mariogori Ieri alle 9:15 pm

» Farming Simulator 2018 logo
Da Poderak Ven Giu 23, 2017 3:29 pm

» Codice display a 7 segmenti - Arduino
Da fulvio Ven Giu 02, 2017 10:00 am

» DUE SKETCH INSIEME? SI PUO' FARE?
Da Alessandro2003 Mer Mag 31, 2017 6:37 pm

» Smartphone sotto i 70€ economico: Winnovo K43
Da Poderak Mar Mag 30, 2017 10:32 am

» Centralina controllo termico multizona
Da Poderak Dom Mag 28, 2017 9:10 pm

» programma arduino
Da Poderak Gio Mag 25, 2017 3:12 pm

» pilotare 5 matrix: max7219
Da Poderak Gio Mag 25, 2017 3:10 pm

» orologio con LCD.
Da fulvio Lun Mag 22, 2017 12:51 am

I postatori più attivi del mese
fulvio
 
Poderak
 
mariogori
 

Simulazione nastro trasportatore

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso

Simulazione nastro trasportatore

Messaggio Da CrazyPin il Mer Apr 26, 2017 7:02 pm

Salve ragazzi ed in particolare un saluto a Poderak di cui ho avuto modo di apprezzare alcuni suoi tutorial su youtube e grazie ai quali sono giunto qui.  Smile
Vengo al dunque, sono uno studente di 16 anni all'ITI indirizzo elettrotecnica ed ho un problema su un compito che mi è stato assegnato. Da qualche settimana si è iniziato lo studio di Arduino ed il prof. ha chiesto ad ognuno di noi di risolvere un problema e presentare una simulazione in laboratorio. La traccia dice: "Si deve automatizzare il nastro trasportatore di un magazzino che ha le seguenti caratteristiche: Premendo il pulsante S1 il nastro deve partire (simulazione con accensione di un LED1 verde). Al raggiungimento del finecorsa (tempo stimato 10s) un altro LED2 rosso si accenderà per circa 2s, simulando il conteggio. Premendo il pulsante S2, il nastro trasportatore si fermerà (simulazione con spegnimento del LED1 rosso)". Ho visto il vostro tutorial http://www.wikiinfo.net/t2675-software-gestione-di-due-led-con-due-pulsanti-arduino ed ho provato ad adattarlo al problema. Riesco ad accendere il LED1 con S1 e a spegnere questo con S2, ma ho il problema di accendere il LED2 dopo 10s, lasciarlo accesso per 2s e poi spegnerlo. Come potrei fare?
avatar
CrazyPin
Sono un nuovo membro
Sono un nuovo membro

Messaggi Messaggi : 2
Crediti Crediti : 4
Reputazione Reputazione : 0
Data d'iscrizione Data d'iscrizione : 26.04.17

Vedi il profilo dell'utente

Tornare in alto Andare in basso

Re: Simulazione nastro trasportatore

Messaggio Da Poderak il Mer Apr 26, 2017 8:34 pm

Ciao, benvenuto! Cosa ne pensi di aggiungere qualche delay? E' il metodo più veloce che puoi utilizzare per fare quello che desideri. In pratica ogni tot istruzioni ci butti un delay per eseguire per tot secondi quelle determinate istruzioni Ciao!
avatar
Poderak
♔ Amministratore

Messaggi Messaggi : 4191
Crediti Crediti : 11717
Reputazione Reputazione : 186
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 18
Località Località : Brescia

Vedi il profilo dell'utente http://www.wikiinfo.net

Tornare in alto Andare in basso

Forse ci sono!

Messaggio Da CrazyPin il Mer Apr 26, 2017 9:22 pm

Ciao Poderak, Very Happy  ti rinnovo i complimenti per i tuoi tutorial, dopo svariati tentativi (anche più complessi in termine di programmazione) che si bloccavano sui delay e non verificavano la If di S2, sono arrivato ad una soluzione, tanto banale quanto però pare funzionale (Arduino almeno non la sputa indietro) Laughing  Nel senso che comunque dovrebbe rispondere alla traccia. Nella If ho usato l'operatore booleano OR ||  Exclamation

Ti posto il listato (che ti sarà familiare):  Cool

Codice:
//dichiaro i PIN dei componenti

int led1 = 2; //led rosso
int pulS1 = 3; //pulsante S1

int led2 = 4; //led verde
int pulS2 = 5; //pulsante S2

//variabili
int valS1 = 0; //stato del valore del pulsante S1
int valS2 = 0; //stato del valore del pulsante S2


void setup() {
  pinMode(led1, OUTPUT); //led rosso come OUTPUT
  pinMode(led2, OUTPUT); //led verde come OUTPUT
  pinMode(pulS1, INPUT);  //pulsante S1 come INPUT
  pinMode(pulS2, INPUT);  //pulsante S2 come INPUT

}


void loop() {
  valS1 = digitalRead(pulS1); //leggo il val. di S1
  valS2 = digitalRead(pulS2); //leggo il val. di S2

  if (valS1 == 0 || valS2 == 1) {
    digitalWrite(led1, LOW); // Se S1 è aperto o S2 è chiuso si spegne il led1
    delay(150); //tempo per premere il pulsante in ms
  }
  else {
    digitalWrite(led1, HIGH); //altrimenti... accende led1
    delay(10000); //resta acceso 10s
    digitalWrite(led2, HIGH); //accende led2
    delay(2000);//resta acceso 2 secondi
    digitalWrite(led2, LOW);//spegne led2
  }
}


Credo, sia pure in modo elementare, dovrebbe rispondere a quello che chiede la traccia. Ma se hai qualche dritta più sofisticata sono tutto orecchi, ehm... cioè occhi  Cool
avatar
CrazyPin
Sono un nuovo membro
Sono un nuovo membro

Messaggi Messaggi : 2
Crediti Crediti : 4
Reputazione Reputazione : 0
Data d'iscrizione Data d'iscrizione : 26.04.17

Vedi il profilo dell'utente

Tornare in alto Andare in basso

Re: Simulazione nastro trasportatore

Messaggio Da Poderak il Gio Apr 27, 2017 5:04 pm

Perfetto! Very Happy

Per fare una cosa eccezionale (da 10 e lode) e possibile utilizzare il millis ma è una funzione non molto semplice che fa parecchi impazzire :O
avatar
Poderak
♔ Amministratore

Messaggi Messaggi : 4191
Crediti Crediti : 11717
Reputazione Reputazione : 186
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 18
Località Località : Brescia

Vedi il profilo dell'utente http://www.wikiinfo.net

Tornare in alto Andare in basso

Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto


 
Permessi di questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum