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

Joiner
Offline
Зарегистрирован: 04.09.2014

grif66 пишет:

Доделал свой пультоскоп наконец......

Классный приборчик получился! Главное - законченное изделие! Оценка 5 с минусом (с малюсеньким). Окно под монитор чуть большеватое, и еще надписи пофирменнее нанести. Если бы, то вообще класс!

grif66
Offline
Зарегистрирован: 28.04.2017

надписи гравером рисовал, потом пэйнт маркером белым....а ручки то дрожат). С окном да, промахнулся малость.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

bodriy2014 пишет:
А вы вместо того чтоб вопрошать могли бы и сами изменить несколько цифр в регистре  ADCSRA и сразу  получить ответ.

Спасибки. попробовал. Мега2560, 16Мгц, ссыль: Самодельная Мега128а, Мега2560 + SRAM512кб, итого: 615 килосемплов в секунду для 8-и бит - вполне реальная частота дискретизации. Точность надо проверять лучше. Я делал только визуальный кнотроль.

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

Arhat109-2 пишет:

bodriy2014 пишет:
А вы вместо того чтоб вопрошать могли бы и сами изменить несколько цифр в регистре  ADCSRA и сразу  получить ответ.

Спасибки. попробовал. Мега2560, 16Мгц, ссыль: Самодельная Мега128а, Мега2560 + SRAM512кб, итого: 615 килосемплов в секунду для 8-и бит - вполне реальная частота дискретизации. Точность надо проверять лучше. Я делал только визуальный кнотроль.

Это отлично, получается вариант на Мега2560 будет иметь более высокую скорость и благодаря большему количеству памяти можно увеличить длину запоминаемой осциллограммы.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Я подозреваю, что это особенность разводки плат "МУРК" строго по даташиту .. неплохо посмотреть (за что и спрашивал!) как дела на типовой Мега 2560 р3.

Сегодня попробую провести эксперимент на плате МУРК-128, там кварц 20Мгц. .. если получится, то частота дискретизации может составить все 20/2/13 = 769кГц, что уже вполне..

Памяти у меня будет достаточно, по созданию платы SRAM512k3w, в т.ч. и на буфер до 32кб без каких-либо напрягов в программной части от слова "вообще".

Уже размышляю как можно сделать программное сканирование буфера для поиска периода для сложно-периодического сигнала и усреднения данных и/или получения дополнительных замеров и программного повышения частоты дискретизации.

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

Arhat109-2 пишет:

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

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

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Почему "нет"? Там есть много условий запуска АЦП .. :)

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

Arhat109-2 пишет:

Почему "нет"? Там есть много условий запуска АЦП .. :)

Нужен очень точный  быстрый аппаратный триггер.

Пусть это будет мое ИМХО.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Так у меги (2560 точно) есть возможность назначить выход АЦП как вход компаратору. Сигнал ACME .. Снимаем АЦП, подаем на компаратор, без сохранения и как только он свистнул - в его обработчике прерывания устанавливаем флажок "писать буфер осцила". Не? Там вроде как 5 тактов всего корячится как задержка сигнала прерывания .. ну ещё на вход в обработчик и изменение флага. Но это же системная и фиксированная (почти) задержка! Она одинакова в любом запуске.

P.S. посмотрел даташит, все несколько печальней, но тем не менее решаемо. Кстати, обнаружил рекомендацию отключать аналоговую ногу в DIDRх регистрах в т.ч. и для уменьшения наводок от блока PINx .. а как оказываца! :)

Mik.Bond.
Mik.Bond. аватар
Offline
Зарегистрирован: 06.06.2017

дорогие друзья  помогите разобраться.   информации на форуме много...
пришел дисплей вот с таким =низом = (хотя заказывал другой)

=мордашка= стандартная

при загрузке скетча - белый моргающий экран

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

в начале форума  человек давал ссылку   на сайт
...заходил....да открывались  текстовые файлы....а что с ними делать дальше - я не знаю

и для этого-ли дисплея....

поделитесь если не жалко

sakatgg
Offline
Зарегистрирован: 09.03.2017

Mik.Bond. , такой подключал, здесь подробно как http://arduino.ru/forum/proekty/pultoskop-na-arduino-27mgts?page=57

Скейч PULTOSCOPE TFT st7783, кнопки на GND:

