как добавить кнопку
- Войдите на сайт для отправки комментариев
Чт, 08/03/2018 - 13:20
Эта программа для двух вольтметров, как добавить кнопку " hold" которая бы сохранила и держала LCD показание одного из вольтметров ?
// EmonLibrary examples openenergymonitor.org, Licence GNU GPL V3 #include "EmonLib.h" // Include Emon Library #include <LiquidCrystal.h> LiquidCrystal lcd(PA0, PA1, PA2, PA3, PA4, PA5); EnergyMonitor emon1, emon2; float volt, avolt[50], sumv, volt2, avolt2[50], sumv2, powerFactor, apowerFactor[50], sumPF, catchPF, cur, acur[50], sumc; char symbPF = 223; void setup() { pinMode(PB4, INPUT_PULLUP);// кнопка pinMode(PA6, INPUT); // U1 pinMode(PA7, INPUT); // I2 lcd.begin(16, 2); Serial.begin(9600); emon1.voltage(PA6, 2500, 1.7); emon1.current(PA7, 2500); } void loop() { emon1.calcVI(20, 2000); emon1.serialprint(); float supplyVoltage = emon1.Vrms; float Irms = emon1.Irms; lcd.setCursor(0, 1); lcd.print("U="); //B, PA6 lcd.print(supplyVoltage); //B // изменеия /////////////////////////////////////////////////// lcd.setCursor(0, 0); lcd.print("I="); //A, PA7 lcd.print(Irms ); //lcd.setCursor(0, 0); //lcd.print("S="); //A, PA7 //lcd.print(Irms ); ////////////////////////////////////////////////// }
По нажатию кнопки выставляйте флаг, например, isHold и в лупе проверяйте его, если установлен то экран не обновляете, ну или нужную часть экрана
Спасибо, звучит хорошо, а как это сделать, Вы можете помочь?
Тед, невозможно помочь тому, кто сам ничего не делает. Даже если ничего не делать вместе с ним, это вряд ли ему поможет.
И правильно делаешь.
Вас обманули
обманули или нет, но работает
обманули или нет, но работает
Вольтметр-то один!
А про кнопку посмотрите примеры "Button", "Debounce" из стандартной поставки Arduino IDE.
сейчас один, про кнопку я знаю , ищу команду типа - sample and hold
Нет такой команды. Самому писать надо. С помощью команды if http://arduino.ru/Reference/If . Заводим переменную. Присваиваем ей 1. Проверяем командой If. Если равно 1 то выводим на дисплей значение. Проверяем кнопку. Если нажата - ждем пока отпустится и меняем значение переменной по кругу 1 -> 0 -> 1 . После присвоения переменной 0 записи на дисплей не будет и на нём будет последнее записанное значение.
Спасибо, звучит хорошо, а как это сделать, Вы можете помочь?
Научиться программировать? :)))
Спасибо, звучит хорошо, а как это сделать, Вы можете помочь?
Научиться программировать? :)))
ну и что умного сказал ?
Нет такой команды. Самому писать надо. С помощью команды if http://arduino.ru/Reference/If . Заводим переменную. Присваиваем ей 1. Проверяем командой If. Если равно 1 то выводим на дисплей значение. Проверяем кнопку. Если нажата - ждем пока отпустится и меняем значение переменной по кругу 1 -> 0 -> 1 . После присвоения переменной 0 записи на дисплей не будет и на нём будет последнее записанное значение.
Спасибо