#1 2017-04-03 14:31:22

Mundroys
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1

Нужна помощь!

Всем доброго времени суток... есть такая вот задача с 6 датчиков холла считывать обороты. Если на одном из них обороты равны нулю нужно подать сигнал на любой выход. Кто хорошо понимает в Ардуино скажите как правильно оформить хотя бы один сегмент кода.. для одного датчика... Нашел часть кода которая считает обороты но вот привязать результат ноль к выходу какому либо не могу..

unsigned long lastflash;
int RPM;

void setup() {
    Serial.begin(9600);  //открыть порт
    attachInterrupt(0,sens,RISING); //подключить прерывание на 2 пин при повышении сигнала
    pinMode(3, OUTPUT);   //3 пин как выход
    digitalWrite(3, HIGH);  //подать 5 вольт на 3 пин
}
void sens() {
    RPM=60/((float)(micros()-lastflash)/1000000);  //расчет
    lastflash=micros();  //запомнить время последнего оборота
}

void loop() {
    if ((micros()-lastflash)>1000000){ //если сигнала нет больше секунды
        RPM=0;  //считаем что RPM 0
    }
    Serial.println(RPM);   //вывод в порт
    delay(50);  //задержка для стабильности
}
Вот мне нужно что бы в конце было  например что когда RPM=0 подавался сигнал типа digitalWrite(4, HIGH);
Заранее спасибо

Неактивний

#2 2017-04-05 00:56:40

Roman1984
Учасник
Зареєстрований: 2017-02-17
Повідомлень: 97

Re: Нужна помощь!

Ну так и добавьте в конец функции loop() строку if(RMP == 0) digitalWrite(4, HIGH); else digitalWrite(4, LOW);

Неактивний

Швидке повідомлення

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

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