Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Підключення бібліотеки RCSwitch для роботи з радіопередавачем та радіоприймачем
- #include <RCSwitch.h>
- // Створення об'єкта для роботи з бібліотекою
- RCSwitch mySwitch = RCSwitch();
- // Максимальна кількість збережених кодів
- const int maxCodes = 10;
- // Масив для збереження кодів
- unsigned long receivedCodes[maxCodes];
- // Лічильник збережених кодів
- int codeCount = 0;
- void setup() {
- // Ініціалізація серійного з'єднання для виведення даних в консоль
- Serial.begin(9600);
- // Включення приймача на піні D2
- mySwitch.enableReceive(0);
- // Включення передавача на піні D3
- mySwitch.enableTransmit(3);
- // Виведення повідомлення про готовність до прийому сигналів
- Serial.println("Готово до прийому сигналів на частоті 433 МГц");
- }
- void loop() {
- // Перевірка, чи є доступні для прийому сигнали
- if (mySwitch.available()) {
- // Отримання значення прийнятого сигналу
- unsigned long receivedValue = mySwitch.getReceivedValue();
- // Перевірка, чи значення сигналу не дорівнює нулю
- if (receivedValue != 0) {
- Serial.print("Отримано сигнал: ");
- Serial.println(receivedValue);
- // Якщо кількість збережених кодів менша за максимальну кількість
- if (codeCount < maxCodes) {
- // Збереження коду в масив
- receivedCodes[codeCount] = receivedValue;
- codeCount++;
- Serial.print("Код збережено. Його номер - ");
- Serial.println(codeCount);
- } else {
- // Якщо масив переповнений
- Serial.println("Массив переповнений.");
- }
- } else {
- // Якщо кодування сигналу невідоме
- Serial.println("Невідоме кодування");
- }
- // Скидання стану прийому
- mySwitch.resetAvailable();
- }
- // Перевірка, чи є доступні дані в серійному з'єднанні
- if (Serial.available() > 0) {
- // Зчитування значення введеного коду
- int selectedCode = Serial.parseInt();
- // Перевірка, чи введений код знаходиться в допустимому діапазоні
- if (selectedCode >= 0 && selectedCode < codeCount) {
- Serial.print("Передача коду: ");
- Serial.println(receivedCodes[selectedCode]);
- // Передача коду за допомогою передавача
- mySwitch.send(receivedCodes[selectedCode], 24);
- } else {
- // Якщо введений номер коду невірний
- Serial.println("Невірний номер коду.");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement