Go Down

Topic: VespaComputerDuino (Read 6136 times) previous topic - next topic

z3us

Nov 28, 2011, 05:36 pm Last Edit: Dec 01, 2011, 02:11 pm by z3us Reason: 1
ciao a tutti!

ho creato un nuovo posto invece di aggiornare il vecchio perche le modifiche al progetto sono state troppe e pertanto non rientra più nel Topic originario purtroppo!

Precedente Post

inizialmente era pensato per fungere da solo contagiri, ma causa display enorme da riempire e idee sempre nuove che saltavano fuori, si è evoluto fino a diventare quasi un vero Body Computer!

brevemente le funzioni: Giri motore, con sensore di hall sul volano, Km/h con sensore di hall sul cerchio posteriore, Temperatura liquido di raffreddamento motore, sensore temperatura scarico con sonda K e circuito esterno di accoppiamento, tensione batteria di servizio (a barre e a Volt!
In più ho aggiunto ieri sera: Menù con gli ultimi massimi registrati di temperatura, giri, e Km/h.
Fa partire la ventola del radiatore se si supera una temepratura preimpostata, e posso gestire la pompa del liquido con Automatico (secondo una temperatura impostata), sempre On oppure sempre Off!

e ogni volta che ci metto le mani, aggiungo delle funzioni! :-D

allego un piccolo video che ho fatto oggi delle funzioni in Demo! quindi non attaccate al motore per adesso! La sonda K è scollegata!

http://www.youtube.com/watch?v=_zhNNxcESJQ

che ve ne pare? suggerimenti?

in più, ho una cosa da chiedervi: Come risolvo l'evidente problema della ripetizione della pressione dei tasti?

ho usato la libreria Bounce del PlayGround, funziona, ma se tengo schiacciato il tasto parte subito una sequenza! spesso involontariamente!

ho provato a giocare con i tempi di Update, ma peggiora!

per ora mi fermo qui, altre info in seguito!

ciao!

ratto93

Zeus :)

Sei un grande :)
Bel lavoro ... ora però voglio vedere come lo monti visto il capolavoro di vespa che hai e che mi hai fatto vedere mi aspetto una bella cosa :)
Se corri veloce come un fulmine, ti schianterai come un tuono.

leo72

Metti un delay fa la prima lettura e la seconda, nella maggior parte dei casi risolve:

Code: [Select]
if (digitalRead(TASTO)==HIGH/LOW) {
  delay(30);
  if (digitalRead(TASTO)==HIGH/LOW) {
    ....
  }
}

QuercusPetraea

Oppure dopo il debounce attendi che il tasto sia stato rilasciato rilasciato. Forse puoi utilizzare il metodo update() di bounce che ritorna TRUE se è cambiato lo stato del pin.

QP

z3us

ho trovato pure questa libreria nel playground

http://arduino.cc/playground/Code/Buttons

magari provo pure questa, mi pare di aver capito che è differenziata tra ON OFF e Hold!

vi terrò aggiornati sugli sviluppi e poi il montaggio sul mezzo!

leo72

Il debounce con il delay funziona perfettamente, senza bisogno di appesantire il codice con librerie esterne.

z3us

Grande Leo72!!

con delay(50); ho risolto alla grande!! stabilissimo!!!

ora il menù è fluido e piacevole! grazie!!

credo che adesso mi dedicherò a fare un menù per impostare la temperatura di risposta della ventola con relativo salvataggio su EEPROM (ho imparato come si usa, è mooolto semplice!) come ho appena fatto per lo stato della pompa (Auto, On, Off!);

leo72

Attenzione al consumo di RAM: usando i display LCD si usano un sacco di stringhe col risultato che si esaurisce velocemente la memoria  ;)


Attenzione al consumo di RAM: usando i display LCD si usano un sacco di stringhe col risultato che si esaurisce velocemente la memoria  ;)


Anche se queste sono scritte in PROGMEM?
Umberto

www.hacksandmore.com

leo72

Con PROGMEM va benissimo

Ardalex

Grande ZEUS,
avevo in mente anch'io di realizzare un sistema per raccogliere dati e visualizzarli sulla mia moto ma sono ancora nella fase di scelta dei sensori o modalità di rilevamento.
per la temperatura del liquido di raffreddamento, quale soluzione e sensore hai utilizzato? sulla mia moto non ho un termometro per il liquido e quindi dovrei partire da zero.
Grazie.

PS: non ti tranquillizzare; in seguito ti disturberò ancora con altre domande, e spero presto poterti aggiornare sul mio lavoro, una volta intrapreso.

z3us

LEO72

fin ora, dovrei esserci con la memoria! almeno, nulla rallenta o va di matto! indice di riferimento alquanto frivolo, ma funziona!

Ardalex: ho usato un normale lm35, tanto il suo range è più che sufficiente! se il liquido ti supera i 100°....hai già ben che cotto il motore!

magari appena ho tempo farò una descrizione dei vari sensori!

per le domande sono a disposizione, magari mi fai anche venire qualche idea in più!

leo72


LEO72

fin ora, dovrei esserci con la memoria! almeno, nulla rallenta o va di matto! indice di riferimento alquanto frivolo, ma funziona!


Sulla mia stazioncina meteo ho finito la memoria nonostante abbia messo tutte le stringhe con PROGMEM (sono decine e decine e decine... non so, forse 70/80) e lo sketch è 25 kB. Ma la SRAM è andata... quando inizio a navigare nel menu mi inizia a visualizzare caratteri a caso..  XD XD

z3us

nooo LEO, non ci arrivo minimamente a quei numeri? saranno al massimo 20!

ma che hai fatto, la stazione della NASA? ahaha!

poi metto il listato, anche se sono consapevole che riderete! è fatto in maniera molto elementare e avvolte con soluzioni poco asciutte!

ma adotto la politica dei Cinesi "Non importa come è fatto, basta che faccia il suo lavoro!"

ciao

leo72

Il problema è che ho cercato di integrare in un solo micro un sacco di roba, solo la gestione della SD per riversare i dati che salvo in una EEPROM esterna mi hanno portato via metà dello sketch, poi c'è tutta la logica di gestione, perché le cose se le faccio le faccio per bene ed il menu dà un sacco di info e di scelte all'utente... e pensa che non ci sta neanche tutto. La gestione dell'LCD è affidata ad un Tiny84.

Go Up