//страничка проекта http://srukami.inf.ua/pultoscop_v2.html
//дистплей TFT SPFD5408
#include <Adafruit_GFX.h>    // Core graphics library
//#include <Adafruit_TFTLCD.h> // Hardware-specific library
#include <MCUFRIEND_kbv.h>
MCUFRIEND_kbv tft;
#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
//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=1; //флаг опорного напряжения
bool paus=0; //флаг режима паузы
bool clen_p=0;//флаг чистки паузы
void setup(){  
  // подтянули кнопки к питанию
  digitalWrite(levo, HIGH); digitalWrite(pravo, HIGH); digitalWrite(ok, HIGH);
    Vakb=analogRead(A6)*5.3/1024;//проверка напряжения на АКБ
    if(opornoe==0){ADMUX = 0b11100101;}//выбор внутреннего опорного 1,1В
    if(opornoe==1){ADMUX = 0b01100101;}//Выбор внешнего опорного
    uint16_t identifier = tft.readID();  
    tft.begin(identifier);
    delay(50);
    tft.fillScreen(BLACK);
    delay(500);
}
void Zamer(){//заполнение буфера АЦП
  if (razv>=6){ADCSRA = 0b11100010;}//delitel 4
  if (razv==5){ADCSRA = 0b11100011;}//delitel 8
  if (razv==4){ADCSRA = 0b11100100;}//delitel 16
  if (razv==3){ADCSRA = 0b11100101;}//delitel 32
  if (razv==2){ADCSRA = 0b11100110;}//delitel 64
  if (razv<2){ADCSRA = 0b11100111;}//delitel 128
  if (razv==0){
      t=micros(); 
      for(int i=0;i<500;i++){ 
          while ((ADCSRA & 0x10)==0);
          ADCSRA|=0x10;
          delayMicroseconds(100);
          mass[i]=ADCH;
      }
      t= micros()-t;
      t_del=t*25/501;
  }
  if (razv>0){
      t=micros();
      for(int i=0;i<500;i++){ 
          while ((ADCSRA & 0x10)==0);
          ADCSRA|=0x10;
          mass[i]=ADCH;
      }
      t= micros()-t;
      t_del=t*25/501;
  }
  
}
void MenuT(){//перерисовка нижнего меню    
    tft.setRotation(0);  
    tft.fillRect(0, 20, 20,320, BLACK);//стирание поля меню низ
    //tft.fillRect(0, 15, 25,75, CYAN);//стирание
    //tft.fillRect(0, 170, 25,65, CYAN);//стирание
    tft.setRotation(1);
    tft.setCursor(0,220);
    tft.print("t=");
    if(razv<7){tft.print(t_del);}
    if(razv==7){tft.print(t_del/2);}
    if(razv==8){tft.print(t_del/3);}
    if(razv==9){tft.print(t_del/4);}
    if(razv==10){tft.print(t_del/5);}
    tft.print("us  ");
    tft.print("Vmax=");
    if(opornoe==0){tft.print(Vmax*1.1/255);}
    if(opornoe==1){tft.print(Vmax*5.3/255);}
    tft.print(" ");
    tft.print("B");
    tft.print(Vakb);  
}

