Подключение радио-микросхем
Радиоприёмник, думаю, придумывали в первую очередь для передачи звука (голоса) на расстояние. А Wi-Fi придумывали чтобы не бегать с дискетами, не обматывать комнаты проводами и чтобы можно было сидеть с ноутбуком где угодно в квартире.
Разные задачи означают разные требования к инструментам. Некачественную радиосвязь легко компенсирует мозг, достраивая буквы и даже слова. А вот если при копировании файла через Wi-Fi половина букв как-то неправильно передастся, то это никого не устроит. С другой стороны от Wi-Fi надо чтобы он работал в пределах квартиры. Большие расстояния обычно не требуются.
Частота этой микросхемы:
https://amperkot.ru/spb/catalog/radiomodul_nrf24l01-23813267.html
….2.4 GHz. Это чуть меньше стандартной частоты Wi-Fi.
А эта микросхема:
https://amperkot.ru/spb/catalog/radiomoduli_433mhz_peredatchik_mxfs03v_i_priemnik_mx05v-23869814.html
… передаёт информацию на скорости 433 MHz. Это не Wi-Fi, но это современное цифровое телевидение, что означает возможность передачи более или менее качественного видеоизображения (т.е очень большого количества информации).
Работают обе эти микросхемы примерно так:
http://imelnikov.ru/radio/arduino-rc/
Отправка:
void loop()
{
// чтение показаний с переменного резистора
int sensorValue = analogRead(A0);
// отправляем значение
send(sensorValue);
}
Т.е отправка в эфир откуда-то взятого байта.
Получение:
void loop()
{
uint8_t msg[2];
uint8_t len = 2;
if (vw_get_message(msg, &len)) {
// переводим байты в int
int value = word(msg[0], msg[1]);
// подгоняем под диапазон входных данных сервы
int sValue = map(value, 0, 1023, 600, 2400);
myservo.write(sValue);
// Serial.println(sValue);
}
}
… т.е проверка получены ли байта и какие-то действия с ними.
Так можно легко и при такой скорости очень быстро пересылать с устройства на устройства большие файлы, а не только команды «вправо», «влево», «вверх» и «вниз».
А вот с голосовой информацией так работать, может и неудобно. Просто это на другое изначально рассчитано. К тому же жестко заданная частота работы несколько угнетает.
Но ведь к плате можно подключить вообще что угодно, лишь бы оно на выходе давало какой-то сигнал:
https://akostina76.ucoz.ru/blog/2019-05-28-5869
Достаточно, чтобы этот сигнал менялся в диапазоне от 0 до 5 вольт. Но ведь радиосхема делает именно это. Только она результат выводит обычно на динамик.
Сразу важное про микросхемы потому что очередная засада. Большую микросхему можно прицепить, а меленькую только при наличии специального оборудования:
Лично я могу нечто специальное распечатать на принтере и аккуратно обмотать проводами. Но всё-таки очень серьезный повод для этого нужен.
Так или и иначе, прицепленный приёмник будет гнать выловленный сигнал в микросхему. Как его обрабатывать не знаю. Не уверена что примитивный вариант типа чтение из порта радиосхемы и сразу запись в порт динамика будет работать (хотя и такое возможно). Цифровая обработка хороша тем, что наверное можно шумы отфильтровывать по какому-то диапазону значений.
Возможно потребуется более сложный вариант. Т.е чтение информации через какие-то промежутки времени. Вспомнилась, что пищалка тут:
https://akostina76.ucoz.ru/blog/2019-01-09-5605
… включает звук определенной ноты:
Buzzer.play(NOTE_A3);
… а звук ноты это стук по динамику с определённой частотой.
В драйвере пищалки (tone.cpp) обнаружила код, который не читает, а записывает информацию, которая выдаётся с определённой частотой. Может и с чтением что-то можно придумать (хотя не факт, что для приёмника с передатчиком, передающих просто голос, нужна микросхема).
|