#1 Re: Проекты » Arduino CW+GPS+SD » 2016-07-18 20:25:49

NoName, внимательней пожалуйста к моему первому посту - внимательней!

#2 Re: Проекты » Arduino CW+GPS+SD » 2016-07-16 12:21:28

Да потому-что, я вам еще раз объясняю, то что МК генерирует меандр, это вообще нештатный режим контроллера, потому-что использования 16 битного таймера при постоянной составляющей одной инструкции дает 100 загрузку и лишь прерываниями мы исполняем смену этой-же самой инструкции на такую-же, только с другим периодом. Ни о какой НЧ модуляции и речи быть не может!
Мы здесь можем только изменить частоту генератора меандра, скважность и включить или выключить с разным периодом времени. И на этом ВСЕ!!!

Чувствую вы вообще не представляйте что такое CW-модуляция.
Настоящая морзянка ни-когда и не чем не модулировалась, это простая несушка.
Хотите на бытовом приемнике "пищалку" в 1кГц, ставьте в него соответствующий НЧ-генератор и подключайте к АМ-детектору.
Arduino не всесильна и вам не будет по щучьему велению модулировать АМ с НЧ сигналом в 1 кГц.

#3 Re: Проекты » Arduino CW+GPS+SD » 2016-07-15 21:11:51

Во-первых, на голом МК сделать это не получиться.
Во-вторых, повторюсь - все можно услышать на бытовой приемник, если вас не устраивает непромодулированный сигнал (пи-пи не 1кГц), паяйте на приемник свой гетеродин (навесным монтажом дело 5 минут). И пи-пи для вас будет любой частоты + сможете принимать радиолюбителей в SSB.
Принципы CW-модуляции надеюсь вам не надо разъяснять?

#4 Re: Проекты » Arduino CW+GPS+SD » 2016-07-15 19:34:29

А зачем его всем принимать? А если серьезно, вам не достаточно, что сигнал промодулирован CW-модуляцией?

Принцип вышеописанного маяка заключается в обычном генераторе прямоугольных (меандр) импульсов, от 16 битного таймера, до половины тактовой частоты, включаемый и выключаемый на определенный промежуток времени (точка-тире-пробел).
МК-ы в принципе нечего другого на своих ногах генерировать не могут, у них всего 2 состояния - высокий и низкий логический уровень. Это не ЦАП!
Стало быть и генерировать на голом МК мы ничего другого кроме меандра не сможем, а значит кроме CW нам не чего не светит.
Нет, есть конечно DDS-генераторы работающие на i2c, их можно использовать как самостоятельно, так и с помощью смесителя подмешивать НЧ, можно задействовав сразу несколько ног, выдавать по таблице ШИМ-импульс каждой ноги в определенный момент и с определенной скважностью, получиться синус, только очень низкой частоты.
Главный вопрос - ЗАЧЕМ?
Для передачи НЧ есть готовые трансиверы, для приема готовые приемники.
Мы эти маяком добились максимальной простоты, повторяемости, автономности и миниатюрности.
Например ATtiny13 в корпусе ssop8, размером меньше ногтя мизинца может генерировать CW с мощностью 20mW.
Без всяких доп.модулей, без обвязки, без отдельных передатчиков или генераторов - ВОТ В ЧЕМ ИЗЮМИНКА!

#5 Re: Проекты » Arduino CW+GPS+SD » 2016-07-15 13:19:39

Как видите, принял.
А так ни что не мешать, поставить узкую "керамика" по второй ПЧ, или давить боковую полосу и слушать в SSB.
Для ленивых есть дегены.

#6 Re: Проекты » Arduino CW+GPS+SD » 2016-07-13 20:17:41

С реализацией проблем нет.
Словил, на бытовой приемник, на расстояние 2-х километров.

#7 Re: Проекты » Arduino CW+GPS+SD » 2016-07-12 23:39:45

Тут интерес больше развлекательно-познавательный.
Есть масса готовых GPS/GSM-трекеров, есть Arduino-шилды с GPS/GSM/SD-слотом на борту, есть приемники и передатчики на 433 MHz,
но это все тленно перед голым Arduino и 10 сантиметровым куском провода с одной стороны и бытовым приемником с другой.

