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

borisbog
Offline
Зарегистрирован: 22.04.2018

Electronik83 почему должно рандомно нажиматься если нет сигнала на входные контакты? не должно быть вообще никаких реакций. Когда плата лежит подальше от компьютера то ничего не нажимается а когда подношу руку к плате то начинают идти сработки будто нажимаеш кнопки.

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

Сигнала нет, но есть фоновые наводки. Резюки припаяй!

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

borisbog вам верно советуют припаять резисторы...

Sanyaba
Sanyaba аватар
Offline
Зарегистрирован: 27.07.2015

решил повторить проект, пришли 5 экранов и не могу дать им ладу, то мигают то вообще не показывают

братцы подскажите как с этим боротся?

Лекс 59
Лекс 59 аватар
Offline
Зарегистрирован: 02.04.2016

Если речь идет о 5110, то у них бывает плохо прижата контактная гребенка самого дисплея к плате через резинку.

Лечится просто. Металлическая рамка, что их прижимает имеет некие усы, которые заворачиваются либо защелкиваются на обратной стороне платы. Аккуратно прижмите и обеспечте, чтобы крепежные выступы зацепились за край.

Pawka
Offline
Зарегистрирован: 11.05.2018

bodriy2014 пишет:

Плохой дисплей TFT 2.4 240x320 контроллер SPFD5408, много пинов занимает, медленно обновляется и еще и у каждого продавца по разному работает!(((

Делюсь моими "танцами с бубном" вокруг TFT 2.4 240x320 SPFD5408. У меня оказалось 4 дисплея, все 4 были без понижающей ИС U1, похоже на то что пин 5В висит, а вот 3,3В подавать обязательно. В конечном итоге я запустил пультоскоп на библиотеке https://github.com/prenticedavid/MCUFRIEND_kbv, с ID (0x1505); // СТРОКА ВЫБОРА - R61505 240x320 ID=0x1505 works like an ILI9320 LCD driver. На физическом уровне подключение дисплея к плате осталось без изменений. Вращение не трогал, все норм по умолчанию. Со всеми другими библиотеками был или белый экран или оооооочень бледная картинка.

В коде закоментировал библиотеки Adafruit а так же чтение и автоматическую подстановку ID, вместо этого вставил константой ID с моего дисплея. Для чтения ID я воспользовался скетчем diagnose_TFT_support из библиотеки MCUFRIEND_kbv. Библиотеки Adafruit читали ID как то по другому, уже не помню значение, и самый лучший результат с ними был очень бледный экран с зеркальным отображением.

Компилировал в текущем релизе ИДЕ 1.8.5. Получилось такое начало кода, остальное без изменений:

//страничка проекта http://srukami.inf.ua/pultoscop_v2.html
//дистплей TFT SPFD5408

#include <MCUFRIEND_kbv.h>
MCUFRIEND_kbv tft;

/*
#include <SPFD5408_Adafruit_GFX.h>    // Core graphics library SPFD5408_Adafruit_GFX.h
#include <SPFD5408_Adafruit_TFTLCD.h> // Hardware-specific library SPFD5408_Adafruit_TFTLCD.h
#define LCD_CS A3 // Chip Select goes to Analog 3
#define LCD_CD A2 // Command/Data goes to Analog 2
#define LCD_WR A1 // LCD Write goes to Analog 1
#define LCD_RD A0 // LCD Read goes to Analog 0
#define LCD_RESET A4 // Can alternately just connect to Arduino's reset pin
*/
#define BLACK   0x0000
#define BLUE    0x001F
#define RED     0xF800
#define GREEN   0x07E0
#define CYAN    0x07FF
#define MAGENTA 0xF81F
#define YELLOW  0xFFE0
#define WHITE   0xFFFF
#define GRAY    0x8410
//Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
//пользовательские настройки!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#define levo 12
#define ok 11
#define pravo 10
#define vertikal 2   //размер вертикальной сеткаи(если "0" отключениа)
//пользовательские настройки!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
byte mass[501];//массив АЦП
byte massDEL[501];
byte menu = 1; //переменная верхнего меню
byte razv = 0; //значение развертки
float x = 60; //счетчик оси Х
int Vmax = 0; // максимальное напряжение
float Vakb = 0; //напряженеиЕКБ
unsigned long t = 0; //переменная для ращета развертки
unsigned long pause = 0; //переменная для замены Delay
int t_del = 0; //значение цены деления развертки в микросекундах
bool opornoe = 0; //флаг опорного напряжения
bool paus = 0; //флаг режима паузы
bool clen_p = 0; //флаг чистки паузы

void setup() {
// Начало Pawka Добавил код. Здесь выбираем на каком конкретно чипе собран наш конкретный экземпляр SDFP5408,
// выбор осуществляется в - СТРОКА ВЫБОРА
  tft.reset();
  tft.begin(0x1505); // СТРОКА ВЫБОРА - R61505 240x320 ID=0x1505 works like an ILI9320 LCD driver, с этим значением ID запускался мой дисплей
  //tft.setRotation(0); // Need for the Mega, please changed for your choice or rotation initial
// Конец Pawka Добавил код
  Vakb = analogRead(A6) * 5.3 / 1024; //проверка напряжения на АКБ
  if (opornoe == 0) {
    ADMUX = 0b11100101; //выбор внутреннего опорного 1,1В
  }
  if (opornoe == 1) {
    ADMUX = 0b01100101; //Выбор внешнего опорного
  }
  //uint16_t identifier = tft.readID(); //убрал овто выбор ID
  //tft.begin(identifier);              //убрал овто выбор ID
  //delay(50);
  tft.fillScreen(BLACK);
  delay(500);
}

 

Юрий47
Offline
Зарегистрирован: 08.05.2018

Всем привет!Я новичок в ардуино,прошу сильно не пинать!У меня вопрос по получению формы меандра с помошью генератора автора.Форму прилагаю ниже.

е.

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

Ну два пультоскопа и 555ЛА3, у которой 1 и 2 вывод - входы, 3-выход, 7 - общий, 14 - питание. Ну и блокировочник по традиции)))))
Нужны определенные частоты или как?

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

