724101
13.Январь.2023 14:45:36
1
Лампа 1 включается нажав 1, и т.д. 2, 3. Что и как надо справить в коде чтобы лампы включались нажав по две кнопки 01, 02, 03. Это надо чтобы можно было включить любую из 99 ламп. В видеоуроках пока такого не встречал (
// C++ code
//
#include <Adafruit_LiquidCrystal.h>
#include <IRremote.h>
Adafruit_LiquidCrystal lcd_1(0);
IRrecv irrecv (A0);
decode_results results;
void setup()
{
lcd_1.begin(16, 2);
pinMode(7, OUTPUT);
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
pinMode(A0, INPUT);
lcd_1.noBlink();
lcd_1.setBacklight(1);
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop()
{
if ( irrecv.decode(&results))
{
Serial.println(results.value, HEX);
if (results.value == 0xFD08F7)
{
digitalWrite(7,HIGH);
lcd_1.print("1");
lcd_1.setCursor(0, 0);
delay(3000);
digitalWrite(7,LOW);
lcd_1.clear();
}
if (results.value == 0xFD8877)
{
digitalWrite(6,HIGH);
lcd_1.print("2");
lcd_1.setCursor(0, 0);
delay(3000);
digitalWrite(6,LOW);
lcd_1.clear();
}
if (results.value == 0xFD48B7)
{
digitalWrite(5,HIGH);
lcd_1.print("3");
lcd_1.setCursor(0, 0);
delay(3000);
digitalWrite(5,LOW);
lcd_1.clear();
}
irrecv.resume();
}}
b707
13.Январь.2023 14:51:07
2
Получаете код первой клавиши, запоминаете, пока ничего не делаете. Получаете второй код - соединяете первый со вторым чтоб получить двузначное число.
Только будет путаница, как отличить “первую” кнопку от “второй”. Лучше использовать какой-то префикс или постфикс - то есть сначала, скажем, нажимаете кнопку “#” , а после нее две цифры. Это чтоб программе было проще отличить двухцифровые комбинации от от одиночных.
BOOM
13.Январь.2023 14:52:23
3
Что тут эта тема делает?! Тема перемещена в песочницу.
724101
13.Январь.2023 14:52:44
4
b707:
Получаете код первой клавиши, запоминаете, пока ничего не делаете. Получаете второй код - соединяете первый со вторым чтоб получить двузначное число.
Только будет путаница, как отличить “первую” кнопку от “второй”. Лучше использовать какой-то префикс или постфикс - то есть сначала, скажем, нажимаете кнопку “#” , а после нее две цифры. Это чтоб программе было проще отличить двухцифровые комбинации от от одиночных.
как соединять ? Так ? if (results.value == 0xFD8877+0xFD48B7)
724101
13.Январь.2023 14:54:14
6
что опять не так ? вопрос по программированию
BOOM
13.Январь.2023 14:55:35
7
В разделе программирования не обсуждают «как сделать кнопки» и тп. Если вы этого ещё не умеете - вам в песочницу.
724101
13.Январь.2023 14:57:19
8
песочницу почти не читают люди, которые помогают новичкам
b707
13.Январь.2023 14:57:26
9
нет
Зачем соединять коды, когда вас интересует номер лампы?
Если код 0xFD8877 соответвует цифре 2, а 0xFD48B7 - 6, то и соединять надо цифры, а не коды.
Как из цифр 2 и 6 получить число 26 - знаете?
BOOM
13.Январь.2023 14:58:53
10
Все зависит от новичка и как он себя проявит. Пока за вами «грешков» не замечено. Не переживайте так сильно, что тема в песочнице.
b707
13.Январь.2023 14:59:13
12
Не переживайте так, разделы на этом форуме вообще значения не имеют. Я захожу на форум и открываю категорию “Последние”, где свалено все что изменилось с моего прошлого прихода. Во всех разделах.
2 лайка
BOOM
13.Январь.2023 14:59:34
13
724101:
не знаю
Поэтому тема в песочнице ))))
1 лайк
b707
13.Январь.2023 15:00:11
14
724101:
не знаю, вот именно (
добро пожаловать во второй класс…
Дети, чтобы из цифр 2 и 6 получить число 26, нужно первое число умножить на 10 и к нему прибавить второе.
1 лайк
А я ему в ЧЧ пишу, он просто вторую тему создал.
1 лайк
724101
13.Январь.2023 15:04:11
16
В коде числа в формате HEX, что умножать и складывать пока не пойму. ладно, логику понял, утром что-нибудь попробую. уже ночь.
724101
13.Январь.2023 15:04:54
17
я сначала там спросил, а потому подумал что там же тема про железо, а тут вопрос был про программирование, и создал тут
BOOM
13.Январь.2023 15:06:05
18
Это не формат, а система счисления - причём 16-ричная.
1 лайк
b707
13.Январь.2023 15:06:14
19
724101:
я сначала там спросил, а потому подумал что там же тема про железо, а тут вопрос был про программирование, и создал тут
не надо так делать.
Одному проекту - одна тема, чтобы не вынуждать других прыгать из темы в тему. отыскивая, где вы на какой вопрос ответили.
1 лайк
b707
13.Январь.2023 15:08:05
20
Вы продолжаете путать коды клавиш и их “значения”. Для зажигания лампы вам нужно “значение”, а не код пульта.
Значение клавиши у вас вот
724101:
lcd_1.print("1");
простое и незатейливое, никаких Хексов
1 лайк