Появился ещё один вопрос, а есть ли возможность получить hex в Arduino 1.0.6?
Появился ещё один вопрос, а есть ли возможность получить hex в Arduino 1.0.6?
US2IT, после компиляции смотрите в TMP папке.
У меня так (на XP):
Здравствуйте уважаемые форумчане! При введении измерения КСВ в дисплей усилителя мощности столкнулся с задачей, которую не могу решить сам ввиду недостатка знаний программирования ардуино. По этой причине обращаюсь. Суть проблемы в следующем. При измерении КСВ для отображения шкалы КСВ сигнал считывается с напряжения поступающего на аналоговый вход А2 (отражённая) строка 33)Таким образом длина шкалы будет всегда меняться в зависимости от напряжения на А2 (прилагаю фото трёх вариантов и значение напряжения на входе.На А1 Не пишу).Но значение КСВ отображённое в цифрах будет верным (строка 40) Хотел сделать так, чтобы отображение шкалы зависело от соответствующего значения КСВ , а не от считываемого напряжения с А2. Как это сделать я в тупике,поэтому обращаюсь на форум
#include <UTFT.h>
UTFT myGLCD(CTE32HR, 38, 39, 40, 41);
//ОБЪЯВЛЕНИЕ ВСТРОЕННОГО ШРИФТА
extern uint8_t GroteskBold24x48[];
extern uint8_t Grotesk32x64[];
extern uint8_t Arial_round_16x24[];
extern uint8_t hallfetica_normal[];
extern uint8_t BigFont[];
//ДЛЯ ШКАЛЫ КСВ МЕТРА
int swr = 0;
int swr_old = 0;
float V1; // АНАЛОГОВЫЙ ВХОД 1 ПАДАЮЩАЯ
float V2; // АНАЛОГОВЫЙ ВХОД 2 ОТРАЖОННАЯ..
float SWR; // КСВ
void setup() {
myGLCD.InitLCD(LANDS CAPE); //горизонтальное размещение
// очищаем экран
myGLCD.clrScr();
analogReference(INTE RNAL2V56); //встроенное опорное напряжение 2,56 вольта
analogReference(INTE RNAL2V56); // активация встроенного опорника MEGA 2560
}
void loop()
{
// ШКАЛА КСВ МЕТРА
V1 = analogRead(A1);
V2 = analogRead(A2);
SWR = (V1 + V2) / (V1 - V2);
swr = V2 / 17;
//swr=(V1 + V2) / (V1 - V2)/17;
myGLCD.setFont(Arial _round_16x24);
myGLCD.setColor(VGA_ WHITE);
//myGLCD.printNumI(swr ,440,210);
myGLCD.printNumF(SWR , 0, 300, 250, '.', 8, ' '); // вывод КСВ
if (swr > swr_old) {
for (int j = swr_old; j < swr; j++) {
myGLCD.setColor(VGA_ RED);
myGLCD.fillRect(65 + j * 6, 230, 68 + j * 6, 210);
if (j < 17)
myGLCD.setColor(VGA_ WHITE);
myGLCD.fillRect(65 + j * 6, 230, 68 + j * 6, 210);//ПРОБУЮ
}
swr_old = swr;
}
else {
myGLCD.setColor(0, 0, 0);
myGLCD.fillRect(65 + swr * 6, 230, 68 + swr_old * 6, 210);
swr_old = swr;
}
}
RA4HME,
Попробуйте этот вариант SWR1.rar
Отображение шкалы до сотых, + растянутая шкала в пределах SWR 1.00-2.00, + номного "косметики", убраны значения SWR более 10, и запредельные значения в отрицательную сторону.
PS: сейчас тоже мудрю swr power метр, на маленьком дисплее и ардуино нано, и мне опыт пригодится допилить код))
Последний раз редактировалось XENOMORPH; 01.11.2017 в 10:40.
Спасибо от RA4HME
Здравствуйте XENOMORPH!
Не знаю Вашего настоящего имени,поэтому обращаюсь по нику.Попробовал этот вариант, всё отлично. В который раз Вы меня вытягиваете. Большое спасибо.А делаете на маленьком дисплее для настройки антенн или для встраивания куда либо?
Делаю для си-би радиостанции, как небольшой, внешний блок.
Добавлено через 36 минут(ы):
Может кому и пригодится.PA_monitor_128X160_.rar
Библиотека, скетч в архиве, описание думаю не требуется, максимальная отображаемая мощность 200 ватт, макс. КСВ 10.
Дисплей такой.
Последний раз редактировалось XENOMORPH; 01.11.2017 в 11:52.
Спасибо от UK8AF
скачал. может пригодится. Есть и дисплей именно такой и Ардуинки. Очень интересная вещь этА Ардуино. Мне сразу мысль пришла - можно сделать антенный анализатор (не VNA)и т.д.
Например вот https://hackaday.com/2015/08/06/40-a...no-and-ad9850/ Да вроде и на этом форуме тоже были.
На индикаторе LPH8836 после выключения питания ещё какое-то время видно изображение. Может кто подскажет как это побороть.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)