moin moin,
merkwürdiges passiert.
ich bin von einen China NANO auf einen NANO every gewechselt... so weit so gut.
der Code funktioniert augenscheinlich tadellos.
Aber die Hardware schein anders zu funktionieren.
Obwohl die Pin Beschriftung absolut identisch ist.
Es ist ein einfaches Flowmeter mit 5v, GND, und einem Pin zum zählen der Pulse.
das ganz steckt auf einem einfachen Extension Board mit grünen Schraubklemmen.
Also den china Nano raus und den every ein. kurz den Board Typ gewechselt, den code aufgespielt, die serielle Konsole geöffnet, Code läuft, aber keine Messung....
Boards wieder getauscht alles ok..... versteht das einer ? und kann mich bitte aufklären ?
Das ganze ist natürlich nur ein Teil des Projekts, alles Andere funktioniert, SPI Display, Taster, Schalter, Widerstandsmessung usw. Ich habe die Boards nur getauscht um mehr Speicher zur verfügung zu haben.
float cfactor = 5.0;
byte interrupt = 0;
byte sensorPin = 2;
byte pulseCount;
float flowRate;
unsigned int f_ml;
unsigned long t_ml;
unsigned long oldTime;
void setup()
{
Serial.begin(9600);
pinMode(sensorPin, INPUT);
digitalWrite(sensorPin, HIGH);
attachInterrupt(interrupt, pulseCounter, FALLING);
}
void loop()
{
if ((millis() - oldTime) > 1000)
{
int semic;
detachInterrupt(interrupt);
flowRate = ((1000.0 / (millis() - oldTime)) * pulseCount) / cfactor;
oldTime = millis();
f_ml = (flowRate / 60) * 1000;
t_ml += f_ml;
Serial.print("Current flow: ");
Serial.print(int(flowRate));
Serial.print(".");
semic = (flowRate - int(flowRate)) * 10;
Serial.print(semic, DEC) ;
Serial.print("L/min");
Serial.print(" Total: ");
Serial.print(t_ml);
Serial.println("mL");
pulseCount = 0;
attachInterrupt(interrupt, pulseCounter, FALLING);
}
}
void pulseCounter()
{
pulseCount++;
}
bei Anschließen kann man nicht viel falsch machen, das ganze hat nur die 3Pins, davon abgesehen tausche ich nur das Board im Sockel