arduino e interfaccia automobile

ciao ragazzi... voglio creare un progetto un pò più grandicello di quelli che di solito faccio... allora vi spiego un pò cosa vorrei fare... :) ho una macchina (fiat panda vecchio modello), ha dei vari sensori quest' ultima tipo il controllo della farfalla, temperatura liquido ecc e vorrei collegare questi sensori ad arduino in modo da leggere questi sensori tramite un lcd collegato ad arduino... tipo un esempio: i valori della valvola a farfalla sono da 0 a 5 volt: 0 quando è chiusa e 5 quando è completamente aperta.. vorrei fare in modo che sul display lcd mi esca la percentuale dell' apertura della valvola a farfalla... poi tipo per il sensore della temperatura penso che funzioni con una resistenza che scarica a massa... quindi a seconda della resistenza arduino dovrebbe sapermi dire all' incirca a quanti gradi è la temperatura dell' acqua... secondo voi è fattibile come progetto? è molto difficile da programmare il tutto? qualche spunto da dove incominciare?

nessuno mi sà dare un aiutino... :)

marcobiondo13: .... secondo voi è fattibile come progetto? è molto difficile da programmare il tutto? qualche spunto da dove incominciare?

Fino a quando hai tensioni che vanno da 0 a 5 V o comunque hai dei segnali che puoi trasformare in tensioni da massimo 5 V allora puoi collegarle agli ingressi analogici di Arduino UNO e farti un programma che legge i valori ed applica le dovute conversioni per trasformarli nella rispettiva misura fisica (temperatura, apertura della valvola, ecc. ecc.).

Sul forum e su Google, di esempi di applicazioni che leggono valori analogici, ce ne sono a centinaia ... devi solo fare un bello schema elettrico di quello che vuoi realizzare (sensore per sensore) e poi svilupparti il programma.

Noi possiamo solo aiutarti quando avrai dei dubbi ... ma TU devi impostare la cosa e cominciare a provare ;)

Guglielmo

Sicuro che i sensori della vettura lavorino a 5v ??

ghennet:
Sicuro che i sensori della vettura lavorino a 5v ??

Infatti…non ne sarei troppo sicuro

allora il sensore della farfalla ne sono sicuro che lavora a 5 volt... infatti ha 3 fili... un entrata 5 volt, la massa e l' uscia segnale 5 volt... il punto critico sarebbe che questo sensore è molto sensibile e avevo gia provato a fare un circuito simile però con una barra led conandata da un piccolo integrato e tutto andava... però peccato che mi sballava anche la carburazione della macchina... quindi diciamo mi servirebbe un consiglio in modo da collegare arduino a questo sensore senza che rubi o dia corrente quindi sballando la tensione e quindi facendo arrivare valori sballati alla centralina della macchina visto che adesso l' uscita del sensore è solo collegata alla centralina macchina ma dopo ci sarebbe anche arduino... voi che dite? poi mi servirebbe capire una cosa come posso fare per il codice di un altro pezzo di programma... dovrei misurare la temperatura dell' acqua... al sensore arriva un filo poi il telaio del sensore stesso fà massa sul monoblocco del motore... quindi lo strumento adesso fà vedere la temperatura a seconda della resistenza che è presente tra massa e suddetto filo... quindi non è ne alimentato il sensore ne niente... mi servirebbe capire come potrei fare per rilevare questa resistenza con arduino e capire come farmela segnare in gradi... resistenza 0 vuol dire temperatura acqua oltre i 130 gradi quindi fuori scala, più è grande invece la resistenza del sensore più è fredda l' acqua... avete qualche idea per questo?

marcobiondo13: ciao ragazzi... voglio creare un progetto un pò più grandicello di quelli che di solito faccio... allora vi spiego un pò cosa vorrei fare... :) ho una macchina (fiat panda vecchio modello),

mah dipende cosa intendi per vecchio modello ]:D se ha una presa obd puoi attaccargli un interfaccia obd wireless o bluetooh e vedere tutti i parametri sul cellulare con programmini tipo torque (faccio cosi)

ha una presa eobd però la primisssima.... quella con 3 o 4 pin... quindi escuderei la presa eobd poi preferirei farlo con le mie mani e con arduino... :)