void loop() { 
Zamer();  
//отрисовка и перебор меню###############################
if(menu==0){
  tft.setRotation(1);
  tft.setTextColor(RED);
  tft.setTextSize(2); 
  tft.fillRect(0, 0, 85, 25, CYAN);
  tft.setCursor(0,5);
  if(opornoe==0){tft.print("op-1.1V ");}
  if(opornoe==1){tft.print("op-5.3V ");}
  if(digitalRead(pravo)==LOW){
    tft.setRotation(0); 
    tft.fillRect(65, 0, 120, 50, BLACK);//стирание напряжения
    tft.fillRect(45, 60, 140, 260, BLACK);//стиране поля графика
    opornoe=!opornoe;}
  if(digitalRead(levo)==LOW){
    tft.setRotation(0);  
    tft.setRotation(0); 
     tft.fillRect(45, 60, 140, 260, BLACK);//стиране поля графика 
    tft.fillRect(65, 0, 120, 50, BLACK);//стирание напряжения
    opornoe=!opornoe;}
  tft.setRotation(1);  
  tft.print("Razv*");
  tft.print(razv);
  tft.print("   PauseOFF");
}
if(menu==1){
  tft.setRotation(1);
  tft.setTextColor(RED);
  tft.setTextSize(2); 
  tft.fillRect(90, 0,120, 25, CYAN);
  tft.setCursor(0,5);
  if(opornoe==0){tft.print("op-1.1V ");}
  if(opornoe==1){tft.print("op-5.3V ");}
  if(digitalRead(pravo)==LOW){//доработать скорость
  tft.setRotation(0); 
  tft.fillRect(45, 60, 140, 260, BLACK);//стиране поля графика
  razv++;
  if(razv==11){razv=10;} 
  }
  if(digitalRead(levo)==LOW){//доработать скорость
  tft.setRotation(0); 
  tft.fillRect(45, 60, 140, 260, BLACK);//стиране поля графика
  razv--;
  if(razv==255){razv=0;} 
  }
  tft.setRotation(1); 
  tft.print("Razv*");
  tft.print(razv);
  tft.print("   PauseOFF");
}
if(menu==2){//пауза
  paus=1;
  if(clen_p==0){
  clen_p=1;  
  tft.setRotation(1);
  tft.setTextColor(RED);
  tft.setTextSize(2); 
  tft.fillRect(210, 0,100, 25, CYAN);
  tft.setCursor(0,5);
  if(opornoe==0){tft.print("op-1.1V ");}
  if(opornoe==1){tft.print("op-5.3V ");}
  tft.print("Razv*");
  tft.print(razv);
  if(paus==0){tft.print("   PauseOFF");}
  if(paus==1){tft.print("   PauseON");}
}
}
if(digitalRead(ok)==LOW){
  menu++;
  tft.setRotation(0); 
  tft.fillRect(45, 60, 140, 260, BLACK);//стиране поля графика  
  if(menu==3){menu=0;paus=0;clen_p=0;}
  tft.setRotation(1); 
  tft.fillRect(0, 0,320, 25, BLACK);    
}
//отрисовка и перебор меню###############################
//Выбор опорного#########################################  
if(opornoe==0){ADMUX = 0b11100101;}//выбор внутреннего опорного 1,1В
if(opornoe==1){ADMUX = 0b01100101;}//Выбор внешнего опорного
delay(5);
//Выбор опорного#########################################  
tft.setRotation(0); 
//ось напряжения##########################################
tft.drawFastHLine(44,60,140,BLUE);tft.drawFastHLine(44,59,140,BLUE);tft.drawFastHLine(44,58,140,BLUE);
tft.drawFastVLine(50,50,10, BLUE);tft.drawFastVLine(76,50,10, BLUE);tft.drawFastVLine(102,50,10, BLUE);
tft.drawFastVLine(128,50,10, BLUE);tft.drawFastVLine(154,50,10, BLUE);tft.drawFastVLine(175,50,10, BLUE);
//ось времени#############################################
tft.drawFastVLine(44,60,270, RED);tft.drawFastVLine(43,60,270, RED);tft.drawFastVLine(42,60,270, RED);
tft.drawFastHLine(35,60,10,RED);tft.drawFastHLine(35,85,10,RED);tft.drawFastHLine(35,110,10,RED);tft.drawFastHLine(35,135,10,RED);
tft.drawFastHLine(35,160,10,RED);tft.drawFastHLine(35,185,10,RED);tft.drawFastHLine(35,210,10,RED);tft.drawFastHLine(35,235,10,RED);
tft.drawFastHLine(35,260,10,RED);tft.drawFastHLine(35,285,10,RED);tft.drawFastHLine(35,310,10,RED);
//ось времени#############################################
//сетка вертикальная #####################################
tft.drawFastHLine(75,310,5*vertikal,YELLOW);tft.drawFastHLine(110,310,5*vertikal,YELLOW);tft.drawFastHLine(145,310,5*vertikal,YELLOW);tft.drawFastHLine(180,310,5*vertikal,YELLOW);
tft.drawFastHLine(75,285,5*vertikal,YELLOW);tft.drawFastHLine(110,285,5*vertikal,YELLOW);tft.drawFastHLine(145,285,5*vertikal,YELLOW);tft.drawFastHLine(180,285,5*vertikal,YELLOW);
tft.drawFastHLine(75,260,5*vertikal,YELLOW);tft.drawFastHLine(110,260,5*vertikal,YELLOW);tft.drawFastHLine(145,260,5*vertikal,YELLOW);tft.drawFastHLine(180,260,5*vertikal,YELLOW);
tft.drawFastHLine(75,235,5*vertikal,YELLOW);tft.drawFastHLine(110,235,5*vertikal,YELLOW);tft.drawFastHLine(145,235,5*vertikal,YELLOW);tft.drawFastHLine(180,235,5*vertikal,YELLOW);
tft.drawFastHLine(75,210,5*vertikal,YELLOW);tft.drawFastHLine(110,210,5*vertikal,YELLOW);tft.drawFastHLine(145,210,5*vertikal,YELLOW);tft.drawFastHLine(180,210,5*vertikal,YELLOW);
tft.drawFastHLine(75,185,5*vertikal,YELLOW);tft.drawFastHLine(110,185,5*vertikal,YELLOW);tft.drawFastHLine(145,185,5*vertikal,YELLOW);tft.drawFastHLine(180,185,5*vertikal,YELLOW);
tft.drawFastHLine(75,160,5*vertikal,YELLOW);tft.drawFastHLine(110,160,5*vertikal,YELLOW);tft.drawFastHLine(145,160,5*vertikal,YELLOW);tft.drawFastHLine(180,160,5*vertikal,YELLOW);
tft.drawFastHLine(75,135,5*vertikal,YELLOW);tft.drawFastHLine(110,135,5*vertikal,YELLOW);tft.drawFastHLine(145,135,5*vertikal,YELLOW);tft.drawFastHLine(180,135,5*vertikal,YELLOW);
tft.drawFastHLine(75,110,5*vertikal,YELLOW);tft.drawFastHLine(110,110,5*vertikal,YELLOW);tft.drawFastHLine(145,110,5*vertikal,YELLOW);tft.drawFastHLine(180,110,5*vertikal,YELLOW);
tft.drawFastHLine(75,85,5*vertikal,YELLOW);tft.drawFastHLine(110,85,5*vertikal,YELLOW);tft.drawFastHLine(145,85,5*vertikal,YELLOW);tft.drawFastHLine(180,85,5*vertikal,YELLOW);
//сетка вертикальная #####################################
tft.setRotation(1);  
tft.setTextColor(RED);
tft.setTextSize(2);
//шкала напряжения########################################
if(opornoe==0){
    tft.setCursor(30, 190);tft.println("0"); 
    tft.setCursor(0, 155);tft.println("0.22"); 
    tft.setCursor(0, 130);tft.println("0.44"); 
    tft.setCursor(0,105);tft.println("0.66"); 
    tft.setCursor(0, 80);tft.println("0.88"); 
    tft.setCursor(0, 55);tft.println("1.1V");   
}
if(opornoe==1){
    tft.setCursor(30, 190);tft.println("0"); 
    tft.setCursor(0, 155);tft.println("1.00"); 
    tft.setCursor(0, 130);tft.println("2.00"); 
    tft.setCursor(0,105);tft.println("3.00"); 
    tft.setCursor(0, 80);tft.println("4.00"); 
    tft.setCursor(0, 55);tft.println("5.0V");   
}
//шкала напряжения########################################
if(paus==0){MenuT();}
//максимальное значение сигнала##########################
Vmax=0; 
for(int i=0;i<500;i++){  
        if(Vmax<mass[i]){ Vmax=mass[i];} 
}
//максимальное значение сигнала##########################
//отрисовка графика№№№№№№№№№№№№№№№№№№№№№
if(paus==0){
  tft.setRotation(0); 
  //tft.fillRect(45, 60, 140, 260, BLACK);//стиране графика
  x=60;
  for(int y=0;y<260;y++){
      tft.setRotation(1); 
      if(razv<7){x++;}
      if(razv==7){x=x+2;}
      if(razv==8){x=x+3;} 
      if(razv==9){x=x+4;}
      if(razv==10){x=x+5;}
      tft.drawLine(x+1,190-massDEL[y]/2+1, x+2,190-massDEL[y+1]/2+1, BLACK);//стираем график
      tft.drawLine(x,190-massDEL[y]/2, x+1,190-massDEL[y+1]/2, BLACK);//стираем график
      tft.drawLine(x+1,190-mass[y]/2+1, x+2,190-mass[y+1]/2+1, GREEN);//график
      tft.drawLine(x,190-mass[y]/2, x+1,190-mass[y+1]/2, GREEN);//график
         
  }
  for(int i=0;i<500;i++){massDEL[i]=mass[i];}
}
if(paus==1){//режим паузы
    //tft.setRotation(0); 
    //tft.fillRect(45, 60, 140, 260, BLACK);//стиране графика 
    if(digitalRead(pravo)==LOW){//листаем
        tft.setRotation(0); 
        tft.fillRect(45, 60, 140, 260, BLACK);//стиране графика 
      x=60;
      for(int y=0;y<260;y++){
          tft.setRotation(1);
          if(razv<7){x++;}
          if(razv==7){x=x+2;}
          if(razv==8){x=x+3;}
          if(razv==9){x=x+4;}
          if(razv==10){x=x+5;}
      tft.drawLine(x+1,190-mass[y]/2+1, x+2,190-mass[y+1]/2+1, GREEN);//график
      tft.drawLine(x,190-mass[y]/2, x+1,190-mass[y+1]/2, GREEN);//график
      }
      MenuT();
    }
    if(digitalRead(levo)==LOW){//листаем
      tft.setRotation(0); 
      tft.fillRect(45, 60, 140, 260, BLACK);//стиране графика 
      x=60;
      for(int y=0;y<260;y++){
          tft.setRotation(1); 
          if(razv<7){x++;}
          if(razv==7){x=x+2;}
          if(razv==8){x=x+3;} 
          if(razv==9){x=x+4;}
          if(razv==10){x=x+5;}
      tft.drawLine(x+1,190-mass[y]/2+1, x+2,190-mass[y+1]/2+1, GREEN);//график
      tft.drawLine(x,190-mass[y]/2, x+1,190-mass[y+1]/2, GREEN);//график
      }
      MenuT();
    }     
}
//отрисовка графика№№№№№№№№№№№№№№№№№№№№№
}

 

