Помогите с датчиком Холла

Тема в разделе "Флудилка", создана пользователем old_porkin, 11 дек 2016.

  1. old_porkin

    old_porkin Нуб

    Привет товарищи. Проблема такова. Хочу датчиком знать значение оборотов. Нашел вот такой скетч
    volatile int rpmcount = 0;
    int rpm = 0;
    unsigned long lastmillis = 0;
    void setup(){
    Serial.begin(9600);
    attachInterrupt(0, rpm_fan, FALLING);
    }
    void loop(){
    if (millis() - lastmillis == 1000){
    detachInterrupt(0);
    rpm = rpmcount * 60;
    Serial.print("RPM =\t");
    Serial.print(rpm);
    Serial.print("\t Hz=\t");
    Serial.println(rpmcount);
    rpmcount = 0;
    lastmillis = millis();
    attachInterrupt(0, rpm_fan, FALLING);
    }
    }
    void rpm_fan(){
    rpmcount++;
    }
    даже вроде с ним разобрался, вроде все просто. Но вот беда при проверки кода в программе версии 1,0,6 ошибок нет и даже записывает ее, но ничего не работает. В программе версии 1,6,13 этот же код находит вот это:

    C:\Users\old_porkin\Desktop\ауа\_15\_15.ino: In function 'void setup()':
    _15:6: error: 'rpm_fan' was not declared in this scope
    C:\Users\old_porkin\Desktop\ауа\_15\_15.ino: In function 'void loop()':
    _15:18: error: 'rpm_fan' was not declared in this scope
    exit status 1
    'rpm_fan' was not declared in this scope

    не записывает и не работает ((((
    Подскажите пожалуйста что не так. я немного тупенький и не допедриваю....
     
  2. Tomasina

    Tomasina Сушитель лампочек Модератор

    void rpm_fan() должна быть перед void loop()

    В следующий раз оформляйте код правильно.
     
  3. old_porkin

    old_porkin Нуб

    Прошу прощения, я только начинаю постигать азы программирования. Спасибо помогло. Только правда еще ошибку нашел...