Ciao ragazzi, premetto che sono veramente contento perchè anche se è uno skecht veramente corto e molto semplice permette di poter cambiare marcia, nella moto, tenendo il gas aperto e senza usare la frizione......
Il principio è che durante la fase di esercizio del motore viene a crearsi un vuoto (in millisecondi) che taglia la potenza del motore e consente l'inserimento della marcia successiva per poi ridare immediatamente potenza. Si puo' agire direttamente sul positivo della bobina portandolo a massa per i millisecondi necessari all'operazione di cambiata oppure sull'ignettore per staccare l'alimentazione per il tempo necessario. (per ora sto lavorando per funzione nei motori monocilindrici ma per gradi ci arriviamo).........
Cosi' com'è lo sketch funziona senza problemi ma per completarlo vorrei aggiungere una cosa,pero' non sono ancora riuscito a capire come fare....
in questo caso bottone è lo swicth per la cambiata e si trova sul pedale del cambio. Quando il motore è in accelerazione, alla pressione della leva , la stessa fa un po' di corsa e si ferma perchè trovando la rotazione il desmodronico del cambio non è in grado di attuare la cambiata e la sensazione è la stessa di aver finito le marce anche se in realta' magari sei appena in seconda. Trovando "duro" viene azionato lo switch, che attraverso arduino, collegato a un rele', apre e richiude, per i millisecondi impostati, un collegamento tra positivo della bobina e massa della moto, generando lo "stacco" di potenza che serve alla cambiata.
Io per ora ho riesco a impostare il periodo di cambiata e il periodo di buio dello switch durante il quale se rischiacciato non funziona.
Mi manca per completare questa prima (chiamiamola cosi') "versione" una cosa:
vorrei che una volta azionato lo swich, non funzionasse piu' per tutto il tempo che rimane premuto o meglio che una volta premuto funzionasse una sola volta... Se io ora lo tengo premuto mi fa un "attacca-stacca" ogni 510 millisecondi. Durante la guida non crea problemi perchè generalmente una volta eseguita la cambiata si toglie il piede dalla pedalina, ma un errore di manovra o una curva particolare potrebbero causare il verificarsi di tale situazione e cio' sarebbe da evitare.
lo skecth e' questo: (e se qualcuno del forum ha una moto con le marce puo' provarlo con grande goduria senza comprare sensori o pulsanti potete tranquillamente collegare bottone al pulsante del clacson e via di marce senza staccare il gas.)
int rele = 10;
const int bottone = 9;
int lettura;
void setup () {
pinMode (rele, OUTPUT);
pinMode (bottone, INPUT);
}
void loop () {
lettura = digitalRead (bottone);
if( lettura == HIGH)
{digitalWrite(rele,HIGH);
delay(20);
digitalWrite (rele,LOW);
delay(500);
}
delay (10);
}
praticamente ora il tempo di cambiata è 20 millisecondi mentre il buio per il bottone è di 500 millisecondi piu' i 10 di delay alla fine......
chiedo aiuto ai piu' esperti..... magari la soluzione è semplice ma probabilmente ci sono comandi di cui ignoro ancora l'esistenza che possono servire al caso......