На сайте

Никого

Авторизация

Журнал CQ-QRP

Зима-Лето 2023
cq qrp 81
Все журналы

Спонсоры

LAB599
lab599 banner

Магазин XIEGU.RU
xiegu ru banner

Наши друзья

baner88x31
Тульский областной радиоклуб
QRP ARCI
Клуб Нижегородских Радиолюбителей
ru cw banner
Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1
  • 2

ТЕМА: CW BEACON скетч

CW BEACON скетч 23 Май 2016 21:34 #31395

  • RN4R
  • ( Пользователь )
  • RN4R аватар
  • Вне сайта
  • Сообщений: 489
  • Репутация: 79
Ниже по тексту готовый скетч для маяка, лежит в свободном доступе и взят отсюда www.m0pzt.com/arduino/
Выкладываю что бы долго не искали те кому это интересно и может пригодится. В этом деле я чайник и напишу только то что я сам понял и делал с этим кодом.

int MorseLEDPin = 13; это строка в коде означает что выход ключевания на 13 цифровом пине, можно подать на базу кт-315 через резистор 1 ком, эммитер на массу, с коллектора уже непосредственно к гнезду "ключ" например в том же PIXIE.
int MorseTonePin = 5; выход для самоконтроля на пищалку, пин 5, я поставил капсуль на 120 ом и довольно громко пикает.
int MorseToneFreq = 700; Тон самоконтроля, поменял на 600 герц стало комфортнее.
int MorseWPM = 16; Скорость ключевания, я выставил 20 wpm
delay(5000); В самом конце кода, этим значением выставляется пауза между передачами тоесть сообщениями, в данном случае 5000 миллисекунд тоесть пауза 5 секунд, у меня выставлено 60000 тоесть 1 минута.
#define strBeacondID "M0PZT JO01FS PWR 1W" А тут можно текст передачи поменять на свой, позывной, локатор и.т.д
Код что находится ниже копируем вставляем в программу ардуино, редактируем под себя и загружаем на плату ардуино.
Написал все это для совсем начинающих (вроде меня) которые хотят познакомится с ардуино и применить в радиолюбительстве.



// Simple CW Beacon
// by Charlie Davy M0PZT
// 23rd December 2014

int pinPTT = 4;
int MorseLEDPin = 13;
int MorseTonePin = 5;
int MorseToneFreq = 700;
int MorseWPM = 16;

// Declare variables...
#define strBeacondID "M0PZT JO01FS PWR 1W"

// Bung Morse into an array
char* MorseCodeCharacters[] = {
"A", ".-",
"B","-...",
"C","-.-.",
"D","-..",
"E",".",
"F","..-.",
"G","--.",
"H","....",
"I","..",
"J",".---",
"K","-.-",
"L",".-..",
"M","--",
"N","-.",
"O","---",
"P",".--.",
"Q","--.-",
"R",".-.",
"S","...",
"T","-",
"U","..-",
"V","...-",
"W",".--",
"X","-..-",
"Y","-.--",
"Z","--..",
"0","
",
"1",".----",
"2","..---",
"3","...--",
"4","....-",
"5",".....",
"6","-....",
"7","--...",
"8","---..",
"9","----.",
"/","-..-.",
"*","-.-.-",
".",".-.-.",
"&","...-.-",
" "," "
};

//


void setup() {
Serial.begin(9600);
pinMode(pinPTT, OUTPUT);
pinMode(MorseLEDPin, OUTPUT);
pinMode(MorseTonePin, OUTPUT);
Serial.println("M0PZT CW Beacon - Welcome"); Serial.println();
}

void TransmitMorse(String MorseString, int MorseWPM,int MorseToneFreq) {

Serial.print("Message: ");
Serial.println(MorseString);

int CWdot = 1200 / MorseWPM;
int CWdash = (1200 / MorseWPM)*3;
int istr;
for (istr=0; istr < MorseString.length(); istr++) {
String currentchar = MorseString.substring(istr,istr+1);
int ichar = 0;
while(ichar < sizeof(MorseCodeCharacters)) {
String currentletter = MorseCodeCharacters[ichar]; // letter
String currentcode = MorseCodeCharacters[ichar+1]; // corresponding morse code
if (currentletter.equalsIgnoreCase(currentchar)) {
int icp=0;
for (icp=0;icp < currentcode.length(); icp++) {
// Transmit Dit
if (currentcode.substring(icp,icp+1).equalsIgnoreCase(".")) {
digitalWrite(MorseLEDPin, HIGH);
tone(MorseTonePin, MorseToneFreq);
delay(CWdot);
digitalWrite(MorseLEDPin, LOW);
noTone(MorseTonePin);
delay(CWdot);
}
// Transmit Dah
else if (currentcode.substring(icp,icp+1).equalsIgnoreCase("-")) {
digitalWrite(MorseLEDPin, HIGH);
tone(MorseTonePin, MorseToneFreq);
delay(CWdash);
digitalWrite(MorseLEDPin, LOW);
noTone(MorseTonePin);
delay(CWdot);
}
else if (currentcode.substring(icp,icp+1).equalsIgnoreCase(" ")) {
delay(CWdot*3);
};
}
}
ichar=ichar+2;
}
delay(CWdot*3);
}
delay(CWdot*7);
}

void loop() {
digitalWrite(pinPTT, HIGH);
TransmitMorse(strBeacondID, MorseWPM, MorseToneFreq);
digitalWrite(pinPTT, LOW);
delay(5000);
}
Администратор запретил публиковать записи.