del.

Юрий47
Offline
Зарегистрирован: 08.05.2018

Да,нужны три частоты:
42-43кгц
21-22кгц
10-11кгц
)))Думал обойтись без 555,видимо не получится.

Юрий47
Offline
Зарегистрирован: 08.05.2018

 

 

mobistrike
mobistrike аватар
Offline
Зарегистрирован: 19.08.2016

bodriy2014 Помогите решить проблему с китайской копией дисплея 3310

 

 

 

 

MIK22
Offline
Зарегистрирован: 09.02.2017

Опробовал пультоскоп на MASSDUino  UNO ЦПУ 16бит 100КГц меандр фронты прямые. Но плохо синхронизируется.

Поэтому смотрел в режиме паузы.

Novice User
Offline
Зарегистрирован: 25.09.2017

Этот Massduino с тактовой 64 МГц???закажу пожалуй...

 

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

Заказал тоже - с удовольствием поиграюсь, как придет...

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

Novice User пишет:

Этот Massduino с тактовой 64 МГц???закажу пожалуй...

Думаю стоит уточнить -там pll синтезатор 64Мгц тактирует только таймер.  Сам контроллер работает на 16 Мгц, и никаких преимуществ в скорости перед оригинальной atmega328 не имеет.

MIK22
Offline
Зарегистрирован: 09.02.2017

Я пробовал пультоскоп на Massduino UNO LC c тактовой частотой 16 Ьгц.

Novice User
Offline
Зарегистрирован: 25.09.2017

А фото есть меандра 100 кГц?

MIK22
Offline
Зарегистрирован: 09.02.2017