Mik.Bond.
Mik.Bond. аватар
Offline
Зарегистрирован: 06.06.2017

у меня такой тогда вопрос

прошил последним скетчем  - без изменений   = белий=  и =мОргает=

тогда вопрос такой   может все детали и кнопки подключить?

без них он тоже что-то должен показывать   или нет?

sakatgg
Offline
Зарегистрирован: 09.03.2017

Значит контролер другой, без кнопок должен стартовать. Такой шилд по крайней мере две ревизии имеет с разными контроллерами. Может еще что новое запилили.

P.S.  Отсюда пробуйте http://srukami.inf.ua/pultoscop_v2.html на SPFD5408

А как определить - в Arduino тестовые скейчи запускать

Mik.Bond.
Mik.Bond. аватар
Offline
Зарегистрирован: 06.06.2017

а можно как-то определить 

какой контролле стоИт и где он находится

хотя может и лсд бракованный.....

грузил с того сайта....та же картина

 

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

тут на просторах с 20+ страницы кто-то выкладывал универсальную библиотеку для таких дисплеев... мой по крайней мере заработал

Mik.Bond.
Mik.Bond. аватар
Offline
Зарегистрирован: 06.06.2017

спасибо - обязательно поищу

на =экспрессе=  выписал  другой лсд 2.4  ,уже даже типа - выслали, ну...ждем-с