CW BEACON скетч 24 Май 2016 14:25 #31398

  • R0JJ
  • ( Посетитель )
  • R0JJ аватар
Огромное мерси. Тоже пока вникаю с нуля, да и плату arduino nano v3 только сегодня китаец отправил.
Получу, буду прикручивать..
Администратор запретил публиковать записи.

CW BEACON скетч 24 Май 2016 14:45 #31399

  • evgeny.zaryanov
  • ( Пользователь )
  • evgeny.zaryanov аватар
  • Вне сайта
  • Сообщений: 264
  • Репутация: 21
R0JJ пишет:
Огромное мерси. Тоже пока вникаю с нуля, да и плату arduino nano v3 только сегодня китаец отправил.
Получу, буду прикручивать..

Добрый день!
Попробуйте вот эту библиотеку, там все проще и сам скетч меньше, функции все те же, массивы спрятаны в либу, по этому не будут отвлекать.

Распакуете архив и папку положите в директорию libaries перезагрузите IDE и все.. вставите туда этот скетч:

#include <morse.h>

#define PIN_STATUS 13

void setup()
{
}

void loop()
{
LEDMorseSender cqSender(PIN_STATUS);
cqSender.setup();
cqSender.setWPM(25);
cqSender.setMessage(String("cq de ub0agx beacon"));
cqSender.sendBlocking();
delay(1000);
digitalWrite(13, HIGH);
delay(3000);
digitalWrite(13, LOW);
delay(15000);

}

будут вопросы пишите!
Вложения:
Администратор запретил публиковать записи.

CW BEACON скетч 24 Май 2016 15:56 #31401

  • rk3fw
  • ( Пользователь )
  • rk3fw аватар
  • Вне сайта
  • Сообщений: 902
  • Репутация: 58
не досмотрел
Последнее редактирование: 24 Май 2016 15:57 от rk3fw.
Администратор запретил публиковать записи.

CW BEACON скетч 24 Май 2016 17:18 #31402

  • RN4R
  • ( Пользователь )
  • RN4R аватар
  • Вне сайта
  • Сообщений: 489
  • Репутация: 79
rk3fw пишет:
не досмотрел
Это вы о чем?
Администратор запретил публиковать записи.

CW BEACON скетч 25 Май 2016 10:44 #31407

  • rk3fw
  • ( Пользователь )
  • rk3fw аватар
  • Вне сайта
  • Сообщений: 902
  • Репутация: 58
о библиотеке.

Такую прошивку лучше на С делать. Она будет примерно на 2 кБ меньше и, скорее всего, позволит более мелкую и дешевую ардуину применить.
Администратор запретил публиковать записи.

CW BEACON скетч 25 Май 2016 10:54 #31408

  • R1AIT
  • ( Пользователь )
  • R1AIT аватар
  • Вне сайта
  • Сообщений: 445
  • Репутация: 30
rk3fw пишет:
Она будет примерно на 2 кБ меньше и, скорее всего, позволит более мелкую и дешевую ардуину применить.
Какую? При цене 88руб. за Pro mini, на которой все это будет успешно работать, есть ли что то готовое дешевле? А если не готовое, то стоит ли оно того? Как вариант, cw ключ от K3NG тоже имеет режим маяка. Есть и готовый скетч и инструкция по настройке.
Последнее редактирование: 25 Май 2016 10:59 от R1AIT.
Администратор запретил публиковать записи.

CW BEACON скетч 25 Май 2016 12:23 #31409

  • RN4R
  • ( Пользователь )
  • RN4R аватар
  • Вне сайта
  • Сообщений: 489
  • Репутация: 79
RA1AIT пишет:
Как вариант, cw ключ от K3NG тоже имеет режим маяка. Есть и готовый скетч и инструкция по настройке.
Вы бы выложили этот скетч сюда, а то на том сайте черт ногу сломит где что, и краткую инструкцию по настройке своими словами как говорится. Уверен поможете не только мне.
Последнее редактирование: 25 Май 2016 12:24 от RN4R.
Администратор запретил публиковать записи.

CW BEACON скетч 25 Май 2016 13:38 #31411

  • R1AIT
  • ( Пользователь )
  • R1AIT аватар
  • Вне сайта
  • Сообщений: 445
  • Репутация: 30
ra4ppi пишет:
RA1AIT пишет:
Как вариант, cw ключ от K3NG тоже имеет режим маяка. Есть и готовый скетч и инструкция по настройке.
Вы бы выложили этот скетч сюда, а то на том сайте черт ногу сломит где что, и краткую инструкцию по настройке своими словами как говорится. Уверен поможете не только мне.
Вот архив со всеми файлами. Написано, что если хочется режим маяка сразу при включении, то нужно 2 ногу посадить на землю. Что при этом будет пищать, я пока не понял, может из памяти что, т.е. нужно записать сначала. С маяком мне пока некогда разбираться, пока использую чисто как ключ.
Вложения:
Администратор запретил публиковать записи.

CW BEACON скетч 25 Май 2016 15:59 #31413

  • rk3fw
  • ( Пользователь )
  • rk3fw аватар
  • Вне сайта
  • Сообщений: 902
  • Репутация: 58
RA1AIT пишет:
При цене 88руб. за Pro mini

И где такое счастье за такие деньги?
Администратор запретил публиковать записи.
  • Страница:
  • 1
  • 2
Модераторы: UU7JF, UT5LP