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

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

240265 пишет:

А у меня он читает ID из регистра экрана.

вон в чем загвоздка была

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

 uint16_t identifier = tft.readID();  
    tft.begin(identifier);

И без этого кампилятор ругается:

#define BLACK   0x0000
#define BLUE    0x001F
#define RED     0xF800
#define GREEN   0x07E0
#define CYAN    0x07FF
#define MAGENTA 0xF81F
#define YELLOW  0xFFE0
#define WHITE   0xFFFF

bogdan68
Offline
Зарегистрирован: 23.04.2016

Xumuk пишет:

240265 пишет:

ХЗ , у меня  Arduino 1.6.5 Со страницы Автора  ,  Arduino Pro Mini.

Часть кода просто меняешь и все .

 

у меня тоже она, и на 1.6.5 и на 1.1.6.

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

#include <Adafruit_GFX.h>
#include <MCUFRIEND_kbv.h>
MCUFRIEND_kbv tft;
все работает
был бы признателен автору если бы он переделал 5110 под этот дисплей думаю многие бы сказали спасибо
 
 

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

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

Xumuk Привет!

У меня нет такого дисплея как у вас.

Vln
Offline
Зарегистрирован: 17.12.2015

Лекс 59 пишет:
Мой экземпляр ослика на LS020

Что это у Вас на фото за  устройство с батарейкой, DC-up на 5V?

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

bodriy2014 пишет:

Xumuk Привет!

У меня нет такого дисплея как у вас.

Можно переделывать под SPFD5408.

Он легко подправляется.

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

bodriy2014 пишет:

Xumuk Привет!

У меня нет такого дисплея как у вас.


Скетч полностью Ваш без исправлений кроме инициализации библиотеки

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

Vln пишет:

Что это у Вас на фото за  устройство с батарейкой, DC-up на 5V?

Пост 1376 на предыдущей странице. Этот пост собственно об испытании варианта питания. Один UP и один DOWN. Там все написано.

Vln
Offline
Зарегистрирован: 17.12.2015

Лекс 59 пишет:
Один UP и один DOWN. Там все написано.

Ссылку на схему/описание не дадите?

VetalST
Offline
Зарегистрирован: 29.12.2015

Вот исправил скет для LS020 с делителем (на пине 6 подтянуть к + или -) выход DDS и шим пин 9 остальное  как на схеме с поста 1344 теперь все работает.

Скетч и библиотеки https://yadi.sk/d/FuJrk0pjsGGPU

Arduino ID 1.0.5 https://yadi.sk/d/ax4fHpw8rsQo5

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

Vln пишет:

Ссылку на схему/описание не дадите?

На странице 27 две схемы. Пост 1410 скетч. Вы с 24 страницы почитайте, многие вопросы отпадут.

Vln
Offline
Зарегистрирован: 17.12.2015

Лекс 59 пишет:
На странице 27 две схемы. Пост 1410 скетч. Вы с 24 страницы почитайте, многие вопросы отпадут.

я про DC-up самодельный

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

Он китайский.

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

аааааааааааааааааааа урааа слава Богу он ожил) а то думал кранты дисплею

VetalST
Offline
Зарегистрирован: 29.12.2015

Я рад за вас Xumuk.

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

Буду  проверять на свой страх и риск (:

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

VetalST пишет:

Я рад за вас Xumuk.

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

Буду  проверять на свой страх и риск (:

 

спасибо большое за ваши труды

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

VetalST пишет:

Я рад за вас Xumuk.

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

Буду  проверять на свой страх и риск (:

Я после каждого выключения вижу, что это реально нужно. Что с подсветкой, что без нее, не каждый раз можно четко увидеть момент выключения. Иногда часть дисплея меняется, иногда почти как включеный. И несколько минут. Да вы вероятно и сами это увидели.

Могу ошибаться, но понял так, что речь идет просто о гашении пикселей. Очистка экрана. (Ошибаюсь, проверил)

С радиокота:

http://radiokot.ru/forum/viewtopic.php?t=17721

VetalST
Offline
Зарегистрирован: 29.12.2015

Только что проверил реально отключается мгновенно и запускается через ресет ардуины (инециализацию экрана).

Код отключения на си взял с чужого проекта (бортовой компьютер для машины) там был исходник, вписал его в саму библиотеку.

В скетче вигледит как lcd.PowerOff(); // выключаем дисплей командой выключения, чтобы продлить срок его службы 

Только теперь надо подумать как проще вкл, выключать и переключать пультоскоп. Где то в теме bodriy2014 делал вкл через кнопку и схема была. И от ресета тоже наверное прийдется избавится переписав код, добавить еще одну кнопку (после ресета экран тоже некоторое время находится в не понятном режиме). 

 

 

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

VetalST пишет:

Только что проверил реально отключается мгновенно и запускается через ресет ардуины (инециализацию экрана).

Код отключения на си взял с чужого проекта (бортовой компьютер для машины) там был исходник, вписал его в саму библиотеку.

В скетче вигледит как lcd.PowerOff(); // выключаем дисплей командой выключения, чтобы продлить срок его службы 

Только теперь надо подумать как проще вкл, выключать и переключать пультоскоп. Где то в теме bodriy2014 делал вкл через кнопку и схема была. И от ресета тоже наверное прийдется избавится переписав код, добавить еще одну кнопку (после ресета экран тоже некоторое время находится в не понятном режиме). 

 

 

 

в коде от 5110 есть строки включения отключения на сколько я понял

 

while(digitalRead(ok)==LOW){  
/////////////////////////////////////////удержание кнопки отключения
if(digitalRead(power)==HIGH){powerON++;delay(10);}  
if(powerON>=timepowerON){digitalWrite(OFF,LOW);}///отключаем питание
/////////////////////////////////////////удержание кнопки отключения 

 

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

Я на своем варианте Пультоскопа (М328-3310) сделал кнопку ресета для выхода в меню. Удобно. Удобнее, чем питание дергать.

Другой вариант - просто еще один пункт в меню. Выключение. Экран погас и просто выключаем кнопкой. С автовыключением делал Карл 2233.

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

В простом варианте: Выход ресетом в меню и команда на выключение, затем кпросто отрубаем питание. Ручками. Ну либо вкл выкл кнопкой с управлением через свободный порт с некоторой задержкой.

VetalST
Offline
Зарегистрирован: 29.12.2015

Лекс 59 пишет:

Могу ошибаться, но понял так, что речь идет просто о гашении пикселей. Очистка экрана. (Ошибаюсь, проверил)

С радиокота:

http://radiokot.ru/forum/viewtopic.php?t=17721

Команды впринципе такие. Не скажу точно подому что нет у меня точных команд с доташита. Но судя с личних эксперементов экран действительно отключается. И без инециализации (перезагрузки ардуины) больше нечего не выводит на экран (белый экран как буто он не подключен).

void s65_PowerOff(void) 
{
  s65_writeCmd(0xEF, 0x00);
  s65_writeCmd(0x7E, 0x04);
  _delay_ms(60);

  s65_writeCmd(0xEF, 0xB0);
  s65_writeCmd(0x5A, 0x48);
  s65_writeCmd(0xEF, 0x00);
  s65_writeCmd(0x7F, 0x01);
  _delay_ms(60);

  s65_writeCmd(0xEF, 0xB0);
  s65_writeCmd(0x64, 0xFF);
  s65_writeCmd(0x65, 0x00);
  s65_writeCmd(0xEF, 0x00);
  s65_writeCmd(0x7F, 0x01);
  _delay_ms(60);

  s65_writeCmd(0xE2, 0x62);
  _delay_ms(100);

  s65_writeCmd(0xE2, 0x02);
  _delay_ms(60);

  s65_writeCmd(0xEF, 0xB0);
  s65_writeCmd(0xBC, 0x02);
  s65_writeCmd(0xEF, 0x00);
  s65_writeCmd(0x7F, 0x01);
  _delay_ms(20);

  s65_writeCmd(0xE2, 0x00);
  _delay_ms(10);

  s65_writeCmd(0x80, 0x00);
  s65_writeCmd(0xE2, 0x04);
  _delay_ms(20);

  s65_writeCmd(0xE2, 0x00);
  _delay_ms(20);

  s65_writeCmd(0xE1, 0x00);
  _delay_ms(20);

  s65_writeCmd(0xEF, 0xB0);
  s65_writeCmd(0xBC, 0x00);
  s65_writeCmd(0xEF, 0x00);
  s65_writeCmd(0x7F, 0x01);
  
 return;
}

 

karl2233
karl2233 аватар
Offline
Зарегистрирован: 05.07.2015

VetalST пишет:
 надо подумать как проще вкл, выключать и переключать пультоскоп. 

включение организовано по принципу как в транзистортестере.

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

Во блин еще и люкс-метр прикрутили. а скетч где взять?

VetalST
Offline
Зарегистрирован: 29.12.2015

Вот библиотека с доработкой lcd.PowerOff(); // выключаем дисплей командой выключения, чтобы продлить срок его службы  https://yadi.sk/d/zE04nxLhsGU4m

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

Кнопка ОК выкл экрана, Пин OFF А1 подключал светодиод для контроля, сначала тухнет экран а потом светодиод. Впринципе добавить отдельную кнопку power и вместо светодиода поставить тразистор и все готово.  И код вставить в циклы осциллограф, и в генераторы

/////////////////////////////////////////удержание кнопки отключения
if(digitalRead(power)==HIGH){powerON++;delay(10);}  
if(powerON>=timepowerON){
 lcd.PowerOff(); // выключаем дисплей командой выключения, чтобы продлить срок его службы 
 digitalWrite(OFF,LOW);}///отключаем питание
/////////////////////////////////////////удержание кнопки отключения 

Код для проверки

// скетч и библиотеку изменил под LCD_ls020 VetalST
// библиотека работает только с Arduino IDE версии 1.0.6 или версии 1.0.5
// LCD_ls020 подключаем: 
// к ардуине на ATmega328
// CS_PIN          (8) //PORTB 0
// RST_PIN         (7) //PORTD 7 можно поменять в библиотеке
// RS_PIN          (10)//PORTB 2
// DAT_PIN         (11)//PORTB 3
// CLK_PIN         (13)//PORTB 5
//**********************************************************
#include <S65Display.h>
S65Display lcd;

#define BLACK        RGB(  0,  0,  0)
#define WHITE        RGB(255,255,255)
#define RED          RGB(255,  0,  0)
#define GREEN        RGB(  0,255,  0)
#define BLUE         RGB(  0,  0,255)
#define YELLOW       RGB(255,255,  0)
#define PINK         RGB(255,020,147)
#define BGCOLOR      RGB(255,246,143)

#define levo 4
//#define ok 3
#define pravo 2
#define power 3 //пин который опрашивает кнопку включения
#define OFF A1//пин который управляет ключем питания
#define  timepowerON 100 //время удержания кнопки выключения
int powerON=0;//состояние кнопки питания

void setup(){
 pinMode(OFF,OUTPUT);
 digitalWrite(OFF,HIGH);
 lcd.init(2);
 lcd.clear(BLACK);  //закрашиваем дисплей,
 lcd.drawRect(1,1,175,131,RED); // рисуем рамку
 lcd.drawRect(3,3,173,129,RED); // рисуем рамку
 lcd.drawRect(5,5,171,127,RED); // рисуем рамку 
}  

void loop() { 
  
/////////////////////////////////////////удержание кнопки отключения
if(digitalRead(power)==HIGH){powerON++;delay(10);}  
if(powerON>=timepowerON){
 lcd.PowerOff(); // выключаем дисплей командой выключения, чтобы продлить срок его службы 
 digitalWrite(OFF,LOW);}///отключаем питание
/////////////////////////////////////////удержание кнопки отключения   
}

karl2233 Можно и так.

Только сейчас сын комп просит, да и мне нужно хоть перекурить (:

karl2233
karl2233 аватар
Offline
Зарегистрирован: 05.07.2015

240265 пишет:

Во блин еще и люкс-метр прикрутили. а скетч где взять?

скетча нет - он не влазит в МК, памяти не хватает.

в теме про Люксомер есть упрощенный скетч(сообщение 58). только если ещё обрезать (убрать графики в Люксомере).

но я уже остыл к этому гибриду )))

VetalST
Offline
Зарегистрирован: 29.12.2015

Лекс 59 пишет:

Могу ошибаться, но понял так, что речь идет просто о гашении пикселей. Очистка экрана. (Ошибаюсь, проверил)

С радиокота:

http://radiokot.ru/forum/viewtopic.php?t=17721

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

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

240265 пишет:

Можно переделывать под SPFD5408.

Он легко подправляется.

Уже есть у меня с этим дисплеем прибор,

и он хуже чем тот что для 5110 потому что заняты нужные мне пины.

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

bodriy2014 пишет:

240265 пишет:

Можно переделывать под SPFD5408.

Он легко подправляется.

Уже есть у меня с этим дисплеем прибор,

и он хуже чем тот что для 5110 потому что заняты нужные мне пины.

Вобщем нужно переходть на распросраненный SPI экран. (Не LS020).

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

пора переходить на atmega128a-au, и дешевле и ног больше  чем у 328, и полная совместимость с IDE

karl2233
karl2233 аватар
Offline
Зарегистрирован: 05.07.2015

а смысл перехода на 128? ног у 328 вполне достаточно а цена такая же.

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

ног больше, любой дисплей подключить можно, и ацп внешний, памяти больше, выборку можно лучше сделать и тд 20шт 128 =10шт 328

http://ru.aliexpress.com/item/20PCS-ATMEGA128A-AU-ATMEGA128A-ATMEGA128/1907860494.html

karl2233
karl2233 аватар
Offline
Зарегистрирован: 05.07.2015

так в Пультоскопе и так планируется внешний АЦП, дисплей наши коллеги в этой теме и так уже любой прикручивают(уже скоро ламповый телек прикрутят!).

а самое главное - идеология проекта с 128 будет сильно искажена =)

покупать 20шт для одного(ну двух) приборов... хм... это оригинально.

так что лично для меня не интересно(мож автор или кто другой) заинтересуются таким переходом? хотя смысла и мотива пока не видно.

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

Valera19701 пишет:

пора переходить на atmega128a-au, и дешевле и ног больше  чем у 328, и полная совместимость с IDE

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

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

Лекс 59 пишет:

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

это называется прогресс:)

karl2233
karl2233 аватар
Offline
Зарегистрирован: 05.07.2015

не, это называется гонка непоймизачем =) т.к. аргументов "за" я как-то и не увидел (правда и даташит на 128 не читал).

а вот Лекс59 достаточно убедителен))))

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

VetalST пишет:

Кнопка ОК выкл экрана, Пин OFF А1 подключал светодиод для контроля, сначала тухнет экран а потом светодиод. Впринципе добавить отдельную кнопку power и вместо светодиода поставить тразистор и все готово.  И код вставить в циклы осциллограф, и в генераторы

Только сейчас сын комп просит, да и мне нужно хоть перекурить (:

У вас естественно свое видение. Пусть и из ограниченной, но практики с Пультоскопом, ясчитаю кнопку резет обязательным атрибутом. Кнопка он-офф, как сказать. Лучше механический выключатель. С моей точки зрения. Без механического отключения, пусть микротоки, но будут. Даже если 3 мка, то это увеличение тока саморазряда вдвое.

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

Кнопка "ОК", думаю, не лучший вариант. В практике бывает разное. Чтобы не забылось и чтобы случайное длительное нажатие этой кнопки в пылу борьбы со схемой не приводило к прекращению работы ослика.

Поэтому я считаю предпочтительным пункт "Выключить дисплей" в меню, куда попаду резетом МК. И потом щелкать выключателем.

 

karl2233
karl2233 аватар
Offline
Зарегистрирован: 05.07.2015

что мешает зарядить акк? токи текущие через ключ на полевике, практически равны току саморазряда элемента(Li-Io).

так что опасения безпочвенны.

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

karl2233 пишет:

что мешает зарядить акк? токи текущие через ключ на полевике, практически равны току саморазряда элемента(Li-Io).

так что опасения безпочвенны.

По пунктам.

Например лень. Например забыл.

Я так и написал: Увеличивают ток саморазряда вдвое(ток саморазряда+ток утечки). На практике это может означать гибель аккума не через год, а через полгода.

Это не опасения. Это практика.  Ну а дальше дело вкуса.

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

Лекс 59 пишет:

VetalST пишет:

Кнопка ОК выкл экрана, Пин OFF А1 подключал светодиод для контроля, сначала тухнет экран а потом светодиод. Впринципе добавить отдельную кнопку power и вместо светодиода поставить тразистор и все готово.  И код вставить в циклы осциллограф, и в генераторы

Только сейчас сын комп просит, да и мне нужно хоть перекурить (:

У вас естественно свое видение. Пусть и из ограниченной, но практики с Пультоскопом, ясчитаю кнопку резет обязательным атрибутом. Кнопка он-офф, как сказать. Лучше механический выключатель. С моей точки зрения. Без механического отключения, пусть микротоки, но будут. Даже если 3 мка, то это увеличение тока саморазряда вдвое.

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

Кнопка "ОК", думаю, не лучший вариант. В практике бывает разное. Чтобы не забылось и чтобы случайное длительное нажатие этой кнопки в пылу борьбы со схемой не приводило к прекращению работы ослика.

Поэтому я считаю предпочтительным пункт "Выключить дисплей" в меню, куда попаду резетом МК. И потом щелкать выключателем.

 

дело ведь как раз в том что дисплей не тухнет как надо при выключении резетом... собственно для этого  VetalST и хочет сделать кнопкой, а что мешает сделать микровыключатель сбоку для отключения батареи и в то же время кнопка on\off, думаю это самый оптимальный вариант.

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

Xumuk пишет:

дело ведь как раз в том что дисплей не тухнет как надо при выключении резетом... собственно для этого  VetalST и хочет сделать кнопкой, а что мешает сделать микровыключатель сбоку для отключения батареи и в то же время кнопка on\off, думаю это самый оптимальный вариант.

Не так. Я писал немного иначе. Резетом выходим в меню. "Осциллоскоп, Генератор, ДДС" и добавить туда же пункт "Выключить дисплей".

А потом тубблером, кнопкой, движковым (что установлено) разрываем питание прибора. Можно и кнопкой он-офф, но тогда надо все вписывать в циклы осциллоскопа, генератора, ДДС и непрерывный мониторинг кнопки. И можно забыть или не знать, если прибор в посторонних руках. А пункт в меню - напоминание. И виден при каждом включении. Да, это тоже не гарантия и можно просто разорвать питание по привычке.

Читал где-то. Нужен пин контроля питания. Питание в "0"(разорвали цепь) - значит идет команда на гашение дисплея, а заряда в конденсаторах по питанию должно хватить МК и дисплею, чтобы все отработать. Цена вопроса - пин контроля, диод развязки (не пускающий напругу с кондера на пин контроля питания) и емкость побольше на питании. Но тогда тоже прописывать во всех циклах. Зато все автоматически.

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

Лекс 59 пишет:

karl2233 пишет:

что мешает зарядить акк? токи текущие через ключ на полевике, практически равны току саморазряда элемента(Li-Io).

так что опасения безпочвенны.

По пунктам.

Например лень. Например забыл.

Я так и написал: Увеличивают ток саморазряда вдвое(ток саморазряда+ток утечки). На практике это может означать гибель аккума не через год, а через полгода.

Это не опасения. Это практика.  Ну а дальше дело вкуса.

Аккумулятор должен быть с платой защиты. Или использовать плату зарядки на MP4056  со схемой защиты , есть такие на Aliexpress.

 

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

Дело в том что ресет это мгновенный принудительный сброс контроллера. А нам нужно время для выполнения команды выкл дисплея. И по этому все равно прийдется ставить четвертую кнопку (хоть вкл/выкл хоть ресет), и собирать задержку для ресета (кондер транзистор). И через ресет мы все равно никогда не отключим экран он всегда будет просто перезагружатся.

А добать 2 транзистора или 1 мосфет и 1 транзистор + 3-4 резистра и 1 любой диод, и у нас получается полноценное вкл или отключение одной четвертой кнопкой. И по желанию нихто не запрещает поставить выключатель на акб.

Для проверки я ставил что было под рукой р-канальный мосфет IRF9Z34N + BC547 и все работает.

Принцип работы: 1) замыкаем кнопку, подаем плюс на транзистор и минусом питания открывается мосфет. Включается ардуина и подает на пин А1 плюс, на екране видем черный экран и рамку. Отпускаем кнопку и появляются надписи Осциллоскоп, Генератор, ДДС на экране.

2) Отключить ардуину : замыкаем кнопку, подаем плюс на транзистор и на пин А0 и ардуина видет что нажата кнопка. Отключает экран и когда мы отпустим кнопку на пине А1 будет ноль и закроется мосфет и отключится ардуина. 

