Почему мой Arduino работает как радио? И есть ли способ злоупотребить этим?

Я играю с Arduino и дешевым ключом SDR и только что заметил кое-что странное!

Когда я играю мелодию на контакте 13, к которому подключен только случайный кусок провода (используя пример Melody со страницы arduino: http://www.arduino.cc/en/Tutorial/Мелодия) Я могу уловить его как AM-звук на моем SDR на частоте ровно 64 МГц даже на расстоянии 15 метров через стены с небольшим усилением !!!

Что за волшебство здесь происходит, и, во-вторых, и, возможно, самое главное, будет ли относительно простой способ поймать сигнал, используя только Arduino и дешевые компоненты?

(Конечно, только в образовательных целях, я знаю, что есть лучшие варианты в зависимости от того, что мне нужно отправить)

Волшебство библиотеки тембров 64 МГц arduino?

Мне хотелось бы получить квалифицированное предположение о том, что происходит, я искренне озадачен...

, 👍1

Обсуждение

https://www.youtube.com/watch?v=HV6YQ4WKtYY, @Ignacio Vazquez-Abrams

Это дает хорошее объяснение сигналу. Спасибо, до сих пор не понимаю, как внутренние RF-часы могут влиять на вывод вывода, интересно, что их можно взломать и для передачи FM-сигналов!, @EJTH

Я предполагаю, что вы видите гармоники на выходе вашего контакта. Цифровые сигналы с быстрым переключением, такие как ШИМ, содержат большое количество гармоник. Я бы ожидал гораздо больше пиков, но ваша установка может быть чистой удачей (паразитные индуктивности и емкости), хорошо настроенной для этой конкретной полосы., @Edgar Bonet

@EdgarBonet дисплей недостаточно широк, чтобы увидеть другие гармоники, @Chris Stratton


2 ответа


Лучший ответ:

3

Некоторое время назад я сделал что-то подобное. Оборудование:

Arduino как радио

Код:

const byte ANTENNA = 9;

void setup() 
  {
  // устанавливаем Таймер 1
  TCCR1A = bit (COM1A0);  // включить OC1A при сравнении совпадений
  TCCR1B = bit (WGM12) | bit (CS10);   // CTC, без предделителя
  OCR1A =  9;       // сравниваем значение регистра A с 10 (относительно нуля)
  }  // конец настройки

void loop() 
  {
  pinMode (ANTENNA, OUTPUT);
  delay (500);
  pinMode (ANTENNA, INPUT);
  delay (300);
  }  // конец цикла

Тактовая частота 16 МГц делится на 10 (то есть 1,6 МГц) и используется для переключения контакта 9 с этой частотой, что дает частоту 800 кГц, поскольку один переключатель включает выход, а второй переключатель включает его. выкл.

Если вы держите Arduino рядом с AM-радио, настроенным на частоту около 800 кГц, вы должны услышать шипение, которое включается и выключается (как азбука Морзе), когда несущая включается и выключается с интервалом 0,5/0,3 секунды.

Может ли быть относительно простой способ поймать сигнал, используя только Arduino и дешевые компоненты?

Я думаю, вам может показаться, что сделать приемник немного сложнее, чем передатчик.

,

Я только что попытался изменить пример Melody, заменив вызовы digitalWrite на pinMode, и теперь я могу воспроизводить мелодии на AM-диапазоне, это вообще законно :D ?, @EJTH

Я сомневаюсь в этом. Я также сомневаюсь, что у него будет достаточно энергии, чтобы добраться намного дальше стен вашей комнаты., @Nick Gammon

Итог: OP построил AM-радиопередатчик 800 кГц. Все, что он передает, это несущий сигнал 800 мГц. Если бы вы модулировали амплитуду этой несущей, вы могли бы передавать звуки. Однако у Arduino нет вычислительной мощности для этого. Вам лучше построить аналоговый AM-передатчик на 800 кГц., @Duncan C


2

Я не думаю, что ответ Ника Гэммона на самом деле достаточно ясно объясняет, что происходит - он просто привел пример того, как это сделать. Поскольку никто другой на этом сайте не пытался объяснить это, я сделаю это, хотя я не эксперт в радиосвязи Arduino.

"Что за волшебство здесь происходит"

Это не магия - вы соблюдаете принцип "электромагнитной индукции" и принцип "резонанса ". Это не уникально для Arduino — в основном Антенна передает информацию, внося и выключая изменения электрического тока в проводе — когда вы играете мелодию. По известным уравнениям Максвелла эта энергия в проводе создает соответствующие невидимые волны в воздухе. Хорошо известная схема в электротехнике (схема резервуара или схема генератора) говорит, что существует также соответствующая схема приемника (которая может быть радиоприемником), которая преобразует волны обратно в звук (используя принцип электрического резонанса).

,

Я думаю, что «магия», о которой говорит ОП, — это не распространение электромагнитных волн, а скорее излучение на частоте 64 МГц, что намного выше всего, что делает Arduino., @Edgar Bonet

@ Эдгар Боне. Я могу только в лучшем случае догадываться, о чем думает ОП (из того, что они написали в вопросе), и я думаю, что новый читатель был бы признателен, если бы узнал, что происходит с точки зрения электромагнитных волн и как работает антенна, особенно если они действительно не знал ни физики, ни того, как работают передатчики и приемники, @Dat Han Bag