Show Posts
|
|
Pages: [1] 2 3 ... 5
|
|
3
|
International / Generale / contachilometri digitale tramite gps
|
on: November 17, 2012, 01:26:10 pm
|
salve a tutti  oggi mi è venuto in mente che sarebbe carino costruire un contachilometri digitale, tipo quello che ha la delorean di ritorno al futuro. ho visto che le props di quel contagiri sono tramite gps. ora mi chiedo... si puo fare con arduino? qualcuno può consigliarmi qualceh post o sito dove insegnano a fare una cosa del genere? io ho trovato qualcosa dove usano lo shild gps di arduino... ma non era usato per contare i chilometri. grazie in anticipo per l'aiuto
|
|
|
|
|
4
|
International / Italiano / Re: si accende il 4 led e un altro led resta acceso per 4 secondi
|
on: July 25, 2012, 06:30:45 am
|
uno che conosco mi ha creato ciò //EMF DETECTOR BY XU
#define NUMREADINGS 15
int senseLimit = 15; //aumentare il valore per diminuire la sensibilita (massimo 1023) int probePin = 5; int val = 0;
// *** Aggiunto questo int loop_delay = 1; int red_led_on_time = 0; int red_led_timer = 2000 / loop_delay;
int LED1 = 13; int LED2 = 12; int LED3 = 10; int LED4 = 9; int LED5 = 8; int LED6 = 7; int LED7 = 6; int LED8 = 5; int LED9 = 4; int LED10 = 3; int LED11 = 2;
// variabile per snoothing
int readings [NUMREADINGS]; int index = 0; int total = 0; int average = 0;
void setup() { pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(12, OUTPUT); pinMode(13, OUTPUT);
Serial.begin(9600);
for (int i = 0; i < NUMREADINGS; i++) readings [i] = 0;
}
void loop() {
digitalWrite(LED10, HIGH);
val = analogRead(probePin);
if(val >= 1){
val = constrain(val, 1, senseLimit);
val = map(val, 1, senseLimit, 1, 1023);
total -= readings[index]; readings[index] = val; total += readings[index]; index = (index + 1); } if (index >= NUMREADINGS)
index =0;
average = total / NUMREADINGS;
// *** MODIFICATO QUI if (average > 100){ digitalWrite(LED1, HIGH);
// AZIONI PER LED ROSSO digitalWrite(LED11, HIGH); red_led_on_time=0; } else { // NESSUN SEGNALE digitalWrite(LED1, LOW);
// SE SONO TRASCORSI 5 SECONDI... if (red_led_on_time>red_led_timer) { digitalWrite(LED11, LOW); red_led_on_time=0; } else { red_led_on_time++; } } // *** FIN QUI
if (average > 150){ digitalWrite(LED2, HIGH); } else{ digitalWrite(LED2, LOW); }
if (average > 250){ digitalWrite(LED3, HIGH); } else{ digitalWrite(LED3, LOW); }
if (average > 350){ digitalWrite(LED4, HIGH); } else{ digitalWrite(LED4, LOW); }
if (average > 450){ digitalWrite(LED5, HIGH); } else{ digitalWrite(LED5, LOW); }
if (average > 550){ digitalWrite(LED6, HIGH); } else{ digitalWrite(LED6, LOW); }
if (average > 650){ digitalWrite(LED7, HIGH); } else{ digitalWrite(LED7, LOW); }
if (average > 750){ digitalWrite(LED8 ,HIGH); } else{ digitalWrite(LED8, LOW); }
if (average > 950){ digitalWrite(LED9, HIGH); } else{ digitalWrite(LED9, LOW); } Serial.println(val); // *** Aggiunto questo delay(loop_delay); } e funziona ^^ mancio quella vriabile l'avevo creata io, pensavo che fosse uan variabile giusta.... il millis sembra geniale!! grazie a tutti. ora provo di capire sto millis!!
|
|
|
|
|
5
|
International / Italiano / Re: si accende il 4 led e un altro led resta acceso per 4 secondi
|
on: July 21, 2012, 12:22:21 pm
|
|
ok aggiunta.. ma ora il led11 restasempre acceso.. e il led1 dopo 4 secondi si accende.... e resta fermo li. la storia di k.i.t era l'esempio, non esiste. se ti riferivi a quello
ps: ho collegato pure tutti gl ialtri led ma blocca tutto il code.. restano accesi il primo e l'ultimo led e stop
voi come scrivereste il code?? non intendo tutto l'emf meter ma anche solo l'esempio del radar di k.i.t
pps: provato cosi if (average > 650){ digitalWrite(LED11, HIGH); delay(2000); digitalWrite(LED11, LOW); }
else{ digitalWrite(LED11, LOW); } e appena si accende restatano tutti accesi per 4 secondi..
|
|
|
|
|
6
|
International / Italiano / Re: si accende il 4 led e un altro led resta acceso per 4 secondi
|
on: July 21, 2012, 11:48:18 am
|
essendo un esempio non centra nulla con il mio progetto hihihi sto modificando il mio vecchio emf meter e siccome non so mai spiegare le cose ho preferito l'esempio. cmq ti posto il codice lo stesso ^^ //EMF DETECTOR BY XU
#define NUMREADINGS 15
int senseLimit = 15; //aumentare il valore per diminuire la sensibilita (massimo 1023) int probePin = 5; int val = 0;
int LED1 = 13; int LED2 = 12; int LED3 = 10; int LED4 = 9; int LED5 = 8; int LED6 = 7; int LED7 = 6; int LED8 = 5; int LED9 = 4; int LED10 = 3; int LED11 = 2;
// variabile per snoothing
int readings [NUMREADINGS]; int index = 0; int total = 0; int average = 0;
void setup() { pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(12, OUTPUT); pinMode(13, OUTPUT);
Serial.begin(9600);
for (int i = 0; i < NUMREADINGS; i++) readings [i] = 0;
}
void loop() {
digitalWrite(LED10, HIGH);
val = analogRead(probePin);
if(val >= 1){
val = constrain(val, 1, senseLimit);
val = map(val, 1, senseLimit, 1, 1023);
total -= readings[index]; readings[index] = val; total += readings[index]; index = (index + 1); } if (index >= NUMREADINGS)
index =0;
average = total / NUMREADINGS;
if (LED1, HIGH){ digitalWrite(LED11, HIGH); delay(4000); }
else{ digitalWrite(LED11, LOW);
if (average > 50){ digitalWrite(LED1, HIGH);
} else{ digitalWrite(LED1, LOW); }
if (average > 150){ digitalWrite(LED2, HIGH); } else{ digitalWrite(LED2, LOW); }
if (average > 250){ digitalWrite(LED3, HIGH); } else{ digitalWrite(LED3, LOW); }
if (average > 350){ digitalWrite(LED4, HIGH); } else{ digitalWrite(LED4, LOW); }
if (average > 450){ digitalWrite(LED5, HIGH); } else{ digitalWrite(LED5, LOW); }
if (average > 550){ digitalWrite(LED6, HIGH); } else{ digitalWrite(LED6, LOW); }
if (average > 650){ digitalWrite(LED7, HIGH); } else{ digitalWrite(LED7, LOW); }
if (average > 750){ digitalWrite(LED8 ,HIGH); } else{ digitalWrite(LED8, LOW); }
if (average > 950){ digitalWrite(LED9, HIGH); } else{ digitalWrite(LED9, LOW); } Serial.println(val); } da questo errore Blink.cpp: In function ‘void loop()’: Blink.cpp:161:1: error: expected ‘}’ at end of input
|
|
|
|
|
7
|
International / Italiano / si accende il 4 led e un altro led resta acceso per 4 secondi
|
on: July 21, 2012, 11:28:51 am
|
|
ciao. ho un problema che esporrò con un esempio, ho 5 led messi in riga, 4 led vanno in loop cioè si accendono tipo radar di K.I.T (supercar)e il quinto che si accende per 4 secondi quando il quarto led si accende e poi si spegne. come faccio a far ciò senza che il loop si fermi ?????
grazie
|
|
|
|
|