#8 Re: Проекты » Arduino CW+GPS+SD » 2016-07-12 18:02:17

Зато законно наблюдать за своим чадом, за домашним питомцем или автомобилем.

#9 Проекты » Arduino CW+GPS+SD » 2016-07-12 16:40:54

DJ_Wever
відповідей: 20

Это QRPp CW-маяк, работающий на 160/80/40-метровом диапазоне. Автор скетча Клименко Максим.

Есть желание доработать этот скетч для вставки GPS-координат в текст посылки и параллельного логирования координат и времени фиксации на SD-карту.

Что скажите господа?

// Arduino simply CW beacon
// (c) 2012 Max Klimenko
// emaster [at] mail.ru

// Beacon message
const char message[] = "VVV CQ CQ CQ DX DE BEACON BAND 40M 8000KHZ";

// Period of single point (ms)
const int point_time = 80;

// Carrier frequency divider.
// Carrier freq. (MHz) = 16 / (2 * (1 + freq_div))
const unsigned char freq_div = 1;

//////////////////////////////////////////////////////////////////
struct s_abc
{
        char letter;
        char sign[7];
};

const s_abc abc[] = {
        'A',".-", 'B',"-...", 'W',".--", 'G',"--.", 'D',"-..", 
        'E',".", 'V',"...-", 'Z',"--..", 'I',"..",
        'J',".---", 'K',"-.-", 'L',".-..", 'M',"--", 'N',"-.", 
        'O',"---", 'P',".--.", 'R',".-.", 'S',"...",
        'T',"-", 'U',"..-", 'F',"..-.", 'H',"....", 'C',"-.-.", 
        'Q',"--.-", 'Y',"-.--", 'X',"-..-", '1',".----",
        '2',"..---", '3',"...--", '4',"....-", '5',".....", 
        '6',"-....", '7',"--...", '8',"---..", '9',"----.",
        '0',"-----", '.',"......", ',',".-.-.-", ':',"---...", 
        ';',"-.-.-.", '(',"-.--.-", '`',".----.",
        '"',".-..-.", '-',"-....-", '/',"-..-.", '?',"..--..", 
        '!',"--..--", '@',".--.-.", '\\',"..-.-" };

unsigned char abc_size = sizeof(abc) / sizeof(abc[0]);

void setup()
{
  PORTB = 0;
  DDRB |= 1<<1;
  
  OCR1A = freq_div;
  TCCR1A = 0x48;
  TCCR1B = 0x09;
  
  pinMode(13, OUTPUT);
  digitalWrite(13, HIGH);   // set the LED on
}

void send_letter(char l)
{
  if (l == ' ')
  {
    delay(point_time * 7);
    return;
  }
  
  unsigned char idx = 255;
  for (unsigned char i = 0; i < abc_size; i++)
    if (abc[i].letter == l)
    {
      idx = i;
      break;
    }
    
  if (idx == 255) return;
  
  const char *s = abc[idx].sign;
  
  for (unsigned char c = 0; s[c] != 0; c++)
  {
    char q = s[c];
    
    DDRB |= 1<<1;
    digitalWrite(13, HIGH);   // set the LED on
    
    if (q == '.') delay(point_time);
    else delay(point_time * 3);
    
    DDRB &= ~(1<<1);
    digitalWrite(13, LOW);   // set the LED off
    
    delay(point_time);
  }

  delay(point_time * 2);
}

void loop()
{
  for (int n = 0; message[n] != 0; n++)
    send_letter(message[n]);
  
  delay(2000);
}

#10 Апаратні питання » Мобильный телефон в качестве GSM/GPRS модуля » 2014-10-31 17:45:24

DJ_Wever
відповідей: 9

Предлагаю народными усилиями собрать базу мобильных телефонов, соответствующих следующим требованиям:

- цена не более 1000 руб.

- доступность "в магазине через дорогу", актуальность (не снятая с производства).

- UART интерфейс (TTL 5V для Arduino или LVTTL 3.3V для Arduino Pro Mini или Raspberry Pi) с поддержкой AT (Hayes) - команд.

https://clck.ru/9LeuN

Підвал форуму