Novice User
Offline
Зарегистрирован: 25.09.2017

Спасибо,буду ждать свой Массдуино..

 

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

I2C сниффер реализовать чтоль....

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

Electronik83 пишет:

I2C сниффер реализовать чтоль....

Давай !

 

rusoturisto
rusoturisto аватар
Offline
Зарегистрирован: 20.03.2018

   Добрый день. Собрал я пультоскоп, прошил-работает. Хочется что-то покруче, но по принципу пультоскопа: минимум дискретных деталей. У нас в Донецке два радиорынка : Маяк и Мотодром. Но ардуино есть только на Мотодроме и только у одного продавца; из Китая не закажешь. АЦП AD9280 нет нигде. Есть АЦП ADS1115 (16 бит), но разработать схему и составить программу я не умею: может кто-то захочет. А недавно появилась китайская Arduino DUE за 1300 рублей (кто живёт к Китаю ближе у того и цены ниже) с МК ATSAM3X8E и дисплеи 2,4" 240Х320 (вроде 1505) и на ILI9341 а также 240Х400 на ST7793. Вот бы (мечтательно говорил Манилов) приделать к этой DUE какой- нибудь из этих дисплеев и программу кто-то написал бы. Может кому-то захочется. Если тема не для этой ветки - то можно перенести, новую создать; просто принцип пультоскопа хотелось бы соблюсти: плата, кнопки, дисплей, программа.                                    И не по теме. Был в Донецком университете в 80-Х годах преподаватель теормеханики по кличке Конь; студентов на экзаменах валил нещадно. Узнали студенты его адрес, скинулись и выписали ему журнал "КОНЕВОДСТВО". Потом опять скинулись и заказали ему гроб с доставкой на дом... Преподаватель потом рассказывал, что он в гробу хранит картошку на балконе. Зачем добру пропадать.

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

rusoturisto, ну так и купили бы  набор для сборки того-же DSO138 , и дисплей уже "приделан" и программа написана, причём не одна :)

rusoturisto
rusoturisto аватар
Offline
Зарегистрирован: 20.03.2018

   Добый день, dimax. Есть в продаже и DSO138 и DSO150, но и у того и у другого 1 миллион выборок в секунду. Маловато будет, маловато.

smokok
smokok аватар
Offline
Зарегистрирован: 08.06.2018

Всем привет. Я тут новичок самоучка и не читал всю тему и если повторюсь, то извините. Наткнулся вот на ЭТО, ТУТ вы можете скачать оригинал. Разобрался,  ВАЖНО!!! Для работы кнопок подцепил ещё один резистор 10к на А0 и к + (не зависимо что есть уже есть три, лево - ок - право) так написан код. Удобно что есть в меню регулировка контрастности и ВКЛ ОТК подсветки с сохранением. Всё проверял на Nokia 5110 и если кто варит, то можете улучшить переписать или взять полезное. И ещё подскажите, не смог понять где в коде переписать кнопки, ну типо минус поменять на плюс чтоб не перепаивать. В этом что пробовал, то работают через минус (если не путаюсь).

Вот скейч в который я лазил СКАЧАТЬ перевёл, подрисовал, подчинил паузу.

weisswp
Offline
Зарегистрирован: 26.05.2018

доброго времени суток, господа.

будьте добры, подскажите актуальный скетч для экрана SSD1306. где то натыкался, а где - не припомню.

с удовольствием пользуюсь вариантом от уважаемого Электроника для нокиевского дисплея, но он громоздкий, неинформативный, и эстетически некрасивый. хочется на ОЛЕД собрать :)

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

Выкладывал я тут свой релиз под ssd1306. Какой версией пользуетесь под 3310?

weisswp
Offline
Зарегистрирован: 26.05.2018

версия PULTOSCOPE_LCD5110_final2_DDS_Z_El83_18_OK

