Операционники не нужны ибо пультоскоп дальше звука не вылезает,если не использовать слишком входное и настроить lm358 на 1,1 то частоту до искажения мы получим 150 кГц,чем вам не чем?
сопротивления для согласования с дисплеем можно не ставить. проверено. моя макетка пультоскопа (смотри пост#2399 и #2400) на старом аккумуляторе 750 мА с DC-DC UP до 5в отработала до выключения ( со включенной подсветкой !) 6 часов с дисплеем nokia 5110.
собрал девайс, теперб голову ломаю, показания скачут около 30кгц, на импульсы мультиметра 50 гц не реагируют. щуп не экранирован, кварц 16 родной. может кто ксинет скетч под 32 и ls020b.
собрал девайс, теперб голову ломаю, показания скачут около 30кгц, на импульсы мультиметра 50 гц не реагируют. щуп не экранирован, кварц 16мгц родной. может кто ксинет скетч под 32 и ls020b.
1. в функции Frequency() вместо if применяй switch case она удобнее а главное быстрее раза в 3 работает.
2.в функции DDSSinus() для отрисовки синуса и остальных форм сигнала можно использовать массивы для DDS генератора. напиши функцию которая будет в цикле со смещением по горизонтали выводить значения из массива формы(с маштабирование по высоте конечно) и получишь картинку. функция будет строк 10-15. как параметры можно указать где вывести (X, Y, массив, кратность маштабирования) и получится универсальная функция.
3. функции могут примнимать параметры и возвращать значения - не забывай об этом. очень упрощает програмирование .
я очень давно (лет 15) не программировал, сейчас вспоминаю как это делал (скорее учусь заново).
я сел за программирование несколько недель назад, тоже с 15-ти летней паузой (в 2002-м году в зимнем семестре сдал С++ и никогда к нему не возвращался) .
По пункту 1 - ваще не знал, новое для меня утверждение, буду делать.
П.2 - так и хотел сделать, но завтыкал на вырисовывании точек на экране и тут понеслось,...
П.3 - с этой мыслью (именно так она и звучала у меня в голове) пытался воспользоваться функцией return, но что-то все время шло нетак.
Буду утюжить код Electronik83, уверен многому научусь, + твои советы. Спасибо. )
я вообще предлагаю делать законченные функции или комплекты функций и выкладывать с описаниями работы и входных параметров . и каждый сможет выбрать для себя то что ему требуется от пультаскопа и прикрутить требуемую функцию к своему коду (сделать как конструктор). и конечно оставлять "свои отпечатки" в описании функций чтобы форумчане могли в случае проблеммы обратиться с вопросами.
тоже нахожу эту мысль самой правильной, именно по такому принципу и надо работать. Можно договориться псать стандартные хэштэги в сообщении с релизом законченой функции, дабы его можно было потом найти на форуме. Страниц то тут уже больше пятидесяти и дело только начинается, люди новые поддтягиваются,.. я вот например )
проблема в том что функции связанные с выводом информации на дисплей, а это 50%, должны быть заточены под КОНКРЕТНЫЙ дисплей или используемую библиотеку. я сейчас занят другим проектом с дисплеем от сименса с55 и использую библиотеку U8glib , класная библиотека, так пока разобрался как выводить на экран 100 потов сошло.
дорисуй внутри функции свой двухмерный массив с формами сигналов. пусть это будут локальные переменные . вызвал функцию - они загрузились в озу, вышел - место освободилось. а то они когда обьявленны вне функции и видимы для всех только зря занимают место в ОЗУ. а так очень лаконично! молодец !
у меня ls020, Вы как то просто говорили, что можете переделать под 8 бит, но потом как я понял вас долго не было и у вас сломался компьютер, поэтому и спрашиваю не делали ли)
на счёт delay(200); // чтоб кнопки нормально нажимались от кварца к кварцу этот параметр требует корректировки. Думаю все такие delay переделать на переменные, пропорциональные overlock.
Полностью согласен. Но я не испытвал еще ни разу на других кварцах.
Electronik83, какая у тебя максимальная частота на выходе DDS?
600 - 700 Гц
забыл спросить про кварц..
Так 600 или 700 ? У меня на всех функциях на 16Мгц 599-600Гц, а на кварце 24Мгц - ровно в 1,5 раз больше 899-900Гц. Ведь количество точек в массиве одинаковое во всех функциях - 32.
Для разных вариаций программы разная частота получается. Поточнее могу сказать вечером.
Попробывал сделать перезагрузку ардуины с двух кнопок + и - при одновременном нажатии. С генераторов и монитора порта нормально перезагружается. А с осцлла - выпадает в цветочек адафрута и все. Таймер гасил, прерывания вырубал. Как нормально сделать?
з.ы. моя подруга сказала, что 8 марта, вот и показывает цветок)))
загляни в мой код,... даже не знаю что у тебя пошло нетак,... странно. Обычно у меня на адафруте зависает когда кнопки резюками не подтянуты. Или ты без резюков с минусом на кнопках сидишь? ... странно всё равно.
Собрал проект Минитерминал v.2.0 http://avrproject.ru/publ/miniterminal_v_2_0/1-1-0-157, но там обрезает что не уместилось в строке (отображается только 14 символов из строки) и не разберешь по отрывкам особо. В Вашей прошивке строка полностью отображается, перенос в следующую строку есть? Спасибо
Получается что если частота будет равна 1000, то он не выведет её. Тут можно использовать else или в одном из условий =< или => сделать.
ДА! , только не "=>", а ">=" пришлось немного погуглить команды с++. Да и 1000Гц получится на 27+ кварце, у меня он нормально не запустился, поэтому ошибку даже не увидел.
Electronik83 пишет:
И вывод меню главного можно в четыре раза уменьшить код.
уже подсмотрел как ты это сделал, сейчас буду плагиатить ! )
Electronik83 пишет:
Не обязательно шпиговать код строчкой:
if (digitalRead(pravo) == HIGH && digitalRead(levo) == HIGH) {
Reset_AVR(); // soft reset
достаточно прописать один раз , вот тут:
if (pultoskop == 1) {
Generator();
}
if (pultoskop == 2) {
DDSGenerator();
}
if (pultoskop == 3) {
TTL();
}
if (digitalRead(pravo) == HIGH && digitalRead(levo) == HIGH) {
Reset_AVR(); // soft reset
}
точняк! исправил! спасибо!
Electronik83 пишет:
По DDS-генератору:
1. Можно в четыре раза скратить вывод на экран по коду.
сейчас буду плагиатить
Electronik83 пишет:
2. Картинки сигналов можно брать из массива, который мы кормим PwmWrite
там коэфициенты считать, мороки ужас!,.. но делать придется,..
Electronik83 пишет:
EDIT: Насчет levo и pravo = Reset_avr немного не прав... из dds генератора не сбрасывается, если не опрашивать эти кнопки.
из главного меню DDS генератора levo+pravo=Reset работает, как и на остальных. Вход и выход в ПОДменю DDS делается с помощью OK, а levo+pravo=Reset в ПОДменю уже не работает, так задумано.
Ответ в порт, это нужная функция, как реализован будет? Символы будут выбираться выбором курсора, кнопок дополнительные не нужно будет задействовать?
ssd1306 тоже имеется, даже на нем предпочтительнее. На ТТ его задействовал, работает от 5В (стабилизатор на 3.3В встроен, подвязка к + тоже), согласование уровней не надо делать.
Кстати ssd1306 есть с большей диагональю, если для кого размер маловат
Собрал проект Минитерминал v.2.0 http://avrproject.ru/publ/miniterminal_v_2_0/1-1-0-157, но там обрезает что не уместилось в строке (отображается только 14 символов из строки) и не разберешь по отрывкам особо. В Вашей прошивке строка полностью отображается, перенос в следующую строку есть? Спасибо
там в программе максимальная принятая строка=14 (Dim S As String * 14 ) вот и режет,по сути надо увеличивать,максимум до 84,а потом раскладывать по строчкам
там не мой проект,я исходник глянул и увидел,там вывод инфы на дисплей еще переделывать надо-как только упираемся в правое знакоместо чтоб след символ печатался со след строки слева(перенос)
для формирования протокола ответа или запроса кнопками не обойдешся - пока наберешь они сотрутся ! тут надо энкодер прикручивать. самому такая функция позарез нужна. у меня штук 20 приборов работают по RS485 (на одной линии висят) и отвечают по запросу и соответственно у каждого свой идентификатор на который он откликается. запросы хранить в ЕЕпром. короче это наверняка отдельный проект!
На том сайте и продолжение проекта, с отправкой в порт, с помощью дисплея 2.8" 240x320 ILI9325 с сенсорной панелью.
Electronik83 пишет:
Мне приедет тестер, я поиграюсь с ним и возможно реализую.
Не войдет в 328, мне чтобы влезли хотелки (uart, энкодер, замер кварцев, стабилитронов), пришлось отключить русский и отказаться от "extended tests T1 to T7", новым ревизиям всё больше места надо.
Ежели ток урезать до миниума функционал.
Вообще-то надо свой ТТ глянуть на возможность перепрофилирования под сабж, модульная система, Pro Mini другую поставить :)
Глубокоуважаемое сообщество Энтузиастов,намедни экскрементировал с 5В питание TL072 и она таки работает.Правда,пока только,в качестве повторителя,однако при использовании делителя замечательно прослеживаются обе полуволны синусоиды ( и зачем мудрить с двухполяркой).Отдельно хочу вставить своё сугубо отдельное мнение:чем мудрить с DDS не лучше-ли прикрутить TDA 1543 через SPI ,а не возится с этим извращением,но повторяюсь,ИМХО.Я так понимаю,никто больше не заинтересован в развитии пультоскопа?.Если же и крутить к скопу что-то,то не лучше-ли закончить концепцию прибора мультиметром,например,всавить тестер стабилитронов,вольтметр,амметр наконец.
Пи.Си. в коде вычисления частоты автор использует метки переходов от меньшего к большему,что ведёт к неожиданным результатам частотопоказания на зашумлённых сигналах...
Поддерживаю направление с отдельным управляемым генераторным модулем DDS. Больше свободы в разных планах, модуль можно при желании основательно заэкранировать, он может быть также вообще отстыкуемый. У меня закуплен такой (не реклама): http://www.ebay.com/itm/142217460111
вот и пока я не решил, к какой из найденных в Сети схем управления его прикрутить. А хорошо бы к Пультоскопу.
while(flag_key-digitalRead(key_up) && flag_key-digitalRead(key_down) && flag_key-digitalRead(key_ok))что то здесь напутано
(09.02.2017) Версия Пультоскопа отElectronik83
У меня все работает, правда кнопки у меня без резюков и подключены просто к земле. И сделан автодетект кнопок (как у автора с резисторами и просто к земле).
Чувствую, что надо отказаться от этого всего. Много глюков поймал уже на этом....
А! И там не должно подтверждаться ничего! Просто навел на надпись и сигнал пошел! Я сто раз писал уже!
if (digitalRead(pravo) == LOW && digitalRead(levo) == LOW) {
wdt_enable(WDTO_30MS); while(1);} // soft reset
в начале программы вставил
#include <avr/wdt.h>
то есть запускаю собаку и пустой цикл,работает отлично!
Отличная идея! Только у меня не прокатило. Проц вроде как резетится и потом на собаке и висит. Надо как то отключать её в начале программы. Вставил в сетап wdt_disable() - все равно че то не то... И причем я нажимаю кнопку резет на ардуинушке и ничего не происходит.
случайно не этот : STM32F429I-DISCO STM32F4 Discovery
я тоже на него долго вдуплял, в итоге отдал корешу, чбобы он из него что-то сделал,..
Операционники не нужны ибо пультоскоп дальше звука не вылезает,если не использовать слишком входное и настроить lm358 на 1,1 то частоту до искажения мы получим 150 кГц,чем вам не чем?
Обновил папку https://drive.google.com/open?id=0B8Cen3bTAimVYWVOOEF5SzRHUWM документацией на проект.
Пара скриншотов для понятия что там внутри:
Если найдёте ошибки, мыльте мне сразу winstonn2017@gmail.com.
Версию проекта обозвал Ver. V1 . Остальные версии хардварэ-совместимые будут называться Ver. V1.xx.
Версии с новым хардварэ будут называться Ver. V2, Ver. V2.хх...
сопротивления для согласования с дисплеем можно не ставить. проверено. моя макетка пультоскопа (смотри пост#2399 и #2400) на старом аккумуляторе 750 мА с DC-DC UP до 5в отработала до выключения ( со включенной подсветкой !) 6 часов с дисплеем nokia 5110.
Большое Спасибо, Winstonn !
случайно не этот : STM32F429I-DISCO STM32F4 Discovery
я тоже на него долго вдуплял, в итоге отдал корешу, чбобы он из него что-то сделал,..
Нет, у меня попроще... А Stm32F4 discovery - крутая плата, и проц лучше, чем у меня. Хотя...
Еще посмотрел на характеристики Arduino Due, аж слюнки потекли...
P.s. Воткнул дисплей от 3310 в макетку, пишу...... ждем новый скейтч.
для Winstonn
посмотрел твой код. ужас !!! 80% занимает формирование менюшек. поэтому у тебя места и не хватает. посмотри как это сделано у Elektronik83.
для Winstonn
посмотрел твой код. ужас !!! 80% занимает формирование менюшек. поэтому у тебя места и не хватает. посмотри как это сделано у Elektronik83.
с удовольствием! код у меня реально через Ж сделан, буду переучиваться
блин, парни, я так его никогда не соберу. или придётся штуки 3 делать .
собрал девайс, теперб голову ломаю, показания скачут около 30кгц, на импульсы мультиметра 50 гц не реагируют. щуп не экранирован, кварц 16 родной. может кто ксинет скетч под 32 и ls020b.
собрал девайс, теперб голову ломаю, показания скачут около 30кгц, на импульсы мультиметра 50 гц не реагируют. щуп не экранирован, кварц 16мгц родной. может кто ксинет скетч под 32 и ls020b.
для Winstonn
1. в функции Frequency() вместо if применяй switch case она удобнее а главное быстрее раза в 3 работает.
2.в функции DDSSinus() для отрисовки синуса и остальных форм сигнала можно использовать массивы для DDS генератора. напиши функцию которая будет в цикле со смещением по горизонтали выводить значения из массива формы(с маштабирование по высоте конечно) и получишь картинку. функция будет строк 10-15. как параметры можно указать где вывести (X, Y, массив, кратность маштабирования) и получится универсальная функция.
3. функции могут примнимать параметры и возвращать значения - не забывай об этом. очень упрощает програмирование .
я очень давно (лет 15) не программировал, сейчас вспоминаю как это делал (скорее учусь заново).
для Stashevskiy68
я сел за программирование несколько недель назад, тоже с 15-ти летней паузой (в 2002-м году в зимнем семестре сдал С++ и никогда к нему не возвращался) .
По пункту 1 - ваще не знал, новое для меня утверждение, буду делать.
П.2 - так и хотел сделать, но завтыкал на вырисовывании точек на экране и тут понеслось,...
П.3 - с этой мыслью (именно так она и звучала у меня в голове) пытался воспользоваться функцией return, но что-то все время шло нетак.
Буду утюжить код Electronik83, уверен многому научусь, + твои советы. Спасибо. )
я вообще предлагаю делать законченные функции или комплекты функций и выкладывать с описаниями работы и входных параметров . и каждый сможет выбрать для себя то что ему требуется от пультаскопа и прикрутить требуемую функцию к своему коду (сделать как конструктор). и конечно оставлять "свои отпечатки" в описании функций чтобы форумчане могли в случае проблеммы обратиться с вопросами.
для Stashevskiy68,
тоже нахожу эту мысль самой правильной, именно по такому принципу и надо работать. Можно договориться псать стандартные хэштэги в сообщении с релизом законченой функции, дабы его можно было потом найти на форуме. Страниц то тут уже больше пятидесяти и дело только начинается, люди новые поддтягиваются,.. я вот например )
для Winstonn
проблема в том что функции связанные с выводом информации на дисплей, а это 50%, должны быть заточены под КОНКРЕТНЫЙ дисплей или используемую библиотеку. я сейчас занят другим проектом с дисплеем от сименса с55 и использую библиотеку U8glib , класная библиотека, так пока разобрался как выводить на экран 100 потов сошло.
Ваще круто выходит, сам не ожидал:
для Electronik83
дорисуй внутри функции свой двухмерный массив с формами сигналов. пусть это будут локальные переменные . вызвал функцию - они загрузились в озу, вышел - место освободилось. а то они когда обьявленны вне функции и видимы для всех только зря занимают место в ОЗУ. а так очень лаконично! молодец !
Xumuk L2F50 не поддерживает 8 бит.
В ls020 можно переключать 8 или 16 бит.
у меня ls020, Вы как то просто говорили, что можете переделать под 8 бит, но потом как я понял вас долго не было и у вас сломался компьютер, поэтому и спрашиваю не делали ли)
Формы не в озу а во флеши хранятся у меня!
Синус, пила, треугольник, а меандр по умолчанию или забыл?
Да.
Electronik83, какая у тебя максимальная частота на выходе DDS?
600 - 700 Гц.
Можно быстрее сделать, если отказаться от ардуиновской функции PwmWrite(...).
на счёт
delay(200); // чтоб кнопки нормально нажимались
от кварца к кварцу этот параметр требует корректировки. Думаю все такие delay переделать на переменные, пропорциональные overlock.
Полностью согласен. Но я не испытвал еще ни разу на других кварцах.
600 - 700 Гц
забыл спросить про кварц..
Так 600 или 700 ? У меня на всех функциях на 16Мгц 599-600Гц, а на кварце 24Мгц - ровно в 1,5 раз больше 899-900Гц. Ведь количество точек в массиве одинаковое во всех функциях - 32.
Для разных вариаций программы разная частота получается. Поточнее могу сказать вечером.
Попробывал сделать перезагрузку ардуины с двух кнопок + и - при одновременном нажатии. С генераторов и монитора порта нормально перезагружается. А с осцлла - выпадает в цветочек адафрута и все. Таймер гасил, прерывания вырубал. Как нормально сделать?
з.ы. моя подруга сказала, что 8 марта, вот и показывает цветок)))
загляни в мой код,... даже не знаю что у тебя пошло нетак,... странно. Обычно у меня на адафруте зависает когда кнопки резюками не подтянуты. Или ты без резюков с минусом на кнопках сидишь? ... странно всё равно.
Заглянул. Косяк от автора:
if (countX < 1000) {
display.print(" ");
display.print(countX);
display.print("Hz");
}
if (countX > 1000) {
float countXK = countX / 1000.0;
display.print(countXK, 1);
display.print("KHz");
}
Получается что если частота будет равна 1000, то он не выведет её. Тут можно использовать else или в одном из условий =< или => сделать.
И вывод меню главного можно в четыре раза уменьшить код.
Не обязательно шпиговать код строчкой:
if (digitalRead(pravo) == HIGH && digitalRead(levo) == HIGH) {
Reset_AVR(); // soft reset
достаточно прописать один раз , вот тут:
if (pultoskop == 1) {
Generator();
}
if (pultoskop == 2) {
DDSGenerator();
}
if (pultoskop == 3) {
TTL();
}
if (digitalRead(pravo) == HIGH && digitalRead(levo) == HIGH) {
Reset_AVR(); // soft reset
}
По DDS-генератору:
1. Можно в четыре раза скратить вывод на экран по коду.
2. Картинки сигналов можно брать из массива, который мы кормим PwmWrite
EDIT: Насчет levo и pravo = Reset_avr немного не прав... из dds генератора не сбрасывается, если не опрашивать эти кнопки.
Electronik83, вывод в терминале в Вашей прошивке как происходит? Допустим с uart роутера идет:
Собрал проект Минитерминал v.2.0 http://avrproject.ru/publ/miniterminal_v_2_0/1-1-0-157, но там обрезает что не уместилось в строке (отображается только 14 символов из строки) и не разберешь по отрывкам особо. В Вашей прошивке строка полностью отображается, перенос в следующую строку есть? Спасибо
Терминал как у автора. Я отправлял много символов, ничего не режется. Все выводится, как есть. Хочу сделать ответ в ком порт... Сделаю скора.
И еще под дисплей 5110 - много всяких глюков. Работаю над прошивкой / скейтчем.
Пока отладил только DDS-генератор. Изменение частоты в принципе не буду делать, т.к. не хочу максимальный предел в 800 Гц. Смешно. ИМХО.
Заглянул. Косяк от автора:
if (countX < 1000) {
display.print(" ");
display.print(countX);
display.print("Hz");
}
if (countX > 1000) {
float countXK = countX / 1000.0;
display.print(countXK, 1);
display.print("KHz");
}
Получается что если частота будет равна 1000, то он не выведет её. Тут можно использовать else или в одном из условий =< или => сделать.
ДА! , только не "=>", а ">=" пришлось немного погуглить команды с++. Да и 1000Гц получится на 27+ кварце, у меня он нормально не запустился, поэтому ошибку даже не увидел.
И вывод меню главного можно в четыре раза уменьшить код.
уже подсмотрел как ты это сделал, сейчас буду плагиатить ! )
Не обязательно шпиговать код строчкой:
if (digitalRead(pravo) == HIGH && digitalRead(levo) == HIGH) {
Reset_AVR(); // soft reset
достаточно прописать один раз , вот тут:
if (pultoskop == 1) {
Generator();
}
if (pultoskop == 2) {
DDSGenerator();
}
if (pultoskop == 3) {
TTL();
}
if (digitalRead(pravo) == HIGH && digitalRead(levo) == HIGH) {
Reset_AVR(); // soft reset
}
точняк! исправил! спасибо!
По DDS-генератору:
1. Можно в четыре раза скратить вывод на экран по коду.
сейчас буду плагиатить
2. Картинки сигналов можно брать из массива, который мы кормим PwmWrite
там коэфициенты считать, мороки ужас!,.. но делать придется,..
EDIT: Насчет levo и pravo = Reset_avr немного не прав... из dds генератора не сбрасывается, если не опрашивать эти кнопки.
из главного меню DDS генератора levo+pravo=Reset работает, как и на остальных. Вход и выход в ПОДменю DDS делается с помощью OK, а levo+pravo=Reset в ПОДменю уже не работает, так задумано.
Ответ в порт, это нужная функция, как реализован будет? Символы будут выбираться выбором курсора, кнопок дополнительные не нужно будет задействовать?
ssd1306 тоже имеется, даже на нем предпочтительнее. На ТТ его задействовал, работает от 5В (стабилизатор на 3.3В встроен, подвязка к + тоже), согласование уровней не надо делать.
Кстати ssd1306 есть с большей диагональю, если для кого размер маловат
Собрал проект Минитерминал v.2.0 http://avrproject.ru/publ/miniterminal_v_2_0/1-1-0-157, но там обрезает что не уместилось в строке (отображается только 14 символов из строки) и не разберешь по отрывкам особо. В Вашей прошивке строка полностью отображается, перенос в следующую строку есть? Спасибо
там в программе максимальная принятая строка=14 (Dim S As String * 14 ) вот и режет,по сути надо увеличивать,максимум до 84,а потом раскладывать по строчкам
а почему в каждом меню не сделать пункт "выход в Главное меню" и в осцилографе тоже- например буква "М" :)
для bulat943
а если сразу все записывать на SD . а потом обрабатывай как хочешь. хоть на твоем терминале хоть на PC .
там не мой проект,я исходник глянул и увидел,там вывод инфы на дисплей еще переделывать надо-как только упираемся в правое знакоместо чтоб след символ печатался со след строки слева(перенос)
для sakatgg
для формирования протокола ответа или запроса кнопками не обойдешся - пока наберешь они сотрутся ! тут надо энкодер прикручивать. самому такая функция позарез нужна. у меня штук 20 приборов работают по RS485 (на одной линии висят) и отвечают по запросу и соответственно у каждого свой идентификатор на который он откликается. запросы хранить в ЕЕпром. короче это наверняка отдельный проект!
На том сайте и продолжение проекта, с отправкой в порт, с помощью дисплея 2.8" 240x320 ILI9325 с сенсорной панелью.
Не войдет в 328, мне чтобы влезли хотелки (uart, энкодер, замер кварцев, стабилитронов), пришлось отключить русский и отказаться от "extended tests T1 to T7", новым ревизиям всё больше места надо.
Ежели ток урезать до миниума функционал.
Вообще-то надо свой ТТ глянуть на возможность перепрофилирования под сабж, модульная система, Pro Mini другую поставить :)
Глубокоуважаемое сообщество Энтузиастов,намедни экскрементировал с 5В питание TL072 и она таки работает.Правда,пока только,в качестве повторителя,однако при использовании делителя замечательно прослеживаются обе полуволны синусоиды ( и зачем мудрить с двухполяркой).Отдельно хочу вставить своё сугубо отдельное мнение:чем мудрить с DDS не лучше-ли прикрутить TDA 1543 через SPI ,а не возится с этим извращением,но повторяюсь,ИМХО.Я так понимаю,никто больше не заинтересован в развитии пультоскопа?.Если же и крутить к скопу что-то,то не лучше-ли закончить концепцию прибора мультиметром,например,всавить тестер стабилитронов,вольтметр,амметр наконец.
Пи.Си. в коде вычисления частоты автор использует метки переходов от меньшего к большему,что ведёт к неожиданным результатам частотопоказания на зашумлённых сигналах...
Поддерживаю направление с отдельным управляемым генераторным модулем DDS. Больше свободы в разных планах, модуль можно при желании основательно заэкранировать, он может быть также вообще отстыкуемый. У меня закуплен такой (не реклама):
http://www.ebay.com/itm/142217460111
вот и пока я не решил, к какой из найденных в Сети схем управления его прикрутить. А хорошо бы к Пультоскопу.
А я себе ваще на АД9851 заказал. :)
AD9851 модулья тоже собираюсь закупить, как минимум на ветке "STM-O-Scope" оно уже прицеплено в конструкцию (форум stm32diuno)
Не обязательно шпиговать код строчкой:
if (digitalRead(pravo) == HIGH && digitalRead(levo) == HIGH) {
Reset_AVR(); // soft reset
достаточно прописать один раз , вот тут:
if (pultoskop == 1) {
Generator();
}
if (pultoskop == 2) {
DDSGenerator();
}
if (pultoskop == 3) {
TTL();
}
if (digitalRead(pravo) == HIGH && digitalRead(levo) == HIGH) {
Reset_AVR(); // soft reset
}
точняк! исправил! спасибо!
у меня ошибка,ругается на reset_AVR(),arduino 1.0.6
у меня ошибка,ругается на reset_AVR(),arduino 1.0.6
У меня тоже ругается, но я сделал свою функцию:
долго искал,спросил здесь и сазу нашел-сделал так
долго искал,спросил здесь и сазу нашел-сделал так
Отличная идея! Только у меня не прокатило. Проц вроде как резетится и потом на собаке и висит. Надо как то отключать её в начале программы. Вставил в сетап wdt_disable() - все равно че то не то... И причем я нажимаю кнопку резет на ардуинушке и ничего не происходит.