в принципе имеется 2 лсд-ишки  1.8   и 3 шт ардуино нано

здесь я видел где-то человек выкладывал образцы - =привенчу=   понравится - оставлю 

всё-равно ...ждать

Mik.Bond.
Mik.Bond. аватар
Offline
Зарегистрирован: 06.06.2017

ну вот нашел на стр 28

 LCD_ID_readreg.Ино 
6.27 КБ
 
 MCUFRIEND_kbv-2.9.3.zip 
217.37 КБ
 
Xumuk  вы про эти говорили  -эх...не пашет
 
bulat943
Offline
Зарегистрирован: 19.09.2016

http://www.mcufriend.com/shop/html/?12.html   

Номер: C202 

Марка: Другие   Посмотреть бренд все товары]

Единица измерения: шт 

Вес: 20 г 

Размер: 240x320 

Модель: SX502

240x320 
Контроллер: ili9325 ili9341
Mik.Bond.
Mik.Bond. аватар
Offline
Зарегистрирован: 06.06.2017

bulat

этo  ничего не дает - бракованное изделие  я так думаю  да и на картинке другое девайс

не может быть такого вон люди к сотовому телефону =прикрутили=   а этот х....рен  работать не хочет

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Вы запросите у продавана даташит на дисплей и его контроллер, все и разъяснится.

