Salve a tutti! Mi presento sono crf97 e da un mese a questa parte ho iniziato ad interessarmi ad Arduino, un po per motivi pratici(come vedete dal titolo) un po per curiosità. Arrivo al dunque, io vorrei praticamente programmare Arduino in particolare, Arduino Mega 2560, come strumentazione per il mio quad. La strumentazione comprende: contagiri, contachilometri e relativo tachimetro, indicatore livello benzina, indicatore temperatura e credo nient'altro. Girando un po nel forum ho visto alcuni codici per il contagiri:
byte sensore = 12;
byte LED1 = 1;
byte LED2 = 2;
byte LED3 = 3;
byte LED4 = 4;
byte LED5 = 5;
byte LED6 = 6;
byte LED7 = 7;
byte LED8 = 8;
byte LED9 = 9;
byte LED10 = 10;
byte LED11 = 11;
byte pin_rpm[11];
float RPM;
float ms;
float minuto = 60000.000;
unsigned long timeout = 1000;
void setup()
{
Serial.begin(9600);
pinMode(sensore, INPUT);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(LED5, OUTPUT);
pinMode(LED6, OUTPUT);
pinMode(LED7, OUTPUT);
pinMode(LED8, OUTPUT);
pinMode(LED9, OUTPUT);
pinMode(LED10, OUTPUT);
}
void loop()
{
ms = pulseIn(sensore, HIGH, timeout);
RPM = (float)minuto / ms;
if (RPM >= 500.00) pin_rpm[0] = 1; else pin_rpm[0] = 0;
if (RPM >= 1000.00) pin_rpm[1] = 1; else pin_rpm[1] = 0;
if (RPM >= 2000.00) pin_rpm[2] = 1; else pin_rpm[2] = 0;
if (RPM >= 3000.00) pin_rpm[3] = 1; else pin_rpm[3] = 0;
if (RPM >= 4000.00) pin_rpm[4] = 1; else pin_rpm[4] = 0;
if (RPM >= 5000.00) pin_rpm[5] = 1; else pin_rpm[5] = 0;
if (RPM >= 6000.00) pin_rpm[6] = 1; else pin_rpm[6] = 0;
if (RPM >= 7000.00) pin_rpm[7] = 1; else pin_rpm[7] = 0;
if (RPM <= 8000.00) pin_rpm[8] = 1; else pin_rpm[8] = 0;
if (RPM >= 9000.00) pin_rpm[9] = 1; else pin_rpm[9] = 0;
if (RPM >= 10000.00) pin_rpm[10] = 1; else pin_rpm[10] = 0;
for (byte i=1; i < 12; i=i++)
digitalWrite(i, pin_rpm[i-1]);
}