Помогите довести до ума скетч

Abbat25
Offline
Зарегистрирован: 19.09.2018

Это панель RGB 16x32, BME280, DS1307rtc.
Этот проект в месте со всеми библиотеками есть http://embedded-lab.com/blog/rgb-matrix-clock-plus-environmental-data-meter/

Просто довести до ума
убрать все лишнее

ну и кое что добавить

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

Вот мой скетч

/* Project: RGB matrix displaying temperature, humidity, and pressure
using BME280 sensor and Arduino Uno

Author: Raj Bhatt (www.embedded-lab.com)
RGB LED panel + Arduino shield: http://www.elecrow.com/cooperated-d...b-led-matrix-panel-arduino-driver-shield.html
*/

#include <Adafruit_GFX.h> // Core graphics library
#include <RGBmatrixPanel.h> // Hardware-specific library
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#include "RTClib.h"

#define CLK 8 // MUST be on PORTB! (Use pin 11 on Mega)
#define LAT A3
#define OE 9
#define A A0
#define B A1
#define C A2
Adafruit_BME280 bme; // I2C
#define DHTPIN 12 // what pin we're connected to
#define DHTTYPE DHT22 // DHT 22 (AM2302)
#define F2(progmem_ptr) (const __FlashStringHelper *)progmem_ptr

RGBmatrixPanel matrix(A, B, C, CLK, LAT, OE, false);

RTC_DS1307 rtc;
char *daysOfTheWeek[] = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"};
char *monthsOfyear[] = {"JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"};
float h, t, p;
byte red, green, blue, BackgroundBalls = 1;
int hue1 = 0, hue2 = 1536;
long j = 0;
String message = "";
//const char message[] PROGMEM = "";
int textX = matrix.width(),
textMin = sizeof(message) * -12,
hue = 0;
int8_t ball[3][4] = {
{ 3, 0, 1, 1 }, // Initial X,Y pos & velocity for 3 bouncy balls
{ 17, 15, 1, -1 },
{ 27, 4, -1, 1 }
};

void Display_Data() {

matrix.setTextSize(1);
matrix.fillScreen(0);
h = bme.readHumidity();
t = bme.readTemperature();
p = bme.readPressure() / 100.0F;
Serial.println(p);
// Display temperature, humidity, pressure
matrix.setTextColor(matrix.Color333(1, 0, 0)); // Red color
matrix.setCursor(2, 0); // start at top left
matrix.print((int)t);
matrix.print((char)248); // Degree symbol
matrix.print('C');
float tf = t * 1.8 + 32;
matrix.setCursor(2, 9); // start at second row left
matrix.setTextColor(matrix.Color333(0, 3, 1));
matrix.print((int)tf);
matrix.print((char)248); // Degree symbol
matrix.print('F');
delay(9000);
matrix.fillScreen(0);
matrix.setCursor(2, 0);
matrix.setTextColor(matrix.Color333(0, 3, 0));
matrix.print("Hum=");
matrix.setCursor(2, 9); // start at second row left
matrix.print(h, 1);
matrix.print('%');
delay(9000);
matrix.fillScreen(0);
matrix.setCursor(5, 0);
matrix.setTextColor(matrix.Color333(1, 1, 3));
matrix.print(p, 0);
matrix.setCursor(9, 9);
matrix.print("hPa");
delay(25000);

//Display time
DateTime now = rtc.now();
matrix.fillScreen(0);
matrix.setCursor(2, 1);
matrix.setTextColor(matrix.Color333(2, 2, 2));
if (now.hour() < 10) matrix.print(0, DEC);
matrix.print(now.hour(), DEC);
matrix.print(':');
if (now.minute() < 10) matrix.print(0, DEC);
matrix.print(now.minute(), DEC);
matrix.setCursor(7, 9);
matrix.setTextColor(matrix.Color333(0, 1, 3));
matrix.print(daysOfTheWeek[now.dayOfTheWeek()]);

delay(25000);

//DateTime now = rtc.now();
matrix.fillScreen(0);
matrix.setCursor(2, 0);
matrix.setTextColor(matrix.Color333(1, 1, 2));
if (now.month() < 10) matrix.print(0, DEC);
matrix.print(now.month(), DEC);
matrix.print('/');
matrix.print(now.day(), DEC);
matrix.setCursor(7, 9);
matrix.setTextColor(matrix.Color333(1, 1, 2));
matrix.print(now.year(), DEC);
delay(25000);

//Construct String message
message = monthsOfyear[now.month() - 2];
message += ' ';
message += now.day();
message += ", ";
message += now.year();
message += ", ";
message += daysOfTheWeek[now.dayOfTheWeek()];
message += " ";
message += now.hour();
message += ':';
message += now.minute();
message += " T=";
message += tf;
message += ((char)248);
message += "F, Humidity=";
message += h;
message += "% ";

textMin = message.length() * -12;
Serial.print("Message::");
Serial.println(message);
}

