Go Down

Topic: plastico treni (Read 495 times) previous topic - next topic

massi77massi

Salve a tutti io è il mio primo post e spero di avere fatto tutto giusto altrimenti chiedo venia :)
arrivo al dunque ed un mio collega volevamo automatizzare al piu possibile un plastico ferroviario monorotaia ancora da assemblare. La mia idea era :

1 modulo ir prima delle sbarre che al passaggio del treno mi attivi il servo che abbassi le sbarre, dopo un delay da definire, le sbarre devono tornare alla posizione alzata.

2 un altro sensore ir vicino alla linea di arresto del treno in stazione che apra il contatto di un relè dove passa l'alimentazione dei binari. arrivato a questo punto io devo dare un tempo che mi faccia lasciare aperto il contatto del relè dei binari, passato questo tempo il relè chiude il contatto ed il treno deve ripartire...qui mi assale il dubbio ma come faccio a far chiudere il contatto del rele gestito dal sensore ir che è ancora occupato dal treno?, come faccio a far ripartire il treno???

grazie a chi mi potra aiutare
si vis pacem...

-zef-

Ciao,

1) metterei un sensore ir prima del passaggio a livello e uno dopo, così è il treno stesso che una volta passato completamente a dare l'input per rialzarli.

2) da codice quando l'ir rileva il treno lo ferma, poi passato il tempo che vuoi riattivi il relé e quando l'ir non rileva più il treno (quindi è partito) ripeti il ciclo in modo da fermare di nuovo il treno quando l'ir rileva di nuovo il treno.

3) per fare un plastico realistico ti consiglio di far arrivare il treno in stazione almeno con mezz'ora di ritardo :) scherzo ;)

massi77massi

grazie! si po ho gia pensato di mettere un piccolo display amoled e similare con citta ed orari..ovviamente come nelle fs in ritardo perenne  ;D  ;D  ;D  ;D  ;D  ;D  ;D
si vis pacem...

Datman

Il relè non deve dipendere dallo stato assoluto del sensore, ma dal fatto che prima il sensore era libero mentre adesso c'è il treno.
Hi,I'm Gianluca from Roma.I play&work with electronics since I was16(1984).
After 25yrs of maintenance on cameras&video mixers,since 2013myJob is HDTVstudios design.
Since Jan2015 IPlayWith Arduino:bit.ly/2F3LPWP
Thanks 4 a Karma if U liked my answer

massi77massi

Ciao ah ok quindi come dovrei fare?
si vis pacem...

Standardoil

Comincia col mettere un sensore prima del passaggio a livello
Poi colleghi un led al sensore è vedi la presenza treno
Poi colleghi arduino e gli fai accendere un led quando sente
Poi fai un timer che spegne dopo un po'
E via così....
Prima legge di Nelson (che sono io): Se non lo sai dire in Italiano non provarci in 'C': chiarisciti le idee prima!
Non si risponde e non si da retta a studenti: andate a copiare da un'altra parte...
Lo hai visto su Youtube ... chiedi su Youtube

Datman

#6
Jan 11, 2019, 02:38 pm Last Edit: Jan 11, 2019, 06:28 pm by Datman
Una cosa del genere:
Code: [Select]
if(treno==1 && trenoPrima==0)
 {
 t=millis(); trenoPrima=1;
 chiudi();
 }
if(millis()-t>tempo) apri();


Hi,I'm Gianluca from Roma.I play&work with electronics since I was16(1984).
After 25yrs of maintenance on cameras&video mixers,since 2013myJob is HDTVstudios design.
Since Jan2015 IPlayWith Arduino:bit.ly/2F3LPWP
Thanks 4 a Karma if U liked my answer

massi77massi

super super gentilissimo grazie
si vis pacem...

massi77massi

Quindi in parole povere millis che riprende dallo stato prima non delay che riparte da capo giusto?
si vis pacem...

-zef-

La differenza tra l'uso di millis e delay è che con delay se fai una pausa per 10 secondi tutto il programma rimane bloccato finché non sono trascorsi 10 secondi, inaccettabile se devi gestire più cose contemporaneamente con tempi diversi. Con millis gestisci il tempo in modo diverso, hai un variabile che conteggia i millisecondi da quando è alimentato arduino, confrontando questi millisecondi in tempi diversi puoi sapere quanto tempo è passato e quindi gestire diverse temporizzazioni in modo indipendente, questo tanto per semplificare il concetto ma sul forum se ne è parlato tantissime volte e trovi parecchio materiale su cui farti un idea più precisa.

Standardoil

io direi che è presto per cominciare (a meno che non si voglia restare su due piani, uno di teoria e uno di attività)
a cominciare, dicevo, con millis e if e delay e compagnia bella
il plastico è ancora da "assemblare"
cominciamo a vedere se il treno gira (sicuro questo), la topologia del plastico e se il sensore sente o no il treno
anche che tipologia di sensore, se NC od NO, serve di conoscerla, prima di cominciare a "badilare" righe di codice
torno a suggerire:
mettere sensore vedere led accendere quando treno passare
quando è passato il primo treno al passaggio a livello possiamo dire di aver passato il livello (del giuoco di parole)
a questo punto ne passa ancora di acqua sotto il ponte, prima di poter attaccare arduino:
tensioni? disturbi? problemi di cablaggio?
io eviterei (anzi, di mio evito accuratamente) di cominciare a giocare al "piccolo Dennis" (Ritchie) prima di sapere se i led si accendono quando devono  
Prima legge di Nelson (che sono io): Se non lo sai dire in Italiano non provarci in 'C': chiarisciti le idee prima!
Non si risponde e non si da retta a studenti: andate a copiare da un'altra parte...
Lo hai visto su Youtube ... chiedi su Youtube

massi77massi

indi ragion per cui, una volta fatto tutto il plastico vedere e determinare cosa si vuol far fare ad Ardu, poi di conseguenza creare un sketch a doc per questa e quella funzione , io sto optando ad avere piu arduini, nano, micro, uno etc cosi da caricare poco di lavoro ogni arduino, e da no avere codi lunghi all'infinito, visto poi che i lavori che dovranno gestire sono:
1 per il passaggio/i a livello
1 per far fermare il treno nell'unica stazione che c'e (salvo poi farne altre ect)
1 per gestire un piccolo schermo amoled o che sia dove verranno messi nomi di citttà e tempi di percorrenza

magari sbaglio a pensarla cosi ma questo secondo me è il modo piu "leggero".


Poi vedremo come upgradare il plastico, tempo e finanze permettendo, intanto cominciamo dal piccolo, io mi occupo del diciamo reparto elettrico/elettronico, mentre il mio collega si occupera della realizzazione .

Per ora vi ringrazio e spero di non essere invadente con le mie richieste ma sono all'inizio di un lavoro che mi appassiona molto e stò cercando di metterci tutta l'anima per questa realizzazione e soddisfazione.
si vis pacem...

-zef-

per quello che devi fare non serve utilizzare più di un arduino, partirei direttamente con una mega tanto si sa come vanno a finire queste cose, si inizia con qualche idea e il bisogno di qualche pin per finire che non bastano più nemmeno le 54 porte di I/O di una mega  :)

speedyant

Negli impianti "veri" ci sono degli appositi "interruttori" che vengono attivati al passaggio delle ruote del convoglio. Potresti ispirarti a quella soluzione.

massi77massi


//plvl.ino

int led = 12;
const short sensore = 0;
const short relay = 7;
int soglia = 590;

 
void setup() {
   
  pinMode(relay, OUTPUT);
 
 
}
void loop() {
  if (analogRead(sensore) > soglia)
    digitalWrite(relay,HIGH);
    delay(4000);
   
         digitalWrite(relay,LOW);
         delay(4000);
         
}
si vis pacem...

Go Up