Ввод чисел
- Войдите на сайт для отправки комментариев
Сб, 25/05/2019 - 21:18
Здраствуйте не подскажите как на жк экран в первую строку вводить числа с ик пульта,
после нажатия кнопки на пулте допустим ентер,это число перевести в переменую и покозать на
второй строке экрана?
А сами-то пробовали? В чём затык? Показывайте.
#include <LiquidCrystal.h> // Лобавляем необходимую библиотеку #include <IRremote.h> // подключение библиотеки int RECV_PIN = 12; // контакт подключения ИК-приемника IRrecv irrecv(RECV_PIN); decode_results results; LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) #include<AccelStepper.h> #define IN1 8 #define IN2 9 #define IN3 10 #define IN4 11 AccelStepper s28BYJ(8, IN1, IN3, IN2, IN4); int Wag = 0; void setup() { lcd.begin(16, 2); // Задаем размерность экрана irrecv.enableIRIn(); // включить приемник s28BYJ.setMaxSpeed(1500); s28BYJ.setAcceleration(300.0); } void loop() { if (irrecv.decode(&results)) // have we received an IR signal? { switch (results.value) { case 0xE0E0E01F: // UP button pressed Wag += 100; break; case 0xE0E0D02F: // DOWN button pressed Wag -= 100; break; case 0xE0E020DF: // Start s28BYJ.move(Wag); s28BYJ.runToPosition(); lcd.clear(); Wag = 0; break; } irrecv.resume(); // receive the next value s28BYJ.disableOutputs(); } lcd.setCursor(10, 1); lcd.print(Wag); lcd.setCursor(0, 1); lcd.print("Step:"); }вот код хачу вводить число с пулта потом перевадить его в шаги
Я Вас спросил "в чём затык". Расскажите в каких строка что Вы делаете и что именно у Вас не получается. Что идёт не так. Или Вы предлагаете мне догадываться?
не могу понять как используя цыфры на пульте вести число через
case0xE0E0E01F: один33кнопка на пулте 134break;3536case0xE0E0D02F:два37кнопка на пулте 238break;кнопки от 0 до 9
водим число нажимаем на пулте ентр это число переводится в
intWag = 0;Чтобы число переводилось через цыфры и ентр в int wag = 0; нужно написать соответствующую программу. А до того потренироваться на более простых примерах: например простых кнопках, светодиодах.
код который я скинул работает хочу добавить ввод числа с пульта ввивод на 1 строку жк экрана
после нажатия ентер перевод в int wag и ввывод этого числа в 2 строку жк
код который я скинул работает хочу добавить ввод числа с пульта ввивод на 1 строку жк экрана
На форуме есть определённые правила, котрые изложены в разделе "Песочница". Там чёрным по белому написано,что если Вы не попытались решить свою задачу сами, Вам помогать никто не будет.
Выкладывайте (по правилам) свою попытку (не "код в который надо добавить", а свою попытку решить эту задачу) и описывайте что именно не получается.
Не хотите или не можете попытаться - запостите заказ в коммерческом разделе. Тем, кто сам не делает, помогают там.
код который я скинул работает хочу добавить ввод числа с пульта ввивод на 1 строку жк экрана
Т.е. это не ваш код ? (непонятен уровень)
Вам нужно после ввода каждой цифры умножать предыдущий результат на 10 и добавлять новую цифру.
Т.е.
Изначально 0
Нажали 2 - 0*10 + 2 = 2
Нажали 4 - 2*10 + 4 = 24
Нажали 7 - 24*10 + 7 = 247
и т.д.
#include <LiquidCrystal.h> // Лобавляем необходимую библиотеку #include <IRremote.h> // подключение библиотеки int RECV_PIN = 12; // контакт подключения ИК-приемника IRrecv irrecv(RECV_PIN); decode_results results; LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) int Wag = 0; void setup() { lcd.begin(16, 2); // Задаем размерность экрана irrecv.enableIRIn(); // включить приемник } void loop() { if (irrecv.decode(&results)) // have we received an IR signal? { switch (results.value) { case 0xE0E0E01F: // 1 break; case 0xE0E0D02F: // 2 break; case 0xE0E0E01F: // 3 break; case 0xE0E0D02F: // 4 break; case 0xE0E0E01F: // 5 break; case 0xE0E0D02F: // 6 break; case 0xE0E0E01F: // 7 break; case 0xE0E0D02F: // 8 break; case 0xE0E0E01F: // 9 break; case 0xE0E0D02F: // 0 break; case 0xE0E016E9: // Enter lcd.clear(); Wag = Число введеное с пулта; break; } irrecv.resume(); // receive the next value } lcd.setCursor(0, 0); lcd.print(Число введеное с пульта); lcd.setCursor(10, 1); lcd.print(Wag); lcd.setCursor(0, 1); lcd.print("Step:"); }Это все с примеров
Так, ну, вот в последний раз спрашиваю (больше не буду). Вы объясните где (в каких строках) этого кода Вы пытаетесь накопить своё число и что именно идёт не так?
Или Вы не пытались? Если второе. то Вам в раздел "Ищу исполнителя".
сам по очереди эти коды пробовал с примеров потом решил совместить их
Понятно, т.е. Вы не пытались сделать самостоятельно, а просто
решил совместить их
только тут беда. Вы не решили совместить их, Вы решили, чтобы кто-то за Вас их совместил.
Перепостите Вашу хотелку Ищу исполнителя. Там Вам совместят, если в цене сойдётесь.
как вести число с пулта нажимая
case 0xE0E0E01F: // 1 break; case 0xE0E0D02F: // 2 break; case 0xE0E0E01F: // 3 break; case 0xE0E0D02F: // 4 break; case 0xE0E0E01F: // 5 break; case 0xE0E0D02F: // 6 break; case 0xE0E0E01F: // 7 break; case 0xE0E0D02F: // 8 break; case 0xE0E0E01F: // 9 break; case 0xE0E0D02F: // 0 break;нажав Ентер перевести число веденое с пулта от 0 до 999999 в intWag
case 0xE0E016E9: // Enter lcd.clear(); Wag = Число введеное с пулта; break;и вывести все на жк
} lcd.setCursor(0, 0); lcd.print(Число введеное с пульта); lcd.setCursor(10, 1); lcd.print(Wag); lcd.setCursor(0, 1); lcd.print("Step:"); }сам по очереди эти коды пробовал с примеров потом решил совместить их
Попробуйте проделать в блоках case с переменной Wag то, что я вам написал выше. И сразу же в блоке выводите на экран для наглядности. Если совсем никак, то... (см. предыдущий пост ЕвгенийП), дальше будет не проще (программировать).