-
08.04.2023, 21:29 #16
- Регистрация
- 22.02.2006
- Возраст
- 56
- Сообщений
- 232
- Поблагодарили
- 58
- Поблагодарил
- 30
Что-то вы не для того используете ИИ )
ChatGPT: "напиши код для ардуино для измерения КСВ антенны. датчик КСВ подключен к a1 и a2. вывод на двустрочный LCD дисплей."
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Пины дисплея
int analogPin1 = A1; // Пин для датчика КСВ (A1)
int analogPin2 = A2; // Пин для датчика КСВ (A2)
int val1 = 0; // Переменная для хранения значения датчика 1
int val2 = 0; // Переменная для хранения значения датчика 2
float swr = 0; // Переменная для хранения значения КСВ
void setup()
{
lcd.begin(16, 2); // Инициализация дисплея
analogReference(INTERNAL); // Внутренняя опорная напряжение (1.1V)
}
void loop()
{
val1 = analogRead(analogPin1); // Считывание значения с датчика 1
val2 = analogRead(analogPin2); // Считывание значения с датчика 2
// Вычисление значения КСВ
if (val1 > val2) {
swr = (float)val1 / val2;
} else {
swr = (float)val2 / val1;
}
// Вывод результата на дисплей
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("SWR: ");
lcd.print(swr, 2);
}
Примечания:
В этом коде используется внутренняя опорная напряжение АЦП (1.1V), поэтому значением 0 на датчике будет соответствовать 1.1V.
Датчики используются симметрично, т.е. подключаются в обоих направлениях, чтобы измерения были более точными.
15 секунд. Код рабочий.
А вы картинки рисуете ))
Уточняя и конкретизируя запрос, можно получить различные варианты кода. ОЧень, иногда, интересные.
-
09.04.2023, 11:34 #17
- Регистрация
- 30.11.2012
- Возраст
- 53
- Сообщений
- 2,556
- Поблагодарили
- 1811
- Поблагодарил
- 1976
Пробовал использовать chatGPT как интелектуальный калькулятор, чтобы не копаться долго в теории, а получить сразу нужный ответ. Ответ удручил. Около часа пытался по разному формулировать вопрос, но результат по прежнему был невменяем.
Т.е. получается, когда прямая волна равна отражённой SWR=1 ?
И что произойдёт с "рабочим кодом", если val1 = 2 и val2 = 0 ???Андрей - YL2QN
-
09.04.2023, 13:32 #18
- Регистрация
- 23.04.2011
- Адрес
- KI-38 град Никулицын, откуда есть пошла Вятская земля (1181 г.)
- Возраст
- 60
- Сообщений
- 3,825
- Поблагодарили
- 1904
- Поблагодарил
- 3293
Интересно, откуда ИИ узнал, что конкретно Заказчик подразумевает под "датчиком КСВ". Я думаю, что мысли прочитал.
Последний раз редактировалось UA4NE; 09.04.2023 в 13:36.
Михаил RCWC #312 == Кто ищет, тот всегда. == SunSDR2pro, Elecraft K3, BURST-2000A, AD-3446, AD-W234.
-
09.04.2023, 13:42 #19
- Регистрация
- 30.11.2012
- Возраст
- 53
- Сообщений
- 2,556
- Поблагодарили
- 1811
- Поблагодарил
- 1976
-
09.04.2023, 16:34 #20
- Регистрация
- 22.02.2006
- Возраст
- 56
- Сообщений
- 232
- Поблагодарили
- 58
- Поблагодарил
- 30
Точно. Поспешил и насмешил.
А если так?
" напиши код Arduino для вычисления КСВ, напряжение прямой волны на a2, обратной на a3. "
const int a2_pin = A2; // аналоговый вход для напряжения прямой волны
const int a3_pin = A3; // аналоговый вход для напряжения обратной волны
void setup() {
Serial.begin(9600); // настройка последовательной связи
}
void loop() {
float v_forward = analogRead(a2_pin) * 5.0 / 1023.0; // вычисление напряжения прямой волны
float v_reverse = analogRead(a3_pin) * 5.0 / 1023.0; // вычисление напряжения обратной волны
float vswr = (v_forward + v_reverse) / (v_forward - v_reverse); // вычисление коэффициента стоячей волны (КСВ)
Serial.print("V_forward: "); // Вывод на монитор последовательной связи для отладки
Serial.println(v_forward);
Serial.print("V_reverse: ");
Serial.println(v_reverse);
Serial.print("VSWR: ");
Serial.println(vswr);
delay(1000); // задержка в 1000 миллисекунд (1 секунда) между измерениями
}
Код для Arduino для расчета КСВ, напряжения прямой волны на A2 и обратной на A3:
```
int a2Pin = A2; // устанавливаем контакт А2 как основной для напряжения прямой волны
int a3Pin = A3; // устанавливаем контакт А3 как обратной для напряжения обратной волны
void setup() {
Serial.begin(9600); // инициализация последовательной связи
}
void loop() {
float vRef = 5.0; // устанавливаем опорное напряжение АЦП
float vinA2 = analogRead(a2Pin) * vRef / 1023.0; // измеряем напряжение прямой волны
float vinA3 = analogRead(a3Pin) * vRef / 1023.0; // измеряем напряжение обратной волны
float vSWR = 0; // устанавливаем начальное значение коэффициента стоячей волны равным 0
if (vinA3 > 0) { // если обратное напряжение присутствует
vSWR = (vinA2 + vinA3) / (vinA2 - vinA3); // расчет коэффициента стоячей волны
}
Serial.print("Коэффициент стоячей волны: ");
Serial.println(vSWR);
Serial.print("Напряжение прямой волны: ");
Serial.print(vinA2);
Serial.println(" Вольт");
Serial.print("Напряжение обратной волны: ");
Serial.print(vinA3);
Serial.println(" Вольт");
delay(1000); // задержка 1 секунда между измерениями
}
```
Этот код будет измерять напряжение на контактах A2 и A3, а затем использовать их для расчета коэффициента стоячей волны и напряжения прямой и обратной волн. Важно, чтобы входное напряжение не превышало максимального значения, допустимого для АЦП (обычно 5 В).Последний раз редактировалось UA4HQS; 09.04.2023 в 16:43.
-
09.04.2023, 16:51 #21
- Регистрация
- 30.11.2012
- Возраст
- 53
- Сообщений
- 2,556
- Поблагодарили
- 1811
- Поблагодарил
- 1976
Андрей - YL2QN
-
09.04.2023, 22:55 #22
- Регистрация
- 26.04.2015
- Адрес
- Донецк
- Возраст
- 69
- Сообщений
- 120
- Поблагодарили
- 41
- Поблагодарил
- 596
Да, попробовал исправить фото. Впечатлён!!! Хорошо работает, но до 3000 пикселей... Выше - отказывается.
Результат отличный!
-
10.04.2023, 21:39 #23
- Регистрация
- 18.05.2008
- Сообщений
- 1,439
- Поблагодарили
- 1073
- Поблагодарил
- 254
Это все очень интересно и удивительно и занимательно, особенно, насчет автогенерации программного кода....
Если у кого-то есть доступ к ChatGPT без лишних проблем, и найдется время/желание помочь/по-эксперементировать
с программными кодами, прошу откликнуться:
хочется попробовать транслировать программный код с pascal и visual basic на си...
если, кто-нибудь захочет помочь, пожалуйста, пишите в личку или на ua1om (zlaya sobaka) mail (tochka) ru
73!73, Юрий (aka VE3OWW ex op. of UZ1OWW)
-
11.04.2023, 10:08 #24
- Регистрация
- 16.02.2015
- Сообщений
- 7,855
- Поблагодарили
- 2395
- Поблагодарил
- 449
Сфотографировал старое размытое фото... запустил... написали что уже 3000 на 3000.....
так и не понял что этот ресурс улучшает.
пока что так -
-
11.04.2023, 12:18 #25
-
12.04.2023, 22:23 #26
- Регистрация
- 23.04.2009
- Сообщений
- 83
- Поблагодарили
- 98
- Поблагодарил
- 92
Компьютерное зрение от MAIL.RU раскрашивает чёрно-белые фото.
Ну, пусть не всегда со стопроцентным попаданием в цвета, но тем не менее, в большинстве случаев - очень даже неплохо получается, и, опять же, без ограничений по кол-ву загрузок и без рекламы на конечном фото.
Важный момент: поскольку любой цвет можно представить как градации серого, то если фото раскрашивается совсем уж некорректно, то самый простой способ немного изменить эти самые градации в чёрно-белом фото - Microsoft Office Picture Manager.
В нём всё понятно интуитивно и можно побаловаться с яркостью, контрастностью, и особенно - с яркостью средних тонов. Проверено на практике - помогает.
В общем, в связке с сервисом по ссылке в первом посте этого топика, можно вполне себе прилично реставрировать старое памятное чёрно-белое фото.
Собственно, вот раскрашенное фото из поста №4.
Особенно, если учесть, что размер «оригинала» был всего 236 Х 157 пикселей, то даже несмотря на некоторые косяки в цвете - результат вполне достойный:
Социальные закладки