Щоденний радіожурнал зі звуком. Іноді з гумором. Завжди з картинками

Круглые столы области

Круглий стiл 11.10.25 Record by UY2RA Круглий стiл 01.11.25 Record by UY2RA

02.11.2025

Второй прилот

 Как и больштнство "поверхностных" пользователей Windows 11 я не обратил особого внимания на программный Copilot.  Но когда  мой друг написал что экономит на нём кучу времени я подумал что наверное стоит попробовать. Для примера я вернулся к заброшенному прожекту поворотки с указателем на потенциометре.  В своё время я его бросил как раз из-за недостатка времени и свежих идей - неточности в работе сильно раздражали. А "вычистить" логику и перевести в код без ошибок не хватило времени . А может терпения :-) Одним словом пробуем новое.  Прошу копилота написать скетч для Ардуино  чтобы вращал антенну:

Создать скетч поворотного устройства для Ардуино с указанием угла установки исполнительного мотора с помощью двух потенциометров. Первый из них ведущий, предустановка. Второй отслеживает реальное положение антенны и если они не совпадают определяет направление движения и включает мотор в эту сторону. На двустрочном дисплее выводить на английском значение предустановки, реального угла поворота направление движениея и статус мотора.

Ответ второго пилота: Отличная задача — это классический пример системы с обратной связью: один потенциометр задаёт целевой угол (setpoint), второй измеряет фактическое положение (feedback), а мотор двигается до совпадения. Ниже приведён пример скетча для Arduino с использованием двух потенциометров, реле/драйвера мотора и LCD 16x2 (через библиотеку LiquidCrystal).

⚙️ Аппаратная схема (пример)

  • Pot1 (предустановка) → A0

  • Pot2 (датчик положения) → A1

  • Мотор → через драйвер (например, L298N или H-bridge) к пинам D8 и D9 (вперёд/назад)

  • LCD 16x2 → пины RS=12, E=11, D4=5, D5=4, D6=3, D7=2

📜 Код Arduino

cpp
#include <LiquidCrystal.h>

// LCD: RS, E, D4, D5, D6, D7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

const int potSetPin = A0;   // ведущий потенциометр (предустановка)
const int potRealPin = A1;  // обратная связь (реальное положение)

const int motorPinFwd = 8;  // мотор вперёд
const int motorPinRev = 9;  // мотор назад

int setAngle = 0;
int realAngle = 0;
int deadZone = 3; // допуск в градусах

void setup() {
  pinMode(motorPinFwd, OUTPUT);
  pinMode(motorPinRev, OUTPUT);
  lcd.begin(16, 2);
  lcd.clear();
}

void loop() {
  // Чтение потенциометров (0-1023) и преобразование в угол (0-180)
  setAngle = map(analogRead(potSetPin), 0, 1023, 0, 360);
  realAngle = map(analogRead(potRealPin), 0, 1023, 0, 360);

  String direction = "STOP";
  String motorStatus = "OFF";

  // Управление мотором
  if (abs(setAngle - realAngle) > deadZone) {
    if (setAngle > realAngle) {
      digitalWrite(motorPinFwd, HIGH);
      digitalWrite(motorPinRev, LOW);
      direction = "RIGHT";
      motorStatus = "ON";
    } else {
      digitalWrite(motorPinFwd, LOW);
      digitalWrite(motorPinRev, HIGH);
      direction = "LEFT";
      motorStatus = "ON";
    }
  } else {
    digitalWrite(motorPinFwd, LOW);
    digitalWrite(motorPinRev, LOW);
  }

  // Вывод на дисплей
  lcd.setCursor(0, 0);
  lcd.print("Set:");
  lcd.print(setAngle);
  lcd.print(" Real:");
  lcd.print(realAngle);

  lcd.setCursor(0, 1);
  lcd.print("Dir:");
  lcd.print(direction);
  lcd.print(" M:");
  lcd.print(motorStatus);

  delay(200);
}

🖥️ Что будет на дисплее

Пример отображения: 

Код
Set:120 Real:115
Dir:RIGHT M:ON
  • Set — предустановленный угол

  • Real — фактический угол

  • Dir — направление движения (LEFT/RIGHT/STOP)

  • M — статус мотора (ON/OFF)

К момему удивлению скетч заработал сразу и правильно. Единственное замечание было к тому что он не знал, что у меня реле c отрицательной логикой и естествеено вкл/выкл мотора, а точнее влево/вправо после остановки оставались включенными.  И еще забыл ему сказать что дисплей подключен по I2C. Задаю исправления которые надо внести:

Дисплей подключен по i2C. Он не отображает положение углов. Сделать замедление Старт-Стоп но без PWM

Ответ второго пилота: Понял 👍. Если у вас дисплей по I²C, нужно использовать библиотеку LiquidCrystal_I2C. А для «замедления без PWM» можно сделать пошаговое движение: мотор включается короткими импульсами с паузами, и чем ближе к целевому углу — тем длиннее пауза. Это даст эффект замедления без использования ШИМ.

📜 Обновлённый скетч

cpp
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// Адрес может быть 0x27 или 0x3F — зависит от модуля
LiquidCrystal_I2C lcd(0x27, 16, 2);

