Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

г0сть
2022-05-22 09:06:42
Nezhin пише:

Проблема точно в NodeMCU.

проблема не в NodeMCU, а в неумении их готовить.

Nezhin
2022-05-21 23:07:04

Доброго вечора. Проблема точно в NodeMCU. Між Geiger counter і NodeMCU поставив тригер Шмідта на таймері 555 і проблема вирішилася. Тему можна закривати.

г0сть
2022-05-20 12:07:00

Як підключаєте і прошиваєте? Бажано в малюнках

Nezhin
2022-05-20 11:27:01

Привіт всім.
Є пристрій
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 не працює?

Підвал форуму