Пультоскоп на Arduino 27МГц!!!

mity-spb1959@mail.ru
Offline
Зарегистрирован: 28.05.2021

  seri0shka  Здравствуйте,вот с этим пыжусь

на этой странице  -         http://srukami.inf.ua/pultoscop_v2.html

seri0shka
seri0shka аватар
Offline
Зарегистрирован: 19.11.2018

mity-spb1959@mail.ru пишет:
На 16мГц работает на 27мГц не хочет. Помогите с правкой скетча!!!
Посмотрел скетч. Привязки к частоте в скетче нет. Схема должна работать с любой частотой кварца, только будет отображать неправильные тайминги. Если не работает, скорей всего просто контроллер не хочет работать на такой частоте (слишком большая для него), или сам задающий генератор не возбуждается. Проверить не могу, нет такого дисплея.
mity-spb1959@mail.ru пишет:
Кстати у вас это не последняя версия прошивки.
Последние версии на последних страницах форума, а ваш совсем древний.

mity-spb1959@mail.ru
Offline
Зарегистрирован: 28.05.2021

Спасибо! Я вам очень благодарен. За то,что просто откликнулись. Да и вообще в голове проясняться стало.То естьмысли в стройный порядок ложатся,а это уже кое-что.

С уважением Александр.

 

Hy6yk
Offline
Зарегистрирован: 14.06.2020

hakan.1498 пишет:

1-Я не мог добавить настройки контрастности и подсветки в добавленное мной меню. Дальше белого экрана не выходит. Иногда на осциллографе отклоняется.
 
 
 

Возможно Вам надо добавить "case 6: Menu_ekrana();" в void loop()

Вот так: 

// sonsuz döngü - aslında, alt programlara atlıyoruz
void loop() {
  switch (mode) { // Ana menüden seçilen moda atla
    case 0 : Oscil();        break; // salınım içine "bırak"
    case 1 : Generator();    break; // jeneratöre "bırak" 
    case 2 : DdsGenerator(); break; // DDS oluşturucuya "bırak"
    case 3 : Terminal();     break; // USART alıcısına "bırak"
    case 4 : OscilSlow();    break; // yavaş bir osilatöre "bırakma"
    case 5 : LogAnalyzer();    break; // yavaş bir osilatöre "bırakma"
    case 6 : Menu_ekrana();    break; // Ayarlar 
  }  
}

UPD: И ещё - я могу ошибаться, но мне кажется что #define Ekran  A7 работать не будет. Во первых пины А6 и А7 это только аналоговые пины и они не могут использоваться как цифровые. Как цифровые можно использовать только пины А0...А6. При этом обращаться к ним следует как к цифровому пину и нумерация будет такая - A0 станет 14,  А1 - 15,  А2 - 16... , А6 - 20.  Т.е. если Вы, например, захотите сделать подсветку экрана на выводе ардуино А6, то надо писать #define Ekran  20.  Конечно же, смотрите сами какие у Вас пины свободны, чтобы не было конфликтов

UPD_2: Выше я написал с ошибкой - А0... А6 НЕ правильно. Правильно так - А0... А5 могут использоваться как цифровые. Прошу прощения.

Hy6yk
Offline
Зарегистрирован: 14.06.2020

hakan.1498 пишет:

2-Я выделю переключатель переменного / постоянного тока, но я хочу видеть его на экране, потому что он предотвращает несчастные случаи и дает информацию. Давал вывод кнопки на пин D8 и только при нажатии появляется принтер dc, все перепробовал "насколько мне известно", чтобы текущий код не выдавал половинную и неполную ошибку.
 

Когда я слышу про переменный ток, то в моём воображении сразу такая картинка - кто-то лезет в электросеть 220 вольт (ну или сколько у Вас там вольт в электросети). Поэтому не могу не отметить - шутки с электросетями опасны для жизни! Без дополнительных доработок этим "пультоскопом" можно измерять только напряжение не превышающее напряжение питания - т.е. 5 вольт! Измерение переменного напряжения это отдельная тема. Надеюсь Вы полностью осознаёте что делаете! 

