Buongiorno, sono nuovo di questo forum, ho sempre programmato plc in ladder e non conosco codice arduino, in tutti i casi son riuscito anche grazie ad aiuto IA, a scrivere il codice che mi serviva, funzionante, non riesco a capire come mettere ritardo su uscita 13, in pratica il codice mi attiva l'uscita tot volte e può capitare che venga attivata anche a brevi distanze una dall'altra, anche meno di 1 secondo, dovrei mettere una protezione a questa cosa, cioè che tra due ripartenze trascorrano almeno 2 secondi, ho provato diverse volte ma non funziona, perchè il codice esistente forza comunque l'uscita a prescindere dal ritardo e non ci arrivo più in fondo, mi manca solo questa cosa per renderlo funzionante, se qualche buon anima può aiutarmi, ringrazio da ora .... Simone
Buongiorno, acquisti23
Benvenuto nella sezione Italiana del forum
Cortesemente, leggi attentamente il REGOLAMENTO di detta sezione:
[REGOLAMENTO] Come usare questa sezione del forum
(... e, per evitare future possibili discussioni/incomprensioni, prestando molta attenzione al punto 15)
e poi, come da suddetto regolamento (punto 16.7), fai la tua presentazione IN CODA ALL'APPOSITA DISCUSSIONE:
Presentazioni nuovi iscritti: fatevi conoscere da tutti! (Part 2)
spiegando bene quali esperienze hai in elettronica e in programmazione, affinché noi possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.
Dopo aver fatto tutto ciò, pubblica il programma che hai scritto.
Grazie
Gianluca
P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposita discussione, nel rispetto del succitato regolamento, nessuno ti risponderà (eventuali risposte, o tuoi ulteriori post, verrebbero temporaneamente nascosti), quindi ti consiglio di farla al più presto.
P.P.S.: Evitate di utilizzare la traduzione automatica fatta dal browser ... vi impedisce di capire la lingua della sezione dove andate a scrivere ...
chiedo scusa, ora ho fatto, grazie
Grazie, Simone
Pubblichi il programma che hai scritto?
Anziché un delay, usa millis: ogni partenza può avvenire solo se
millis()-t0>=2000
e quando avviene la partenza metti
t0=millis()
;
t0 lo dichiari all'inizio uint32_t, cioè unsigned long.
Posso dire che questa cosa non solo non ha molto senso, ma che anzi è dannosa per te (oltre che rendere fastidioso aiutare qualcuno con queste premesse)?
Ti fai scrivere dall'IA del codice, non conosci Arduino quindi non lo sai programmare (altrimenti non avresti usato l'IA), e poi chiedi consigli a noi?
Due sono le cose: o ti impegni a studiare Arduino e scrivi programmi TUOI (che quindi "capisci"), oppure scusami ma se hai una IA a disposizione, chiedi aiuto a lei...
chiaro, grazie
... come moderatore non posso che concordare al 100% ... su questo forum le cose scritte dalla IA NON sono ben viste e quindi confermo quello che ha scritto "docdoc" ... o studi (ed al punto 16.1 del REGOLAMENTO ci sono varie indicazioni di cosa studiare) e poi fai TU chiedendo aiuto a noi, o, codice scritto con AI, qui NON viene supportato.
Guglielmo
capito, grazie, scusate
Secondo me millis va preso alla fermata:
se !blocco e fermata:
t0 = millis()
blocco = 1
se blocco e millis()-t0 > 2000:
blocco = 0
dopo di che la partenza va condizionata con blocco
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.