GAS TT 10 anni con voi

Ben arrivato! Fai login o registrati per fruire di tutte le funzionalità del forum e del sito.
Se eri già registrato e non ti ricordi la password usa questo link per recuperare l'accesso.
Sito e forum dedicati al fermodellismo, il nostro hobby viene praticato in molte maniere diverse, tutte ugualmente valide: hai un plastico? oppure sei un collezionista? oppure un semplice appassionato? Non esitare a scrivere nel forum, tutti gli interventi sono benvenuti... Postate foto e video del vostro plastico e chiedete aiuto per ogni problema o curiosità inerente al nostro hobby.

Arduino come iniziare?

Tutto ciò che è elettricità applicata al fermodellismo.

Moderatori: lorelay49, cararci, MrMassy86, adobel55

Messaggio
Autore
Avatar utente
sal727
Messaggi: 4065
Iscritto il: domenica 26 aprile 2015, 17:22
Nome: Salvatore
Regione: Emilia Romagna
Città: Bologna
Ruolo: Moderatore
Stato: Non connesso

Re: Arduino come iniziare?

#26 Messaggio da sal727 »

v200 ha scritto:

Caricato IDE, fatta la prima applicazione " lampeggio led sulla scheda arduino "
Utilizzando l'installer di windows tutto è partito in automatico, sia il lampeggio del led integrato ( arancione ) sulla scheda che quello inserito nei pin GND e 13.

Il led della scheda è collegato al pin 13, per questo lo vedi lampeggiare, se nello sketch cambi il pin del led esterno, per esempo il 12 il led interno non lampeggia più
<div align="center" id="quote2"><table class="quote"><tr><td class="quotetd"></td></tr><tr><td class="quotetd2"><span class="quotetext">
Non ho caricato l'apposito sketch dalla libreria, credo che fosse in automatico.
[/quote]
non capisco a quale sketch della libreria ti riferisci
<div align="center" id="quote2"><table class="quote"><tr><td class="quotetd"></td></tr><tr><td class="quotetd2"><span class="quotetext">
Inoltre si apre una finestra dove richiede il mio codice di installazione per esecuzione continua ????
Avete qualche consiglio[:I]
[/quote]
non dovrebbe chiederti nulla è un programma open source
<div align="center" id="quote2"><table class="quote"><tr><td class="quotetd"></td></tr><tr><td class="quotetd2"><span class="quotetext">
Una cosa non ho trovato nei tutorial se si vuole cancellare dalla scheda lo sketch BLINK per caricarne un altro devo agire sul tasto reset ?
poi si deve ricaricare tutto da capo ? :sad:
Grazie :smile:
[/quote]
il programma gira sempre in continuo finchè non lo fermi tu, togliendo l'alimentazione, il tasto di reset serve per riavviare il programma che hai installato sulla scheda, il programma che era già installato automaticamente si cancella con l'invio del nuovo programma



Avatar utente
v200
Messaggi: 10390
Iscritto il: domenica 3 maggio 2015, 18:31
Nome: roberto
Regione: Piemonte
Città: Torino
Ruolo: Moderatore
Stato: Non connesso

Re: Arduino come iniziare?

#27 Messaggio da v200 »

Grazie Salvatore :wink: :grin:
Libreria Example-0'1 basic-Blink
Roby - In ogni fermodellista in enne c'è un po di masochismo.

Avatar utente
sal727
Messaggi: 4065
Iscritto il: domenica 26 aprile 2015, 17:22
Nome: Salvatore
Regione: Emilia Romagna
Città: Bologna
Ruolo: Moderatore
Stato: Non connesso

Re: Arduino come iniziare?

#28 Messaggio da sal727 »

Ho capito che avevi preso lo sketch dagli esempi, non riuscivo a capire cosa fosse in automatico

Avatar utente
v200
Messaggi: 10390
Iscritto il: domenica 3 maggio 2015, 18:31
Nome: roberto
Regione: Piemonte
Città: Torino
Ruolo: Moderatore
Stato: Non connesso

Re: Arduino come iniziare?

#29 Messaggio da v200 »