только сейчас увидел, что пропустил версию 20. не уследил, сейчас буду заливать :)

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

В 18 версии я нашел пару глюков))))

weisswp
Offline
Зарегистрирован: 26.05.2018

видно не натыкался на них :)

пару десятков страниц отмотал, не нашел скетч под ssd1306. можете ткнуть носом?)

этому форуму не помешал бы поиск...))

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

Страница 59 не?

smokok
smokok аватар
Offline
Зарегистрирован: 08.06.2018

Electronik83 пишет:
В 18 версии я нашел пару глюков))))

А в какой версии меньше глюков?  Смотрели ту что я выложил? Там как по глюкам? И как кнопки переписывать по полярности намекните.

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

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

weisswp
Offline
Зарегистрирован: 26.05.2018

Вопрос к уважаемому Электронику.
Вчера пытался совместить крайние версии для ssd1306 и 5110, оставив в коде только осциллоскоп, взяв математику из 5110 и графику из ssd1306.
Весь день голову ломал, но правильную частоту вывести так и не удалось.
Программирование только осваиваю, в последний раз писал лет пятнадцать назад на паскале))
Посему вопрос - планируется ли релиз под ssd1306?)

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

Да. Будет. Когда меня устроит работа на 5110.

smokok
smokok аватар
Offline
Зарегистрирован: 08.06.2018

Electronik83 пишет:
Да. Будет. Когда меня устроит работа на 5110.

Если Вас устроит, то Нас темболее. Будем ждать релиза.

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

а режим прозвонки никто не прикручивал к пультоскопу?

mobistrike
mobistrike аватар
Offline
Зарегистрирован: 19.08.2016

Подскажите плиз ,

 1.  как выйти в главное меню из подпрограмм , реализовано ли это ? 

2.   Как узнать заряд батареи ?

У меня 20 версия на lcd 3310 от уважаемого Elrctronik83 

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

Заряд батареи в главном меню полосочкой отображается. Выход из подпрограмм никак не реализован - поэтому только через кнопку сброса reset.

mobistrike
mobistrike аватар
Offline
Зарегистрирован: 19.08.2016

Electronik83 пишет:
Заряд батареи в главном меню полосочкой отображается. Выход из подпрограмм никак не реализован - поэтому только через кнопку сброса reset.

Понял .

Но не вижу ! ткните пальцем плиз 

Спасибо огромное за труды !

mobistrike
mobistrike аватар
Offline
Зарегистрирован: 19.08.2016

Работает все , кроме измерения напряжения акб. Помогите разобраться - если отключить резистор от плюса arduino и измерять напряжение  от внешнего источника питания то показания правильные . Если поключить резистор к плюсу arduino  - показания всегда 5.00 даже если arduino запитана от 3.5 вольт . Неверные показания даже тут 



void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int sensorValue = analogRead(A0);
  // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
  float voltage = sensorValue * (5.0 / 1023.0);
  // print out the value you read:
  Serial.println(voltage);
}

Пробовал менять входы на A0, A1, A5 - результат везде одинаков .

В чем может быть проблема ?

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

Тут в строке
float voltage = sensorValue * (5.0 /1023);

Поменяйте 5.0 на 3.5 и все.
Ой да. Чтобы нормально измерять напряжение на акб нужен преобразователь акб в 5 вольт. Или использовать опорное напряжение в 1,1 вольт и подключать + акб к ацп через делитель. Я бы поставил преобразователь.

И там в начале кода есть строка #define , в которой указывается напряжение питания ардуины

mobistrike
mobistrike аватар
Offline
Зарегистрирован: 19.08.2016

получается такая схема измерения неработоспособна ?

Ребят ,кто собирал пультоскоп - у всех неверные показания акб ?

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

Работоспособна схема при питании ардуины строго +5 вольт. Сопротивление резистора я бы уменьшил до одного килоома, а то и меньше....