/* Recode russian fonts from UTF-8 to Windows-1251 */

String utf8rus(String source)
{
int i,k;
String target;
unsigned char n;
char m[2] = { '0', '\0' };

k = source.length(); i = 0;

while (i < k) {
n = source; i++;

if (n >= 0xC0) {
switch (n) {
case 0xD0: {
n = source; i++;
if (n == 0x81) { n = 0xA8; break; }
if (n >= 0x90 && n <= 0xBF) n = n + 0x30;
break;
}
case 0xD1: {
n = source; i++;
if (n == 0x91) { n = 0xB8; break; }
if (n >= 0x80 && n <= 0x8F) n = n + 0x70;
break;
}
}
}
m[0] = n; target = target + String(m);
}
return target;
}
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println(F("BME280 test"));
if (!bme.begin()) {
Serial.println("Could not find a valid BME280 sensor, check wiring!");
}
matrix.begin();

if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
}
if (! rtc.isrunning()) {
Serial.println("RTC is NOT running!");
// following line sets the RTC to the date & time this sketch was compiled
rtc.adjust(DateTime(F(__DATE__),F(__TIME__)));
// This line sets the RTC with an explicit date & time, for example to set
// January 21, 2014 at 3am you would call:
// rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
}
}
void loop() {

Display_Data();
matrix.setTextWrap(false); // Allow text to run off right edge
matrix.setTextSize(2);
// Scroll_Text();
}

sadman41
Offline
Зарегистрирован: 19.10.2016

До чьего ума довести и что тут лишнее?

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

Abbat25
Offline
Зарегистрирован: 19.09.2018

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

Я не разбираюсь в коде

Abbat25
Offline
Зарегистрирован: 19.09.2018

Я заплачу сколько скажите

sadman41
Offline
Зарегистрирован: 19.10.2016

Сделать можно, проверить не на чем. Где ж такую панель нарыть... А 1307 на 3231 замените - тогда и подводить время мож не надо будет.

Abbat25
Offline
Зарегистрирован: 19.09.2018

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

sadman41
Offline
Зарегистрирован: 19.10.2016

Напишите на wrk.sadman@gmail.com как нужно модифицировать (убрать чего и т.д.)

Abbat25
Offline
Зарегистрирован: 19.09.2018

Скетч на почту отправить

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Abbat25 пишет:

Я заплачу сколько скажите

Сурово :) Жаль, что неправда :)

Abbat25
Offline
Зарегистрирован: 19.09.2018

Ну не программист я что не так то не всем же уметь программы писать.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Abbat25 пишет:

Ну не программист я что не так то не всем же уметь программы писать.

Да нет, с этим всё норм, я про другое: фраза "Я заплачу, сколько скажете" - враньё, вот и всё. Давай я тебе скажу - плати мне сто тысяч долларов, и я напишу тебе скетч, ок? Я сказал, сколько мне надо заплатить. Плати, ты же высказал намерение, не?

Жизненный опыт шепчет мне на ухо, что разбрасываться такими фразами - не стоит, пустое это. И проходит с возрастом.

Abbat25
Offline
Зарегистрирован: 19.09.2018

Зазнался ты товарищь

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Abbat25 пишет:

Зазнался ты товарищь

С чего такие выводы? Ок, я то же самое могу о тебе сказать: заврался ты, товарищ.

