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

sirota
Offline
Зарегистрирован: 18.08.2015

Stashevskiy68, не надо срать комментами. Собериту мысли в кучу и одним комментов. Иначе есть кнопка редактировать.

Stashevskiy68
Offline
Зарегистрирован: 09.01.2017

ну зачем так грубо. мы-же с вами воспитанные люди.

 

Nikolaj666
Nikolaj666 аватар
Offline
Зарегистрирован: 19.01.2017

Привет. собрал на макетке вариант  экраном 0,96 "I2C 128x64 OLED. https://ru.aliexpress.com/item/New-0-96-I2C-IIC-Serial-128X64-OLED-LCD-LED-Display-Module-For-Arduino-55785/32637471290.html?spm=2114.13010708.0.0.0HPf1h на экране по центру слово "осцилоскоп" и верхние края слова "генератор. экран сдвинут далеко вниз. координатами надписей в скетче вернул меню на место. при работе генератора не прописывается низ цифр частоты. на осцилографе не пойми чего. нет координат , только надписи сверху. пробовал на уно, меге и про мини. кварц не перепаивал, в скетче частота ардуино 16мгц

240265
240265 аватар
Offline
Зарегистрирован: 12.08.2015

Stashevskiy68 пишет:

.....ИРПС...  Блин, знакомые слова! Это по-нашему!

 

Nikolaj666
Nikolaj666 аватар
Offline
Зарегистрирован: 19.01.2017

 

разрыв мозга. полное ощущение , что экран 128х32. как победить ????? помогите плизззз. 

примеры 128x64 из библиотеки экрана не проходят проверку компиляции. 128х32 компилируются .библиотека из поста D.I.M

Electronik83
Offline
Зарегистрирован: 06.12.2015

Поробуйте использовать иде с сайта автора.

Nikolaj666
Nikolaj666 аватар
Offline
Зарегистрирован: 19.01.2017

Electronik83 пишет:
Поробуйте использовать иде с сайта автора.

так я оттуда и взял скетч и библиотеки. ide пробовал и его и другие. 

Electronik83
Offline
Зарегистрирован: 06.12.2015

Почту скажите. Вечером скину свой скейтч. Только он не до конца дописан, но картинку можно будет проверить.

Nikolaj666
Nikolaj666 аватар
Offline
Зарегистрирован: 19.01.2017

.

Nikolaj666
Nikolaj666 аватар
Offline
Зарегистрирован: 19.01.2017

чуть не ослеп , но пиксели по вертикали посчитал - 64

Electronik83
Offline
Зарегистрирован: 06.12.2015

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

Nikolaj666
Nikolaj666 аватар
Offline
Зарегистрирован: 19.01.2017

экран в норме. не показывает вольтаж. пробовал менять на а0,а1,а2 огромное спасибо. буду ждать Ваш конечный результат

Electronik83
Offline
Зарегистрирован: 06.12.2015

Дак на волтьж пока процедуры не прописаны. Прошивкой каждый вечер занимаюсь.

А что за лишний пиксель внизу справа? У меня его нету...

Nikolaj666
Nikolaj666 аватар
Offline
Зарегистрирован: 19.01.2017

Не знаю.то же обратил внимание

snake9x
Offline
Зарегистрирован: 21.01.2017

Доброго времени суток, подумываю собрать GFXscope там используется сенсорный дисплей 2.4" SPI TFT LCD. Подскажите пожайлуйста  можно ли будет использовать этот дисплей для пультоскопа,на случай если сборка GFXscope затянется, есть ли уже на форуме уже готовая бибилиотека под него или придется что то переписывать ? Заранее спасибо.

 

denbox
Offline
Зарегистрирован: 18.09.2016

snake9x пишет:

Доброго времени суток, подумываю собрать GFXscope там используется сенсорный дисплей 2.4" SPI TFT LCD. Подскажите пожайлуйста  можно ли будет использовать этот дисплей для пультоскопа,на случай если сборка GFXscope затянется, есть ли уже на форуме уже готовая бибилиотека под него или придется что то переписывать ? Заранее спасибо.

 

Можно, там в скетче поменять библиотеки дисплея и в тексте константы цветов. Если нужна библиотека и распиновка, давайте почту.

man_200
Offline
Зарегистрирован: 29.04.2016

Сюда выложи пожалуйста - это многим интересно