Что же касается вывода на экран AC/DC - то вместо того, что Вы написали, можно использовать следующую конструкцию:

    if (digitalRead(KEY_V)== 0)   { // DC/AC düğme:) // тут надо смотреть как подключена кнопка, возможно надо 0 поменять на 1                                           
    display.setCursor(0,40);
    display.setTextSize(1);
    display.print("DC");
    display.display();  
    } else {
     display.setCursor(0,40);
     display.setTextSize(1);
     display.print("AC");
     display.display(); 
     }

 

 

hakan.1498
Offline
Зарегистрирован: 21.02.2020

Спасибо вам большое.  Вчера я решил проблему с меню, как вы сказали, но все равно спасибо.  Конечно, я не могу подать 220v на DC / AC, ни один осциллограф, который у меня есть, не выдержит это напряжение, есть простое решение с резисторами и конденсаторами, на форуме также есть функция ac / dc, я просто хотел написать об этом на экране.  Подсветку отдал на пин D8.  Сдвинул вывод vbat на вывод A6.  Выход термометра A0 неподвижен.  Выходы A1-A5 останавливаются для логического анализатора.  Добавлю модифицированный код, который будет измерять напряжение 0-25в или 50в постоянного тока на оставшийся вывод A7, все планируется, надеюсь памяти хватит, для этого отменил меню UART-терминала.  Я скоро попробую значок индикатора постоянного тока.  Конечно, если штифт останется, как мне пришло в голову в конце статьи, штифт 8 теперь используется для подсветки.  Не знаю, проверю: D: D

 

 

Hy6yk
Offline
Зарегистрирован: 14.06.2020

В моём сообщении выше про аналоговые выходы, была допущена ошибка. Заметил ошибку только сейчас и раз уже успели прочитать, то не стал исправлять, а просто дополнил текст правильной информацией. Прошу простить за не внимательность ))

hakan.1498
Offline
Зарегистрирован: 21.02.2020

раннее вмешательство. Я только что попробовал, сделал это на Arduino uno, теперь я не знаю, почему ПК упорно не загружает код на Arduino nano, хотя драйвер и все остальное в актуальном состоянии. Все равно пользуюсь linux: D Утром аналоговые пины буду ремонтировать. Пока все работает нормально. Частотную и осциллографическую часть я подробно не рассматривал. Я их тоже протестирую и скоро поделюсь готовой версией. большое спасибо. Это еще не конец, у меня снова вопросы: D

Hy6yk
Offline
Зарегистрирован: 14.06.2020

По поводу загрузки на плату Nano - проверьте у Вас всё так, как показано на картинке ниже?

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

Hy6yk пишет:

По поводу загрузки на плату Nano - проверьте у Вас всё так, как показано на картинке ниже?

Тоже была проблема с одной платой Nano ,лечилось прошивкой этого Бута..

hakan.1498
Offline
Зарегистрирован: 21.02.2020
Думаю, этот ответ был написан для меня.
Драйвер ch340 был обновлен, но он все еще не мог работать.У меня есть Arduino Mega со встроенным ch340, он работал плавно.
Он работает на моей плате Arduino с установщиком ft232rl, который я сделал. "У меня нет упомянутой опции, ее не было при использовании Arduino IDE версии 1.8.12.
Я не особо на этом останавливался, решение проблемы однозначно есть, но я устал тратить время (но, конечно, я открыт для решений, если вы мне поможете, это спасет меня от открытия чего-то, и я научусь результат быстро.
Пробую сейчас новый драйвер ch340g, новый актуальный. Я скачаю Arduino IDE 1.8.5 в виде папки и попробую 1.6.5, потому что она работает нормально. Я выложу полученный результат здесь.
hakan.1498
Offline
Зарегистрирован: 21.02.2020
Установил версию 1.8.5, проблема решена. На этот раз тот же код, но только белый экран, я не думаю, что это связано с настройками контрастности, потому что тот же код отлично работает в версии 1.6. Я думаю, что буду кодировать Arduino nano с Arduino uno. Для прототипа это хлопотно, но для идеальной поверхности pcd проблем нет, я буду использовать atmega328 вместе с 27mhz.
На форуме часто задают небольшой вопрос, но мне было интересно, нашел ли я экран телефона siemens по очень доступной цене, он точно такой же, как модель на форуме, я его еще не купил. Какие есть идеи и предложения? И поместится ли он в памяти arduino nano?
fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

hakan.1498 пишет:

Установил версию 1.8.5, проблема решена. На этот раз тот же код, но только белый экран, я не думаю, что это связано с настройками контрастности, потому что тот же код отлично работает в версии 1.6. Я думаю, что буду кодировать Arduino nano с Arduino uno. Для прототипа это хлопотно, но для идеальной поверхности pcd проблем нет, я буду использовать atmega328 вместе с 27mhz.
На форуме часто задают небольшой вопрос, но мне было интересно, нашел ли я экран телефона siemens по очень доступной цене, он точно такой же, как модель на форуме, я его еще не купил. Какие есть идеи и предложения? И поместится ли он в памяти arduino nano?

Я бы еще проверил версии используемых библиотек,может обновить надо.У меня либы не правленые были и пришлось с кириллицы меню на латиницу переводить

hakan.1498
Offline
Зарегистрирован: 21.02.2020

Да, может быть. В версии 1.8.12 я изменил библиотеки и кириллицу версии 19.1 со стрелкой, все в порядке, кириллица делает его нестабильным или не работает. Я смешал версию 19.1_ok и 19.1_temp только потому, что версия 19.1_ была нестабильной и не хотела работать. Версия 1.6.5 решила проблему, но на этот раз это была проблема для nano. В любом случае, решение этой проблемы для меня не будет проблемой, просто нужно время. Думаю, для меня было разумнее отказаться от версии логического анализатора и сделать версию tt-tester. Затем я упаковываю его и дорабатываю проект. потому что я понял, что режим осциллографа - это не продукт, с которым стоит связываться. Если моя цель - подключить к выходу операционный усилитель и получить чистый сигнал 100-150 кГц, было бы неплохо, если бы мне это удалось. Спасибо вам за помощь. Я буду здесь и мои вопросы не закончены: D

hakan.1498
Offline
Зарегистрирован: 21.02.2020

Всем привет.  Я снова пришел, чтобы утомить вас вопросами: D Я видел это изображение на странице (http://arduino.ru/forum/proekty/pultoskop-na-arduino-27mgts?page=82) и хочу попробовать.  Я всегда ненавидел такие рисунки, они легко подходят для начинающих.  Я тоже это понимаю, но тексты плохо переводят изображения, а тексты бессмысленны.  Каким образом должны быть места, которые я указываю знаком вопроса (?)?  Какими должны быть входы и выходы?  Например 7?  контакт ко входу D5 и т. д.  Я был бы очень признателен, если бы вы рассказали мне о местном жителе, которое я упомянул с вопросительным знаком.  Я очень хорошо разбираюсь в устройствах как дизайнер, но когда дело доходит до электроники, я все еще как вчерашний ребенок в программном обеспечении :( Так я учусь медленно. Я сожалею, что не начал в раннем возрасте. Я открыт и благодарен всем, кто может мне помочь. Извините за схему, рисование от руки, решение ее на компьютере мне кажется проще, но это очень плохой рисунок, если вы скажете мне рисовать на компьютере , Не буду полениться и нарисую. Спасибо.

mity-spb1959@mail.ru
Offline
Зарегистрирован: 28.05.2021

Ой ратуйте граждане хорошии ,из карманов вытащили грошии 

Кто знает как поправить показания частоты? я в нулевом цикле

Расходится на 39Гц Pultoskop v1.1

//############################################вывод напряжения
display.setCursor(0,0);
display.print(analogRead(channelAI)/ARDUINO_PRECISION*5.0);
display.print("V");
display.display();
//##############################################расчет частоты
        if (FreqCount.available()) {
            count = FreqCount.read();
           }
         
if(digitalRead(2)==HIGH) // проверяем состояние кнопки
            {
            razv=razv+5;
           }  
if(digitalRead(3)==HIGH) // проверяем состояние кнопки
            {
            razv=razv-5;
                if(razv<0) // проверяем состояние кнопки
                {
                razv=0;
                 }
           }     
delay(razv);//регулирует частоту выборки
}
 
Alex-Bee
Offline
Зарегистрирован: 13.03.2020

Такой монитор никто не пытался прикрутить?
https://aliexpress.ru/item/4000870410380.html
или
https://aliexpress.ru/item/4000586600244.html

Всё таки 192х64 а не 128х64. По высоте - так же, но длиннее. Тоже графика.
О мониторе - можно глянуть тут:
https://www.youtube.com/watch?v=VqeV1kV6lBg

 

kep
Offline
Зарегистрирован: 24.08.2021

привет народ, а никто не пробовал адаптировать прошивку под китай клон lgt8fx ?

там вроде кварц на 32, и некоторые библиотеки совместимы и параметры по интереснее и цена хорошая

вот такой нпример https://github.com/dbuezas/lgt8fx/wiki/Pro-Mini-Style---SSOP20

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

Я раньше предлагал под ESP32  или blue pill  адаптировать ибо железо на порядок получше 

Alex-Bee
Offline
Зарегистрирован: 13.03.2020

Наверное потому предложение не пошло, что на ESP32, у желающих создать "пультоскоп", возникли непреодолимые препятствия (ссылка на которые тут была). А на STM32F103C8, в итоге, получится DSO138, GFXscope или что либо подобное. И, главное, этот будет очень далеко от Arduino

kep
Offline
Зарегистрирован: 24.08.2021

ну я и говорю, китайский клон ардуинки, цена вообще 150р,народ вовсю его юзает уже в других проектах и тд, из среды IDE поддерживается, прошивается , возможно библиотеки какие нужно  будет, зато частота уже 32мгц, я будет время попробую запустить

вот его обзор https://www.youtube.com/watch?v=Mk8YXS1tkhI&t=1s

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

Ну вот здесь ,путем стараний  разработчик воплатил целый мультитул на основе ESP32 https://habr.com/ru/post/553100/

Вот промовидео https://youtu.be/yXxKaJ9i7Ug

Alex-Bee
Offline
Зарегистрирован: 13.03.2020

По вашей ссылке, автор четко знает что ему надо. А в комментах к проекту указывает, что готов мириться с фактом:
"ESP32 без внешнего АЦП — так себе задумка для ослика.
Даже производитель признал нелинейность и большой разброс показаний встроенного АЦП".
Он на это ответил:
"Да, у них с линейностью АЦП беда в начале диапазона, но есть и софтварное решение.
Однако, в этом показометре даже разрешение дисплея будет меньше чем эта погрешность :)"

fly245
fly245 аватар
Offline
Зарегистрирован: 25.08.2013

Alex-Bee пишет:

По вашей ссылке, автор четко знает что ему надо. А в комментах к проекту указывает, что готов мириться с фактом:
"ESP32 без внешнего АЦП — так себе задумка для ослика.
Даже производитель признал нелинейность и большой разброс показаний встроенного АЦП".
Он на это ответил:
"Да, у них с линейностью АЦП беда в начале диапазона, но есть и софтварное решение.
Однако, в этом показометре даже разрешение дисплея будет меньше чем эта погрешность :)"

Человек в одного довел дело почти до законченного решения.Я просто привел пример,что можно использовать другую базу.Умел и знал бы сам,сделал бы..

Анатолий89
Offline
Зарегистрирован: 16.03.2021

А есть ли вариант на ILI9225G?

...разобрался сам,вопрос не актуален

aloyz
Offline
Зарегистрирован: 08.11.2017

Может поделитесь?

Анатолий89
Offline
Зарегистрирован: 16.03.2021

Воюю,никак не могу вывести на экран переменные

Например 

tft.setFont(Terminal6x8);
   tft.drawText(0, 00, "t=");

на экране "t=" как и положено,а вот

tft.drawText(0, 12,t_del);

или

tft.drawChar(0, 136,Vakb);

выводятся только крякозяблы

К сожалению не профи в ардуино,пытаюсь разобраться 

(набрал 5 таких дисплеев,теперь думаю куда бы их поставить)

aloyz
Offline
Зарегистрирован: 08.11.2017

И у меня такие завалялись.

Анатолий89
Offline
Зарегистрирован: 16.03.2021

Немного разобрался вроде,надо писать

tft.drawText(12, 0,  String(t_del));

и

tft.drawText(100, 100,  String(Vakb));

 

Анатолий89
Offline
Зарегистрирован: 16.03.2021

Кварц 16 МГц,можно смотреть сигнал боле-менее до 15 кГц,выше график сильно искажается...

Как можно повысить хотя бы до 100 кГц?