skif
skif аватар
Offline
Зарегистрирован: 24.03.2015

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

Я например скажу - сделаю за 1000 рублей. Там всё готово, только менюшку настройки часов вставить. Делал дома бегущую строку над дверью висит. Время, температура, давление, влажность дома и на улице. Третий год работает. 

Abbat25
Offline
Зарегистрирован: 19.09.2018

skif пишет:

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

Я например скажу - сделаю за 1000 рублей. Там всё готово, только менюшку настройки часов вставить. Делал дома бегущую строку над дверью висит. Время, температура, давление, влажность дома и на улице. Третий год работает. 

Спасибо как с вами связаться 

Abbat25
Offline
Зарегистрирован: 19.09.2018

DIYMan

 

Abbat25
Offline
Зарегистрирован: 19.09.2018

DIYMan пишет:

Abbat25 пишет:

Зазнался ты товарищь

С чего такие выводы? Ок, я то же самое могу о тебе сказать: заврался ты, товарищ.

Научитесь общаться

sadman41
Offline
Зарегистрирован: 19.10.2016

Если там все готово, то за что тыща? ))

Расскажете потом, как точками мигали и кнопки обрабатывали на приведенном коде.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Abbat25 пишет:

Научитесь общаться

Не надо лезть в бутылку.

Тем более, что озвученная DIYMan сумма, хотя и не для текущего проекта, но в принципе не представляет собой ничего особенного - всего 5000 строк.

Правда, насколько я понял, не на этом форуме.

Abbat25
Offline
Зарегистрирован: 19.09.2018

Аж интересно становится кто больше ?

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Abbat25 пишет:

DIYMan пишет:

Abbat25 пишет:

Зазнался ты товарищь

С чего такие выводы? Ок, я то же самое могу о тебе сказать: заврался ты, товарищ.

Научитесь общаться

Взаимно, собственно. Ты чего такой смурной - кто-то обидел? Нормально же общались, или ты ни малейшей критики в свой адрес не принимаешь? Расслабься, не рефлексируй, всё нормально.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

skif пишет:

Я например скажу - сделаю за 1000 рублей. Там всё готово, только менюшку настройки часов вставить. 

Скиф, если сделаешь за полдня и 1000 рублей - мой тебе респект и уважуха, без "б". Вот только опыт, опять же, рассказывает, что из этих полдня - половину уйдёт на утрясание деталей, четверть - на пост-продакшн, остаётся - только четверть, максимум. Почему полдня? Потому что рабочий день средненького такого быдлокодера, типа меня - от 2000 рублей.

Я вот, например, не готов за 1000, минимальный ценник на любую прошивку - от 2000 рублей, ещё ни разу, ттт, эта цифра не оказывалась чрезмерной по постфактум анализу затраченных усилий на всех этапах, включая отдалённые по времени (звонок через неделю "ой, а я забыл, для чего вот эта настройка!", "соединил по вашей схеме, почему-то не работает" и т.п.). Оно ж - не только программирование, тут пучок задач, наседающих на личное время ;)

skif
skif аватар
Offline
Зарегистрирован: 24.03.2015

Согласен с вами. Какое там полдня. Это мне дня на три (ну или вечера, практически то же самое, допоздна сижу). А "ой, а я забыл, для чего вот эта настройка!", это уже бесплатно. 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