Я когда свои заказывал, тоже понравились у одного 320х240, но вот тоже не нашел марку контроллера - запросил а в ответ получи "Dom't have this lot", заказал у второго. Этот сразу прислал полноценный даташит, вот теперь жду когда дисплеи доедут.. уже типа "загружены в самолет" (Russian Air Mail) .. правда уже с неделю как всё в самолете летят.. видимо через МКС, не иначе.. :)

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

а как вы подключали?у меня почти такой дисплей подключал к уно,контроллер оказался SPDF5408

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

Mik.Bond.
Mik.Bond. аватар
Offline
Зарегистрирован: 06.06.2017

заказывал вот такой девайс

https://ru.aliexpress.com/item/Free-Shipping-2-4-inch-TFT-touch-LCD-Module-LCD-Screen-Module/2001098914.html?spm=2114.13010608.0.0.CcMyRU

а пришел  -  картинка выше   ну....не выбрасывать-же

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

в начале форума была рекомендация   исправить вот таким образом

пробовал - выдала ошибку   

Попробуйте в моем скетче изменить строки

 

1
#include <Adafruit_GFX.h>    // Core graphics library

2
#include <Adafruit_TFTLCD.h> // Hardware-specific library
на

1

#include <SPFD5408_Adafruit_GFX.h>    // Core graphics library

2

#include <SPFD5408_Adafruit_TFTLCD.h> // Hardware-specific library

 

slider
Offline
Зарегистрирован: 17.06.2014

Mik.Bond. пишет:

...

а пришел  -  картинка выше   ну....не выбрасывать-же

....

здесь на форуме полно либ под эти шилды , в поиск  2.4"

контроллеров на нем бывает не так много, около 5-7 разновидностей. просто перебирайте либы которые найдете по поиску.

и разве что могу посоветовать сначала для определения его , читалку v5 http://arduino.ru/forum/apparatnye-voprosy/arduino-i-displei-ot-sotikov-mobilnykh-telefonov?page=5#comment-264976 (там описал как и что, выполняйте все пункты)

Mik.Bond.
Mik.Bond. аватар
Offline
Зарегистрирован: 06.06.2017

спасибо  пороюсь.

Mik.Bond.
Mik.Bond. аватар
Offline
Зарегистрирован: 06.06.2017

друзья  вот всё и выяснилось 

даже    =  о великий LCD_ID_Reader = указал на это

налицо я вный брак изделия 

после загрузки скетча  экранчик на мгновение погас

потом засветился  потом проскачил еле-еле различимый сканирующий кадр

и.....- опять тайна белого экрана

короче..... жду следующий девайс из китая

а на днях посмотрю может сопли где есть в пайке

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Отпишите продавану, приложите видео проблемы. Пофиг что Вы уже подтвердили получение и даже если оставили бравый отзыв.

Ко мне пришли ещё в начале декабря 2 камня Мега2560 .. планировал один воткнуть вместо сгоревшего на плату Arduino Mega2560 r3 а на базе второго сделать свою плату .. плату сделал, к моменту завершения с готовой платы было снято до 50% разных деталюшек по той или иной причине, в основном "срочно надо", так что первый вопрос "отпал". И?

Первые прошивки своей платы устойчиво показывали битый адрес флеш 0х006с - вход обработчика прерывания Rx3 кажется.. отписал продавану со скрином ошибки, несколько писем за уточнение проблемы и варианты решения .. продаван предложил вернуть $3.5 за камень, поскольку выслать замену он уже не может, нет позиции. Внезапно, камень (после попадания в КЗ по ногам АЦП) "заработал" и косяк исчез... отписал ему - он понятное дело, обрадовался.

.. вчера у этого же камня обнаружен битый адрес флеш 0х066с (следующий подозреваю 0х666с :) ) .. вот теперь гадаю, или куда и чего снова "замкнуть" у камня или ещё раз списаться с продаваном?

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

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Bodriy2014,