In base ai tutorial avrei dovuto caricare lo sketch sulla scheda, invece appena inserita la scheda nella USB è andata subito in esecuzione :sad: .
Quindi credo o che era già caricato oppure come primo avvio si inserisca lo sketch BLINK? :cool:
Roby - In ogni fermodellista in enne c'è un po di masochismo.

Avatar utente
sal727
Messaggi: 4065
Iscritto il: domenica 26 aprile 2015, 17:22
Nome: Salvatore
Regione: Emilia Romagna
Città: Bologna
Ruolo: Moderatore
Stato: Non connesso

Re: Arduino come iniziare?

#30 Messaggio da sal727 »

Infatti, la scheda originale è completamente vuota, probabilmente nella compatibile che hai preso era già installato quello sketch che è andato subito in esecuziona, se vuoi pulirla completamente basta inserire lo sketch di base che trovi in apertura dell'IDE

void setup() {
// put your setup code here, to run once:
}

void loop() {
// put your main code here, to run repeatedly:
}

Avatar utente
v200
Messaggi: 10390
Iscritto il: domenica 3 maggio 2015, 18:31
Nome: roberto
Regione: Piemonte
Città: Torino
Ruolo: Moderatore
Stato: Non connesso

Re: Arduino come iniziare?

#31 Messaggio da v200 »

Ciao Salvatore,
Visto! è una scheda di default del IDE per iniziare un nuovo sketch[:I][:I] . Ti ringrazio, da quanto ho capito si presenta ad ogni apertura.
Domani cancello e provo a inserire uno sketch nuovo.
Ho trovato su YouTube alcuni tutorial per iniziare :smile: utili per come me totalmente a digiuno :cool:
Roby - In ogni fermodellista in enne c'è un po di masochismo.

Avatar utente
v200
Messaggi: 10390
Iscritto il: domenica 3 maggio 2015, 18:31
Nome: roberto
Regione: Piemonte
Città: Torino
Ruolo: Moderatore
Stato: Non connesso

Re: Arduino come iniziare?

#32 Messaggio da v200 »

Posto due interessanti link per iniziare a trafficare da 0 con Arduino ( per chi come me non mastica nulla[:I] di programmazione :wink: ) tratti da YouTube.




Buona visione :cool:
Roby - In ogni fermodellista in enne c'è un po di masochismo.

Avatar utente
v200
Messaggi: 10390
Iscritto il: domenica 3 maggio 2015, 18:31
Nome: roberto
Regione: Piemonte
Città: Torino
Ruolo: Moderatore
Stato: Non connesso

Re: Arduino come iniziare?

#33 Messaggio da v200 »

Caricato il primo sketch :grin:
come sperimentazione ho copiato lo sketch BLINK della libreria variandone i tempi .
La prova ha funzionato perfettamente, ora passo a qualcosa di più complesso :sad:
Roby - In ogni fermodellista in enne c'è un po di masochismo.

Avatar utente
Edgardo_Rosatti
Socio GAS TT
Messaggi: 4934
Iscritto il: venerdì 28 ottobre 2011, 0:59
Nome: Edgardo
Regione: Lombardia
Città: Muggiò
Età: 59
Stato: Non connesso

Re: Arduino come iniziare?

#34 Messaggio da Edgardo_Rosatti »

Consiglio:
quando dici "ho copiato lo sketch BLINK della libreria variandone i tempi", sbagli nell'utilizzo del termine "libreria".
In realtà, lo scketch "BLINK" è nell'archivio degli esempi dell'IDE.

Non è per fare il bacchettone, ma in informatica una libreria (library) è un software ben preciso che viene incluso nel programma che scrivi e serve per aggiungere comandi
e potenzialitaà al vocabolario di base dell'IDE. Per esempio la libreria "servo.h" è molto comoda per usare i servocomandi, i quali sarebbero diffici da gestire senza di essa.
Oppure la libreria "liquidcrystal.h" per i display LCD.
Prova a caricare qualche esempio sull'uso dei servi e vedrai in cima al listato il comando #include <servo.h>

Buon lavoro :wink:

ED
ED

Avatar utente
sal727
Messaggi: 4065
Iscritto il: domenica 26 aprile 2015, 17:22
Nome: Salvatore
Regione: Emilia Romagna
Città: Bologna
Ruolo: Moderatore
Stato: Non connesso

Re: Arduino come iniziare?

#35 Messaggio da sal727 »

E' facile sbagliare per chi inizia a collegare gli esempi alle librerie (l'ho fatto anche io [:I]), spesso gli esempi sono presenti nel file zip della relativa libreria in una directory chiamata exsamples che l'IDE automaticamente quando li carica li posiziona fra gli esempi dividendoli per ordine di riferimento

Avatar utente
v200
Messaggi: 10390
Iscritto il: domenica 3 maggio 2015, 18:31
Nome: roberto
Regione: Piemonte
Città: Torino
Ruolo: Moderatore
Stato: Non connesso

Re: Arduino come iniziare?

#36 Messaggio da v200 »

Grazie Ed , hai ragione bisogna imparare i termini corretti[:I] :wink: :smile:
Salvatore mi rincuori :grin: i primi passi sono sempre un po ardui da compiere, ma girollando nel Web per capire Arduino ho iniziato a scoprire un mondo interessante :grin: :grin: :grin:
Roby - In ogni fermodellista in enne c'è un po di masochismo.

Avatar utente
giorgioi1965
Messaggi: 29
Iscritto il: venerdì 22 marzo 2013, 21:55
Nome: Giorgio
Regione: Veneto
Città: verona
Stato: Non connesso

Re: Arduino come iniziare?

#37 Messaggio da giorgioi1965 »

Ciao a tutti, volevo condividere la mia esperienza con Arduino.
Ho realizzato un semplice programma che tramite una basetta a 6 relais simula una linea "punto -punto" con accelerazione e tempi di attesa nelle stazioni.
Ho aggiunto anche un comando che quando il treno arriva in prossimità del segnale , questo inizia a lampeggiare.
Per semplicità di esecuzione tutto è gestito a tempo e senza interfaccia di controllo.