От до чего довели бюджетников в расейских ширинках. :(

ALEGYR
Offline
Зарегистрирован: 20.09.2018

Abbat25 пишет:

Ну не программист я что не так то не всем же уметь программы писать.

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

1 - ЧТО вам надо сделать

2 - КОГДА вам надо сделать

3 - СКОЛЬКО ВЫ сами готовы заплатить, за то что вам надо сделать!

ЧТО надо сделать указано. Осталось только указать КОГДА надо сделать и ЗА СКОЛЬКО надо сделать!

Указав всего две цифры, Вы поможете потенциальному испонителю решиться на ваше предложение,  а себя избавите пустой траты времени. Ведь даже если ваше коммерческое предложение и не вызовет интереса у потенциальных исполнителей,  то вы узнаете,  что ваше коммерческое предложение не стоит тех денег, которые вы готовы на него потратить. Если же вы сразу получите массу предложений от потенциальных исполнителей,  у вас появится возможность выбрать того кто вам понравится, и вы получите то что хотите не за те деньги которые вам скажут,  а за те деньги, которые сказали ВЫ!!!

 

skif
skif аватар
Offline
Зарегистрирован: 24.03.2015

Разумно

mixail844
Offline
Зарегистрирован: 30.04.2012

ALEGYR пишет:

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

1 - ЧТО вам надо сделать

2 - КОГДА вам надо сделать

3 - СКОЛЬКО ВЫ сами готовы заплатить, за то что вам надо сделать!

1- Ой, а знаете , мне такая штучка нужна что бы вот сама все делала .

2- вот прям срочно, надо вчера .

3-А форум не для того что бы помогать за так ? / тыжпрограммист , для тебя это на 5 минут.

sadman41
Offline
Зарегистрирован: 19.10.2016

DIYMan пишет:

Оно ж - не только программирование, тут пучок задач, наседающих на личное время ;)

Еще есть модная штучка - запись в персональные советники на все времена за цену скетча. Назвал цену за программинг, вытряс из заказчика ТЗ, сделал, полдня выяснял, почему у него не заводится и объяснял зачем нужно землю подавать на бредбоард, получил деньги и... Каждый месяц (в лучшем случае) - "Помнишь, ты мне скетч делал. Объясни, почему... <в телевизоре звука нет>". 

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

ALEGYR
Offline
Зарегистрирован: 20.09.2018

mixail844 пишет:

1- Ой, а знаете , мне такая штучка нужна что бы вот сама все делала .

2- вот прям срочно, надо вчера .

3-А форум не для того что бы помогать за так ? / тыжпрограммист , для тебя это на 5 минут.

1 - тогда Вы не туда попали. Вам в сказку надо, а тут форум.

2 - Если надо было вчера, то вы опрздали! А если срочно, то за срочность придется доплатить!

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

"тыжпрограммист , для тебя это на 5 минут." Для меня это на 5 минут РАБОТЫ, а для вас это на дни и недели (а то и на месяцы и годы) удовольствие и состояние душевного комфорта.  А за удовольствие и комфорт принято платить, и чем больше комфорта и дольше удовольствие, тем и цена на них выше!!! Так что свои деньги вы платите не за мою профессию, а за СВОЕ удовольствие и СВОЙ комфорт.  Приятно же получать удовольствие СРАЗУ, а не потом, и уж тем более не когда-нибудь.

strarbit
Offline
Зарегистрирован: 12.06.2016

согласна сделать. Cожалению никак немею делать дешево, с того знания имеют своя цена. Книга за скетч, OK? https://www.wiley.com/en-ua/Designing+Embedded+Systems+and+the+Internet+...

 

skif
skif аватар
Offline
Зарегистрирован: 24.03.2015

sadman41 пишет:

DIYMan пишет:

Оно ж - не только программирование, тут пучок задач, наседающих на личное время ;)

Еще есть модная штучка - запись в персональные советники на все времена за цену скетча. Назвал цену за программинг, вытряс из заказчика ТЗ, сделал, полдня выяснял, почему у него не заводится и объяснял зачем нужно землю подавать на бредбоард, получил деньги и... Каждый месяц (в лучшем случае) - "Помнишь, ты мне скетч делал. Объясни, почему... <в телевизоре звука нет>". 

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

Опа. А я думал такое только у меня. И у вас тоже?

Abbat25
Offline
Зарегистрирован: 19.09.2018

strarbit пишет:

согласна сделать. Cожалению никак немею делать дешево, с того знания имеют своя цена. Книга за скетч, OK? https://www.wiley.com/en-ua/Designing+Embedded+Systems+and+the+Internet+of+Things+%28IoT%29+with+the+ARM+mbed-p-9781119364047

 

Согласен с вами

каждая работа и каждые знания имеют свою цену

но не 100 тысяч доларов за исправление готового скетча

skif
skif аватар
Offline
Зарегистрирован: 24.03.2015

Ну конечно нет. То он образно написал. Здесь по стольку никто не платит. Цены всегда разумные. 