в своей теме Самодельная Мега128а, Мега2560 + SRAM512кб отписал выводы из расследования по блоку АЦП .. много букв получилось, но надеюсь полезно. :)

Как итог: получить скорость дискретизации 500кГц на Мега2560 при 16Мгц кварце и 1-лучевом варианте - МОЖНО, но сложно.. :)

Mik.Bond.
Mik.Bond. аватар
Offline
Зарегистрирован: 06.06.2017

друзья подскажите

здесь на форуме человек сделал  осцил на лсд 1.8

но по всей видимомти использовал = Миньку=

т.к в Нано  грузиться не желает

понимаю что у Минни  не предусмотренна загрузка напрямую через USB
вопрос  - что мне изменить  или добавить в декларацию  что-бы залить в Нано
решил пока сделать на 1.8,   заказ ждать как минимум 3 недели

код на стр 31

заранее благодарен

 

 

satelit 2
Offline
Зарегистрирован: 04.12.2016

3д лейбу над экраном приклей. будет супер осцил. кстати, я осцил собрал, и даже на барахолке пульт купил, для полного авторского повторения, только придеться ардуинку менять, широковата

Mik.Bond.
Mik.Bond. аватар
Offline
Зарегистрирован: 06.06.2017

всётаки дело не в Нано или Мини

показывает  нехватка нужных библиотек 

или  библиотека - не та по содержанию

или возможен  конфликт

Arduino: 1.8.3 (Windows 8.1), Плата:"Arduino Nano, ATmega328"
 
C:\Users\Michael and Tatyana\Documents\Arduino\dis1.8\dis1.8.ino:12:23: fatal error: FreqCount.h: No such file or directory
 
 #include <FreqCount.h>
 
                       ^
 
compilation terminated.
 
Несколько библиотек найдено для "Adafruit_ST7735.h"
 Используется: C:\Program Files\Arduino\libraries\Adafruit_ST7735
Не используется: C:\Users\Michael and Tatyana\Documents\Arduino\libraries\Adafruit_ST7735_Library
Не используется: C:\Program Files\Arduino\libraries\Adafruit_ST7735_Library_master
Несколько библиотек найдено для "Adafruit_GFX.h"
 Используется: C:\Program Files\Arduino\libraries\Adafruit_GFX
Не используется: C:\Users\Michael and Tatyana\Documents\Arduino\libraries\Adafruit_GFX_Library
Не используется: C:\Program Files\Arduino\libraries\Adafruit-GFX-Library-master
exit status 1
Ошибка компиляции для платы Arduino Nano.
 
ладно ребят  ещё =полазиим= малость по интернету
 
Xumuk
Xumuk аватар
Offline
Зарегистрирован: 03.03.2016

No such file or directory

#include FreqCount.h

нету библиотеки этой как я понял

Mik.Bond.
Mik.Bond. аватар
Offline
Зарегистрирован: 06.06.2017

нашел я эту библиотку - теперь выдает другое

вероятно найденные библиотеки другого содержания

жалко что нет здесь сообщений в личку

 

вот   налицо - не те библиотеки для лсд

 

 

 

 
 
 
       
 
Несколько библиотек найдено для "Adafruit_GFX.h"
 Используется: C:\Program Files\Arduino\libraries\Adafruit_GFX
Не используется: C:\Users\Michael and Tatyana\Documents\Arduino\libraries\Adafruit_GFX_Library
Не используется: C:\Program Files\Arduino\libraries\Adafruit-GFX-Library-master
Несколько библиотек найдено для "Adafruit_ST7735.h"
 Используется: C:\Program Files\Arduino\libraries\Adafruit_ST7735
Не используется: C:\Users\Michael and Tatyana\Documents\Arduino\libraries\Adafruit_ST7735_Library
Не используется: C:\Program Files\Arduino\libraries\Adafruit_ST7735_Library_master
Несколько библиотек найдено для "FreqCount.h"
 Используется: C:\Users\Michael and Tatyana\Documents\Arduino\libraries\FreqCount
Не используется: C:\Program Files\Arduino\libraries\FreqCount
exit status 1
expected unqualified-id before '[' token
 

 

Mik.Bond.
Mik.Bond. аватар
Offline
Зарегистрирован: 06.06.2017

Xumuk

а у вас можно попросить =полный комплект =