Еще раз нажав на кнопку пунк 1 и т.д. чтобы не было вкл/откл по кругу.

Вот скетч и библиотеки https://yadi.sk/d/LG235IIgsHe5L

Хочу еще поискать инфу как переключить на 8 бит цвет (256 цветов), ускорить заполнения экрана. Убрать или хотя бы еще уменьшить мерцание экрана. Но тут еще нужно с библиотекой немного разобратся. Пока все.

 

VetalST
Offline
Зарегистрирован: 29.12.2015

Лекс 59 поставте дополнительно выключатель акб, при подачи питания будет вкл подсветка экрана, а нажатие кнопки вкл/откл ардуина и питание экрана. Видя что светится подсветка вы никогда не забудете отключить акб.

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

VetalST пишет:

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

Да. Все так. Только я имел в виду не это.

Кнопка резет все-равно удобна в работе, в реальной эксплуатации. Выполняет роль выхода в меню. Мгновенного. Без всяких дополнительных команд. А дальше добавляем в МЕНЮ новый ПУНКТ "ВЫКЛЮЧИТЬ" который выполняет одну единственную команду-гашение дисплея. А потом спокойно выключаем. Я имею в виду новый пункт меню. Еще один вместе с Осциллоскоп, Генератор, ДДС. 4 пункта вместо 3.

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