const int potSetPin = A0;   // ведущий потенциометр (предустановка)
const int potRealPin = A1;  // обратная связь (реальное положение)

const int motorPinFwd = 8;  // мотор вперёд
const int motorPinRev = 9;  // мотор назад

int setAngle = 0;
int realAngle = 0;
int deadZone = 2; // допуск в градусах

void setup() {
  pinMode(motorPinFwd, OUTPUT);
  pinMode(motorPinRev, OUTPUT);

  lcd.init();
  lcd.backlight();
  lcd.clear();
}

void loop() {
  // Чтение потенциометров (0-1023) и преобразование в угол (0-360)
  setAngle = map(analogRead(potSetPin), 0, 1023, 0, 360);
  realAngle = map(analogRead(potRealPin), 0, 1023, 0, 360);

  String direction = "STOP";
  String motorStatus = "OFF";

  int diff = setAngle - realAngle;

  if (abs(diff) > deadZone) {
    motorStatus = "ON";
    if (diff > 0) {
      direction = "RIGHT";
      digitalWrite(motorPinFwd, HIGH);
      digitalWrite(motorPinRev, LOW);
    } else {
      direction = "LEFT";
      digitalWrite(motorPinFwd, LOW);
      digitalWrite(motorPinRev, HIGH);
    }

    // Эффект замедления: чем ближе к цели, тем длиннее пауза
    int pauseTime = map(abs(diff), 0, 180, 200, 20); 
    delay(pauseTime);

    // Короткий импульс
    digitalWrite(motorPinFwd, LOW);
    digitalWrite(motorPinRev, LOW);
    delay(pauseTime);

  } else {
    digitalWrite(motorPinFwd, LOW);
    digitalWrite(motorPinRev, LOW);
  }

  // Вывод на дисплей
  lcd.setCursor(0, 0);
  lcd.print("Set:");
  lcd.print(setAngle);
  lcd.print(" Real:");
  lcd.print(realAngle);
  lcd.print("   "); // очистка хвоста

  lcd.setCursor(0, 1);
  lcd.print("Dir:");
  lcd.print(direction);
  lcd.print(" M:");
  lcd.print(motorStatus);
  lcd.print("   "); // очистка хвоста
}

🔑 Что изменилось

Используется LiquidCrystal_I2C для работы с дисплеем.
Добавлен «пошаговый» режим: мотор включается короткими импульсами, а пауза зависит от разницы углов.Чем ближе к цели, тем дольше пауза → мотор замедляется.

И это исправление заработало исправно. Код оказался короче и прозрачнее чем у меня было изначально. То есть я думаю что расхождения во мнениях начнутся после второго или третьего уровня корректировки задания, но пока умственные способности второго пилота меня порадовали.  В реалиях у меня потенциометры дополнены резисторами по 100 Ом сверху поэтому корретировку значений пришлочь внести. Работает в точно обозначенном диапазоне.
 // Чтение потенциометров (0-1023) и преобразование в угол (0-360)
  setAngle = map(analogRead(potSetPin), 0, 910(1023), 0, 360);
  realAngle = map(analogRead(potRealPin), 0, 910(1023), 0, 360);
Так что теперь даже те, у кого  о Ардуино совсем поверхностные сведения может запросто писать скрипты для своих устройств с применением микроконтроллеров.

A65IV SAT QSO

 Только что провел связь через Катар Оскар с Дубаем.  Прикольно, что телеграфом.  Замечаю что в последнее время продвинтые в техническом смысле аматоры всу чаще и чаще возвращаются к истокам - незатухающим колебаниям :-)  Ну и еще интетесно тем что очень мобильнор. Весь комплект ожно возить в чемоданчике. Фото с QRZ.COM. Там еще есть :-)

01.11.2025

Жизнь выше 10 гигагерц

 Частота приёмника 10489540.0 килогерц.  Тарелка 1200 мм. Облучатель геликал 2.5 витка


Хэллоуiн в сiм'i электрiка


:-) Alex UR5RP

Субботняя карамель

 Как мало нужно мастеру, чтобы создать настроение

31.10.2025

Прогноз прохождения

 Давление у солнечного ветра 118 на 68. Если бы это было артериальное давление у человека, мы бы порадовались. А с Солнцем всё не так. Цифры обозначают снижение интенсивности слоёв, а значит ухудшение прохождения. В общем оно будет слабее чем на прошлой неделе. Но это не значит, что его не будет совсем. Утром и вечером хороши будут ВЧ диапазоны включая двадцатку. Ночью им на смену придут 30 и 40 метров, а к трем часам ночи букет их микста диапазонов от 160 до 30 метров. 30 метров будет лучшим диапазоном ночью,  лучшим диапазоном днем будет диапазон 15 метров.  Вторую неделю ВЧ диапазоны будут мало отличаться один от другого. Граница разделения по времени суток будет лежать между 20 и 30 метровыми диапазонами. Особенностью этой недели будет то, что прохождение днем не будет следовать за Солнцем, а после полудня останавливаться в своем движении. То есть до глубокой ночи будет слышно  всё то что было слышно в полдень и всё восточнее, включая уже затемненные области: Индийский океан, Индонезию, ЮВА,  да практически половину Тихого океана, включачя Австралию.  Это означает что в эти пять дней проблемными будут попытки связи на этих диапазонах с Атлантикой и обоими Америками.   Причем на НЧ диапазонах ситуация не намного лучше..

