Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wire.h>
- #include <LiquidCrystal_I2C.h>
- LiquidCrystal_I2C lcd(0x27,16,2);
- volatile boolean A, B;
- volatile long P; //число прерываний
- long relayPin;
- void setup() {
- pinMode(relayPin, OUTPUT); // выход на сигнальное релле
- pinMode(6, INPUT); // кнопка reser
- pinMode(2, INPUT); // вход сигнала А с датчика
- attachInterrupt(0,blink1, RISING); // первое прерывание с датчика
- lcd.begin(); // инициализация экрана
- lcd.backlight(); // вкл. подсветки
- }
- void loop() // обработка вывода на екран и количества цыклов
- {
- if (digitalRead(6)) P=0; // если нажата кнопка reset, то Р сбрасываем в ноль
- lcd.setCursor(0,0); // устанавливаем курсор, 1 позиция 0 строка
- lcd.print("Cycle="); // пишем Cycle=
- lcd.print(P); // выводим значение P
- if (P >= 500) // если счетчик достиг *** значения
- {
- digitalWrite(relayPin,HIGH); // устанвливаем 13 pin в 1
- }
- }
- void blink1()
- { // обработчик прерывания с датчика
- P=P+1; // инкремент импульса
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement