День добрый. Чего-то у меня кнопка ОК буд-то сама нажимается. Схему проверил. А когда на неё нажмёшь и держишь, то всё нормально. Наоборот работает. Это происходит во всех режимах.
volodya198024, вы хоть бы намекнули о чём речь. Не все фломастеры одинаково сладкие...
Например, в PULTOSCOPE_SSD1306_final2_DDS_Z_EL83_EDITION.ino, есть строка 80:
//если автодетект работает неверно (менюха скачет постоянно), то нужно расскомментировать одну из следующих строчек:
// flag_key = 0; // кнопки просто подключены к земле, резюков нету.
flag_key = 1; // кнопки подключены к питанию и резюки на землю
Прошу прощения за мою не компетентность. Да действительно. Попробуй угадай. В последней версии для 5110 в сообщение #4401 при подачи питания сразу включается осциллограф. Если зажать кнопку ОК и включить, то включится меню которое можно листать (при зажатой кнопке ОК). Включение выбранного режима при кратковременном отпускание кнопки. Например при включенном PWM-генераторе постоянное перемещение курсора. Я понимаю что произошла инверсия состояния кнопки или входа. Но где? Я без помощи не разберусь.
ну да, остальные кроме всех работают)) ОК жмакается сам, пункты в меню тоже. а какие тогда кнопки ведут себя "правильно"?)) RESET?)))
приклеил состояние нажатой кнопки, в коде #define KEY_PRESSED 1 //progrik: логическое состояние нажатой кнопки 0 или 1
..ну и в коде не if (!digitalRead(KEY_OK)) а if(digitalRead(KEY_OK) == KEY_PRESSED) везде везде где кнопки....
короче, инвертировал все кнопки. проверить не на чем, так что извольте сами) если я чего напутал - жаль))
//Страница проэкта <a href="http://srukami.inf.ua/pultoscop_v25110.html" title="http://srukami.inf.ua/pultoscop_v25110.html" rel="nofollow">http://srukami.inf.ua/pultoscop_v25110.html</a>
// === От меня [Electronik83] === mailTo: <a href="mailto:gsmkillersevsk@mail.ru">gsmkillersevsk@mail.ru</a>
// 1. Оптимизировал, причесал код
// 2. Сделал красивей главное меню, добавил новый пункт
// 3. Отображение частатоы и напряжения в осцилле при 1Кгц и 2,5в (был баг автора)
// 4. Новый режим - медленный осцилл - доделал...
// 5. Оптимизация.....
// 6. Убрал програмную растяжку сигнала из осцилла (развертка 7 и 8)
// 7. Изменил отрисовку сигнала в осцилле (больше нету этих раздвоений сигнала)
// 8. Убрал нахрен кнопку питания, и все что с ней сязано - проще тумблер (переключатель) поставить...
// 9. Анимировал главное меню. Пофиксил мерцание.
//10. Вставил свое меню генератора, DDS-генератора, терминала.
//11. Добавил немного новой анимации.
//12. Провел эксперимент с DDS-генератором и регулировкой частоты - не сделать.
// === ver19 ==
//13. В осциле - Сделал автосинхронизацию по серединке амплитуды сигнала <= подумать над внешней синхрой !!!
//14. В осциле - показываем масимальное и минимальное значение амплитуды сигнала справа
//15. Оптимизация некоторых участков кода
//16. Атмега теперь сама меряет напряжение своего питания, не надо ничего мультиметром мерять
//17. В осцилле - сделал более удобный вывод верхней строки в осцилле, "устатичил" вывод частоты.
// - теперь нет этого дерганья из Гц в кГц (и обратно) - просто выводим в Мгц.
//18. Добавил цифровой анализатор (входы A1, A2, A3, A4, A5) - что то мне он не понравился (и мне тоже).
/////////////// smokok ///////////////
//19. Добавил Авто-опорное 5.0,1.1,0.2
//20. Добавил Меню экрана (регулировка контрастности и включение подсвеки экрана).
//21. Добавил температуру. Пин термистора (10к) в А0 и +5, доп резистор (10к) в А0 и -5
//22. Разогнал PULTOSCOPE благодаря progrik
//23. Пока только вырезал UART приемник
// В планах внедрить Коэффициент заполнения
Уже наверное надо схему рисовать ,ведь видоизменилась..
ну да, остальные кроме всех работают)) ОК жмакается сам, пункты в меню тоже. а какие тогда кнопки ведут себя "правильно"?)) RESET?)))
приклеил состояние нажатой кнопки, в коде #define KEY_PRESSED 1 //progrik: логическое состояние нажатой кнопки 0 или 1
..ну и в коде не if (!digitalRead(KEY_OK)) а if(digitalRead(KEY_OK) == KEY_PRESSED) везде везде где кнопки....
короче, инвертировал все кнопки. проверить не на чем, так что извольте сами) если я чего напутал - жаль))
//Страница проэкта <a href="http://srukami.inf.ua/pultoscop_v25110.html" title="http://srukami.inf.ua/pultoscop_v25110.html" rel="nofollow">http://srukami.inf.ua/pultoscop_v25110.html</a>
// === От меня [Electronik83] === mailTo: <a href="mailto:gsmkillersevsk@mail.ru">gsmkillersevsk@mail.ru</a>
// 1. Оптимизировал, причесал код
// 2. Сделал красивей главное меню, добавил новый пункт
// 3. Отображение частатоы и напряжения в осцилле при 1Кгц и 2,5в (был баг автора)
// 4. Новый режим - медленный осцилл - доделал...
// 5. Оптимизация.....
// 6. Убрал програмную растяжку сигнала из осцилла (развертка 7 и 8)
// 7. Изменил отрисовку сигнала в осцилле (больше нету этих раздвоений сигнала)
// 8. Убрал нахрен кнопку питания, и все что с ней сязано - проще тумблер (переключатель) поставить...
// 9. Анимировал главное меню. Пофиксил мерцание.
//10. Вставил свое меню генератора, DDS-генератора, терминала.
//11. Добавил немного новой анимации.
//12. Провел эксперимент с DDS-генератором и регулировкой частоты - не сделать.
// === ver19 ==
//13. В осциле - Сделал автосинхронизацию по серединке амплитуды сигнала <= подумать над внешней синхрой !!!
//14. В осциле - показываем масимальное и минимальное значение амплитуды сигнала справа
//15. Оптимизация некоторых участков кода
//16. Атмега теперь сама меряет напряжение своего питания, не надо ничего мультиметром мерять
//17. В осцилле - сделал более удобный вывод верхней строки в осцилле, "устатичил" вывод частоты.
// - теперь нет этого дерганья из Гц в кГц (и обратно) - просто выводим в Мгц.
//18. Добавил цифровой анализатор (входы A1, A2, A3, A4, A5) - что то мне он не понравился (и мне тоже).
/////////////// smokok ///////////////
//19. Добавил Авто-опорное 5.0,1.1,0.2
//20. Добавил Меню экрана (регулировка контрастности и включение подсвеки экрана).
//21. Добавил температуру. Пин термистора (10к) в А0 и +5, доп резистор (10к) в А0 и -5
//22. Разогнал PULTOSCOPE благодаря progrik
//23. Пока только вырезал UART приемник
// В планах внедрить Коэффициент заполнения
Уже наверное надо схему рисовать ,ведь видоизменилась..
ну да, остальные кроме всех работают)) ОК жмакается сам, пункты в меню тоже. а какие тогда кнопки ведут себя "правильно"?)) RESET?)))
приклеил состояние нажатой кнопки, в коде #define KEY_PRESSED 1 //progrik: логическое состояние нажатой кнопки 0 или 1
..ну и в коде не if (!digitalRead(KEY_OK)) а if(digitalRead(KEY_OK) == KEY_PRESSED) везде везде где кнопки....
короче, инвертировал все кнопки. проверить не на чем, так что извольте сами) если я чего напутал - жаль))
//Страница проэкта <a href="http://srukami.inf.ua/pultoscop_v25110.html" title="http://srukami.inf.ua/pultoscop_v25110.html" rel="nofollow">http://srukami.inf.ua/pultoscop_v25110.html</a>
// === От меня [Electronik83] === mailTo: <a href="mailto:gsmkillersevsk@mail.ru">gsmkillersevsk@mail.ru</a>
// 1. Оптимизировал, причесал код
// 2. Сделал красивей главное меню, добавил новый пункт
// 3. Отображение частатоы и напряжения в осцилле при 1Кгц и 2,5в (был баг автора)
// 4. Новый режим - медленный осцилл - доделал...
// 5. Оптимизация.....
// 6. Убрал програмную растяжку сигнала из осцилла (развертка 7 и 8)
// 7. Изменил отрисовку сигнала в осцилле (больше нету этих раздвоений сигнала)
// 8. Убрал нахрен кнопку питания, и все что с ней сязано - проще тумблер (переключатель) поставить...
// 9. Анимировал главное меню. Пофиксил мерцание.
//10. Вставил свое меню генератора, DDS-генератора, терминала.
//11. Добавил немного новой анимации.
//12. Провел эксперимент с DDS-генератором и регулировкой частоты - не сделать.
// === ver19 ==
//13. В осциле - Сделал автосинхронизацию по серединке амплитуды сигнала <= подумать над внешней синхрой !!!
//14. В осциле - показываем масимальное и минимальное значение амплитуды сигнала справа
//15. Оптимизация некоторых участков кода
//16. Атмега теперь сама меряет напряжение своего питания, не надо ничего мультиметром мерять
//17. В осцилле - сделал более удобный вывод верхней строки в осцилле, "устатичил" вывод частоты.
// - теперь нет этого дерганья из Гц в кГц (и обратно) - просто выводим в Мгц.
//18. Добавил цифровой анализатор (входы A1, A2, A3, A4, A5) - что то мне он не понравился (и мне тоже).
/////////////// smokok ///////////////
//19. Добавил Авто-опорное 5.0,1.1,0.2
//20. Добавил Меню экрана (регулировка контрастности и включение подсвеки экрана).
//21. Добавил температуру. Пин термистора (10к) в А0 и +5, доп резистор (10к) в А0 и -5
//22. Разогнал PULTOSCOPE благодаря progrik
//23. Пока только вырезал UART приемник
// В планах внедрить Коэффициент заполнения
Уже наверное надо схему рисовать ,ведь видоизменилась..
ну да, остальные кроме всех работают)) ОК жмакается сам, пункты в меню тоже. а какие тогда кнопки ведут себя "правильно"?)) RESET?)))
приклеил состояние нажатой кнопки, в коде #define KEY_PRESSED 1 //progrik: логическое состояние нажатой кнопки 0 или 1
..ну и в коде не if (!digitalRead(KEY_OK)) а if(digitalRead(KEY_OK) == KEY_PRESSED) везде везде где кнопки....
короче, инвертировал все кнопки. проверить не на чем, так что извольте сами) если я чего напутал - жаль))
//Страница проэкта <a href="http://srukami.inf.ua/pultoscop_v25110.html" title="http://srukami.inf.ua/pultoscop_v25110.html" rel="nofollow">http://srukami.inf.ua/pultoscop_v25110.html</a>
// === От меня [Electronik83] === mailTo: <a href="mailto:gsmkillersevsk@mail.ru">gsmkillersevsk@mail.ru</a>
// 1. Оптимизировал, причесал код
// 2. Сделал красивей главное меню, добавил новый пункт
// 3. Отображение частатоы и напряжения в осцилле при 1Кгц и 2,5в (был баг автора)
// 4. Новый режим - медленный осцилл - доделал...
// 5. Оптимизация.....
// 6. Убрал програмную растяжку сигнала из осцилла (развертка 7 и 8)
// 7. Изменил отрисовку сигнала в осцилле (больше нету этих раздвоений сигнала)
// 8. Убрал нахрен кнопку питания, и все что с ней сязано - проще тумблер (переключатель) поставить...
// 9. Анимировал главное меню. Пофиксил мерцание.
//10. Вставил свое меню генератора, DDS-генератора, терминала.
//11. Добавил немного новой анимации.
//12. Провел эксперимент с DDS-генератором и регулировкой частоты - не сделать.
// === ver19 ==
//13. В осциле - Сделал автосинхронизацию по серединке амплитуды сигнала <= подумать над внешней синхрой !!!
//14. В осциле - показываем масимальное и минимальное значение амплитуды сигнала справа
//15. Оптимизация некоторых участков кода
//16. Атмега теперь сама меряет напряжение своего питания, не надо ничего мультиметром мерять
//17. В осцилле - сделал более удобный вывод верхней строки в осцилле, "устатичил" вывод частоты.
// - теперь нет этого дерганья из Гц в кГц (и обратно) - просто выводим в Мгц.
//18. Добавил цифровой анализатор (входы A1, A2, A3, A4, A5) - что то мне он не понравился (и мне тоже).
/////////////// smokok ///////////////
//19. Добавил Авто-опорное 5.0,1.1,0.2
//20. Добавил Меню экрана (регулировка контрастности и включение подсвеки экрана).
//21. Добавил температуру. Пин термистора (10к) в А0 и +5, доп резистор (10к) в А0 и -5
//22. Разогнал PULTOSCOPE благодаря progrik
//23. Пока только вырезал UART приемник
// В планах внедрить Коэффициент заполнения
Уже наверное надо схему рисовать ,ведь видоизменилась..
По просьбе progrik снова мне помог добавить в пультоскоп очередную фишку!!! Теперь при длительном нажатии "ОК" отключается АВТОРАЗВЁРТКА и переходит на ручной режим кнопок "лево - право". Включается так же удержанием. Присутствуют индикаторы состояния "а" и "р". При коротком нажатии режим "Пауза". Спасибо большое progrik за помощь! Скетчи залил с кодом #define KEY_PRESSED 0 //progrik: логическое состояние нажатой кнопки 0 или 1
В первую очередь, хотелось бы сказать большое спасибо автору этого проекта! И всем кто позднее присоединился к его развитию отдельное спасибо!!
Прочитал всю тему)) Читал как какой-то детектив)) было интересно чем же это всё закончится. Ну или может не закончится, а во что это всё выльется. Сам я совсем только начинающий "ардуинщик/электронщик" и поэтому многое было на "птичьем языке", но решимости заказать дисплей и собрать приборчик это не убавило. Дисплей правда пока всё не доедет... но всё остальное для сборки имеется. Сейчас ковыряюсь в коде, пытаюсь разобраться что к чему и подкорректировать под свои хотелки.
Хочется конечно персонально отметить людей, но боюсь кого-то перечислять, дабы никого не пропустить, потому что людей приложивших свою руку (скорее конечно голову) было много! Ещё раз, спасибо всем участникам!! Подобные простые проекты не отпугивают начинающего радиолюбителя обилием незнакомых понятий, а дают возможность приобщиться к этому замечательному делу и заглянуть немного глубже.
smokok можно к скетчу(п.4416 - 5110) пояснения к меню осцилографа: как перейти к ручной развертке, к ручному изменению ОН,
при длительном нажатии ОК перехода к ручной установке развертки (от progrik )я не увидел. (может не туда смотрел).
У меня есть дисплей от Нокии 3510(монохром) 96х65 как 1230, только там контроллер PCF8814 и он размером побольше, помогите, пожалуйста адаптировать скетч (п.4416 - 1230) под этот дисплей, на него есть библиотека от Адафруит.
В последствии хочу оставить осцилограф, терминал и ТТ тестер из (п.3853 от diksen) и энкодер, - не знаю влезет ли..., но это потом, - сначала нужно дисплей "прикрутить"...
Очередное обновление от progrik! Теперь кнопки работают на должном уровне!!! При одном нажатии переключение, чуть передержал - нет перескоков. Убран delay в меню пультоскопа который я добавил.
Ребята, Я не спец, мне также помогают как вам по мере возможности опытные люди, за что им огромное СПАСИБО!!! progrik реально ускорил наш диафильм на экране до хорошего кино при спящей теме пультоскопа. Эти обновления как свет в тёмном небе!
Хотел подключить дисплей Нокии3510(контроллер PCD8544, как в нокии1100 96х65), но "не заводится", - экранчик молчит, хотя с теми же библиотеками циферки - буковки в демо выводятся...
Есть одна просьба: "прикрутите", пожалуйста, энкодер, - с ним намного удобнее...
Раз пошла такая пьянка (по поводу ускорения отображения на дисплее), то вот ещё подсказки.
Насчёт аппаратного SPI, надеюсь, знают все. Никакой другой вариант быстрей не будет. Но есть одно интересное исключение. Это USART в режиме SPI. На картинке ниже привожу 6 скринов с анализатора, все сняты в разных режимах (внимание, масштаб везде разный, поэтому смотрите на временные параметры).
Плюсы USART в режиме SPI:
1. Скорость выше, чем у аппаратного SPI, процентов на 30, с учётом пауз между передачей байтов. Возможность передавать по 2 байта подряд совсем без паузы (то есть 16 подряд тактирующих импульсов).
2.Заняты, в отличие от аппаратного SPI, только 2 ноги контроллера (1-data, 4-clk). У аппаратного SPI всегда заняты ноги 11, 12, 13, даже если 12 ни к чему не подключена. Здесь же ногу №0 можно использовать в любых своих целях. Само собой, для общения с дисплеем нужны ещё как минимум 2 или 3 ноги (то есть всего 4 или 5 сигнальных плюс 2 питание).
Минусы USART в режиме SPI:
1. Не поддерживает 9-битную передачу, необходимую некоторым дисплеям, хотя USART в обычном режиме умеет. (Это не точно, может кто подскажет как.)
2. Привязка к конкретным ногам контроллера (1 и 4).
3. Выплывает из пункта 2 - невозможность использовать USART для общения (не переживайте, скетчи при этом заливаются нормально).
Обратите внимание, на четвёртой и шестой картинках видна передача 2 байт подряд- расчёска с 16 зубцами.
Вот фрагмент кода, должен подойти для 5110, хотя я проверял на совсем другом дисплее. Ещё раз напоминаю: нога 0 - data(SDA,DI и т.п.), нога 4 - clk(SCK и др.), остальные ножки к дисплею тоже прописываются в скетче...
void Update() { //=======================Обновить дисплей
for (byte p = 0; p < 8; p++) {
transfer(0xb0 + p, 0);
transfer(0x10, 0xe0);
bitWrite(PORTD, 0, 1);// высокий уровень на DC (Data/Comand), можно любую ногу контроллера, кроме 0 и 4
for (byte col = 0; col < LCD_X ; col = col + 2) {
//SendByte(LCD_D, LCD_RAM[(LCD_X * p) + col]); //===========так было
transfer((LCD_RAM[(LCD_X * p) + col]), (LCD_RAM[(LCD_X * p) + col + 1]));//=========так стало, отправляем по 2 байта подряд, чтоб быстрее
}
bitWrite(PORTD, 0, 0);// низкий уровень на DC (Data/Comand)
}
}
void transfer(byte sp) { //=====================подпрограмма отправки байта
UCSR0A = _BV (TXC0); // Сбросить флаг завершения передачи, все остальные биты должны быть записаны в 0.
UDR0 = sp; // Начать передачу первого байта.
while (! (UCSR0A & _BV (TXC0))); // Проверьте, что мы закончили, ожидая флага завершения передачи.
}
void transfer(byte sp1, byte sp2) { //=================подпрограмма отправки двух байт
UCSR0A = _BV (TXC0); // Сбросить флаг завершения передачи, все остальные биты должны быть записаны в 0.
UDR0 = sp1; // Начать передачу первого байта.
UDR0 = sp2; // Начать передачу второго байта.
while (! (UCSR0A & _BV (TXC0))); // Проверьте, что мы закончили, ожидая флага завершения передачи.
}
И напоследок: кто поможет мне это переписать под Atmega64 ? Зачем? А затем, что мне нужны одновременно SPI, UART для терминала, и SPI к дисплею. Да и цена меньше, чем Atmega328. Пока что эксперименты не увенчались успехом.
Всем здравствуйте. Я так понимаю что у меня, у одного в этом девайсе с кнопками проблемы. Или с контроллерами, сразу с двумя. Чего у меня кнопочки сами нажимаются? progrik меня научил что делать. Но всё таки интересно почему у всех работает, а у меня нет.
раз пошла такая пьянка.... я человек - проверка. у меня SPI работает на 4МГц, и это проверенно опытом. можно быстрее, проводочки плохие... заливанием дисплея.... точки на фпс.... ВСЁ. он работает ровно на своей скорости. это аппаратная фигня, оно работает такт в такт... и только две ноги, я не понимаю, зачем тебе 3-я....
год не пил.... протрезвею - гляну твой код. и выскажу благодарность, за новые знания. если получу их)) но что-то надо думать... не сейчас....
есть 2 способа подключать кнопки. прижимаешь через резистор к земле(минус, 0), или подтягиваешь к плюсу(+, 1) в коде поменяй 0 на 1 или наоборот. как-то так...
...у меня SPI работает на 4МГц, и это проверенно опытом...это аппаратная фигня, оно работает такт в такт...
USART в режиме SPI работает на 8МГц, и это проверенно опытом. SPI может работать на 8МГц, но у меня пока не получилось. Кстати, есть нюанс- не все дисплеи поддерживают такую скорость передачи данных.
progrik пишет:
... и только две ноги, я не понимаю, зачем тебе 3-я....
Мне третья не нужна, это дисплею нужны кроме CLK и DATA ещё D/C, SCE, RESET (последний не обязательно). Вопрос в другом: можешь ли ты использовать ногу 12 для каких-либо целей при подключении дисплея через аппаратный SPI?
Всеь привет!!! Ребята помогите уточнить, Пультоскоп какие значение показываеть на вольта,т. е . Пик-Пик(Vpp) или Пик(Vp) или среднеквадратичное(Vrms) напряжение? Нужно измерить ВЧ сигнал через диодный детектор.
Пока тут идет "баловство", некоторые уже продают это чудо :)
Уж больно картинка на экране похожа на ту, что у Electronik83.
Тихо сп***дил и ушёл, называется нашёл!!! Пускай покупают те кто паять не могают ))). за 15$ можно два на коленке собрать с удовольствием или дсо138 взять, один фиг там корпуса нет. Ну молодец что платы себе нарисовал.
Так если бы хоть за 15$. У меня показывает $43.95 (3 039,84 ₽ RUB)
Даже нет ссылки на первоисточник... "Мой проект..."
Сразу мысль мелькнула, что если бы кто-то, типа AlexGyver, сделал разводку подобной платы (там ведь просто Ардуинка перенесена на свою плату с прорезью под SSD1306) и подарил китайцам, то можно было бы его уже купить за 2-3... ну пусть 5$. У него там связи есть. Лампы его очень даже продаются. Думаю, покупали были бы...
Кто может ответить,помогите!!!!
Пультоскоп какие значение показываеть на вольта,т. е . Пик-Пик(Vpp) или Пик(Vp) или среднеквадратичное(Vrms) напряжение?
Нужно измерить ВЧ сигнал через диодный детектор.
Andry Smart, если собираетесь "плагиатить" у плагиатора, то вот ещё "его" программатор к "его" осциллоскопу, за 13$...
Покупаете на Али готовый мини переходник и припаиваете к нему, от туда же (с Али), пружинные контакты. Сэкономите около 10$, как минимум.
Можно, но я там кажысь void OscilSlow сломал))). Меню отличается от автора. Вот вам под 5110.
Спасибо, буду пробовать! :)
smokok, можно скетч под 1203 сюда, без Яндексдиска?
seri0shka, Да конечно! Пожалуйста, сюда КЛАЦ
День добрый. Чего-то у меня кнопка ОК буд-то сама нажимается. Схему проверил. А когда на неё нажмёшь и держишь, то всё нормально. Наоборот работает. Это происходит во всех режимах.
volodya198024, вы хоть бы намекнули о чём речь. Не все фломастеры одинаково сладкие...
Например, в PULTOSCOPE_SSD1306_final2_DDS_Z_EL83_EDITION.ino, есть строка 80:
Может, это вариант вашей проблемы?
Прошу прощения за мою не компетентность. Да действительно. Попробуй угадай. В последней версии для 5110 в сообщение #4401 при подачи питания сразу включается осциллограф. Если зажать кнопку ОК и включить, то включится меню которое можно листать (при зажатой кнопке ОК). Включение выбранного режима при кратковременном отпускание кнопки. Например при включенном PWM-генераторе постоянное перемещение курсора. Я понимаю что произошла инверсия состояния кнопки или входа. Но где? Я без помощи не разберусь.
Остальные кнопки ведут себя правильно.
приклеил состояние нажатой кнопки, в коде #define KEY_PRESSED 1 //progrik: логическое состояние нажатой кнопки 0 или 1
..ну и в коде не if (!digitalRead(KEY_OK)) а if(digitalRead(KEY_OK) == KEY_PRESSED) везде везде где кнопки....
короче, инвертировал все кнопки. проверить не на чем, так что извольте сами) если я чего напутал - жаль))
но попробовать стоит))
Ура! Заработала. Все кнопки фунциклируют правильно. Я в восторге от вас.
приклеил состояние нажатой кнопки, в коде #define KEY_PRESSED 1 //progrik: логическое состояние нажатой кнопки 0 или 1
..ну и в коде не if (!digitalRead(KEY_OK)) а if(digitalRead(KEY_OK) == KEY_PRESSED) везде везде где кнопки....
короче, инвертировал все кнопки. проверить не на чем, так что извольте сами) если я чего напутал - жаль))
Уже наверное надо схему рисовать ,ведь видоизменилась..
приклеил состояние нажатой кнопки, в коде #define KEY_PRESSED 1 //progrik: логическое состояние нажатой кнопки 0 или 1
..ну и в коде не if (!digitalRead(KEY_OK)) а if(digitalRead(KEY_OK) == KEY_PRESSED) везде везде где кнопки....
короче, инвертировал все кнопки. проверить не на чем, так что извольте сами) если я чего напутал - жаль))
Уже наверное надо схему рисовать ,ведь видоизменилась..
приклеил состояние нажатой кнопки, в коде #define KEY_PRESSED 1 //progrik: логическое состояние нажатой кнопки 0 или 1
..ну и в коде не if (!digitalRead(KEY_OK)) а if(digitalRead(KEY_OK) == KEY_PRESSED) везде везде где кнопки....
короче, инвертировал все кнопки. проверить не на чем, так что извольте сами) если я чего напутал - жаль))
Уже наверное надо схему рисовать ,ведь видоизменилась..
приклеил состояние нажатой кнопки, в коде #define KEY_PRESSED 1 //progrik: логическое состояние нажатой кнопки 0 или 1
..ну и в коде не if (!digitalRead(KEY_OK)) а if(digitalRead(KEY_OK) == KEY_PRESSED) везде везде где кнопки....
короче, инвертировал все кнопки. проверить не на чем, так что извольте сами) если я чего напутал - жаль))
Уже наверное надо схему рисовать ,ведь видоизменилась..
Виноват,сглючил инет,можно лишнее убрать
По просьбе progrik снова мне помог добавить в пультоскоп очередную фишку!!! Теперь при длительном нажатии "ОК" отключается АВТОРАЗВЁРТКА и переходит на ручной режим кнопок "лево - право". Включается так же удержанием. Присутствуют индикаторы состояния "а" и "р". При коротком нажатии режим "Пауза". Спасибо большое progrik за помощь! Скетчи залил с кодом #define KEY_PRESSED 0 //progrik: логическое состояние нажатой кнопки 0 или 1
ВИДЕО
Скетч 1230
Скетч 5110
В первую очередь, хотелось бы сказать большое спасибо автору этого проекта! И всем кто позднее присоединился к его развитию отдельное спасибо!!
Прочитал всю тему)) Читал как какой-то детектив)) было интересно чем же это всё закончится. Ну или может не закончится, а во что это всё выльется. Сам я совсем только начинающий "ардуинщик/электронщик" и поэтому многое было на "птичьем языке", но решимости заказать дисплей и собрать приборчик это не убавило. Дисплей правда пока всё не доедет... но всё остальное для сборки имеется. Сейчас ковыряюсь в коде, пытаюсь разобраться что к чему и подкорректировать под свои хотелки.
Хочется конечно персонально отметить людей, но боюсь кого-то перечислять, дабы никого не пропустить, потому что людей приложивших свою руку (скорее конечно голову) было много! Ещё раз, спасибо всем участникам!! Подобные простые проекты не отпугивают начинающего радиолюбителя обилием незнакомых понятий, а дают возможность приобщиться к этому замечательному делу и заглянуть немного глубже.
smokok можно к скетчу(п.4416 - 5110) пояснения к меню осцилографа: как перейти к ручной развертке, к ручному изменению ОН,
при длительном нажатии ОК перехода к ручной установке развертки (от progrik )я не увидел. (может не туда смотрел).
У меня есть дисплей от Нокии 3510(монохром) 96х65 как 1230, только там контроллер PCF8814 и он размером побольше, помогите, пожалуйста адаптировать скетч (п.4416 - 1230) под этот дисплей, на него есть библиотека от Адафруит.
В последствии хочу оставить осцилограф, терминал и ТТ тестер из (п.3853 от diksen) и энкодер, - не знаю влезет ли..., но это потом, - сначала нужно дисплей "прикрутить"...
откомпилировал без ошибок "Скетч 5110", где бы ещё схемку найти)
void OscilSlow вылечили?
void OscilSlow вылечили?
Очередное обновление от progrik! Теперь кнопки работают на должном уровне!!! При одном нажатии переключение, чуть передержал - нет перескоков. Убран delay в меню пультоскопа который я добавил.
Ребята, Я не спец, мне также помогают как вам по мере возможности опытные люди, за что им огромное СПАСИБО!!! progrik реально ускорил наш диафильм на экране до хорошего кино при спящей теме пультоскопа. Эти обновления как свет в тёмном небе!
Схемка 5110 кто просил, ССЫЛКА
Под другой дисплей лично я, вам не адаптирую. При длительном нажатии ОК переход к ручной установке развертки отлично работает, это подтверждает видео.
void OscilSlow пока не вылечил. Может поможет Electronik83 или сам по мере возможности, если не выйдет, то надежда умирает последней))).
1230
5110
Понял! Спасибо за схему!
...
progrik, smokok Спасибо за код! Залил п.4422 все чудесно работает!
Вернул на родину терминал, причесал немного отображение его меню, поставил по умолчанию 9600...
Есть один ньюанс: частоту при входном меньше Вольта показывает вместо 10000 - 10250... т.е. на пределах ОН 1,1В и 0,22В, а на 5,1В показыывает 10009
Хотел подключить дисплей Нокии3510(контроллер PCD8544, как в нокии1100 96х65), но "не заводится", - экранчик молчит, хотя с теми же библиотеками циферки - буковки в демо выводятся...
Есть одна просьба: "прикрутите", пожалуйста, энкодер, - с ним намного удобнее...
Спасибо!
Раз пошла такая пьянка (по поводу ускорения отображения на дисплее), то вот ещё подсказки.
Насчёт аппаратного SPI, надеюсь, знают все. Никакой другой вариант быстрей не будет. Но есть одно интересное исключение. Это USART в режиме SPI. На картинке ниже привожу 6 скринов с анализатора, все сняты в разных режимах (внимание, масштаб везде разный, поэтому смотрите на временные параметры).
Плюсы USART в режиме SPI:
1. Скорость выше, чем у аппаратного SPI, процентов на 30, с учётом пауз между передачей байтов. Возможность передавать по 2 байта подряд совсем без паузы (то есть 16 подряд тактирующих импульсов).
2.Заняты, в отличие от аппаратного SPI, только 2 ноги контроллера (1-data, 4-clk). У аппаратного SPI всегда заняты ноги 11, 12, 13, даже если 12 ни к чему не подключена. Здесь же ногу №0 можно использовать в любых своих целях. Само собой, для общения с дисплеем нужны ещё как минимум 2 или 3 ноги (то есть всего 4 или 5 сигнальных плюс 2 питание).
Минусы USART в режиме SPI:
1. Не поддерживает 9-битную передачу, необходимую некоторым дисплеям, хотя USART в обычном режиме умеет. (Это не точно, может кто подскажет как.)
2. Привязка к конкретным ногам контроллера (1 и 4).
3. Выплывает из пункта 2 - невозможность использовать USART для общения (не переживайте, скетчи при этом заливаются нормально).
Обратите внимание, на четвёртой и шестой картинках видна передача 2 байт подряд- расчёска с 16 зубцами.
Информация есть здесь //https://feilipu.me/2015/02/17/avr-atmega-usart-spi-mspim/
Вот фрагмент кода, должен подойти для 5110, хотя я проверял на совсем другом дисплее. Ещё раз напоминаю: нога 0 - data(SDA,DI и т.п.), нога 4 - clk(SCK и др.), остальные ножки к дисплею тоже прописываются в скетче...
И напоследок: кто поможет мне это переписать под Atmega64 ? Зачем? А затем, что мне нужны одновременно SPI, UART для терминала, и SPI к дисплею. Да и цена меньше, чем Atmega328. Пока что эксперименты не увенчались успехом.
Всем здравствуйте. Я так понимаю что у меня, у одного в этом девайсе с кнопками проблемы. Или с контроллерами, сразу с двумя. Чего у меня кнопочки сами нажимаются? progrik меня научил что делать. Но всё таки интересно почему у всех работает, а у меня нет.
раз пошла такая пьянка.... я человек - проверка. у меня SPI работает на 4МГц, и это проверенно опытом. можно быстрее, проводочки плохие... заливанием дисплея.... точки на фпс.... ВСЁ. он работает ровно на своей скорости. это аппаратная фигня, оно работает такт в такт... и только две ноги, я не понимаю, зачем тебе 3-я....
год не пил.... протрезвею - гляну твой код. и выскажу благодарность, за новые знания. если получу их)) но что-то надо думать... не сейчас....
есть 2 способа подключать кнопки. прижимаешь через резистор к земле(минус, 0), или подтягиваешь к плюсу(+, 1) в коде поменяй 0 на 1 или наоборот. как-то так...
...
У меня входы контроллера стянуты на землю через 10 КОм и "+" подаётся через кнопки. Как на схеме. Буду стараться, изучать.
У меня входы контроллера стянуты на землю через 10 КОм и "+" подаётся через кнопки. Как на схеме. Буду стараться, изучать.
Так просто! И всё заработало. Спасибо.
...у меня SPI работает на 4МГц, и это проверенно опытом...это аппаратная фигня, оно работает такт в такт...
... и только две ноги, я не понимаю, зачем тебе 3-я....
...
а где раздобыть версию с рабочим медленным осциллографом?
Всеь привет!!! Ребята помогите уточнить, Пультоскоп какие значение показываеть на вольта,т. е . Пик-Пик(Vpp) или Пик(Vp) или среднеквадратичное(Vrms) напряжение? Нужно измерить ВЧ сигнал через диодный детектор.
Пока тут идет "баловство", некоторые уже продают это чудо :)


