для того чтобы поменять пин осцила необходимо менять битовую маску в ADMUX
Биты 3-0 MUX3, MUX2, MUX1 и MUX0. Данная группа битов определяет какой вход будет активен в качестве входа для АЦП. Для определения номера пина входного канала, необходимо данную группу сконфигурировать согласно таблице представленной ниже.
Ну все - теперь я не самый крутой в программировании пультоскопа:))
Всё-таки мне ваша версия 18 больше нравится. Хотя кое-что для себя поменял в ней в меру своих возможностей. Одно из главных изменений- добавил кнопку "Пауза", чтоб можно было вовремя нажать, а не через меню, ну и скоростей в Терминал добавил, для меня функция терминала востребована. И ещё по мелочам.
Что хотелось бы, но не могу: в Терминале чтоб текст при заполнении экрана сдвигался вверх (вот здесь неплохо реализовано:
/*
https://www.google.com.ua/url?url=https://www.mini-tech.com.ua/index.php...
СТАТЬЯ UART TTL терминал на базе Arduino Pro Mini
СКЕТЧ ИСПРАВЛЕН мной (seri0shka)2018-11-15 под Ардуино 1-6-51
*/
#include <LCD5110_Graph.h> // Подключение библиотеки LCD5110_Graph
LCD5110 myGLCD(7,6,4,2,3); // SCLK, DN(MOSI), D/C, RST, SCE
extern uint8_t TinyFont[]; // Будет использоваться внешний шрифт TinyFont
char screen[168];
int currentPosition=0;
//--------------------------------
void setup()
{
Serial.begin(9600);
myGLCD.InitLCD(); // Инициализация дисплея
myGLCD.setFont(TinyFont); // Установка шрифта
myGLCD.print("Terminal v1.1 ", CENTER, 0);
myGLCD.print("by mini-tech.com.ua", CENTER, 6);
myGLCD.update(); // Обновление содержимого дисплея
delay (3000);
myGLCD.clrScr();
}
//--------------------------------
void loop()
{
byte incomeByte;
while (Serial.available()>0) // Если в буфере Serial порта есть доступные даные
{
incomeByte=Serial.read(); // Считывание байта в переменную incomeByte
switch (incomeByte)
{
case 0 :
while ((currentPosition+1)%21 != 1){
screen[currentPosition]=' ';
currentPosition++;}
break;
case 1 :
while ((currentPosition+1)%21 != 1){
currentPosition--;
screen[currentPosition]=' ';}
break;
default:
screen[currentPosition]=char(incomeByte); // Преобразование полученного байта в тип char
currentPosition++; // и его помещение в массив screen. Переход на след. позицию
//}
if (currentPosition > 167){ // Если экран заполнен
screenShift(); // Вызов функции сдвига экрана вверх на одну строку
currentPosition=147;} // Перемещение в начало последней строки
}
screenPrint(screen); // Вызов функции вывода данных на дисплей
}
}
//--------------------------------
void screenPrint(char displayMatrix[168]) // Функция вывода данных на дисплей
{
char line[21]; // Строка экрана
int i, j;
for(i=0; i<8; i++){ // Цикл для строк
for(j=0; j<21; j++){ // Цикл для символов
line[j]=displayMatrix[i*21+j];} // Наполнение текущей строки
myGLCD.print(line, 0, i*6); // Печать строки в буффер дисплея
myGLCD.update();} // Обновление содержимого дисплея
}
//--------------------------------
void screenShift()// Функция сдвига содержимого дисплея на одну строку вверх
{
for (int i=0; i<147; i++){ // Каждый символ по очереди копируется на ту же
screen[i]=screen[i+21];} // позицию в верхней строке
for (int i=147; i<168; i++){ // Последняя строка
screen[i]=' ';} // заполняется пробелами
}
А вот вместо Медленного осциллографа (или в дополнение к нему) можно было бы сделать логический анализатор на 2 цифровых канала или более. Практически 90% необходимого уже есть в Медленном осциллографе.
это китайский "клон" атмеги328 только в 2 раза дешевле и плюшек класных очень много особенно для этого пультоскопа
чето только стоит 32мега синтезатор(на лету переключаемся 2 командами и никаких перепаек кварца). 12 бит ацп с усилителем в 8.16.32 раза. еще один 16бит таймер. цап - можно генерить dds не софтово а хардово.:)
+ логика на 3.3 вольта по умолчанию(есть перемычка на 5в) - к экранам 3.3в как и нокиа5110 можно напрямую подсоединяться.
к сожалению библиотеки ардуиновские для него жрут на 10% больше, поэтому микс с ттестором не влазит.
по подключению и коду можно ничего не менять. производитель обещает полную совместимость с атмегой328.
чтобы на экране красиво все было развертки надо подбирать в зависимости от частоты сигнала, а опорное в зависимости от амплитуды (максимального напряжения сигнала). ((можно вообще переписать осцил чтобы он делал это автоматом - вроде у Electronika83 в одном из скетчей это было сделано))
на 1Кгц сигнале я ставил развертку 3 (t3) - это если на 16мгц (стандартном) кварце работает ардуино.
если ваш генератор выдает 5в а приходит меньше вольта значит в пути где-то теряется ;) Проверте качество пайки и соединения земляного щупа и щупа осцила. так же проверьте номинал резистора на входе A4.
((можно вообще переписать осцил чтобы он делал это автоматом - вроде у Electronika83 в одном из скетчей это было сделано))
Пользуюсь до сих пор автоматикой что смог найти тут и внедрить в один скетч. Я не заметил отличий от ручного управления, просто атоматом намного меньше телодвижений и зря забросили авто продвижение.
Ещё как то заменил вместо
Freq=1000000/((y-Freq1-1)*3.27)
на
Freq=1000000/((y-Freq1-1)*3.29);
и добавил flagFreq2=0;
flagFreq1=0; flagFreq2=0; flagFreq3=0;
и теперь частота в точку и не слетает когда перебераешь развёртку в ручном режиме для просмотра сигнала разной ширины. А частота отображается у меня вот (в тысячных)
display.print(count/1000.0,3);
Я не програмист, но мне интересно как оно работает))). Переделать уже свою модель не могу, так как корпус уже не разборный. Снимите кто нить видос как пашет ТТ и осцил. Собрать руки чешутся, но автоматику бросать не хочу))).
Её немного потеребил для себя, работает на автомате. Пару страниц назад есть описание и видео снято. Приборчик с этим экраном у меня выцыганили (купили), так бы ещё немного подшаманил как сейчас в 5110 например как постом выше.
Вот та что я тут нашол версия под 1306 от Electronik83 + мод
Может в нём уже прошивку поковырял?)))) Можно там что улучшить? 11.11 кУпил себе такой mini за 12.50$ по скидке/+ щуп с делителем за 3.50, вот жду чюдо)).
У кого-нибудь аппаратный замер частоты работает адекватно при не подключении ко входу ничего, кроме наводок сети (типа как антена на 50 гц)? У меня показывает то 71, то 75, то много разных неправильных герц...
У меня по нулям, а когда через кандёр (режим АС) то прыгает 45, 50, 55 и то нужно щупы расположить (типо найти волну) и подождать пока полоса графика немного поднимется если повезёт, но в ословном всегда ноль показывает. Смотри может хреновый вильтр по питанию если работает от повышалки. Он может давать хорошие помехи. В режиме На 0.2 вольта + увеличение сигнала (magnify) отлично помехи вычисляли.
Может в нём уже прошивку поковырял?)))) Можно там что улучшить? 11.11 кУпил себе такой mini за 12.50$ по скидке/+ щуп с делителем за 3.50, вот жду чюдо)).
Не. Сорцов я не видел вообще ) Точнее не парился. На сайте смотрел только готовый бинарник, там версия старее чем у меня зашита.
Сам брал без 11.11 за 800 рублей ) Щупы рублей 500 отдавал, но очень и очень давно, когда долляр за 70 рублей был.
Пару раз уже пригодился (смотрел сигнал с шим контроллера). Вроде ни чего. На генераторе не проверял. Обзоров в инете не видел именно на него.
Я перед контроллером устонавливал опирационник на него подовал смещщение минусом и просматривал полную картинку. Питание ОУ тоже 0..+5в. Может кому пригодится, минус я брал из этой-же схемы. В схеме 3866 будет влияние на входной сигнал.
Я перед контроллером устонавливал опирационник на него подовал смещщение минусом и просматривал полную картинку. Питание ОУ тоже 0..+5в. Может кому пригодится, минус я брал из этой-же схемы. В схеме 3866 будет влияние на входной сигнал.
А можно схемку хоть от руки, а то я совсем не бу-бу:?
Я перед контроллером устонавливал опирационник на него подовал смещщение минусом и просматривал полную картинку. Питание ОУ тоже 0..+5в. Может кому пригодится, минус я брал из этой-же схемы. В схеме 3866 будет влияние на входной сигнал.
На сегодня прибор разобрал. Но работал он хорошо. Соберу заново. Источник минуса это два ярких светодиода и два фотодиода по парно в термоусадке. Схема примерно такая. ОУ AD8032, но наверное и другой пойдёт.
Вопрос к старожилам на форуме (прочитать все 80 сраниц пока не успел). Никто не поднимал тему изготовления логического анализатора на базе пультоскопа? Достаточно вместо аналоговых измерений читать состояние порта РС (входы А0...А5 или А0...А7) максимально быстро, и затем отобразить состояние в каждый момент времени. К сожалению, моих познаний и времени для реализации катастрофически не хватает. А вот анализатор очень бы пригодился, причём в первую очередь для конструкций на ардуино. Вход А3 при этом может использоваться для аналогового чтения в режиме осциллографа, а в режиме анализатора все 4...8 входов порта как цифровые. В прошивке №18 от Electronik83 эти входы доступны, а режим анализатора установить вместо "медленного осциллографа" (разумеется, первый вариант тоже может быть нужен кому-то).
Не проходите мимо, напишите своё мнение по поводу:
1. Возможна ли реализация?
2. Какая максимальная частота (или минимальная длительность импульса) доступна для измерений?
3. Насколько востребован такой режим?
На фото не реализация, а только макет примерного вида
Vintick, к 11 ноге неплохо два защитных диода подключить, они спасут контроллер в случае неправильного подключения к высокому напряжению, даже 220 вольт. Хотя R13 погибнет во имя спасения.)
А вместо VD1...VD3 поставить красный светодиод- падение напряжения 1,7 вольт, остаётся 3,3 , как раз это и надо. Будет попутно индицировать включение. Осторожно, сейчас бывают красные светодиоды с бóльшим падением напряжения, это не опасно, но дисплей может не работать.
Тут скорей всего вопрос - а сколько можно комфортно разглядеть на этом экране?
Прикинул в пэинтбраше: думаю, что пять каналов - самое то:)
Попытаюсь что-нибудь нарисовать, но времени ваще мало - где то час полтора в день.... А пишу я крайне долго программы... яж не программист так то, просто хобби....
Так до давно хотел сделать, даже тема тут поднималась....
Поскольку сигнал цифровой, то можно хоть все 8 разместить на экране без проблем. Вопрос только, повлияет ли увеличение количества на максимальную доступную частоту. Хотя оптимально действительно 5.
Обязательно нужно оставить прокрутку (в паузе), делитель частоты, и индикатор паузы. Уровень синхронизации и опорное напряжение теряют смысл. Номеровать каналы тоже не стóит, 5 каналов неплохо различаются визуально, а терять драгоценное место на цифры не хочется.
Диоды только для защиты входа от превышения напряжения и от обратной полярности. Вообще в любой микросхеме они уже есть внутри, но в Атмеге они ооочень слабые по току, и при неправильном пользовании сгорают. Если Вы уверены в себе и своей ардуине, то можно не ставить, на нормальную работу никак не влияет.
Мыслить нужно глобально! Обидно будет, если одного не хватит (это как зарплата: сколько ни есть- всегда мало). Сделать выбор или при прошивке (то есть 2 варианта прошивки), или при выборе режима. Более читаемый для меня верхний вариант. И прошивать себе буду однозначно с 5 каналами.
На фото уже действующая заготовка?
Кстати, уже даже вспомнил про один терзающий вопрос, там мне как раз 5 нужно, чтоб понять процесс.
пин 5 соедените с A4
для того чтобы поменять пин осцила необходимо менять битовую маску в ADMUX
Пин 5 соединил с пином А4. От них сопротивление на 10кОм далее на сигнал. Нет синусоиды.
Подаю этот же сигнал на осциллограф на компьютере - сигнал есть.
_Пин 2 задействовал на подсветку
_Уплотнил меню осцила чтоб частоту норм показывало
https://cloud.mail.ru/public/955c/Ex3zHgJCv
Всё-таки мне ваша версия 18 больше нравится. Хотя кое-что для себя поменял в ней в меру своих возможностей. Одно из главных изменений- добавил кнопку "Пауза", чтоб можно было вовремя нажать, а не через меню, ну и скоростей в Терминал добавил, для меня функция терминала востребована. И ещё по мелочам.
Что хотелось бы, но не могу: в Терминале чтоб текст при заполнении экрана сдвигался вверх (вот здесь неплохо реализовано:
А вот вместо Медленного осциллографа (или в дополнение к нему) можно было бы сделать логический анализатор на 2 цифровых канала или более. Практически 90% необходимого уже есть в Медленном осциллографе.
Что-то меню оооочень уплотнилось
Adafr_gfx из последнего архива используйте
Да. Все из последнего архива
приветствую. попался вот такой экранчик - https://ru.aliexpress.com/item/128-128-1-44-SPI-TFT/32863631844.html?spm=a2g0s.8937460.0.0.4c402e0eYkHcYR . будет работать или колдовать придётся ? вроде написано - замена 5110
Без магии никак.
разное разрешение значит разные буфера под экран - разные библиотеки. Плюс этот "пультоскоп" очень завязан на разрешение экрана Нокии5110 .
ясненько. значит не будем велик придумывать.
На другом компьютере залил последний скетч с последней библиотекой - все работает.
приветствую. попался вот такой экранчик - https://ru.aliexpress.com/item/128-128-1-44-SPI-TFT/32863631844.html?spm=a2g0s.8937460.0.0.4c402e0eYkHcYR . будет работать или колдовать придётся ? вроде написано - замена 5110
Здесь в первом десятке страниц был код пультоскопа для этого экрана.
Но он там совсем простой.
У самого усть такой экран и очень хотелось бы версию пол него. Но видимо или самому брять бубен или отказываться от идеи.
проверил пультоскоп на wemos xi lgt8f328p
http://arduino.ru/forum/apparatnye-voprosy/obzor-klona-megi328-lgt8f328p
это китайский "клон" атмеги328 только в 2 раза дешевле и плюшек класных очень много особенно для этого пультоскопа
чето только стоит 32мега синтезатор(на лету переключаемся 2 командами и никаких перепаек кварца). 12 бит ацп с усилителем в 8.16.32 раза. еще один 16бит таймер. цап - можно генерить dds не софтово а хардово.:)
+ логика на 3.3 вольта по умолчанию(есть перемычка на 5в) - к экранам 3.3в как и нокиа5110 можно напрямую подсоединяться.
к сожалению библиотеки ардуиновские для него жрут на 10% больше, поэтому микс с ттестором не влазит.
по подключению и коду можно ничего не менять. производитель обещает полную совместимость с атмегой328.
У меня почему-то на t6 при опорных 5В синусоиды почти нет. Что бы что-то увидеть приходится выставлять t1 и опорную 1.1
Что это может быть?
чтобы на экране красиво все было развертки надо подбирать в зависимости от частоты сигнала, а опорное в зависимости от амплитуды (максимального напряжения сигнала). ((можно вообще переписать осцил чтобы он делал это автоматом - вроде у Electronika83 в одном из скетчей это было сделано))
на 1Кгц сигнале я ставил развертку 3 (t3) - это если на 16мгц (стандартном) кварце работает ардуино.
если ваш генератор выдает 5в а приходит меньше вольта значит в пути где-то теряется ;) Проверте качество пайки и соединения земляного щупа и щупа осцила. так же проверьте номинал резистора на входе A4.
((можно вообще переписать осцил чтобы он делал это автоматом - вроде у Electronika83 в одном из скетчей это было сделано))
Ещё как то заменил вместо
на
и добавил flagFreq2=0;
и теперь частота в точку и не слетает когда перебераешь развёртку в ручном режиме для просмотра сигнала разной ширины. А частота отображается у меня вот (в тысячных)
Я не програмист, но мне интересно как оно работает))). Переделать уже свою модель не могу, так как корпус уже не разборный. Снимите кто нить видос как пашет ТТ и осцил. Собрать руки чешутся, но автоматику бросать не хочу))).
Не забросили - делаем))) Можно поподробней про flagFreq2?
Было
Стало
Видос работы залью, добавлю ниже.
А есть версия под 1306 I2C?
Та что на главной - слишком уж кастрированная.
Да есть. С гаража приеду - выложу...
Её немного потеребил для себя, работает на автомате. Пару страниц назад есть описание и видео снято. Приборчик с этим экраном у меня выцыганили (купили), так бы ещё немного подшаманил как сейчас в 5110 например как постом выше.
Вот та что я тут нашол версия под 1306 от Electronik83 + мод
https://yadi.sk/d/1fvwhbao3acrvX
Словечко воткну (смотрю вы тут разгорячились опять). Я за интерес прожму, но к слову линк оставлю https://ru.aliexpress.com/item/DSO138mini-DIY-DSO138/32916776045.html
955,86 руб
Пользуюсь пару месяцев, полет нормальный. В комплекте разъем BNC (был, уже нет... у меня был BNC и клемник и проводок под простые зажимчики)
Может в нём уже прошивку поковырял?)))) Можно там что улучшить? 11.11 кУпил себе такой mini за 12.50$ по скидке/+ щуп с делителем за 3.50, вот жду чюдо)).
(видео https://youtu.be/iw0Y2Bptwyg)
скетч на всякий случай тот что в видео
Для SSD1306 моя версия. Вроде самая стабильная, но старая....:
https://yadi.sk/d/4Gvs0l3ur9ynHw
У кого-нибудь аппаратный замер частоты работает адекватно при не подключении ко входу ничего, кроме наводок сети (типа как антена на 50 гц)? У меня показывает то 71, то 75, то много разных неправильных герц...
У меня по нулям, а когда через кандёр (режим АС) то прыгает 45, 50, 55 и то нужно щупы расположить (типо найти волну) и подождать пока полоса графика немного поднимется если повезёт, но в ословном всегда ноль показывает. Смотри может хреновый вильтр по питанию если работает от повышалки. Он может давать хорошие помехи. В режиме На 0.2 вольта + увеличение сигнала (magnify) отлично помехи вычисляли.
Может в нём уже прошивку поковырял?)))) Можно там что улучшить? 11.11 кУпил себе такой mini за 12.50$ по скидке/+ щуп с делителем за 3.50, вот жду чюдо)).
Не. Сорцов я не видел вообще ) Точнее не парился. На сайте смотрел только готовый бинарник, там версия старее чем у меня зашита.
Сам брал без 11.11 за 800 рублей ) Щупы рублей 500 отдавал, но очень и очень давно, когда долляр за 70 рублей был.
Пару раз уже пригодился (смотрел сигнал с шим контроллера). Вроде ни чего. На генераторе не проверял. Обзоров в инете не видел именно на него.
Vintick, а цепочка R21 -C7 в режиме транзистор-тестера мешать не будет!?
Почему-то видно только половину синуса. Есть возможность увидеть всю кривую?
Если сделать входную цепь как в сообщении 3866, то можно.
Я перед контроллером устонавливал опирационник на него подовал смещщение минусом и просматривал полную картинку. Питание ОУ тоже 0..+5в. Может кому пригодится, минус я брал из этой-же схемы. В схеме 3866 будет влияние на входной сигнал.
Я перед контроллером устонавливал опирационник на него подовал смещщение минусом и просматривал полную картинку. Питание ОУ тоже 0..+5в. Может кому пригодится, минус я брал из этой-же схемы. В схеме 3866 будет влияние на входной сигнал.
А можно схемку хоть от руки, а то я совсем не бу-бу:?
Я перед контроллером устонавливал опирационник на него подовал смещщение минусом и просматривал полную картинку. Питание ОУ тоже 0..+5в. Может кому пригодится, минус я брал из этой-же схемы. В схеме 3866 будет влияние на входной сигнал.
А подробней можно?
На сегодня прибор разобрал. Но работал он хорошо. Соберу заново. Источник минуса это два ярких светодиода и два фотодиода по парно в термоусадке. Схема примерно такая. ОУ AD8032, но наверное и другой пойдёт.
Беспроигрышный вариант: просто, надёжно, не влияет на источник сигнала, амплитуда от -2,5 вольт до +2,5 вольт (то есть амплитуда 5 вольт)
Вопрос к старожилам на форуме (прочитать все 80 сраниц пока не успел). Никто не поднимал тему изготовления логического анализатора на базе пультоскопа? Достаточно вместо аналоговых измерений читать состояние порта РС (входы А0...А5 или А0...А7) максимально быстро, и затем отобразить состояние в каждый момент времени. К сожалению, моих познаний и времени для реализации катастрофически не хватает. А вот анализатор очень бы пригодился, причём в первую очередь для конструкций на ардуино. Вход А3 при этом может использоваться для аналогового чтения в режиме осциллографа, а в режиме анализатора все 4...8 входов порта как цифровые. В прошивке №18 от Electronik83 эти входы доступны, а режим анализатора установить вместо "медленного осциллографа" (разумеется, первый вариант тоже может быть нужен кому-то).
Не проходите мимо, напишите своё мнение по поводу:
1. Возможна ли реализация?
2. Какая максимальная частота (или минимальная длительность импульса) доступна для измерений?
3. Насколько востребован такой режим?
На фото не реализация, а только макет примерного вида
Подумаю... кода не видел...
Vintick, к 11 ноге неплохо два защитных диода подключить, они спасут контроллер в случае неправильного подключения к высокому напряжению, даже 220 вольт. Хотя R13 погибнет во имя спасения.)
А вместо VD1...VD3 поставить красный светодиод- падение напряжения 1,7 вольт, остаётся 3,3 , как раз это и надо. Будет попутно индицировать включение. Осторожно, сейчас бывают красные светодиоды с бóльшим падением напряжения, это не опасно, но дисплей может не работать.
Спасибо, seri0shka, изменил, только диодов будет мало.
Диодов достаточно, а если хотите стабилитроны, то оставить VD5.
VD6 включён неправильно.
Диоды желательно высокочастотные, напряжение любое.
seri0shka, сколько каналов нужно?
Тут скорей всего вопрос - а сколько можно комфортно разглядеть на этом экране?
Прикинул в пэинтбраше: думаю, что пять каналов - самое то:)
Попытаюсь что-нибудь нарисовать, но времени ваще мало - где то час полтора в день.... А пишу я крайне долго программы... яж не программист так то, просто хобби....
Так до давно хотел сделать, даже тема тут поднималась....
Можно же читать целиком весь порт (все 8 бит)...
Диодов достаточно, а если хотите стабилитроны, то оставить VD5.
VD6 включён неправильно.
Диоды желательно высокочастотные, напряжение любое.
А какую роль здесь играют диоды? Для чего они?
Сделал без них - все работает.
seri0shka, сколько каналов нужно?
Поскольку сигнал цифровой, то можно хоть все 8 разместить на экране без проблем. Вопрос только, повлияет ли увеличение количества на максимальную доступную частоту. Хотя оптимально действительно 5.
Обязательно нужно оставить прокрутку (в паузе), делитель частоты, и индикатор паузы. Уровень синхронизации и опорное напряжение теряют смысл. Номеровать каналы тоже не стóит, 5 каналов неплохо различаются визуально, а терять драгоценное место на цифры не хочется.
[/quote]
А какую роль здесь играют диоды? Для чего они?
Сделал без них - все работает.
[/quote]
empirevv
Диоды только для защиты входа от превышения напряжения и от обратной полярности. Вообще в любой микросхеме они уже есть внутри, но в Атмеге они ооочень слабые по току, и при неправильном пользовании сгорают. Если Вы уверены в себе и своей ардуине, то можно не ставить, на нормальную работу никак не влияет.
О нет, я не настолько в себе уверен )
Спасибо, поставлю.
Дубль
Только что увидел на дисплейчике 5 каналов - для меня - дак мелковато. Думаю, что 4 - самое то!
Ещеж нужно куда то впихнуть полоску прокрутки для паузы.... Так что 4 канала... А хотя.....
Дак четыре или пять? А, seri0shka?
Мыслить нужно глобально! Обидно будет, если одного не хватит (это как зарплата: сколько ни есть- всегда мало). Сделать выбор или при прошивке (то есть 2 варианта прошивки), или при выборе режима. Более читаемый для меня верхний вариант. И прошивать себе буду однозначно с 5 каналами.
На фото уже действующая заготовка?
Кстати, уже даже вспомнил про один терзающий вопрос, там мне как раз 5 нужно, чтоб понять процесс.