Go Down

Topic: Conta giri a led per auto e temperatura (Read 3 times) previous topic - next topic

PaoloP

ho dai il comado clear e cancelli tutto lo schermo oppure prima di inviare il numero lo controlli con un if e se è il caso aggiungi uno spazio dopo le cifre in modo da cancellare eventuali numeri precedenti.
Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

luchetto19

no ho capito molto bene comunque io ho fatto così e pare che funzioni per adesso sto facendo uno per la temperatura che è più semplice
Code: [Select]
lcd.setCursor(0,0);
    lcd.print("Temp:");
     if (valore_sensore_analg< 10)
   lcd.setCursor(6,0);
    lcd.print(" ");
   
    if (valore_sensore_analg< 100)
    lcd.setCursor(7,0);
    lcd.print(" ");
    if (valore_sensore_analg< 1000){
    lcd.setCursor(8,0);
    lcd.print(" ");
    }
    lcd.setCursor(5,0);
    lcd.print(valore_sensore_analg);
 
    delay(1);
  lcd.setCursor(10,0);
  lcd.print("C");
  lcd.setCursor(0,1);
  lcd.print("Rpm:");

luchetto19

ragazzi ho un problema io devo capionare un segnale analogico allora  arduino va da 0 a 1020 bit se io volessi fare una tabbella in coi dico ad arduino che a 10 bit corrispondono 25 gradi a 20 bit corrispondo 32 gradi ecc. però io non voglio che arduino mi dia solo 25 gradi 32 gradi ecc. ma voglio che in base alla tabbella mi dia i gradi diciamo da 0 a 120 gradi non so se mi sono spiegato. :(  aiutatemi sto uscendo pazzo

MauroTec

Pensa un po, quello che hai scritto fa impazzire pure me. Io non ho capito per intero tutto ma intuisco che non ha ben chiaro il concetto di campione digitale, risoluzione ecc.

Ora veniamo al dunque.
Il microcontroller di arduino ha un solo ADC e uno switch interno che permette di aquisire da un numero x di porte, nel caso del ATmega328 dip il numero di porte adc è 5. L'ADC ha una risoluzione di conversione di 1024, per cui una tensione massima di 5 volts viene divisa per 1024, quindi ottieni 1024 valori diversi incluso lo zero, per cui il valore massimo restituito dal'ADC sarà di 1023 equivalenti a 5/1024*ADCvalue.

Questo ammesso che l'alimentazione del micro sia a 5 volts.

Non ho capito che sensore di temperatura usi, se usi quello dell'auto si tratta di un NTC di cui però non hai la curva caratteristica R/t.

Non uscire pazzo per così poco, ok.  :P

Ciao.
AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

luchetto19

allora adesso ti spiego tutto: un amico di mi padre a programmato un display lcd esattamente questo http://www.mikroe.com/smartglcd/ con contagiri e temperatura motore per un auto da corsa di mio fratello  adesso io vorrei fare la stessa cosa da quello che so il sensore della temperatura che abbiamo usato che e di serie sulla auto che utilizza anche la ecu tira fuori un segnale analogico credo 0 - 12 volt(non l ho ancora misurato ) adesso io quello che ho intensione di fare e con un partitore e  abbassare i volt a 5 in modo da farli mangiare ad arduino, io ricordo che abbiamo preso il sensore lo abbiamo immerso in una ciotola con un fornello sotto e abbiamo campionato il segnale in base ai bit che tirava fuori e alla temperatura a cui era l acqua si e fatto una sorta di tabella e quindi credo si è ricavato la curva caratteristica R/t io vorrei fare la stessa cosa ma non so che funzione usare per mettere questa tabella ad arduino, allora  io avevo pensato di fare così mettiamo che alla minima temperatura di 10° il sensore tira fuori 0 e alla massima temperatura di 120 tira fuori 5 volt cioè 1024 se uso la finzione  temp1 = map(valore_segnale, 0, 1024, 10, 120); secondo voi i valori di temperatura da 10 a 120  sono giusti ?? è giusto il ragionamento che ho fatto ?? che soluzioni mi date

Go Up