Creazione shift light

salve chiedo aiuto per la creazione di uno shift light ,potete aiutarmi grazieee

Buongiorno e benvenuto, :slight_smile:

essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione … possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il succitato REGOLAMENTO … Grazie. :slight_smile:

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposito thread, nel rispetto del suddetto regolamento nessuno ti risponderà, quindi ti consiglio di farla al più presto.

Credevo che la shift light fosse la lucina delle maiuscole sulla tastiera... Invece google dice che è un indicatore luminoso per i giri della macchina... È quella?

Grazie per L interesse , si è un indicatore di giri motore con sequenze di led fino al limitatore

Dal mio punto di vista la cosa più complicata è la lettura del dato in ingresso...

Vuoi fare una cosa che funzioni in una situazione reale (quindi installata sulla macchina) o solo un prototipo per fare esperimenti a banco?

Allora si andrebbe montato su una macchina io ho anche lo schema originale di questo accessorio che veniva montato come optional ma è comandato da un pic16

Ma sai già (oppure è spiegato in quello schema) che "prelevare" dalla macchina il numero di giri motore?

lo schema e lo schema di come e fatta questa scheda il segnale che esce da leggere e un onda quadra di 12 v in pratica

se c è un modo per allegarlo te lo passo se vuoi?

Con uno dei bottoni della barra dell'editor puoi allegare il file.
Io sono una zappa sull'hardware, per questo aspetto meglio che aspetti pareri più autorevoli.

invece su arduino te la cavi?

Col software qualcosa riesco a fare.
Una volta ottenuto il valore dei giri si tratta "solo" di accendere qualche led.

Che genere di giri ti servono ? Ti serve il limitatore di giri?

A me non serve nulla... Al limite servono a te... Il progetto è tuo.
Mi pareva che volessi accendere dei led in base ai giri motore della macchina... Ho capito male?

Allora io ho un progetto posso girartelo così magari tu che sei più esperto se c’è qualche errore te ne accorgi prima​:joy::joy:

sketch_may18a.ino (1,2 KB)

download

Il codice inserito direttamente nel post è più facile da consultare

int rev = 12;
int ledGr1 = 5;
int ledGr2 = 13;
int ledGr3 = 11;
int ledG1 = 6;
int ledG2 = 9;
int ledRo = 3;
int ledBl = 10;
int ledAll = 8;
unsigned long duration;
unsigned long rpm;

void setup(){
  Serial.begin(19200);
  pinMode(8, OUTPUT);
  pinMode(rev, INPUT);
}
void loop(){
  Serial.print("Drehzahl: ");
  Serial.println(rpm);
  duration = pulseIn(rev, HIGH);
  rpm = 30000000 / duration;

  if (rpm > 6800 && rpm < 10000) {
    digitalWrite(ledAll, HIGH);
    delay(5);
    digitalWrite(ledAll, LOW);
    delay(80);
  }
  if (rpm > 5200) analogWrite(ledGr1, 5);
  if (rpm < 5150 || rpm > 6800) analogWrite(ledGr1, 0);
  if (rpm > 5600) analogWrite(ledGr2, 5);
  if (rpm < 5550 || rpm > 6800) analogWrite(ledGr2, 0);
  if (rpm > 6000) analogWrite(ledGr3, 5);
  if (rpm < 5950 || rpm > 6800) analogWrite(ledGr3, 0);
  if (rpm > 6250) analogWrite(ledG1, 7);
  if (rpm < 6200 || rpm > 6800) analogWrite(ledG1, 0);
  if (rpm > 6250) analogWrite(ledG2, 20);
  if (rpm < 6200 || rpm > 6800) analogWrite(ledG2, 0);
  if (rpm > 6450) analogWrite(ledRo, 10);
  if (rpm < 6400 || rpm > 6800) analogWrite(ledRo, 0);
  if (rpm > 6600) analogWrite(ledBl, 5);
  if (rpm < 6550 || rpm > 6800) analogWrite(ledBl, 0);
  delay(50);
}

Cosa non ti è chiaro dello sketch e dello schema?

Secondo il tuo parere è fatto bene? Apparte il limitatore che va spostato a 7250?