Ciao a tutti ragazzi. ho un grosso problema. ho acquistato 10 sensori per vibrazione che comunicano via digitale con arduino, nello specifico gli fc-01. Il problema principale l'ho trovato nello scrivere uno sketch che no blocchi il resto dei sensori collegati. mi spiego meglio... ho collegato ad un Arduino Mega, diversi sensori per il mio progetto, tra cui 2 igrometri, un anemometro, un microfono ecc ecc... e tutti funzionano a meraviglia, però ho lesigenza di registrare le vibrazioni provenienti da 10 sensori di vibrazione. utilizzando un semplice digital read, non si riesce a leggere bene l'esatto momento in cui il sensore vibra, e si hanno tantissime false letture. quindi ho trovato in rete questo sketch che invece funziona egregiamente;
int ledPin =13;
int EP =28;
void setup(){
pinMode(ledPin, OUTPUT);
pinMode(EP, INPUT); //set EP input for measurment
Serial.begin(9600); //init serial 9600
Serial.println("----------------------Vibration demo------------------------");
}
void loop(){
long measurement =TP_init();
delay(50);
Serial.print("measurment = ");
Serial.println(measurement);
if (measurement > 1000){
digitalWrite(ledPin, HIGH);
}
else{
digitalWrite(ledPin, LOW);
}
}
long TP_init(){
delay(10);
long measurement=pulseIn (EP, HIGH); //wait for the pin to get HIGH and returns measurement
return measurement;
}
il problema è che utilizza la funzione Pulsein che rimane in attesa prima di restituire la misura e mi blocca ovviamente il resto dello sketch. Avete qualche soluzione in merito? grazie mille a tutti