Ви не увійшли.
Сторінки 1
Доброго вечора. Проблема точно в NodeMCU. Між Geiger counter і NodeMCU поставив тригер Шмідта на таймері 555 і проблема вирішилася. Тему можна закривати.
Привіт всім.
Є пристрій
https://create.arduino.cc/projecthub/ED … uno-2cf621
Є бажання зберігати показання на сервері в БД і через веб-інтерфейс мати доступ до них.
Код
#define LOG_PERIOD 60000
#define GEIGER_PIN 4
unsigned long counts;
unsigned long previousMillis;
ICACHE_RAM_ATTR void impulse() {
counts++;
}
void setup() {
counts = 0;
Serial.begin(9600);
pinMode(GEIGER_PIN, INPUT);
attachInterrupt(digitalPinToInterrupt(GEIGER_PIN), impulse, FALLING); //define external interrupts
Serial.println("Start counter");
}
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis > LOG_PERIOD) {
previousMillis = currentMillis;
Serial.println(counts);
counts = 0;
}
}
На Arduino Uno, Nano, Micro працює, на NodeMCU результат завжди нуль.
Board робочий, код теж. Якщо на вхід подавати по черзі LOW level, HIGH level counts збільшується.
Порти спробував всі, результат той же. attachInterrupt - RISING або FALLING, результат той же.
Може є якісь ідеї чому саме на NodeMCU не працює?
Сторінки 1