Про мосфет и т.д. Да, можно и так.

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

Да, можно уповать на малое потребление. Только вот у иеня с месяц назад умерла аккумуляторная крона в тестере радиодеталей. Всего-то пару месяцев полежал. Там всего 3 мка кроме саморазряда. А я незаметил вовремя. А аккумулятор в своем старом телефоне, которым не пользуюсь, не проверял уже с год. А тоже первое время периодически проверял, подзаряжал...

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

 

VetalST
Offline
Зарегистрирован: 29.12.2015

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

В скетче (#define  timepowerON 5 //время удержания кнопки выключения ) я поставил число 5 он и так почти мгновенно отключается и вкл. Можно вообще 1 поставить. Или вообще убрать  powerON++;delay(10); и if(powerON>=timepowerON){ будет мгновенно оключатся.

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

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

VetalST пишет:

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

Простите, но вы меня снова не поняли. Нажали резет (аппаратный, на ногу Меги) и попали в меню (в которое попадаем при включении пультоскопа):

1.Осциллоскоп. 2.Генератор. 3.ДДС генератор 4. Гашение дисплея.

Выбрали новый пункт 4ый - гашение дисплея. Нажали "ОК". Экран побелел. А после этого сможем разорвать питание. вручную. Выключателем. Сколько там требуется времени на гашение? Милисекунды? Да мы руку до выключателя не успеем донести, если специально не стараться.

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

Единственное, нужно добавить этот пункт. Отсылку в коде и саму команду гашения. Новых деталей аппаратных - кнопка резета. Но я ее ставлю и так. По любому и вам рекомендую, чтобы питание не дергать, чтобы перейти в генератор или обратно. У меня на М328-3310 так сделано. Резет аппаратный, не програмный.

Если вы имеете в виду, что при таком резете кратковременно прерывается питание дисплея, то емкости то нашто? Да и там микросекунды. какой электролиз?

VetalST
Offline
Зарегистрирован: 29.12.2015

Почитав про прогамный ресет, я не хочу с ним заморачиватся. Вопервых програмный не перезагружат полностью ардуину. А с watchDog не работает коректно бутлоадер залитый в ардуино. И что то менять в нем это уже будет новая тема как это зделать. Так как мы стремимся к разгону ардуины пусть все останется как есть. Ну может где то я ошибаюсь пусть знающие люди подскажат как и что. Но опять же для этого нужно уже другую тему создавать а не сорить в этой. И так с нашим LCD_ls020 автор нас скоро точно в другую тему выкенет (: (: (:

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

VetalST пишет:

Почитав про прогамный ресет, я не хочу с ним заморачиватся.

Не програмный. Аппаратный. Просто кнопкой на первую ногу меги. А команда из пункта 4 меню не на програмный резет, а на гашение экрана.

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

Все, я спать. У меня уже 2. До завтра.

VetalST
Offline
Зарегистрирован: 29.12.2015

Лекс 59 Не знаю как у вас, но у меня после нажатия на кнопку ресет на ардуине нано на каком я это дело проверяю. Экран около 2-3 секунд продолжает показывать бред до полнго сброса и инециализации ардуины. И зачем тогда делать программное отключение экрана если после каждого ресета экрану постепенно будет приходить задница.