Ho anche un esempio video ( dove il led giallo è il - e gli altri 2 sono due comandi con resistenze di valori diversi per regolare la velocità desiderata.

"""""""""""""

Codice: Seleziona tutto

void setup() {
  // put your setup code here, to run once:
//inizzializza digital pin in outpout
//Pin 13 ha un led connesso o altro
//Pin 14 ha un led connesso o altro
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
//ANDATA
digitalWrite(1, HIGH); // accendo il rele 1 (alimenta il negativo)


digitalWrite(2, HIGH); // accendo il rele 2 velocita MIN accelero
delay (3000);             //  attendo secondi prima di proseguire
digitalWrite(2, LOW); // spengo il rele 2

digitalWrite(7, HIGH); // accendo il led 7 ,lampeggio il segnale
delay (50);             //  frequenza lampeggio

digitalWrite(3, HIGH); // accendo il rele 3 ,velocita MAX
delay (3000);             //  attendo secondi prima di proseguire
digitalWrite(3, LOW); // spengo il rele 3

digitalWrite(7, LOW); // spengo il led 7


digitalWrite(2, HIGH); // accendo il rele 2 velocita MIN rallento
delay (3000);             //  attendo secondi prima di proseguire
digitalWrite(2, LOW); // spengo il rele 2


digitalWrite(1, LOW); // spengo il rele 1

//mi fermo in stazione a monte
delay (3000);

// RITORNO
digitalWrite(4, HIGH); // accendo il rele 4 (alimenta il negativo)


digitalWrite(5, HIGH); // accendo il rele 5 velocita MIN accelero
delay (3000);             //  attendo secondi prima di proseguire
digitalWrite(5, LOW); // spengo il rele 5


digitalWrite(7, HIGH); // accendo il led 7 ,lampeggio il segnale
delay (50);             //  frequenza lampeggio

digitalWrite(6, HIGH); // accendo il rele 6 ,velocita MAX
delay (3000);             //  attendo secondi prima di proseguire
digitalWrite(6, LOW); // spengo il rele 6


digitalWrite(7, LOW); // spengo il led 7



digitalWrite(5, HIGH); // accendo il rele 5 velocita MIN rallento
delay (3000);             //  attendo secondi prima di proseguire
digitalWrite(5, LOW); // spengo il rele 5


digitalWrite(4, LOW); // spengo il rele 4

//mi fermo in stazione a valle
delay (3000);

}








""""""""""""
Giorgio

Avatar utente
sal727
Messaggi: 4065
Iscritto il: domenica 26 aprile 2015, 17:22
Nome: Salvatore
Regione: Emilia Romagna
Città: Bologna
Ruolo: Moderatore
Stato: Non connesso

Re: Arduino come iniziare?

#38 Messaggio da sal727 »

Se ho capito bene utilizzi i relè con le resistenze per avere tensioni diverse sul binario in modo da simulare l'accelerazione, è una variazione a scatti e non lineare, se è così devi anche considerare l'assorbimento del motore della loco ed inserire una resistenza di potenza adeguata, un led ha un assorbimento piuttosto ridotto, forse è meglio utilizzare dei diodi sfruttando la loro caduta di tensione, non so se ha già fatto la prova reale.

Avatar utente
MrPatato76
Socio GAS TT
Messaggi: 5547
Iscritto il: lunedì 27 agosto 2012, 11:14
Nome: Roberto
Regione: Lombardia
Città: Nova Milanese
Stato: Non connesso

Re: Arduino come iniziare?

#39 Messaggio da MrPatato76 »

Interessante il discorso Treno-pendolo.
Potresti postare lo schema della basetta?
Potrebbe interessare ad altri utenti....oltre a me..[:I]
Roberto - Socio GasTT - Socio CMP

Avatar utente
liftman
Socio GAS TT
Messaggi: 7759
Iscritto il: domenica 29 gennaio 2012, 14:40
Nome: Rolando
Regione: Liguria
Città: La Spezia
Ruolo: Moderatore
Stato: Non connesso

Re: Arduino come iniziare?

#40 Messaggio da liftman »

giorgioi1965 ha scritto:

Ho anche un esempio video




così il video è godibile direttamente!
Ciao!
Rolando

Avatar utente
sal727
Messaggi: 4065
Iscritto il: domenica 26 aprile 2015, 17:22
Nome: Salvatore
Regione: Emilia Romagna
Città: Bologna
Ruolo: Moderatore
Stato: Non connesso

Re: Arduino come iniziare?

#41 Messaggio da sal727 »

Un consiglio, meglio usare dei sensori al posto del timer, per essere più preciso il sistema, facendolo a tempo può anche succedere che non corrisponda la posizione del convoglio e di conseguenza non fermarsi dove dovrebbe.

Avatar utente
v200
Messaggi: 10390
Iscritto il: domenica 3 maggio 2015, 18:31
Nome: roberto
Regione: Piemonte
Città: Torino
Ruolo: Moderatore
Stato: Non connesso

Re: Arduino come iniziare?

#42 Messaggio da v200 »

Grazie per la condivisione Giorgio :grin: :wink:
Roby - In ogni fermodellista in enne c'è un po di masochismo.

Avatar utente
Edgardo_Rosatti
Socio GAS TT
Messaggi: 4934
Iscritto il: venerdì 28 ottobre 2011, 0:59
Nome: Edgardo
Regione: Lombardia
Città: Muggiò
Età: 59
Stato: Non connesso

Re: Arduino come iniziare?

#43 Messaggio da Edgardo_Rosatti »

Mi sembra di capire che la proposta è quella di realizzare un circuito per linea "punto a punto" come citato dall'autore Giorgio.
In questo caso, l'uso dei relè come proposto mi sembra un po' macchinoso e dispendioso e come fa notare Salvatore non c'è nessun sensore di rilevamento del treno.
Inoltre tutto viene affidato ad una sequenza di temporizzazioni. Anche l'uso delle resistenze per variare la velocità del treno mi sembra poco efficiente.
Ora, le temporizzazioni possono essere utili per gestire le fermate ed i rimbalzi dei sensori, ma per ottimizzare il circuito è necessario dire ad Arduino quando un treno ha raggiunto una stazione per
gestire anche l'inversione di polarità delle rotaie oltre che la fermata programmata.

In sostanza abbiamo che:
- un treno parte da A verso B (per ora senza accelerazione);
- giunto su B si ferma (per ora senza decelerazione) e fa una sosta;
- riparte per A (per ora sempre senza accelerazione) e si ferma.
La sequenza si ripete all'infinito.

In pratica il nostro treno viaggia avanti e indietro su un binario unico con una sosta di tempo t ad ogni fermata in stazione.
Per prima cosa dobbiamo gestire l'alimentazione del binario di corsa che verrà alimentato con un comune "trasformatore" di trazione, il quale passerà per un relè che ne dovrà gestire la polarità per il movimento avanti e indietro.
Normalmente, per fare questo può essere usato un relè con doppio deviatore, tuttavia, se dobbiamo anche gestire una fermata è più efficiente usare 2 relè separati che alimentano il binario di corsa in modo alternato.

Tradotto in "arduinese", abbiamo che 2 uscite digitali azionano 2 relè per l'alimentazione del tracciato.
Un relè alimenta il binario di corsa in direzione A - B, l'altro in direzione B - A.

Ora non ci rimane di dire ad arduino quando fermare il treno e quando farlo ripartire in direzione opposta.
Qui entrano in gioco i sensori e le porte digitali di ingresso.
Per ora immaginiamo un sensore come un semplice interruttore che viene azionato al passaggio di un treno. Lo installiamo nel punto del tracciato dove vogliamo che il treno si fermi prima di ripartire nella direzione opposta.
Ergo, ne inseriamo 2; uno nei pressi di A e l'altro di B.
In questo modo, quando il treno raggiunge A o B si ferma, fa una sosta e riparte in direzione opposta.

Schema elettrico per Arduino:
Per lo schema elettrico consiglio a tutti di usare FRITZING che è un cad gratuito per progetti arduino e non solo... Molto pratico e comodo:
http://fritzing.org/home/

I led rappresentano i relè, mentre gli interruttori sono i sensori.
Li ho disegnati così per semplificare, poi possiamo approfondire...

ED

Immagine:
Immagine
276,46 KB
ED

Avatar utente
sal727
Messaggi: 4065
Iscritto il: domenica 26 aprile 2015, 17:22
Nome: Salvatore
Regione: Emilia Romagna
Città: Bologna
Ruolo: Moderatore
Stato: Non connesso

Re: Arduino come iniziare?

#44 Messaggio da sal727 »

Qui potete vedere un punto a punto gestito completamente da Arduino compreso l'accelerazioe e decelerazione, Arduino (con Modulo Motorshield per gestire il motore) controlla oltre ai sensori anche il motore tramite pwm, per questo è sconsigliato l'uso di loco con circuito digitale


questo è il link con spiegazione e relativo sketch
http://ardutrain.blogspot.it/2013/06/ba ... duino.html

Avatar utente
v200
Messaggi: 10390
Iscritto il: domenica 3 maggio 2015, 18:31
Nome: roberto
Regione: Piemonte
Città: Torino
Ruolo: Moderatore
Stato: Non connesso

Re: Arduino come iniziare?

#45 Messaggio da v200 »

Ottimo link per questo treno pendolo Salvatore, grazie per averlo postato.
Roby - In ogni fermodellista in enne c'è un po di masochismo.

Avatar utente
MrPatato76
Socio GAS TT
Messaggi: 5547
Iscritto il: lunedì 27 agosto 2012, 11:14
Nome: Roberto
Regione: Lombardia
Città: Nova Milanese
Stato: Non connesso

Re: Arduino come iniziare?

#46 Messaggio da MrPatato76 »

Grazie Salvatore!!
Roberto - Socio GasTT - Socio CMP

Avatar utente
Edgardo_Rosatti
Socio GAS TT
Messaggi: 4934
Iscritto il: venerdì 28 ottobre 2011, 0:59
Nome: Edgardo
Regione: Lombardia
Città: Muggiò
Età: 59
Stato: Non connesso

Re: Arduino come iniziare?

#47 Messaggio da Edgardo_Rosatti »

...controlla oltre ai sensori anche il motore tramite pwm, per questo è sconsigliato l'uso di loco con circuito digitale

Ecco, hai fatto bene a specificare questo passaggio sull'alimentazione in PWM delle loco.
In realtà basta anche un semplice diodo per l'inversione delle luci per mandare in tilt tutto quanto.

[8]
ED

Avatar utente
v200
Messaggi: 10390
Iscritto il: domenica 3 maggio 2015, 18:31
Nome: roberto
Regione: Piemonte
Città: Torino
Ruolo: Moderatore
Stato: Non connesso

Re: Arduino come iniziare?

#48 Messaggio da v200 »

Ridendo è scherzando ho compilato il mio primo Sketch scolastico ( non copia incolla da una libreria o dai progetti sperimentali del IDE ) fare lampeggiare tre led in sequenza.
Pensavo peggio[:I] :grin:
Qui lo sketch :grin:

// Semaforo led tre colori
int ROSSO=9;
int GIALLO =10;
int VERDE=11;



void setup() {
pinMode (ROSSO,OUTPUT);
pinMode (GIALLO,OUTPUT);
pinMode (VERDE, OUTPUT);
}

void loop() {

digitalWrite (ROSSO, HIGH );
digitalWrite ( GIALLO,LOW);
digitalWrite ( VERDE,LOW );
delay (1000);
digitalWrite (ROSSO, LOW);
digitalWrite ( GIALLO,HIGH);
digitalWrite ( VERDE,LOW);
delay (1000);
digitalWrite (ROSSO, LOW );
digitalWrite ( GIALLO,LOW);
digitalWrite ( VERDE,HIGH );
delay (1000);

Più tardi provo a caricare una foto.
Roby - In ogni fermodellista in enne c'è un po di masochismo.

Avatar utente
v200
Messaggi: 10390
Iscritto il: domenica 3 maggio 2015, 18:31
Nome: roberto
Regione: Piemonte
Città: Torino
Ruolo: Moderatore
Stato: Non connesso

Re: Arduino come iniziare?

#49 Messaggio da v200 »

Ecco la basetta cablata ad Arduino


Immagine:
Immagine
103,52 KB

Immagine:
Immagine
105,81 KB
Roby - In ogni fermodellista in enne c'è un po di masochismo.

Avatar utente
sal727
Messaggi: 4065
Iscritto il: domenica 26 aprile 2015, 17:22
Nome: Salvatore
Regione: Emilia Romagna
Città: Bologna
Ruolo: Moderatore
Stato: Non connesso

Re: Arduino come iniziare?

#50 Messaggio da sal727 »

v200 ha scritto:

Ridendo è scherzando ho compilato il mio primo Sketch scolastico ( non copia incolla da una libreria o dai progetti sperimentali del IDE ) fare lampeggiare tre led in sequenza.
Pensavo peggio[:I] :grin:
Qui lo sketch :grin:
// Semaforo led tre colori
int ROSSO=9;
int GIALLO =10;
int VERDE=11;
void setup() {
pinMode (ROSSO,OUTPUT);
pinMode (GIALLO,OUTPUT);
pinMode (VERDE, OUTPUT);
}
void loop() {
digitalWrite (ROSSO, HIGH );
digitalWrite ( GIALLO,LOW);
digitalWrite ( VERDE,LOW );
delay (1000);
digitalWrite (ROSSO, LOW);
digitalWrite ( GIALLO,HIGH);
digitalWrite ( VERDE,LOW);
delay (1000);
digitalWrite (ROSSO, LOW );
digitalWrite ( GIALLO,LOW);
digitalWrite ( VERDE,HIGH );
delay (1000);
Più tardi provo a caricare una foto.

Bel colpo Roby, il led giallo devi farlo durare meno, 10 sec sono troppi :wink:

Torna a “COLLEGAMENTI ELETTRICI”