strarbit
Offline
Зарегистрирован: 12.06.2016

если Вы, согласны  webserpantin  gmail.com. Никогда не откажусь от 100K$)

sadman41
Offline
Зарегистрирован: 19.10.2016

strarbit, вы видите тут кого-то, кто отказывается? ))

Abbat25
Offline
Зарегистрирован: 19.09.2018

Спасибо буду иметь виду 

strarbit
Offline
Зарегистрирован: 12.06.2016

sadman41, нет, не видела) sadman41 благодарю ВАС!

Green
Offline
Зарегистрирован: 01.10.2015

Хорошо когда с юмором всё в порядке.)

Abbat25
Offline
Зарегистрирован: 19.09.2018

Здравствуйте это вы мне про почту то

Abbat25
Offline
Зарегистрирован: 19.09.2018

Всем спаибо тему закрываем!!! :(

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Abbat25 пишет:

Всем спаибо тему закрываем!!! :(

А чего смайлик грустный? Не нашлось исполнителя? Или - нашёлся, но цена ввела в печаль? :)

p.masyukov
p.masyukov аватар
Offline
Зарегистрирован: 14.11.2015

pmasyukov@gmail.com

скинь скетч со всеми библиотеками и описание что конкретно требуется.

sadman41
Offline
Зарегистрирован: 19.10.2016

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

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

sadman41 пишет:

Ну, я так понимаю, что тут ищется вариант "скетч не дороже половины стоимости железок". 

Лежит у меня тут прибор на DIN-рейку: стоимость железок там на пару тысяч, на программирование потрачена сумма с пятью нулями. Щас бы по стоимости железок оценивать трудозатраты, конечно :) Хотя - у нас тут и не такое возможно :)

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

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

bwn
Offline
Зарегистрирован: 25.08.2014

Abbat25 пишет:

strarbit пишет:

согласна сделать. Cожалению никак немею делать дешево, с того знания имеют своя цена. Книга за скетч, OK? https://www.wiley.com/en-ua/Designing+Embedded+Systems+and+the+Internet+of+Things+%28IoT%29+with+the+ARM+mbed-p-9781119364047

 

Согласен с вами

каждая работа и каждые знания имеют свою цену

но не 100 тысяч доларов за исправление готового скетча

Может у меня с глазами что-то, но я там 100 евриков увидел.?????
 

Abbat25
Offline
Зарегистрирован: 19.09.2018

Тема закрыта 4 кнопки прикрутить програмно за 100 тысяч ещё и долорей развод в чистом виде

Извеняюсь за беспокойство!!!

bwn
Offline
Зарегистрирован: 25.08.2014

Abbat25 пишет:

Тема закрыта 4 кнопки прикрутить програмно за 100 тысяч ещё и долорей развод в чистом виде

Извеняюсь за беспокойство!!!

Если вы считаете, что можете это сделать за шесть дней, то тогда, да.

Abbat25
Offline
Зарегистрирован: 19.09.2018

Кто сказал что за шесть дней Тема закрыта Сам разберусь со временем время не ограниченно

bwn
Offline
Зарегистрирован: 25.08.2014

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

Abbat25
Offline
Зарегистрирован: 19.09.2018

Я обыкновенный человек занимаюсь подъёмом мёртвых ноутбуков компов и тд любой электроники но с программами у меня напряг C++ просто не знаю когдато учил бейсик но очинь давно

// put your setup code here, to run once:
  Serial.begin(9600);
  Serial.println(F("BME280 test"));
  if (!bme.begin()) {
    Serial.println("Could not find a valid BME280 sensor, check wiring!");
  }
  matrix.begin();

  if (! rtc.begin()) {
    Serial.println("Couldn't find RTC");
  }
  if (! rtc.isrunning()) {
    Serial.println("RTC is NOT running!");
    // following line sets the RTC to the date & time this sketch was compiled
    rtc.adjust(DateTime(F(__DATE__),F(__TIME__)));
    // This line sets the RTC with an explicit date & time, for example to set
    // January 21, 2014 at 3am you would call:
    // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
  }
}

В этой части берётся время с компа но как именно не понимаю

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