Уж больно картинка на экране похожа на ту, что у Electronik83.
Понравилось, как он вместо трёх кнопок колёсико применил, как на китайских Bluetooth-модулях...
http://www.tindie.com/products/phoenixcnc/olediscope-an-oscilloscope-for-your-pocket/
Пока тут идет "баловство", некоторые уже продают это чудо :)
Уж больно картинка на экране похожа на ту, что у Electronik83.
Тихо сп***дил и ушёл, называется нашёл!!! Пускай покупают те кто паять не могают ))). за 15$ можно два на коленке собрать с удовольствием или дсо138 взять, один фиг там корпуса нет. Ну молодец что платы себе нарисовал.
Del
Так если бы хоть за 15$. У меня показывает $43.95 (3 039,84 ₽ RUB)
Даже нет ссылки на первоисточник... "Мой проект..."
Сразу мысль мелькнула, что если бы кто-то, типа AlexGyver, сделал разводку подобной платы (там ведь просто Ардуинка перенесена на свою плату с прорезью под SSD1306) и подарил китайцам, то можно было бы его уже купить за 2-3... ну пусть 5$. У него там связи есть. Лампы его очень даже продаются. Думаю, покупали были бы...
Кто может ответить,помогите!!!!
Пультоскоп какие значение показываеть на вольта,т. е . Пик-Пик(Vpp) или Пик(Vp) или среднеквадратичное(Vrms) напряжение?
Нужно измерить ВЧ сигнал через диодный детектор.
ну поделитесь плиииз прошивкой в которой работает медленный осциллограф. можно на дисплее от нокия или олед.
блин а еще я хочу такой же трехпозиционный джойстик как у этого плагиатора
блин а еще я хочу такой же трехпозиционный джойстик как у этого плагиатора
А чем плох 4х позиционный джойстик от сотовых?Цена копейки и места занимает минимум места .https://aliexpress.ru/item/32969557581.html
Del
ну не плохая штука конечно но для моих целей нужен именно такой как у плагиатора. с боковым выходом.
или миниатюрный энкодкодер типа как на мышке (мышинный не очень удобен но на крайняк возможно попробую его)
Andry Smart, это то, что вам надо? (вариант подешевле). Есть такие же, но дороже.
https://a.aliexpress.com/_BORXXB

Вот еще дешевле, US $0.64 за 10 шт.
https://aliexpress.ru/item/4000697123862.html
Andry Smart, если собираетесь "плагиатить" у плагиатора, то вот ещё "его" программатор к "его" осциллоскопу, за 13$...

Покупаете на Али готовый мини переходник и припаиваете к нему, от туда же (с Али), пружинные контакты. Сэкономите около 10$, как минимум.