Ну а это мои барографы. Вариант от s13 пока с не полным графиком. Вариант от bodriy2014 имеет период немного длиннее - 27 часов.
Самый наглядный график у s13. Вариант отbodriy2014 , будет наглядно показывать только резкие перепады. Этот вариант пожалуй попозже, после периода первоначальной обкатки, переделаю под двое суток. Он тогда станет более выпуклым.
Сейчас пусть приборы поработают подольше. Посмотрим на стабильность/надежность/наглядность при резких перепадах.
Пока по назначению их разделяю по прежнему. От s13 мне, от bodriy2014 маме.
Если рассматривать общие возможности приборов, то вариант от s13 наиболее полный. Возможность выбрать график по вкусу, два разных периода отображения, контроль батареи. Хорошее понятное управление без доп. меню и прочего. Просто перебор по очереди.
Посмотрю насколько хватит аккумулятора (800 мач фактическая емкость). Возможно сделаю вариант с аккумулятором как резервным источником, но общее питание от сети.
Ну раз Вам понравился вариант, думаю и родственник доволен будет. 800ма/ч должно хватать дней на 100 если без гашения дисплея, с гашением на 2-3 года если сам быстрее не сядет. Всё же советую небольшую солнечную панельку для подпитки, её достаточно даже в тень просто на подоконник поставить направив на небо и она уже даёт 12-14ма, этого будет достаточно для подзаряда, а если на солнце попадёт, то за день батарею даже севшую набьёт. Ну или разьем для подпитки от зарядного чтобы подключать по мере разряда акка как вариант. Смысл греть зарядник сутками. Может ещё каие мысли по улучшению ? Детали пока не пришли, можно ещё поправить. Параллельно кнопке не забывайте конденсатор ставить на 47n-100n, могут возникать множественные прерывания при выходе из сна и как следствие зависание проца. Ну и блокировочные по питанию меги тоже обязательно.
Вариант действительно понравился. Над деталями реализации подумаю. Солнечные панели пока закажешь, пока приедут. Для меня сроки редко менее 2х-3х месяцев. Держать несколько месяцев макетку на подоконнике тоже не вариант.
Охолонусь. Подумаю. Возможно пихну пока в аналогичный корпус. Еще предстоит решить/поэкспериментировать, если с засыпанием и от батареи 4,5, то нужны ли делители на дисплей. Они ведь ограничат нижний предел по напряжению. Ну и т.д.
Я в таких случаях, когда одолевают сомнения, отступаю немного в сторону. А комп на чердаке сам проведет анализ. И через некоторое время я буду четко представлять, что и как.
Это не означает, что я прощаюсь. Просто для себя я уже выбор сделал.
Плюнул на свою полукомпетентность в данном вопросе и залил сегодня вашу последнюю версию с гашением дисплея. Вроде гаснет.
Для тех, кто решит повторять на голом МК выкладываю фьюзы. Сто процентно я в них не уверен, возможно не оптимальные, но работают. Фьюзы для Пони-Прог. Т.е. инверсные.
С питанием пока поставлю литий с контроллером. Квадратную батарейку пока не решился. У нее напруга 4,95. Тогда придется делители на дисплей лепить. А литий, чтобы вместиться в корпус.
А так от лития просто вставлю в цепь питания дисплея 1-2 диода, чтобы немного пригасить напругу. Тем более дисплей большую часть времени будет спать.
Сейчас немного покатаюсь на макетке с этим вариантом. Если все норм, то в корпус.
Если питать от лития, никакие делители и диоды не нужны, всё напрямую. По даташиту Vdd max = 7v. а входные сигналы ещё +0.5v так что и питание от 5 вольт ему не страшно. Только контраст возможно придётся убавить. Год стоит и питается напрямую от лития, причём он всегда полон (4.24) все сигналы тоже напрямую и проблем нет.
Если питать от лития, никакие делители и диоды не нужны, всё напрямую. По даташиту Vdd max = 7v. а входные сигналы ещё +0.5v так что и питание от 5 вольт ему не страшно. Только контраст возможно придётся убавить. Год стоит и питается напрямую от лития, причём он всегда полон (4.24) все сигналы тоже напрямую и проблем нет.
При моих пробах 5110/3310 тоже работали нормально. Но не слишком долго. По даташиту 5 вольт там кратковременный режим. Неоднократно читал, в том числе у людей, которым доверяю, что иногда дохнут дисплеи напрямую от 5 вольт. Видимо как повезет. Предпочитаю перестраховываться. Привычка конструктора ВПК - все должно быть максимально надежно, максимально долго. И я точно знаю, что года через 2-3 уже, если прибор сдохнет, мне проще будет купить/замутить новый, чем разбираться в старом. Еще нюанс - это сегодня 3310/5110 не проблема. Что будет года через 3-4?
Вопрос для s13. После нашего общения барограф у меня славно работал. Несколько месяцев спустя повис, при переключении режимов. Ну перезапустил и все. Пару дней и снова повис. Я решил, что подсел аккумулятор и при этой напруге прибор работает плохо. Зарядил. Повис в тот же день. Попробовал заменить дисплей - виснет уже на пробах. Вопрос заключается в следущем: у Вас работает стабильно? Или пришлось что-то предпринимать? Сейчас прибор лежит полуразобраный уже пару месяцев. Пока руки не доходят. Активно занимаюсь осциллографом VirtOS. Но подумываю переделать барограф уже на печатку и в компактный корпус. Поэтому спрашиваю про возможные изменения. Пока единственное отличие у меня от Вашей схемы - нет кондеров по 22 пика. Но я их нигде не ставил. Ни в одной схеме. И все норм.
Собрал 4 штуки, все работают без проблем кроме одного, тоже вис от прерываний при переключении. Долго искал проблему, ставил кучами блокировочные кондюки, менял мегу, дисплей и т.д. всё безрезультатно. Ну не в кардонке же дело.. Заменил последнее что было - кнопку. Больше он не вис :) Вот такие чудеса.. Проверьте кнопку на качество срабатываний, может и у Вас окислилась. В крайнем случае можно переделать скетч под простой опрос кнопки при просыпании, но это или будить нужно чаще или ждать по 4с. пока сам проснется для опроса.
Вот три рабочих, с двух крышки снял чтобы видно было что внутри. Коробки 85х50х20 с али:.
Вот вариант под bmp180 без прерываний, опрос кнопки 4 раза в секунду. Не думаю что сильно повысит прожорливость, а от зависаний должно избавить. Теперь экраны можно листать если держать кнопку.
#include <LCD5110_Graph.h> // rinkydinkelectronics.com/library.php
#include <Wire.h>
#include <Adafruit_BMP085.h> // github.com/adafruit/Adafruit-BMP085-Library
#include <LowPower.h> // github.com/rocketscream/Low-Power
Adafruit_BMP085 dps;
// ********** Опции компиляции **************
//#define SeaLevel // разкоментировать для коррекции на высоту
//#define cont 67 // для изменения раскоментировать эту строку (70 по умолчанию)
#define zapolnen // Заполнение графика 1
//#define gasim_lcd // если экономим батарейки гашением LCD
long P_win = 165 * 133.3; // Верхняя граница абс. графика по умолчанию до сдвига (600 + 165) = 765мм
#if defined (SeaLevel) // если не включена коррекция, экономим память
float Alt_corr = 32.4; // Коррекция высоты в метрах.
#endif
uint32_t Pressure;
unsigned char sotki ; // сотые для давления
unsigned char p_count, tmp, p2;
long P_Min, P_Max, P_Dt, P_Mid;
uint16_t P_Mem[217]; //-79980 = 600мм (3 day 20min memory, 72 per 24 hour)
signed char x, y, last_x, last_y;
// nokia 5110 connect
// pin d3 - Serial clock out (SCLK)
// pin d4 - Serial data out (DIN)
// pin d5 - Data/Command select (D/C)
// pin d6 - LCD reset (RST)
// pin d7 - LCD chip select (CS)
LCD5110 myGLCD(3, 4, 5, 6, 7);
// bmp180 connect
// sda - a4
// scl - a5
// Use pin 2 as wake up pin
const char wakeUpPin = 2; // d2 для кнопки
const char lightPin1 = 11; // d11 подсветка дисплея
const char lightPin2 = 12; // d12 инверсная подсветка дисплея
const char batPin = 0; // a0 - ан. вход для контроля батареи 220к/51к
char scr_num = 0; // Номер экрана для отображения
boolean key_pressed = false; // Признак что кнопку жали
boolean Refresh = true; // Признак что нужно обновить отрисовку (для экономии батарей)
boolean Lcd_On = true; // Признак что дисплей включен
char light_on = 4; // длительность подсветки при включении 4*4 = 16с.
extern unsigned char SmallFont[]; // внешние шрифты
extern unsigned char BigNumbers[];
extern unsigned char TinyFont[];
unsigned char tik = 0; // счетчики для времени
unsigned char Count_Minute = 0;
uint32_t Son_count = 0;
//******************************** START ***************************************
void setup() {
myGLCD.InitLCD();
#if defined (cont)
myGLCD.setContrast(cont); //регулировка контраста при необходимости
#endif
myGLCD.setFont(SmallFont);
Wire.begin();
analogReference(INTERNAL); //1.1v internal op.source
pinMode(batPin,INPUT); //Вход для контроля батареи
LowPower.powerDown(SLEEP_1S, ADC_OFF, BOD_OFF);
//dps.begin(BMP085_ULTRALOWPOWER);
//dps.begin(BMP085_STANDARD);
dps.begin(BMP085_HIGHRES);
//dps.begin(BMP085_ULTRAHIGHRES);
pinMode(wakeUpPin, INPUT); // Configure wake up pin as input.
digitalWrite(wakeUpPin, 1); // pullup
pinMode(lightPin1, OUTPUT);// lcd light pin as output;
pinMode(lightPin2, OUTPUT);// lcd light inv pin as output;
#if defined (SeaLevel)
Pressure = dps.readSealevelPressure(Alt_corr); // с коррекцией на уровень моря
#else
Pressure = dps.readPressure(); // без коррекции к уровню моря
#endif
P_Mid = Pressure - 79980; // (79980 = 600mm) отсекаем лишнее
P_Mem[p_count] = P_Mid; // заносим в память первое значение давления для правильной работы усреднения
// Serial.begin(9600);
// while (!Serial) ; // wait for Arduino Serial Monitor
// delay(200);
}
void loop() { // ***************************************************************************************************************
if ((Son_count < 5)||((!(Son_count % 5))&&(tik==0))) { // через 5 минут активности, не заходим в тело по 5 минут
// Serial.print("S=");Serial.print(Son_count);Serial.print(" %=");Serial.println(Son_count % 5);
#if defined (SeaLevel)
Pressure = dps.readSealevelPressure(Alt_corr); // с коррекцией на уровень моря
#else
Pressure = dps.readPressure(); // без коррекции к уровню моря
#endif
// для экранов с инверсным подсветом использовать lightPin2
if (light_on > 0) {
digitalWrite(lightPin1, 1);digitalWrite(lightPin2, 0);
light_on--;
}
else {digitalWrite(lightPin1, 0);digitalWrite(lightPin2, 1);} // lcd light on/off
if (Pressure > 79900){ // 600mm
P_Mid = (P_Mid + (Pressure - 79980))/2; // усреднение замеров, отбрасываем показания ниже 600мм.(сбоит бывает)
}
if (Count_Minute >= 20){ Refresh = true; // каждые 20 мин. запоминаем усредненное значение в память и обновляем графики
if (p_count == 216) {
for (int i = 0; i < 216; i++) // сдвигаем если буфер полон
{
P_Mem[i] = P_Mem[i+1];
}
}
else {
p_count++;
}
P_Mem[p_count] = P_Mid;
if (Pressure > 79980){
P_Mid = Pressure - 79980; // новый старт усреднения
}
Count_Minute = 0;
}
#if defined (gasim_lcd)
if ((Son_count < 15)&&(!Lcd_On)) {myGLCD.disableSleep(); Lcd_On = true;} // Если разрешено, гасим дисплей через 15 мин.
if ((Son_count >= 15)&&(Lcd_On)) {myGLCD.enableSleep(); Lcd_On = false;}
#endif
// Отображение экранов
if (Lcd_On) {switch (scr_num)
{
case 0: // summary screen
Refresh = true; // Обновить отрисовку каждый цикл
// temp3 = dps.readTemperature();
myGLCD.clrScr(); // Очистка экрана
myGLCD.setFont(BigNumbers);
//Давление с BMP180
myGLCD.printNumI(Pressure / 133.3, 15, 5, 3); //рассчет атмосферного давления
myGLCD.setFont(SmallFont);
myGLCD.print(".", 60, 22);
sotki = ((Pressure / 133.3)-int(Pressure / 133.3))*100;
myGLCD.printNumI((sotki / 10), 66, 22, 1);// десятые
myGLCD.printNumI((sotki % 10), 72, 22, 1);// сотые
myGLCD.print("t=", 20, 35);
myGLCD.printNumF(dps.readTemperature(), 1, 32, 35); //температура
break;
case 1: // график давления c фиксированным масштабом *****************************************************
if (Refresh){ // Рисуем если разрешено обновить
if (p_count < 72) {
p2 = 0;
}
else {
p2 = p_count - 72;
}
P_Dt = 10 * 133.3; // Размах графика 10мм
for (int i=p2; i<p_count ; i++) { // ищем окно графика
if (P_win < P_Mem[i]) {
P_win = P_win + P_Dt/2; // сдвиг графика на половину текущего размера
}
if ((P_win - P_Dt)> P_Mem[i]) {
P_win = P_win - P_Dt/2;
}
}
P_Max = P_win ;
P_Min = P_Max - P_Dt;
myGLCD.clrScr(); // Очистка экрана
myGLCD.setFont(SmallFont); // Установка набора символов
x=72;
for (int i=p_count; i>p2 ; i--) {
y = map (P_Mem[i],P_Max,P_Min,8,48);
if (y < 8) {y = 8;}
if (y > 47) {y = 47;}
#if defined (zapolnen)
myGLCD.drawLine(x, y, x, 47);
#else
if (x == 72) {
myGLCD.setPixel(x, y);
}
else {
myGLCD.drawLine(last_x, last_y, x, y);
}
last_x = x;
last_y = y;
#endif
x--;
}
myGLCD.printNumF(Pressure/ 133.3, 2, 5, 0);
myGLCD.printNumF(dps.readTemperature(), 1, 60, 0); //температура
myGLCD.setFont(TinyFont);
myGLCD.printNumI(((P_win + 79980)/133.3)-699.5 , 76, 8, 2);
myGLCD.printNumI(((P_win + 79980 - P_Dt/2)/133.3)-699.5 , 76, 25, 2);
myGLCD.printNumI(((P_win + 79980 - P_Dt)/133.3)-699.5 , 76, 42, 2);
// myGLCD.print("24 Abs", RIGHT, 0);
// myGLCD.print("Dt:", LEFT, 42);
// myGLCD.printNumF(P_Dt / 133.3, 2, 20, 42);
// myGLCD.printNumF(Pressure / 133.3, 2, 50, 42);
}
break;
case 2: // график давления за сутки с масштабированием
if (Refresh){ // Рисуем если разрешено обновить
P_Min = P_Mem[p_count];
P_Max = P_Min; // сбросить значения
if (p_count < 72) {
p2 = 0;
}
else {
p2 = p_count - 72;
}
for (int i=p_count; i>p2 ; i--) {
if (P_Min > P_Mem[i]) {
P_Min = P_Mem[i];
}
if (P_Max < P_Mem[i]) {
P_Max = P_Mem[i];
}
}
P_Dt = P_Max - P_Min; // макс. разница
myGLCD.clrScr(); // Очистка экрана
myGLCD.setFont(TinyFont); // Установка набора символов
x=77;
if (P_Dt > 0){
for (int i=p_count; i>p2 ; i--) {
y = ((36 * (P_Max - P_Mem[i]))/P_Dt)+6;
if (x == 77) {
myGLCD.setPixel(x, y);
}
else {
myGLCD.drawLine(last_x, last_y, x, y);
}
last_x = x;
last_y = y;
x--;
}
}
myGLCD.print("Max:", LEFT, 0);
myGLCD.printNumF((P_Max +79980)/ 133.3, 2, 20, 0);
myGLCD.print("24 Zoom", RIGHT, 0);
myGLCD.print("Min:", LEFT, 42);
myGLCD.printNumF((P_Min+79980) / 133.3, 2, 20, 42);
}
break;
case 3: // график давления за трое суток
if (Refresh){ // Рисуем если разрешено обновить
P_Min = P_Mem[p_count];
P_Max = P_Min; // сбросить значения
for (int i=p_count; i>0 ; i = i - 3) {
if (P_Min > P_Mem[i]) {
P_Min = P_Mem[i];
}
if (P_Max < P_Mem[i]) {
P_Max = P_Mem[i];
}
}
P_Dt = P_Max - P_Min; // макс. разница
myGLCD.clrScr(); // Очистка экрана
myGLCD.setFont(TinyFont); // Установка набора символов
x=77;
if (P_Dt > 0){
for (int i=p_count; i>0 ; i = i - 3) {
y = ((36 * (P_Max - P_Mem[i]))/P_Dt)+6;
if (x == 77) {
myGLCD.setPixel(x, y);
}
else {
myGLCD.drawLine(last_x, last_y, x, y);
}
last_x = x;
last_y = y;
x--;
}
}
myGLCD.print("Max:", LEFT, 0);
myGLCD.printNumF((P_Max +79980)/ 133.3, 2, 20, 0);
myGLCD.print("72 Zoom", RIGHT, 0);
myGLCD.print("Min:", LEFT, 42);
myGLCD.printNumF((P_Min+79980) / 133.3, 2, 20, 42);
}
break;
case 4: // напряжение аккумулятора для контроля
Refresh = true; // Обновить отрисовку каждый цикл
myGLCD.clrScr(); // Очистка экрана
myGLCD.setFont(SmallFont); // Установка набора символов
myGLCD.print("Bat:", LEFT, 15);
myGLCD.printNumF(analogRead(batPin)/176.6, 2, 24, 15); //напр.батареи (коэфф. подобрать при желании)
break;
}
if (Refresh) {myGLCD.update(); Refresh = false;} // Вывод вместимого буфера на дисплей и сброс признака обновления
} // if (Lcd_On)
} // скобка для условия сна в начале цикла в отладке не спим
// Отключить питание на 4с или до нажатия кнопки
tmp = 0;
if (key_pressed){LowPower.powerDown(SLEEP_1S, ADC_OFF, BOD_OFF);key_pressed = false;}
while ((tmp < 16) && (digitalRead(wakeUpPin)==HIGH))
{
LowPower.powerDown(SLEEP_250MS, ADC_OFF, BOD_OFF);
tmp++;
}
if (tmp<16)
{
if (light_on > 0) {scr_num++;} // Первый тычок только подсвет
light_on = 2; // после нажатия на кнопку подсветка 2*4 = 8с.
Refresh = true; // Обновить отрисовку
key_pressed = true; // кнопку жали
if (scr_num > 4) scr_num = 0;
}
if (!key_pressed) {tik++;} else {Son_count = 0;} // в зачёт 4с. если не тыкали кнопку
if (tik >=15) {Count_Minute++; Son_count++; tik = 0;} // минута натикала
} // Конец цикла
s13, Спасибо! Попробую кнопку. Если не поможет - заменю программу. Я тоже нацелился на такой корпус. Две штуки лежат. Я подумывал на кварц. Читал, что не любят они сотрясений. А мой прибор нередко плюхался мордой. Несбалансированная конструкция получилась, аккумулятор в верхней части, а приделать лыжи для устойчивости поленился. Да и макетка нехорошо разведена. И гетинакс отстойный. Буду, возможно, разводить плату под ЛУТ. Если все удачно получится - размещу сдесь.
Простите за не грамотность, но есть огромное желание повторить борограф с дисплем LCD 128 на 64 с контроллером ST7920 и датчик давления BMP 180. Подскажите где рабочий скетч и по возможности схема. Питать буду от 5 врльт и стацонарно.
СПАСИБО за ответ!!! В принципе почти разобрался, но где есть описание в скетче задейственные пины (можно собрать_ повторить) есть ошибка при компелировании, например пост 121, а пост 109 компиляция проходит, а вычислить схему не возможно. Подскажите пожалуста. Среда 1.6.13. Библиотеки на датчик ставил разные пезулльтат один по посту 121
Запустил проект с поста 159, работает без промблем на Pro Mini с камнем 328, осталось только подключить кнопки с делителем напряжения. Кстати говоря скетч с поста 150 затер загрузчик в андруинке, а скетч с поста 121 не плохо работает - устойчиво.
Чтоб не расчитывать вам дали программку . берете два резистора допустим 10 кОм и 33 кОм подключаем 3кнопки две через сопротивы , а третью на корпус смотрим получившиеся значения АЦП задаем диапазон для каждой кнопки и вставляем в строки 57-65.
В ардуино есть встроенные подтягивающие резисторы (pull-up) которые можно включить программно
digitalWrite(16,HIGH);//включаем внутренний pull-up резистор на А2
Чтоб не расчитывать вам дали программку . берете два резистора допустим 10 кОм и 33 кОм подключаем 3кнопки две через сопротивы , а третью на корпус смотрим получившиеся значения АЦП задаем диапазон для каждой кнопки и вставляем в строки 57-65.
В ардуино есть встроенные подтягивающие резисторы (pull-up) которые можно включить программно
digitalWrite(16,HIGH);//включаем внутренний pull-up резистор на А2
Тогда сопративу с +5в на А2 ставить не надо.
Успехов.
Доброе время суток!!!
Всё победил, делитель напряжения выполнил. Спасибо за проект!!!!
Плату очень удачной не считаю. 4 перемычки не считая двух перемычек СМД. Но, что выросло, то выросло. Прошивка старая. Корпус и контактные стойки под дисплей и модуль ВМР180 пришлось немного подрезать по высоте. Стойки корпуса пришлось сфрезировывать до высоты около 2 мм. С кнопкой мудрить не стал, прицепил термоклеем. Пока проработала не так долго. Суммарно недели две. При подключении зарядки лития графики не теряются.
Пробы на зависание при щелчках кнопки. Пробовал двояко. Аккуратно. каждый новый клик полсле завершения обработки предыдущего. Норм. Хаотичные беспорядочные клики минут несколько. Норм. Барограф не завис ни разу. Но кнопку я при этом заменил на специфическую. Она срабатывает по ощущениям как кнопки на пульте ДУ. Видимо силикон и токопроводящая резина внутри.
В связи с этим немного рассуждений о природе т.н. "дребезга контактов". Обычные широкораспространенные кнопки построены на перещелкивании изогнутых упругих пластин. Мы на нее надавили и она выстрелила в обратную загибу сторону. Идет соударение с контактной площадкой. Отскок. Снова соударение. Затухающий колебательный процесс. В результате вместо одного импульса идет несколько. Кондеры радикально картину изменит не могут. У них и свои эффекты есть. У меня нет ждущего осциллографа, способного зафиксировать процессы такого рода. Чисто умозрительные заключения. И я убежден, что кнопки с токопроводящей резиной если и обладают эффектом дребезга, то куда более сглаженным. Во всяком случае в барографе по варианту s13 я бы рекомендовал использовать именно такие. Ну либо другие кнопки с безударным срабатыванием.
s13, еще раз благодарю вас за интересный вариант барографа.
Когда делал свой метеодатчик http://narodmon.ru/2355 на esp8266, чтобы считать прерывания от счетчика гейгера был использован такой способ избавления от дребезга:
void IMP_IN() {
if (!in_int){
in_int = true;
delayTime = millis();
while (millis() <= delayTime+5){}; // задержка 5 мс.
imp_val++; // счетчик +
in_int = false;
}
}
заводится флаг in_int, который сбрасывается только через 5мс, а пока он не сброшен, идёт просто возврат из прерывания.
Ну и переменные которые используются в прерывании нужно пометить как volatile. ( это если кто решит улучшить )
А так, барограф через интернет оказался поинтереснее. Хоть и собран на есп8266, но в среде ардуино, и прицепить любой датчик или дисплей проблем нет, библиотеки подходят без изменений.
Да, тепло там у вас. У нас, собственно тоже, в р-не -20. Но для нас это действительно не так плохо. И видимо стены фонят тепловым излучением. Разброс немалый.
А о антидребезге програмном я думал. Но поскольку ни разу не программист и даже не электронщик, упоминать не стал. И еще мне кажется, что если уж совсем проблемный набор (МК, дисплей, кнопка) оказывается и зависает от нажатий, можно попробовать отключить подсветку. Бросок тока должен упасть на порядок. Со всеми вытекающими.
А о антидребезге програмном я думал. Но поскольку ни разу не программист и даже не электронщик, упоминать не стал.
Намёк понял, кажись нашел проблему, по крайней мере остервенелое тыкание кнопки в течение получаса зависания не дало :) применил всё что выше писал, и ещё запретил прерывания на время общения с датчиком bmp180. Пробуйте.
Добрый вечер S13 и всем присутсвующим. Отличный проект. Собрал пост 359 bmp280 s13. Я не программист просто больно понравилась идея! Поскажите пожалуйста как поставить время отрисовки каждого пикселя на первом екране 10минут а не 20 как счас и возможно ли это? Зарание спасибо!.
Намёк понял, кажись нашел проблему, по крайней мере остервенелое тыкание кнопки в течение получаса зависания не дало :) применил всё что выше писал, и ещё запретил прерывания на время общения с датчиком bmp180. Пробуйте.
Ну до чего приятно иметь дело с умным человеком!!! Хотя должен признаться, что в данном конкретном случае, я писал без задней мысли. Но тем более спасибо.
Залил кекс по варианту для 16 мгц со своими фьюзами (есть по ранее приведенной ссылке на Яндекс диске). Прибор запустился. Если все будет норм, туда же пихну и хекс позже, если не возражаете. Если прибор покажет стабильную и устойчивую работу, то уже можно считать его близким к совершенству. И, полагаю, через годик уже появятся аналоги на Али, подозрительно напоминающие Ваш прибор. Ну да такова селяви, как говаривала одна моя знакомая.
PS. Вы отключили гашение дисплея? Только сейчас глянул скетч. Не проверяли, на сколько изменяется потребление? Попробую так пока. Там посмотрим, а надо ли его гасить.
Я поставил литий 700-1000 мач (ХЗ, по габаритам подбирал). Если хватит на полгода, то норм.
Поскажите пожалуйста как поставить время отрисовки каждого пикселя на первом екране 10минут а не 20 как счас и возможно ли это? Зарание спасибо!.
Вообще там один массив на все графики, поэтому отдельно для первого сделать выборку по 10 минут не получится. Если только первый и второй сделать полсуточными, а третий на 36 часов. Для этого в строке 123 заменить 20 на 10 минут. Хотя зачем всё это не понятно.
Спасибо за ответ. Зачем? Я делаю Ваш проэкт для рыбалки и должен сказать очень удачный приборчик. Как правило на рыбалке нахожусь не более 10 часов, отсюда и 10мин. На экранчике буду видеть тенденцию за рание и фактически на время рыбалки максимально подробно, хотя и в Вашем варианте все отлично.
Здравствуйте s13. Позвольте ещё вопрос. Можно ли в Вашем скетче пост359 использовать милибары вместо мм ртуного столба. Это мне лично привычнее и удобнее да и вовсех приборчиках подобного типа милибары или гектопаскали отсюда и привычка. Если это не очень сложно и трудоемко хотелосьбы, а ели нетто и так превосходно. Ещё раз повторюсь отличный проект. Да ещё один момент иногда после того как выключил включил питание не начинается отрисовка графика не знаю в чем дело. Быавет поле нажатия начинает рисовать график и в посте 387 у Вас скетч для 180 датчика, в нем есть антидребезг коррекция высоты сон для экрана и отключение при низком питании, есть ли это все для 280 датчика? Спасибо!
Здравствуйте Владимир. Гектопаскали они же миллибары видимо более привычны у европейских соседей. Для смены единиц просто замените все числа 133.3 на 100, возможно ещё придётся немного поправить отображение ( миллибары имеют значения возле 1000, соответственно будет 3 или 4 значащих цифры, скорее всего нужно будет немного поправить координаты для отображения чисел) возможность гашения есть, строка 13. Проблем со стартом не наблюдал, попробуйте заменить датчик. Раз уж у Вас получилось оттранслировать скетч из поста 359, то внести небольшие коррективы думаю тоже под силу. Возможно такой вариант ещё кому пригодится, будут вопросы задавайте, здесь помогут. Для этого и открывают исходник чтобы можно было поправить под себя, дополнить, улучшить и снова показать.
Здравствуйте s13, с новым годом всего наилучшего в новом году. Попробовал поменять все 133.3 на 100.0 все работает данные идут цифры на местах, но диапазон графика за пределами (полоска на весь экран) и цифры справа не 45. 50. 55.а 23 25 25 первый экран. Надо наверное ещё чтото менять? Спасибо.
Можно ещё немного обнаглеть вопросом? Вернее значение графика 800+215 1015mbar. Это означает если высше показывать не будет? Если да то можно поменять например на 225? Просмотрел архив по своей местности максимальное было 1021 три раза за год. И второй можно ли корректировать давление. Мой датчик показывает на 3.3 mbar больше. Извините за назойливость. Я правда не программист, чтобы Ваш скетч оттранслировать и прошить трое суток в гугле просидел. Спасибо.
Выше будет, это просто стартовое значение окна. Если ниже или выше окно сместится. Поправить показания на 3.3мбар можно если в строке 85 и 108 где идёт опрос датчика вычесть 330, bme.readPressure()-330;
longP_win = 215 * 100.0; // Верхняя граница абс. графика по умолчанию до сдвига (800 + 215) = 1015mbar
Я имел в виду верхнюю границу графика 1015mbar. Если давление выше будет рисовать? Корректирровку ввёл показывает теперь точно. Извините если вопрос глупый просто пытаюсь разобраться. Да и ещё забываю спросить делитель на вход от акка расчитан под литий 3.2в до 4.2в или нет? Спасибо.
Ну а это мои барографы. Вариант от s13 пока с не полным графиком. Вариант от bodriy2014 имеет период немного длиннее - 27 часов.
Самый наглядный график у s13. Вариант от bodriy2014 , будет наглядно показывать только резкие перепады. Этот вариант пожалуй попозже, после периода первоначальной обкатки, переделаю под двое суток. Он тогда станет более выпуклым.
Сейчас пусть приборы поработают подольше. Посмотрим на стабильность/надежность/наглядность при резких перепадах.
Пока по назначению их разделяю по прежнему. От s13 мне, от bodriy2014 маме.
Если рассматривать общие возможности приборов, то вариант от s13 наиболее полный. Возможность выбрать график по вкусу, два разных периода отображения, контроль батареи. Хорошее понятное управление без доп. меню и прочего. Просто перебор по очереди.
Посмотрю насколько хватит аккумулятора (800 мач фактическая емкость). Возможно сделаю вариант с аккумулятором как резервным источником, но общее питание от сети.
Ну раз Вам понравился вариант, думаю и родственник доволен будет. 800ма/ч должно хватать дней на 100 если без гашения дисплея, с гашением на 2-3 года если сам быстрее не сядет. Всё же советую небольшую солнечную панельку для подпитки, её достаточно даже в тень просто на подоконник поставить направив на небо и она уже даёт 12-14ма, этого будет достаточно для подзаряда, а если на солнце попадёт, то за день батарею даже севшую набьёт. Ну или разьем для подпитки от зарядного чтобы подключать по мере разряда акка как вариант. Смысл греть зарядник сутками. Может ещё каие мысли по улучшению ? Детали пока не пришли, можно ещё поправить. Параллельно кнопке не забывайте конденсатор ставить на 47n-100n, могут возникать множественные прерывания при выходе из сна и как следствие зависание проца. Ну и блокировочные по питанию меги тоже обязательно.
Вариант действительно понравился. Над деталями реализации подумаю. Солнечные панели пока закажешь, пока приедут. Для меня сроки редко менее 2х-3х месяцев. Держать несколько месяцев макетку на подоконнике тоже не вариант.
Охолонусь. Подумаю. Возможно пихну пока в аналогичный корпус. Еще предстоит решить/поэкспериментировать, если с засыпанием и от батареи 4,5, то нужны ли делители на дисплей. Они ведь ограничат нижний предел по напряжению. Ну и т.д.
Я в таких случаях, когда одолевают сомнения, отступаю немного в сторону. А комп на чердаке сам проведет анализ. И через некоторое время я буду четко представлять, что и как.
Это не означает, что я прощаюсь. Просто для себя я уже выбор сделал.
Спасибо Вама за очень интересную работу.
Для s13.
Плюнул на свою полукомпетентность в данном вопросе и залил сегодня вашу последнюю версию с гашением дисплея. Вроде гаснет.
Для тех, кто решит повторять на голом МК выкладываю фьюзы. Сто процентно я в них не уверен, возможно не оптимальные, но работают. Фьюзы для Пони-Прог. Т.е. инверсные.
С питанием пока поставлю литий с контроллером. Квадратную батарейку пока не решился. У нее напруга 4,95. Тогда придется делители на дисплей лепить. А литий, чтобы вместиться в корпус.
А так от лития просто вставлю в цепь питания дисплея 1-2 диода, чтобы немного пригасить напругу. Тем более дисплей большую часть времени будет спать.
Сейчас немного покатаюсь на макетке с этим вариантом. Если все норм, то в корпус.
Если питать от лития, никакие делители и диоды не нужны, всё напрямую. По даташиту Vdd max = 7v. а входные сигналы ещё +0.5v так что и питание от 5 вольт ему не страшно. Только контраст возможно придётся убавить. Год стоит и питается напрямую от лития, причём он всегда полон (4.24) все сигналы тоже напрямую и проблем нет.
Если питать от лития, никакие делители и диоды не нужны, всё напрямую. По даташиту Vdd max = 7v. а входные сигналы ещё +0.5v так что и питание от 5 вольт ему не страшно. Только контраст возможно придётся убавить. Год стоит и питается напрямую от лития, причём он всегда полон (4.24) все сигналы тоже напрямую и проблем нет.
При моих пробах 5110/3310 тоже работали нормально. Но не слишком долго. По даташиту 5 вольт там кратковременный режим. Неоднократно читал, в том числе у людей, которым доверяю, что иногда дохнут дисплеи напрямую от 5 вольт. Видимо как повезет. Предпочитаю перестраховываться. Привычка конструктора ВПК - все должно быть максимально надежно, максимально долго. И я точно знаю, что года через 2-3 уже, если прибор сдохнет, мне проще будет купить/замутить новый, чем разбираться в старом. Еще нюанс - это сегодня 3310/5110 не проблема. Что будет года через 3-4?
уменя вопрос подойдёт датчик bmp280 в замен bmp180?
Попроробуйте такой скетч , режим sleep, dht-11 влажность , bmp180 давление температура , индикатор заряда.
Работает 280. Здесь новый скетч и исправленная библиотека. Родная с гитхаба не пошла.
Библиотека 280: https://yadi.sk/d/YE2EcgISwa9z5
Скетч:
Вопрос для s13. После нашего общения барограф у меня славно работал. Несколько месяцев спустя повис, при переключении режимов. Ну перезапустил и все. Пару дней и снова повис. Я решил, что подсел аккумулятор и при этой напруге прибор работает плохо. Зарядил. Повис в тот же день. Попробовал заменить дисплей - виснет уже на пробах. Вопрос заключается в следущем: у Вас работает стабильно? Или пришлось что-то предпринимать? Сейчас прибор лежит полуразобраный уже пару месяцев. Пока руки не доходят. Активно занимаюсь осциллографом VirtOS. Но подумываю переделать барограф уже на печатку и в компактный корпус. Поэтому спрашиваю про возможные изменения. Пока единственное отличие у меня от Вашей схемы - нет кондеров по 22 пика. Но я их нигде не ставил. Ни в одной схеме. И все норм.
Да, Здравствуйте.
Здравствуйте.
Собрал 4 штуки, все работают без проблем кроме одного, тоже вис от прерываний при переключении. Долго искал проблему, ставил кучами блокировочные кондюки, менял мегу, дисплей и т.д. всё безрезультатно. Ну не в кардонке же дело.. Заменил последнее что было - кнопку. Больше он не вис :) Вот такие чудеса.. Проверьте кнопку на качество срабатываний, может и у Вас окислилась. В крайнем случае можно переделать скетч под простой опрос кнопки при просыпании, но это или будить нужно чаще или ждать по 4с. пока сам проснется для опроса.
Вот три рабочих, с двух крышки снял чтобы видно было что внутри. Коробки 85х50х20 с али:.
Вот вариант под bmp180 без прерываний, опрос кнопки 4 раза в секунду. Не думаю что сильно повысит прожорливость, а от зависаний должно избавить. Теперь экраны можно листать если держать кнопку.
s13, Спасибо! Попробую кнопку. Если не поможет - заменю программу. Я тоже нацелился на такой корпус. Две штуки лежат. Я подумывал на кварц. Читал, что не любят они сотрясений. А мой прибор нередко плюхался мордой. Несбалансированная конструкция получилась, аккумулятор в верхней части, а приделать лыжи для устойчивости поленился. Да и макетка нехорошо разведена. И гетинакс отстойный. Буду, возможно, разводить плату под ЛУТ. Если все удачно получится - размещу сдесь.
Доброе время суток уважаемые коллеги!!!!!
Простите за не грамотность, но есть огромное желание повторить борограф с дисплем LCD 128 на 64 с контроллером ST7920 и датчик давления BMP 180. Подскажите где рабочий скетч и по возможности схема. Питать буду от 5 врльт и стацонарно.
Спасибо большое. С уважением Виктор R2PM Tula
Доброе время суток.
R2PM В этой ветке начиная с поста № 75 и далее построено на данном дисплее .
И расписано довольно подробно.
Доброе время суток!!!
СПАСИБО за ответ!!! В принципе почти разобрался, но где есть описание в скетче задейственные пины (можно собрать_ повторить) есть ошибка при компелировании, например пост 121, а пост 109 компиляция проходит, а вычислить схему не возможно. Подскажите пожалуста. Среда 1.6.13. Библиотеки на датчик ставил разные пезулльтат один по посту 121
'class BMP085' has no member named 'init'
С уважением Виктор
У меня версия 1.6.6 компилируется с поста 121 нормально
Возможно надо переустановить библиотеку на BMP085
https://drive.google.com/file/d/0B0AIJgNiGhqQQk05ZUpRZXVGNHc/view?usp=sharing
Попробуйте старую удалить и поставить эту.
У меня версия 1.6.6 компилируется с поста 121 нормально
Возможно надо переустановить библиотеку на BMP085
https://drive.google.com/file/d/0B0AIJgNiGhqQQk05ZUpRZXVGNHc/view?usp=sharing
Попробуйте старую удалить и поставить эту.
Добрый день!!!
СПАСИБО!!!! С Вашей без промблем средой 1.6.13
Сейчас окончательно разберусь со схемой и .... результат должу.
Ещк раз спасибо.
Вот код с датчиком влажности использовано 93% памяти.
Я только учусь будут предложения по изменению буду рад советам.
Не всё гладко в комментариях получилось но как удалить выложеный код не знаю.
По подключению датчиков и кнопок спрашивайте отвечу всем.
Доброе время суток!!!
Спасибо за проект - с поста 121 проект работает!!
есть желание с 150 додеоать.Можите написать мне про подключаемые кнопки, мjй адрес rd3pq@rambler.ru
Так давно уже было пришлось вспоминать заново..
Как я писал планку с кнопками взял от какой-то двдишки и рассчитал значения в строках 60-70 (скетч с поста 150)
кнопки подключены делителем напряжения.
Подробно описано здесь http://arduino.ru/forum/programmirovanie/rabota-s-knopkami-v-pomoshch-novichku
Подключены к выводу 16 это А2
А0 - вольтметр (подключается на аккумулятор )
А1 фоторезистор (что-бы подсветка ночью не освещала комнату) выход D9 подключал через полевик( катод подсветки-полевик-корпус)
Добрый день!!!
Спасибо за ответ, но к каким пинам подключается датчик влажности.
Виктор
D7 строка 15
Делитель напряжения какой номинал или коэффициэнт деления , так понимаю три кнопки
Спасибо
Открывать барограф нет особого желания в статье по ссылке работа с кнопками очень жорошо описанно
попробуйте разобратся сами . Не получится тогда вскрою и посмотрю.
Делитель напряжения какой номинал или коэффициэнт деления , так понимаю три кнопки
Спасибо
Можно ничего не рассчитывать, соберите кнопки через делители столько сколько нужно.
Затем напишите простой скетч
и нажимая кнопки коп порт покажет какое значение на АЦП выдает каждая, дальше через if от них пляшите.
спасибо большое!!!!
вечером попробую всё подключить
. потом раскажу
Доброе время суток!!!
Запустил проект с поста 159, работает без промблем на Pro Mini с камнем 328, осталось только подключить кнопки с делителем напряжения. Кстати говоря скетч с поста 150 затер загрузчик в андруинке, а скетч с поста 121 не плохо работает - устойчиво.
Виктор R2PM
http://quote=soznik] Открывать барограф нет особого желания в статье по ссылке работа с кнопками очень жорошо описанно попробуйте разобратся сами . Не получится тогда вскрою и посмотрю. [/quote]
Доброе время суток!!! Спасибо за проект с 159 !!!! Всё отлично, только кнопки не смог победить, точнее делитель напряжения. С уважением Виктор R2PM
Доброе время суток!!!
Нужна помощь в номиналах делителя напряжения по посту 159.
Спасибо. С уважением Виктор R2PM
диапазон АЦП, то это от 0 до 1023 . Что соответствует напряжению от 0 до 5в. Например значение 512 это 2.5в.
в программе три значения (Строки 57-65)
<100 это кнопка на корпус ,
analog>700&&analog<800 для расчета возмём 750 (750*5/ 1023=3,66)
для второй кнопки нам надо получить 3,66 вольта.
Uвых= U вх * (R2/ (R1+R2))
+5в--10кОм(R1) --вывод А2-----27 кОм(R2)---- кнопка ------- корпус.
Получается если кнопка не нажата на А2 5вольт или значение АЦП 1023.на
нажимаем кнопку на делителе 3,648 или 1023*3,648/5= 746 ( входит в диапазон 700-800).
Третью кнопку расчитайте сами.
Чтоб не расчитывать вам дали программку . берете два резистора допустим 10 кОм и 33 кОм подключаем 3кнопки две через сопротивы , а третью на корпус смотрим получившиеся значения АЦП задаем диапазон для каждой кнопки и вставляем в строки 57-65.
В ардуино есть встроенные подтягивающие резисторы (pull-up) которые можно включить программно
digitalWrite(16,HIGH);
//включаем внутренний pull-up резистор на А2
Тогда сопративу с +5в на А2 ставить не надо.
Успехов.
Чтоб не расчитывать вам дали программку . берете два резистора допустим 10 кОм и 33 кОм подключаем 3кнопки две через сопротивы , а третью на корпус смотрим получившиеся значения АЦП задаем диапазон для каждой кнопки и вставляем в строки 57-65.
В ардуино есть встроенные подтягивающие резисторы (pull-up) которые можно включить программно
digitalWrite(16,HIGH);
//включаем внутренний pull-up резистор на А2
Тогда сопративу с +5в на А2 ставить не надо.
Успехов.
Доброе время суток!!!
Всё победил, делитель напряжения выполнил. Спасибо за проект!!!!
Успехов. С уваженим Виктор R2PM Tula
Повторил Барограф лайт и из поста 362 с BMP-280, всё чудно работает, код естесственно подправил.
Спасибо создателям!
Sasha21, ваш с DHT22 и BMP-280 тоже работает- в начальном экране есть все значения, но графики не идут
Сделал я все же плату по варианту барографа от s13 и загнал ее в корпус. https://yadi.sk/d/nn1BAn2334prEX
Плату очень удачной не считаю. 4 перемычки не считая двух перемычек СМД. Но, что выросло, то выросло. Прошивка старая. Корпус и контактные стойки под дисплей и модуль ВМР180 пришлось немного подрезать по высоте. Стойки корпуса пришлось сфрезировывать до высоты около 2 мм. С кнопкой мудрить не стал, прицепил термоклеем. Пока проработала не так долго. Суммарно недели две. При подключении зарядки лития графики не теряются.
Пробы на зависание при щелчках кнопки. Пробовал двояко. Аккуратно. каждый новый клик полсле завершения обработки предыдущего. Норм. Хаотичные беспорядочные клики минут несколько. Норм. Барограф не завис ни разу. Но кнопку я при этом заменил на специфическую. Она срабатывает по ощущениям как кнопки на пульте ДУ. Видимо силикон и токопроводящая резина внутри.
В связи с этим немного рассуждений о природе т.н. "дребезга контактов". Обычные широкораспространенные кнопки построены на перещелкивании изогнутых упругих пластин. Мы на нее надавили и она выстрелила в обратную загибу сторону. Идет соударение с контактной площадкой. Отскок. Снова соударение. Затухающий колебательный процесс. В результате вместо одного импульса идет несколько. Кондеры радикально картину изменит не могут. У них и свои эффекты есть. У меня нет ждущего осциллографа, способного зафиксировать процессы такого рода. Чисто умозрительные заключения. И я убежден, что кнопки с токопроводящей резиной если и обладают эффектом дребезга, то куда более сглаженным. Во всяком случае в барографе по варианту s13 я бы рекомендовал использовать именно такие. Ну либо другие кнопки с безударным срабатыванием.
s13, еще раз благодарю вас за интересный вариант барографа.
Когда делал свой метеодатчик http://narodmon.ru/2355 на esp8266, чтобы считать прерывания от счетчика гейгера был использован такой способ избавления от дребезга:
Когда делал свой метеодатчик
Да, тепло там у вас. У нас, собственно тоже, в р-не -20. Но для нас это действительно не так плохо. И видимо стены фонят тепловым излучением. Разброс немалый.
А о антидребезге програмном я думал. Но поскольку ни разу не программист и даже не электронщик, упоминать не стал. И еще мне кажется, что если уж совсем проблемный набор (МК, дисплей, кнопка) оказывается и зависает от нажатий, можно попробовать отключить подсветку. Бросок тока должен упасть на порядок. Со всеми вытекающими.
А о антидребезге програмном я думал. Но поскольку ни разу не программист и даже не электронщик, упоминать не стал.
Намёк понял, кажись нашел проблему, по крайней мере остервенелое тыкание кнопки в течение получаса зависания не дало :) применил всё что выше писал, и ещё запретил прерывания на время общения с датчиком bmp180. Пробуйте.
Кекс для 8Mhz:
Кекс для 16Mhz:
Ну и фьюзы как у меня стоят для кварца 8Mhz на всякий:
Скетч:
Добрый вечер S13 и всем присутсвующим. Отличный проект. Собрал пост 359 bmp280 s13. Я не программист просто больно понравилась идея! Поскажите пожалуйста как поставить время отрисовки каждого пикселя на первом екране 10минут а не 20 как счас и возможно ли это? Зарание спасибо!.
Намёк понял, кажись нашел проблему, по крайней мере остервенелое тыкание кнопки в течение получаса зависания не дало :) применил всё что выше писал, и ещё запретил прерывания на время общения с датчиком bmp180. Пробуйте.
Ну до чего приятно иметь дело с умным человеком!!! Хотя должен признаться, что в данном конкретном случае, я писал без задней мысли. Но тем более спасибо.
Залил кекс по варианту для 16 мгц со своими фьюзами (есть по ранее приведенной ссылке на Яндекс диске). Прибор запустился. Если все будет норм, туда же пихну и хекс позже, если не возражаете. Если прибор покажет стабильную и устойчивую работу, то уже можно считать его близким к совершенству. И, полагаю, через годик уже появятся аналоги на Али, подозрительно напоминающие Ваш прибор. Ну да такова селяви, как говаривала одна моя знакомая.
PS. Вы отключили гашение дисплея? Только сейчас глянул скетч. Не проверяли, на сколько изменяется потребление? Попробую так пока. Там посмотрим, а надо ли его гасить.
Я поставил литий 700-1000 мач (ХЗ, по габаритам подбирал). Если хватит на полгода, то норм.
Поскажите пожалуйста как поставить время отрисовки каждого пикселя на первом екране 10минут а не 20 как счас и возможно ли это? Зарание спасибо!.
Вообще там один массив на все графики, поэтому отдельно для первого сделать выборку по 10 минут не получится. Если только первый и второй сделать полсуточными, а третий на 36 часов. Для этого в строке 123 заменить 20 на 10 минут. Хотя зачем всё это не понятно.
Спасибо за ответ. Зачем? Я делаю Ваш проэкт для рыбалки и должен сказать очень удачный приборчик. Как правило на рыбалке нахожусь не более 10 часов, отсюда и 10мин. На экранчике буду видеть тенденцию за рание и фактически на время рыбалки максимально подробно, хотя и в Вашем варианте все отлично.
Здравствуйте s13. Позвольте ещё вопрос. Можно ли в Вашем скетче пост359 использовать милибары вместо мм ртуного столба. Это мне лично привычнее и удобнее да и вовсех приборчиках подобного типа милибары или гектопаскали отсюда и привычка. Если это не очень сложно и трудоемко хотелосьбы, а ели нетто и так превосходно. Ещё раз повторюсь отличный проект. Да ещё один момент иногда после того как выключил включил питание не начинается отрисовка графика не знаю в чем дело. Быавет поле нажатия начинает рисовать график и в посте 387 у Вас скетч для 180 датчика, в нем есть антидребезг коррекция высоты сон для экрана и отключение при низком питании, есть ли это все для 280 датчика? Спасибо!
Здравствуйте Владимир. Гектопаскали они же миллибары видимо более привычны у европейских соседей. Для смены единиц просто замените все числа 133.3 на 100, возможно ещё придётся немного поправить отображение ( миллибары имеют значения возле 1000, соответственно будет 3 или 4 значащих цифры, скорее всего нужно будет немного поправить координаты для отображения чисел) возможность гашения есть, строка 13. Проблем со стартом не наблюдал, попробуйте заменить датчик. Раз уж у Вас получилось оттранслировать скетч из поста 359, то внести небольшие коррективы думаю тоже под силу. Возможно такой вариант ещё кому пригодится, будут вопросы задавайте, здесь помогут. Для этого и открывают исходник чтобы можно было поправить под себя, дополнить, улучшить и снова показать.
Спасибо буду пробовать.
Здравствуйте s13, с новым годом всего наилучшего в новом году. Попробовал поменять все 133.3 на 100.0 все работает данные идут цифры на местах, но диапазон графика за пределами (полоска на весь экран) и цифры справа не 45. 50. 55.а 23 25 25 первый экран. Надо наверное ещё чтото менять? Спасибо.
Надо наверное ещё чтото менять? Спасибо.
Всех с прошедшими праздниками !
Вот вариант для Владимира с миллибарами ;)
Ну Вы Чеееловек! Спасибо большое! Все работает!
Можно ещё немного обнаглеть вопросом? Вернее значение графика 800+215 1015mbar. Это означает если высше показывать не будет? Если да то можно поменять например на 225? Просмотрел архив по своей местности максимальное было 1021 три раза за год. И второй можно ли корректировать давление. Мой датчик показывает на 3.3 mbar больше. Извините за назойливость. Я правда не программист, чтобы Ваш скетч оттранслировать и прошить трое суток в гугле просидел. Спасибо.
Выше будет, это просто стартовое значение окна. Если ниже или выше окно сместится. Поправить показания на 3.3мбар можно если в строке 85 и 108 где идёт опрос датчика вычесть 330, bme.readPressure()-330;
long
P_win = 215 * 100.0;
// Верхняя граница абс. графика по умолчанию до сдвига (800 + 215) = 1015mbar
Я имел в виду верхнюю границу графика 1015mbar. Если давление выше будет рисовать? Корректирровку ввёл показывает теперь точно. Извините если вопрос глупый просто пытаюсь разобраться. Да и ещё забываю спросить делитель на вход от акка расчитан под литий 3.2в до 4.2в или нет? Спасибо.