Первый из ВЧ диапазонов который будет закрываться на ночь - 17 метров.  Уже к полуночи прохождение на нем практически будет отсутствоваать. Понятно что все диапазоны выше будут закрываться еще раньше. Десятка вообще в 7 часов вечера. Максимально хорошим прохождение будет в 9 часов вечера на диапазоне 30 метров.  Прохождение на 40 метрах даже ночью не будет лучше, будет слышно только то что под Луной и не включая Антарктики. 80 метров всё1 под Луной, но не южнее экватора, а 160 метров только окружность с диаматром 4-5 тысяч километров от нас. Ну, уже по сезону. Я пытался, но ни одну из работающих сейчас экспедиций ниже 80 метров я не слышу. Да и на 80 тоже едва-едва. Правда Гуам на 40 было слышно довольно хорошо. Я даже звал. Но безуспешно.
   На УКВ с первого ноября приходит праздник. Первого числа только над западными областями но с уровнями "сильное" и по территории и направлению Белоруссия, часть Польши и Германии и далее на Скандинавию. Это возможность провести прямые связи. Не пропустите.   Далее, 2 ноября,  это облако  вытягивается в полосу от Скандинавии до Турции уже через центральную часть Украины и к утру 3-го ноября трансформируется в облако над юго-западом Украины, но теперь только в сторону Турции. 4-го числа и далее уже тихо.
На спутниках. АО-7 без изменения, мода В. Иногда переключается в А.  В телеграфе и SSB также АО-73 и RS-44. На МКС время от времени забирают радио у диджипитера. Но не постоянно. в FM всё ОК. В этой же моде работают SO-50, SO-124,125.  АО-123 к сожалению на прошлой неделе издох. APRS только Sonate-2.  
4-5 ноября пик Тауридов  число спутников в час 5-10. Медленные и яркие. Оставляют толстый след ионизированных газов.  Виден: в обоих полушариях
Описание: Этот метеорный поток представляет собой одну из ветвей большого потока Тауриды, который астрономы ассоциируют с кометой 2P/Энке. Метеоры Таурид, как правило, очень медленные и иногда бывают невероятно яркими. Это делает их отличным объектом для начинающих астрофотографов. 
     Прогноз видимости: В 2025 году пик Южных Таурид придется на ночь полнолуния, поэтому условия наблюдения будут плохими. Тем не менее, вы можете попробовать заслониться от яркого света Луны, встав у дерева или здания — это может помочь вам увидеть несколько метеоров. К тому же, некоторые метеоры Таурид могут быть ярче обычного из-за «роя Таурид», ожидаемого в этом году.

9L8MD 7 слотов за час

To Alex:-)
 Call signWorkedDate/TimeBandModeFreqQSLDXCC
DetailsUY2RA9L8MD2025-10-30 15:24:1415MFT821.09644  
DetailsUY2RA9L8MD2025-10-30 15:29:3010MFT828.09500  
DetailsUY2RA9L8MD2025-10-30 15:32:3920MCW14.01600  
DetailsUY2RA9L8MD2025-10-30 16:41:2720MCW14.01600  
DetailsUY2RA9L8MD2025-10-31 13:27:4310MCW28.01903  
DetailsUY2RA9L8MD2025-10-31 14:08:1517MFT818.09060  
DetailsUY2RA9L8MD2025-10-31 14:38:4512MFT824.92341  
DetailsUY2RA9L8MD2025-10-31 15:18:47SatFT82400.08000  
Просто хорошая техника на КВ. Ну и немного усидчивости. Когда жена подносит тебе патроны это несложно :-) Её стоило терпеть 33 года :-) Ну и дополнительное очко - Катар Оскар 100. Сейчас хорошим тоном для экспедиции считается там обязательно присутствовать. Ну а "снимать" их оттуда - одно удовольствие. На фото мой комплект для геостационарного спутника. Теперь даже микрофон есть :-) Тарелка за окном. Слева направо:
Блок питания с ограничителем тока.
GPSDO
DownConvertor
Микрофон :-)
Adalm Pluto
Термостат (бокс) для TCXO подставка 40 мГц для стабильности частоты Pluto на 10 Гиг
Сзади (на фото ниже) цепочка диапазонный полосовой фильтр и усилитель передатчика



Идеология сегодняшних DX педиционеров

 Валера UT5XR прислал так же каринку которая детектирует квинтэссенцию мышления некоторых сегодняшних экспедиционеров. Поговорить за деньги :-)


© Copyright 2011-2024 UY2RA,    All rights reserved.    Все права защищены.    Пожалуйста уважайте их. Использование материалов с этого сайта разрешается. Буду рад если при этом меня помянут незлым тихим словом.

FREE & OPEN UKRAINIAN HAM  RADIO  BANNERS NET