Хочу еще пояснить, что Arduin`ка умеет мерять напряжение АЦП от трех источников ОПОРНОГО НАПРЯЖЕНИЯ:

1. Первый способ - это внутренний какой то там стабилизатор. Он настроен на напряжение 1,1 вольта.

2. Второй - это непосредственно с напряжения питания ардуинки. По умолчанию, в коде пультоскопа, предпологается, что это ОПОРНОЕ НАПРЯЖЕНИЕ составляет ровно пять вольт, и можно менять на 1,1 в осцилле. И для некоторых режимов его можно выбрать в #define....

3. Третий - есть вход vRef - на этот вход мы можем подать свое ОПОРНОЕ НАПРЯЖЕНИЕ, удобное нам, например, которое будет состоять из цепи стабилитрона, подтянутого к питанию через резистор. Или есть специально обученные микросхемы для этого, по типу TL431.

Так вот, ЭТО ОПОРНОЕ НАПРЯЖЕНИЕ задает максимальный уровень сигнала, которое может декодировать АЦП. К примеру, мы имеем ОПОРНОЕ НАПРЯЖЕНИЕ в 1,1 вольт. При режиме декодирования в 10 бит (как в пультосопе) это означает, что АЦП может принимать максимальное значение в 1024 (это 2 в степени 10). Т.е. 0 вольт на входе АЦП дает значение 0; а вот 1,1 вольт на входе даст нам 1024.

Промежуточные значения АЦП будут пропорциональны напряжению на входе АЦП. Для примера, если мы подадим напряжение на вход в 0,55 вольта при том же опорном, то АЦП даст значение 512. Для других напряжений на входе путем нехитрых пропорциональных вычислений мы можем понять, какое именно напряжение подано на вход.

Еще входное напряжение можно делить резисторным делителем, если опорное меньше входного, и учитывать это в коде.

Хух. Устал писАть, думаю доступно и понятно изъясняюсь.

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

Отчет: пришли эти massduino nano md-328d - начал гуглить - информации мало вообще по ним - экспериментировать и быть первопроходцем не хочу. Времени что то маловато для этого. Подумал - зачем пультоскопу АЦП в 16 бит? Если вот, к примеру в версии с экраном LCD5110 = 48 точек по вертикали - за глаза и 8 бит оцифровки сигнала, ардуинка стандартная может 10 или 12. Отложу пока в дальний угол...

P.S. Нашел два плюса:

     + Это красивые яркие светодиоды на плате распаяны (почему то зацепило как то),

     + Возможность подключения напрямую к дисплеям с шиной питания в 3,3 вольта без всяких резисторов и прочих согласующих цепей. Хотя, если подключать цветные дисплеи, я бы брал stm32, но там и так 3,3 вольта...

mobistrike
mobistrike аватар
Offline
Зарегистрирован: 19.08.2016

Electronik83 пишет:

Работоспособна схема при питании ардуины строго +5 вольт. ....

Тут теряется весь смысл измерения напряжения питания arduino .

Я пошел другим путем - взял за основу код от форумчанина DIMAX, за что ему спасибо  - ТУТ . 

Измерение производится внутренней коммутацией, не используя внешние аналоговые входы, причем довольно точно.

weisswp
Offline
Зарегистрирован: 26.05.2018

а зачем мерять напряжение питания ардуины, если меряется напряжение на аккумуляторе?)

mobistrike
mobistrike аватар
Offline
Зарегистрирован: 19.08.2016

weisswp пишет:

а зачем мерять напряжение питания ардуины, если меряется напряжение на аккумуляторе?)

Затем , что аккумулятор подключен непосредственно к VCC .

BuonanotteMasha
BuonanotteMasha аватар
Offline
Зарегистрирован: 02.01.2018

Здравствуте, решил собрать проект Пультоскоп последней версии. Бегло просмотрел код. Возник вопрос по схеме, для чего замкнуты два вывода?