denbox
Offline
Зарегистрирован: 18.09.2016

man_200 пишет:

Сюда выложи пожалуйста - это многим интересно

http://my-files.ru/Save/4a93jy/PULTOSCOPE_TFT_AREF_ILI9341.rar

В архиве библиотека и скетч весь переделанный под меня, наверно с ошибками. В шапке скетча распиновка. На моем 2.2 дюйма уровни 3.3 вольта.

Автору ОГРОМНОЕ спасибо.

We4nost
Offline
Зарегистрирован: 30.01.2017

Добрый день. Подскажите пожалуйста. Собираю пультоскоп от лексди, а что за транзистор в схеме и его роль. Спасибо

Xumuk
Xumuk аватар
Offline
Зарегистрирован: 03.03.2016

думаю будет понятнее если была бы фото схемы или ссылка на эту схему, просто тут много кто под себя переделывал

Nikolaj666
Nikolaj666 аватар
Offline
Зарегистрирован: 19.01.2017

это скорее всего ключ включения питания

We4nost
Offline
Зарегистрирован: 30.01.2017

Спасибо большое. Какой поставить по цоколёвке, По печатке запутался он и зарежается через щюповое гнездо? Извините за назойливость.  Как фотку прикрепить понять не могу . Пост Номер-2189 Там приборчик показан.

Electronik83
Offline
Зарегистрирован: 06.12.2015

Если вы говорите про треxлапую деталь около разьема под джек - дак это два стабилитрона в одном корпусе и вовсе не ключ питания. Для проверки приборчика можно их не ставить, но тогда можно легко спалить входы ардуинки. Можно вместо этой детали поставить два стабилитрона на 5.1V

В архиве есть файл со схемой 22.gif, дак они там обозваниы VD4 и VD5.

Electronik83
Offline
Зарегистрирован: 06.12.2015

Вопрос. Только у меня осциллоскоп правильно показывает частоту при уровне сигнала ниже 2,5 вольт?  Или я тут записался чето и с кодом намудрил? Изначально была взята версия с LCD 5110.

Только что проверил - на моей доработанной прошивке с экраном от 3310 - тоже самое...

Посмотрите кто нибудь у себя... Опорное - 5 вольт, разертка - 0, во вход на измерение вставлен провод 10 см. Подносишь руку к этому проводу, и как только максимальное превышает 2,5 в (на дисплее смотрю) - глюки с частотометром. Ко входу кроме этого провода больше ничего не подключено...

Посмотрите еще при опорном на 1.1 в......

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Electronik83 пишет:

Вопрос. Только у меня осциллоскоп правильно показывает частоту при уровне сигнала ниже 2,5 вольт?  Или я тут записался чето и с кодом намудрил? Изначально была взята версия с LCD 5110.

Только что проверил - на моей доработанной прошивке с экраном от 3310 - тоже самое...

Посмотрите кто нибудь у себя... Опорное - 5 вольт, разертка - 0, во вход на измерение вставлен провод 10 см. Подносишь руку к этому проводу, и как только максимальное превышает 2,5 в (на дисплее смотрю) - глюки с частотометром. Ко входу кроме этого провода больше ничего не подключено...

Посмотрите еще при опорном на 1.1 в......

Аппаратный частотомер работает когда сигнал превышает половину напряжения питания. И считается он на пятом пине. Именно для этого мы пятый пин соединяем с аналоговым входом.(до 4МГц считает)

Если напряжение ниже, тогда считает частоту программно с аналогового пина по пересечению уровня синхронизации( справа кружек). Но там частота ограниченна видимостью сигнала на приборе. (до 30-40КГц)

Electronik83
Offline
Зарегистрирован: 06.12.2015

Спасибо большое за столь быстрый и развернутый ответ. Тестирую свою прошивку под экран OLED 128x64, человек с этого форума думаю мне поможет в этом.....

Еще очень давно назрел другой вопрос, боялся его задать, т.к. приблизительно знаю ответ.

Дак вот. У меги328 2048 байт оперативы. Если, например, поставим экран 320 на 200 - то для него нужен буфер RAM в монохромном режиме 320*200/8 = 8000 байт. Вопрос: как вместить экранный буфер размером 8кб в в мегу328 с 2кб всего?

P.S. заказал шилд с дисплеем 320 на 480 под мегу 2560 - будет пультоскопище!

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Electronik83 пишет:

Спасибо большое за столь быстрый и развернутый ответ. Тестирую свою прошивку под экран OLED 128x64, человек с этого форума думаю мне поможет в этом.....

Еще очень давно назрел другой вопрос, боялся его задать, т.к. приблизительно знаю ответ.

Дак вот. У меги328 2048 байт оперативы. Если, например, поставим экран 320 на 200 - то для него нужен буфер RAM в монохромном режиме 320*200/8 = 8000 байт. Вопрос: как вместить экранный буфер размером 8кб в в мегу328 с 2кб всего?

P.S. заказал шилд с дисплеем 320 на 480 под мегу 2560 - будет пультоскопище!

Конкретнее напишите что за экран, а лучше ссылку на библиотеку.

Не всем нужен такой буфер.

Stashevskiy68
Offline
Зарегистрирован: 09.01.2017

для Electronik83  . При использовании вашего  скетча возникает такая проблема. при  использовании его целиком даже меню не показывает, но стоит отключить функцию TTL()  (в вашем варианте скетча)  программа начинает работать нормально. Пробывал на UNO,  NANO, ProMini  результат один и тот-же. прикручивал функции из других скетчей  работает. в чем проблема  не пойму.  очень нужен терминал.

Electronik83
Offline
Зарегистрирован: 06.12.2015

С каким экраном скейтч то?
Попробуй использовать ардуино IDE, который у автора на сайте.

Stashevskiy68
Offline
Зарегистрирован: 09.01.2017

для Electronik83. дисплей NOKIA 5110.  с авторским IDE не компелируется - пишет нехватает памяти.  компилирую   v 1.8.1 .

наверное буду отключать по строке в коде . пока не найду проблемную. и буду пытаться устранить глюк.

 

Electronik83
Offline
Зарегистрирован: 06.12.2015

Я писал именно в авторском IDE. Если пишет "Low memory aviable, stability problems may occur." , то это не означает, что это не компилируется. Это просто предупреждение, что мало памяти совбодной осталось. И с такой ошибкой скейтч заливается прекрасно и нормально работает. Напишите, что у вас пишет (какую ошибку).

Stashevskiy68
Offline
Зарегистрирован: 09.01.2017

на IDE Arduino: 1.6.5 

Плата"Arduino Pro or Pro Mini, ATmega328 (5V, 16 MHz)"
Not enough memory; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing your footprint.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
на IDE Arduino: 1.8.1

 компиляция и загрузка проходят нормально но на экране ничего не отображается

------------------------------------------------------------------------------------------------------------

второй раз  выдало

 Плата:"Arduino Pro or Pro Mini, ATmega328 (5V, 16 MHz)"

Скетч использует 16438 байт (53%) памяти устройства. Всего доступно 30720 байт.

Глобальные переменные используют 2330 байт (113%) динамической памяти, оставляя -282 байт для локальных переменных. Максимум: 2048 байт.
Недостаточно памяти; прочитайте http://www.arduino.cc/en/Guide/Troubleshooting#size
Ошибка компиляции для платы Arduino Pro or Pro Mini.

---------------------------------------------------------------------------------------------------------------------------------------

 скачал снова  IDE  с сайта  сруками.ру  залил в ардуино.  во все пункты меню заходит нормально кроме терминала -пустой экран !

Stashevskiy68
Offline
Зарегистрирован: 09.01.2017

 с пустым экраном разобрался . Я переделывал под кнопки на +5 и в терминале не досмострел  парочку "!"  и терминал переходил сразу в режим получения информации без установки скорости. Спасибо за оперативные подсказки. Может в меню  где происходит выбор  скорости сразу предлогать стандартные скорости?

Electronik83
Offline
Зарегистрирован: 06.12.2015

Я об этом думал. Оверклокинг мешает. Но вариант сделать есть. Хотелось сделать быстрее релиз...
И нечего там переделывать. Я в коде предусмотрел оба варианта. Там сначала автодетект и потом оставил две строчки закомментированных, если автодетект не сработает.

Xumuk
Xumuk аватар
Offline
Зарегистрирован: 03.03.2016

а можно узнать для чего нужен терминал?

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Stashevskiy68 пишет:

 с пустым экраном разобрался . Я переделывал под кнопки на +5 и в терминале не досмострел  парочку "!"  и терминал переходил сразу в режим получения информации без установки скорости. Спасибо за оперативные подсказки. Может в меню  где происходит выбор  скорости сразу предлогать стандартные скорости?

Здесь в ветке недавно человек выкладывал доработку терминала,

там он через кейсы сделал стандартные скорости.

werwerrr
Offline
Зарегистрирован: 01.02.2017
Доброго времени суток. Я здесь в первые, очень заинтересовал «пультоскоп», 
присоединяюсь ко всем дифирамбам автору.
 Решил сварганить пробник и естественно начал с версии 1.0 прошивка 
PULTOSCOPE_LCD5110_final2_DDS_Z_EL83_EDITION в наличии имелся старый
 оригинальный телефон из которого выкрутить LCD5110 весьма проблематично 
(кстати там 9 пин, а не 8 и называется LPH7366-1). Идея лежит на поверхности, 
нужно пользовать тело как пиджак (у меня тоже проблемы с корпусостроением),
размеры позволяют, кнопки, экран, подсветка встроены, осталось подключить ДУНЮ.
 Признаюсь что день ушел на вкуривание большого сервис мануала, с распечаткой схем 
на бумаге и вождением по ним карандашиком, но как говориться 
«лучше день потерять, за-то за пять минут долететь».  
И таки усё получилось, правда на макетке, нужно купить ПРО мини, подумать за питание и обвес. 
В конечном итоге будет пробник полностью в корпусе телефона Nokia 5110.

Схему подключения если интересно нарисую, выложу.

Stashevskiy68
Offline
Зарегистрирован: 09.01.2017

кто нибуть, делал данную конструкцию на дисплеях от сименса С55 (контроллер PCF8812) 102х65 . ?  имеется пару дисплеев . или предложить  библиотеку попроще неже-ли  U8glib.

Stashevskiy68
Offline
Зарегистрирован: 09.01.2017

Может кому пригодится. сделал выбор скорости из стандартных .

// UART приемник   ----------------------------------------------------------------------------------------------------------------------------------------------------------
void TTL() {
  long SpeedUART[8]={1200,2400,4800,9600,19200,38400,57600,115200}; //массив со скоростями UART
  long speedTTL=SpeedUART[xUART];                              // установка скорости при входе в функцию (по умолчанию)
  display.clearDisplay();                                      // формирование экрана Терминала  
  display.setTextColor(WHITE, BLACK);                          //
  display.setCursor(0,0); display.println(" Терминал UART");   //
  display.setTextColor(BLACK);                                 // 
  display.setCursor(15,10); display.println("Скорость:");      //
  display.setTextColor(WHITE, BLACK);                          //
  display.setCursor(10,20); display.print("-");                // 
  display.setTextColor(BLACK);                                 //
  display.println(" "); display.print(speedTTL);display.println(" ");
  display.setTextColor(WHITE, BLACK);                          //  
  display.setCursor(69, 20);  display.println("+");            //
  display.setTextColor(BLACK);                                 //
  display.setCursor(9,40); display.println("ОК - запуск");     //
  //------------------------------- организация выбора скорости из массива скоростей  --------------------------------------- 
   if(digitalRead(key_up))   {xUART++;delay(100);}              //  если нажат +
   if(digitalRead(key_down)) {xUART--;delay(100);}              //  если нажат - 
  
   if(xUART<0) xUART=0;                                         // проверки на пределы массива      
   if(xUART>7) xUART=7;                                         //
   speedTTL=SpeedUART[xUART];                                   // из массива в переменную
  
    if(digitalRead(key_ok)) {                                   // если нажата "OK"
    Serial.begin(speedTTL*(16/overclock));                      // установить скорость UART
  //-------------------------------------------------------------------------------------------------------------------------
    display.clearDisplay();                                     // очистка экрана
    delay(100);                                                 // ожидание
    display.display();                                          // вывод на дисплей  
    int x=0;                                                    // объявляем локальную переменную 
    int y=0;                                                    // объявляем локальную переменную 
   
    while(1){                                                   // выполняем в цикле  
      char incomingBytes;                                       // объявляем локальную переменную 
      if (Serial.available() > 0){                              // Если в буфере есть данные
        incomingBytes=Serial.read();                            // Считывание байта в переменную incomeByte
        display.setCursor(x,y);                                 // установить курсор
        display.print(incomingBytes);                           // Печать строки в буффер дисплея
        display.display(); x=x+6;                               // вывести на экран, сместить по X
        if(x==84){x=0;y=y+8;}                                   // проверка на предел по горизонтали
        if(y==48) {                                             // проверка на предел по вертикали
          x=0;y=0;                                              // при достижении предела обнуляем 
          display.clearDisplay();                               // очистка дисплея
          delay(100);                                           // ожидание
          display.display();                                    // выводим на дисплей
        }
      }         
    }
  } 
  delay(100);  
  display.display();  
}// --------------- конец TTL  ----------------------------------------------------------------------------------------------------------------------------------------------------

 

