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
» Trasformare un collegamento di un dislay LCD in uno con I2C
Da papat Ven Ott 20, 2017 7:57 am

» Stray"\226" in programm
Da papat Ven Ott 20, 2017 7:52 am

» Recensione cuffie che non cadono dalle orecchie: Acorce-705C
Da Poderak Gio Ott 19, 2017 9:30 pm

» Anteprima esclusiva Platinum Edition Farming Simulator 17:
Da Poderak Mar Ott 10, 2017 8:59 pm

» Anteprima esclusiva Pure Farming 18 - Scenario Giapponese
Da Poderak Mar Ott 10, 2017 8:57 pm

» Timer relè con arduino
Da Poderak Dom Ott 08, 2017 4:07 pm

» Recensione di Saal-Digital.it
Da Poderak Dom Ott 08, 2017 3:59 pm

» PROBLEMA SU LIBRERIE
Da papat Sab Set 30, 2017 7:16 am

» Recensione luci e bussola militare
Da Poderak Mar Set 19, 2017 10:45 pm

I postatori più attivi del mese
Poderak
 
papat
 
falcio1515
 


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 : 4216
Crediti Crediti : 11770
Reputazione Reputazione : 186
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 19
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 : 4216
Crediti Crediti : 11770
Reputazione Reputazione : 186
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 19
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