для лсд 1.44

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

код от 1.8 подходит для 1.44 просто надо размеры подкоректировать, у меня к сожалению не сохранилось ничего у меня, я ради интереса переделывал

svj3ist
svj3ist аватар
Offline
Зарегистрирован: 08.02.2017

Подскажите, какие выходы из пультоскопа можно объединить на один контакт. У меня разъем на четыре контакта а проводов пять: земля, dds, генератор, осциллограф, терминал.

Mik.Bond.
Mik.Bond. аватар
Offline
Зарегистрирован: 06.06.2017

 dell

Mik.Bond.
Mik.Bond. аватар
Offline
Зарегистрирован: 06.06.2017

ребят.

большое спасибо что грубо говоря  - заставили меня = пошевелить мозгой=

разобрался  - большой дисплей  -действительно бракованный   

жду новый

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

на всякий случай  нашел и поставил библиотеку  предложенную здесь

http://blog.simtronyx.de/en/a-1-8-inch-tft-color-display-hy-1-8-spi-and-... но это не особенно принципиально

просто убрал 2 ошибки в исходном коде   еще раз спасибо

apeks1
apeks1 аватар
Offline
Зарегистрирован: 19.05.2016

svj3ist пишет:
Подскажите, какие выходы из пультоскопа можно объединить на один контакт. У меня разъем на четыре контакта а проводов пять

насколько часто вам требуется терминал? как по мне вообще бесполезная функция,подключал фьюз доктор ниче не понял что мне терминал поведал,подключил тестер полупроводников ваще "жопа" и с чем пользовать терминал либо просто держать ради "расширенного меню" пультоскопа ума не приложу

пустите через переключатель с сигналом генератора

svj3ist
svj3ist аватар
Offline
Зарегистрирован: 08.02.2017

apeks1 пишет:

svj3ist пишет:
Подскажите, какие выходы из пультоскопа можно объединить на один контакт. У меня разъем на четыре контакта а проводов пять

насколько часто вам требуется терминал? как по мне вообще бесполезная функция,подключал фьюз доктор ниче не понял что мне терминал поведал,подключил тестер полупроводников ваще "жопа" и с чем пользовать терминал либо просто держать ради "расширенного меню" пультоскопа ума не приложу

пустите через переключатель с сигналом генератора

Терминал нужен, пользуюсь. У меня уже и так, два переключателя. Думал можно подключить два опеделённых вывода к одному контакту, но видимо нет.

apeks1
apeks1 аватар
Offline
Зарегистрирован: 19.05.2016

попробуйте через диоды пару выводов на один выход

как вариант оба генератора скомутировать

aruinoVit
Offline
Зарегистрирован: 22.11.2015

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

alexandr55
Offline
Зарегистрирован: 26.03.2017

В сем привет! Не кто не пробовал переписать на дисплей ST7735?

 

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

alexandr55 пишет:

В сем привет! Не кто не пробовал переписать на дисплей ST7735?

Привет.

Далали, смотрите эту ветку.

Например пост #1501  и другие.

nvbotsh22
Offline
Зарегистрирован: 14.06.2017

Хорош у Вас forum!!!

alexandr55
Offline
Зарегистрирован: 26.03.2017

bodriy2014 пишет:

alexandr55 пишет:

В сем привет! Не кто не пробовал переписать на дисплей ST7735?

Привет.

Далали, смотрите эту ветку.

Например пост #1501  и другие.

Спасибо

alexandr55
Offline
Зарегистрирован: 26.03.2017

240265 пишет:

У меня на таком экране часики

 

Пиветствую можете подилится схемой и скетчем

И звените что не потеме

Mik.Bond.
Mik.Bond. аватар
Offline
Зарегистрирован: 06.06.2017

наберите в поисковой строке - наверху   - 1.44
там много всяких тем  - и про часы есть     много примеров
....как-то так....

ywor
Offline
Зарегистрирован: 16.01.2017

вот надыбал интереную страичку может кому интересно https://sites.google.com/site/cvssav/avr/mini-oscillograf-atxmega32a4-display-s5230  

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

а как это 16 MSPS?там что тактовая 48 МГц?

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Там X-mega + AD9280. Тактовая 32Мгц, АЦП способен выдавать данные тоже на 32Мгц, + есть канал ПДП .. чему удивляться-то?