gingardu:
mah dipende cosa intendi per vecchio modello ]:smiley: se ha una presa obd puoi attaccargli un interfaccia obd wireless o bluetooh e vedere tutti i parametri sul cellulare con programmini tipo torque (faccio cosi)

Volevo fare una cosa simile anch’io ma ero interessato a ricevere il dato della rigenerazione del DPF/FAP, intercettare tale valore e con arduino far attivare una segnalazione in modo da non fermarmi in caso di rigenerazione in corso. Il tuo apparato bluetooth/wirless da anche questo parametro, nel caso potresti indicare il nome del lettore obd che usi?
Grazie e ciao

tu avevi già la rete canbus quindi una cosa abbastanza complicata da fare... io invece niente... semplice centralina del motore a cui vengono collegati i vari sensori.... :)

In ogni caso i sensori arrivano alla centralina con i loro fili con un segnale quasi sempre analogico ed è poi la ecu a leggerli trasformarli in info digitali e a metterli sul bus
È molto probabile che se intercetti i cavi dei sensori falsi la lettura della centralina con conseguenti problemi al veicolo
Quindi o aggiungi i sensori che ti servono appositamente per arduino oppure prendili dal bus della diagnosi come ti hanno suggerito

e cosa posso usare come sensore in arduino per la valvola a farfalla? praticamente mi serve un sensore che a seconda di quanto è girata la valvola a farfalla mi dia un valore diverso di tensione... una sorta di potenziomentro...

marcobiondo13: e cosa posso usare come sensore in arduino per la valvola a farfalla? praticamente mi serve un sensore che a seconda di quanto è girata la valvola a farfalla mi dia un valore diverso di tensione... una sorta di potenziomentro...

Con un potenziometro opportutamente montato :D

per fare il codice della barra di progressione ho usato questo codice:

  lcd.setCursor(0, 0);
  //ADC conversion
  unsigned int value = analogRead(0); //legge il valore dal potenziometro
  percent = value/1023.0*100.0; //calcola la percentuale
  
  lcd.print(percent);
  lcd.print("%");
  lcd.print(" 70c ");
  
  lcd.print (hours);
  lcd.print (":");
  lcd.print (minutes);
  lcd.print (":");
  lcd.print (seconds);
  
  
  lcd.setCursor(0,1); //sposta il cursore
  double a=lenght/100*percent;
  // disegna i rettangoli neri sull'lcd
  if (a>=1) {
    for (int i=1;i<a;i++) {
      lcd.write(4);
      b=i;
    }
    a=a-b;
  }
  peace=a*5;
  // drawing charater's colums
  switch (peace) {
  case 0:
    break;
  case 1:
    lcd.print((char)0);
    break;
  case 2:

    lcd.write(1);

    break;
  case 3:

    lcd.write(2);

    break;
  case 4:

    lcd.write(3);

    break;

  }
  //clearing line

  for (int i =0;i<(lenght-b);i++) {
    lcd.print(" ");
  }

  
}

per modificare i valori come posso fare… perche adesso mi ritrovo che inizia da un 10% e non riesce ad arrivare al 100% ma solo al 90%… come posso fare in modo da regolarlo per bene?

fabpolli:

gingardu: mah dipende cosa intendi per vecchio modello ]:D se ha una presa obd puoi attaccargli un interfaccia obd wireless o bluetooh e vedere tutti i parametri sul cellulare con programmini tipo torque (faccio cosi)

Volevo fare una cosa simile anch'io ma ero interessato a ricevere il dato della rigenerazione del DPF/FAP, intercettare tale valore e con arduino far attivare una segnalazione in modo da non fermarmi in caso di rigenerazione in corso. Il tuo apparato bluetooth/wirless da anche questo parametro, nel caso potresti indicare il nome del lettore obd che usi? Grazie e ciao

il lettore odb Bluetooth lo trovi un po' da per tutto poi ci va l'accoppiata di un cellulare android (anche un cinese ]:D ) con torque, personalmente il "lettore" odb Bluetooth lo lascio sempre sulla presa e raramente lo stacco solo quando non vuole collegarsi più al mio cell, torque ha un costo di qualche euro (2-3) se non sbaglio