Juris
Juris аватар
Offline
Зарегистрирован: 28.10.2016

Stashevskiy68 пишет:

Может кому пригодится. сделал выбор скорости из стандартных .

Спасибо Вам!

Stashevskiy68
Offline
Зарегистрирован: 09.01.2017

только учтите в данном коде кнопки на "+5".  если у вас на землю ставте "!" перед всеми digitalRead

 

bulat943
Offline
Зарегистрирован: 19.09.2016

Давно посматривал на этот проект,не стерпел,достал L2F50,плату сделал в виде шилда к уно,вроде работает!буду изучать исходники от VetalST

bulat943
Offline
Зарегистрирован: 19.09.2016

забыл про вопрос-если заменить кварц то ардуино уно будет прошиваться через собственный загрузчик?

можно ли добавить частотомер?при тактовой частоте 27 МГц можно стабильно замерить до 27/2,5=10,8  МГц

sirota
Offline
Зарегистрирован: 18.08.2015

bulat943 пишет:

забыл про вопрос-если заменить кварц то ардуино уно будет прошиваться через собственный загрузчик?

можно ли добавить частотомер?при тактовой частоте 27 МГц можно стабильно замерить до 27/2,5=10,8  МГц

У нас есть кнопка "редактировать".

Нет. Если не прошить "разогнаный" загрузкчик. Для всего кроме 2560 вагон онлайн конструкторов.

bulat943
Offline
Зарегистрирован: 19.09.2016

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

извините за редактировать...

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

bulat943, загрузчик компилится из исходников на любую частоту легко.

Electronik83
Offline
Зарегистрирован: 06.12.2015

Теоретически, можно прошивать ардуинку и с не родной (увеличенной) частотой кварца. Для этого надо просто поменять в настройках скорость обмена ком-порта с ардуинкой. Только есть один вопрос - как к этому отнесётся микросхема эмулятора ком-порта. Вот это да...

P.S. А гуглить "Разогнанный загрузчик" - смысла нету. ИМХО.

bulat943
Offline
Зарегистрирован: 19.09.2016

да уже не важно...гугл на запрос "разоганный загрузчик" ничего внятного не дал, https://www.google.ru/search?q=%D1%80%D0%B0%D0%B7%D0%BE%D0%B3%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9+%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D1%87%D0%B8%D0%BA&oq=%D1%80%D0%B0%D0%B7%D0%BE%D0%B3%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9+%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D1%87%D0%B8%D0%BA&aqs=chrome..69i57.740463j0j7&sourceid=chrome&ie=UTF-8#newwindow=1&q=%D1%80%D0%B0%D0%B7%D0%BE%D0%B3%D0%BD%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9+%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D1%87%D0%B8%D0%BA ,искал этот конструктор (это дуина такая? или что это?) на алиэкспресс не нашел

где-то вычитал что для кварца 8-16 МГц надо изменить фузы на вч-кварц,подключил усб-асп,изменил...вроде галочки в аврдуде не так расставил(там есть прямо и инверсно),атмега не читается...программатор атмегу не видит...нафиг я сироту послушал...буду заказывать новую дуину....

есть десяток атмега328р но они без загрузчика,буду переделывать плату(атмеги в смд,в моей ардуино уно в дипе)

всем удачи!всем спасибо!

oleg.forkop
Offline
Зарегистрирован: 21.06.2015

bulat943 Фьюзе Доктор в помощь.

Stashevskiy68
Offline
Зарегистрирован: 09.01.2017

для bulat943. У меня тоже  имеется такой дисплей. будь добр выложи рабочую схему подключения дисплея и скетч. зараннее благодарен.