ciao ragazzi mi trovo in difficoltà . Da premettere che mi funziona tutto e adesso vi spiego cosa vorrei fare.
Ho un arduino collegato a raspberry tramite porta usb .
in pratica arduino stampa valori di un sensore del vento sulla seriale e raspberry lo riceve.
float diameter = 2.75;
// read RPM
int half_revolutions = 0;
int rpm = 0;
unsigned long lastmillis = 0;
void setup(){
Serial.begin(9600);
pinMode(2, INPUT_PULLUP);
attachInterrupt(0, rpm_fan, FALLING);
}
void loop(){
if (millis() - lastmillis == 1000){
detachInterrupt(0);
rpm = half_revolutions * 30;
Serial.print("RPM =\t");
Serial.print(rpm);
Serial.print("\t Hz=\t");
Serial.print(half_revolutions/2);
half_revolutions = 0;
lastmillis = millis();
attachInterrupt(0, rpm_fan, FALLING);
mph = diameter / 12 * 3.14 * rpm * 60 / 5280;
mph = mph * 3.5;
Serial.print("\t MPH=\t");
Serial.println(mph);
}
}
void rpm_fan(){
half_revolutions++;
}
funziona molto bene solo che il codice mi stampa sempre il valore del sensore .Si protrebbe fare che stampa il valore solo se riceve qualcosa sulla seriale?