ГРИ часы под управлением ESP8266

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


ksv2109
Нашел транзистор. Понюхал.
Сообщения: 192
Зарегистрирован: Вт май 22, 2012 16:50:34

Re: ГРИ часы под управлением ESP8266

Сообщение ksv2109 »

С этим я разобрался,
но при подключении 6 ГРИ , к примеру ИН-12, необходимо будет добавить еще пару 595,
а как это прописать пока не представляю
Необходимо будет наверное добавить:
uint8_t Btt6 = 0
uint8_t Btt7 = 0
и потом уже по разрядно описать цифры в масиве
Ну как то так я понял, сравнивая несколько скетчей

Пока писал ответ пришел еще один ответ :)
чу чуть начинаю понимать,
значит надо добавить информацию о доп регистрах (насчитал пять мест)
и разложить значение на выходах в соответствии с "потребностями"
Аватара пользователя
ВНН
Потрогал лапой паяльник
Сообщения: 347
Зарегистрирован: Сб дек 13, 2008 09:03:43
Откуда: г.Советская Гавань

Re: ГРИ часы под управлением ESP8266

Сообщение ВНН »

Правильно.
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.
Аватара пользователя
RoboC
Мудрый кот
Сообщения: 1795
Зарегистрирован: Ср апр 04, 2012 09:55:53
Откуда: Северодонецк
Контактная информация:

Re: ГРИ часы под управлением ESP8266

Сообщение RoboC »

Думаю, если позволяет место, то просто по 2 регистра на цифру завести. 12 микросхем.
Для каждой цифры сдвигать по 2 байта :)
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
Аватара пользователя
ВНН
Потрогал лапой паяльник
Сообщения: 347
Зарегистрирован: Сб дек 13, 2008 09:03:43
Откуда: г.Советская Гавань

Re: ГРИ часы под управлением ESP8266

Сообщение ВНН »

Не вижу смысла .
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.
Аватара пользователя
RoboC
Мудрый кот
Сообщения: 1795
Зарегистрирован: Ср апр 04, 2012 09:55:53
Откуда: Северодонецк
Контактная информация:

Re: ГРИ часы под управлением ESP8266

Сообщение RoboC »

Иначе маской придется накладывать каждую цифру.
Точки, скорее всего, так же захочется + 1 бит
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
Аватара пользователя
ВНН
Потрогал лапой паяльник
Сообщения: 347
Зарегистрирован: Сб дек 13, 2008 09:03:43
Откуда: г.Советская Гавань

Re: ГРИ часы под управлением ESP8266

Сообщение ВНН »

Ну какой маской :
Для единиц минут (согласно схемы http://radiokot.ru/circuit/digital/home/238/05.gif )
case 0:
Btt0 = Btt0 + 0b10000000; 0 единиц минут подключен к выводу Q7 первого регистра
break;
case 1:
Btt1 = Btt1 + 0b00100000;1 единиц минут подключен к выводу Q5 второго регистра
break;
case 2:
Btt1 = Btt1 + 0b01000000;2 единиц минут подключен к выводу Q6 второго регистра
break;
case 3:
Btt1 = Btt1 + 0b10000000;3 единиц минут подключен к выводу Q7 второго регистра
break;
case 4:
Btt0 = Btt0 + 0b00000010;4 единиц минут подключен к выводу Q1 первого регистра и.т.д для всех знакомест
break;
Я тоже белый и пушистый и также как и Вы ловлю мышей.
С уважением ВНН.
Аватара пользователя
RoboC
Мудрый кот
Сообщения: 1795
Зарегистрирован: Ср апр 04, 2012 09:55:53
Откуда: Северодонецк
Контактная информация:

Re: ГРИ часы под управлением ESP8266

Сообщение RoboC »

Код: Выделить всё

Btt1 = Btt1 + 0b00100000;
Btt1 = Btt1 + 0b01000000;


это и есть наложение маски :)

иначе было бы так

Btt1 =массив для цифры[цифра1];
сдвинуть
Btt1 =массив для цифры[цифра2];
сдвинуть
и.т.д. для 4 цифр
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
ksv2109
Нашел транзистор. Понюхал.
Сообщения: 192
Зарегистрирован: Вт май 22, 2012 16:50:34

Re: ГРИ часы под управлением ESP8266

Сообщение ksv2109 »

Ну в общем на выходных соберу макетку, в виде небольшого шильда,
и буду пробовать изучать азы программирования :)
ksv2109
Нашел транзистор. Понюхал.
Сообщения: 192
Зарегистрирован: Вт май 22, 2012 16:50:34

Re: ГРИ часы под управлением ESP8266

Сообщение ksv2109 »

Доброго времени суток
поизучал немного ардуину,
свою "хотелку" процентов на 80 удовлетворил
не смог побороть шим на ESP, больше 128 вольт не получил, менял и частоту и скважность.....
в общем собрал высоковольтник на МС3406
пару фоток

Изображение Изображение

конструкция не окончательная, вместо секундных индикаторов будут инс-1 по кругу стоять :)
Аватара пользователя
RoboC
Мудрый кот
Сообщения: 1795
Зарегистрирован: Ср апр 04, 2012 09:55:53
Откуда: Северодонецк
Контактная информация:

Re: ГРИ часы под управлением ESP8266

Сообщение RoboC »

Надо пользоваться прерываниями.
Тот же Тикер, помнится, использует аппаратные прерывания.
Встроенные команды шим - софтовые.
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
ksv2109
Нашел транзистор. Понюхал.
Сообщения: 192
Зарегистрирован: Вт май 22, 2012 16:50:34

Re: ГРИ часы под управлением ESP8266

Сообщение ksv2109 »

С прерываниями еще не разбирался,
а ШИМ пытался запустить подачей частоты на 2 вывод
как то так:

// задаем частоту ШИМ на VHC 2 выводе
analogWriteFreq(51200);
analogWrite(VHC,500);

Генерация появлялась и соответствовала частоте и задаваемой скважности,
при этом в описаниях писали, что скважность меняется при помощи значений от 1 до 255
но у меня от 1 до 9 первая цифра (где 5 в примере),
изменение второй и третей цифры визуальных изменений сигнала не вносило
ksv2109
Нашел транзистор. Понюхал.
Сообщения: 192
Зарегистрирован: Вт май 22, 2012 16:50:34

Re: ГРИ часы под управлением ESP8266

Сообщение ksv2109 »

Итак первые наглядные результаты воплощения идеи :)

Изображение

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

хотелось бы прикрутить еще и DS3231
чтоб при отсутствии интернета информация о времени бралась из DS3231,
а при появлении интернета с NTP и выводилась на табло и корректировалась в DS3231
но пока это мне по силам
Вложения
wi-fi_clock_in4_krug2.rar
(4.8 КБ) 303 скачивания
Аватара пользователя
RoboC
Мудрый кот
Сообщения: 1795
Зарегистрирован: Ср апр 04, 2012 09:55:53
Откуда: Северодонецк
Контактная информация:

Re: ГРИ часы под управлением ESP8266

Сообщение RoboC »

поэтому сделал запрос времени раз час
Раз в неделю и при включении,NTP сервак вас может блокирнуть за раз в час :wink:
хотелось бы прикрутить еще и DS3231
Смысл ставить 3231? точность то придает NTP синхронизация..

Есть куча SPI RTC, которые можно прикрутить, задействовав одну ножку МК.
Если вы из Украины, то могу вам прислать пару, тройку.
I2C у ESP программный :facepalm:
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
ksv2109
Нашел транзистор. Понюхал.
Сообщения: 192
Зарегистрирован: Вт май 22, 2012 16:50:34

Re: ГРИ часы под управлением ESP8266

Сообщение ksv2109 »

про опрос ntp понял, исправлю
По поводу DS3231, я имел ввиду, что если пропал источник питания и потом появился и по каким то причинам (неуплата, сгорел свич провайдера и тд, и мобильный интернет лег :) (было недавно)) нет интернета,
мы остаемся без времени
Согласен, можно прикрутить любую, но хочется эту :)
.... хотя это уже совсем другая конструкция :))
Последний раз редактировалось ksv2109 Пн янв 08, 2018 13:27:41, всего редактировалось 1 раз.
Аватара пользователя
RoboC
Мудрый кот
Сообщения: 1795
Зарегистрирован: Ср апр 04, 2012 09:55:53
Откуда: Северодонецк
Контактная информация:

Re: ГРИ часы под управлением ESP8266

Сообщение RoboC »

В чем беда?
У вас в часах нет подсветки. GPIO14 свободен. GPIO2 свободен.
Подключаете библиотеку ds3231.h, дефайны на нужные пины и там уже все просто: прочитать время, записать время....

https://esp8266.ru/forum/threads/esp826 ... novka.695/
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
sa-ta
Это не хвост, это антенна
Сообщения: 1413
Зарегистрирован: Пн ноя 23, 2009 00:50:23
Откуда: Crimea, Simferopol

Re: ГРИ часы под управлением ESP8266

Сообщение sa-ta »

прошу помощи.
пытаюсь отладить под себя код - http://radiokot.ru/forum/viewtopic.php? ... 6#p2575536

пока подключил в качестве индикатора модулек на tm1637
кусок кода, который вызывает проблемы :
Спойлер

Код: Выделить всё

bool          points   = true;
...

/**
 * Выдача текущего времени на индикатор
 */
void DisplayTime(unsigned long epoch) {
  
  epoch = epoch + TIMEZONE*3600;  
  
  my_m = ( epoch / 60 ) % 60;
  my_h = ( epoch / 3600 ) % 24;

data[0]= display.encodeDigit(my_h/10);     //крайне левое знакоместо
  
  if ( points = true )
    {data[1]= display.encodeDigit(my_h%10); //единицы часов + точка
    data[1]= data[1] | 0x80;
    points = false; }
  else 
     {data[1]= display.encodeDigit(my_h%10);
    points = true; }

    Serial.print(points);
    
  data[2]= display.encodeDigit(my_m/10);
  data[3]= display.encodeDigit(my_m%10);

display.setSegments(data);

}
эта функция вызывается раз с секунду. в моем понимании, я проверяю флаг, меняю данные и не меняю (добавляю двоеточие) и меняю флаг на противоположный. переменная описана как глобальная.
в итоге я вижу вывод ф-ции Serial.print(points) - как 0, который не меняется. что я делаю не так ?? :)
Аватара пользователя
RoboC
Мудрый кот
Сообщения: 1795
Зарегистрирован: Ср апр 04, 2012 09:55:53
Откуда: Северодонецк
Контактная информация:

Re: ГРИ часы под управлением ESP8266

Сообщение RoboC »

Код: Выделить всё

  // Каждые  секунду меняем точку время
  if ( cur_ms < ms1 || (cur_ms - ms1) > 1000 ) {
    ms1 = cur_ms;
    ntp_time    = t_cur + t_correct;
    points = !points; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    DisplayTime();
  }
points инвертируется в основном цикле.
Зачем вы делаете это еще раз в процедуре DisplayTime()?

Код: Выделить всё

  if ( points = true )
    {
....
    points = false; }
  else
     {.......
    points = true; }
=> => в процедуре DisplayTime(), points всегда будет = одному и тому же значению ;
:facepalm:
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
sa-ta
Это не хвост, это антенна
Сообщения: 1413
Зарегистрирован: Пн ноя 23, 2009 00:50:23
Откуда: Crimea, Simferopol

Re: ГРИ часы под управлением ESP8266

Сообщение sa-ta »

>points инвертируется в основном цикле.
в исходнике было не так. но я внес изменения,что вы предложили . они не помогли. points =1 и не меняется.

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

>>=> => в процедуре DisplayTime(), points всегда будет = одному и тому же значению ;
не совсем очевидно почему. проверка же делается только один раз, и при смене true-> false в первом блоке условия попадать в блок else оно не должно...
Вложения
my_esp_ntp_v5-radiokot.txt
.
(19.17 КБ) 315 скачиваний
Аватара пользователя
leopold
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Пт дек 25, 2009 17:31:14
Откуда: Свердловсая обл.

Re: ГРИ часы под управлением ESP8266

Сообщение leopold »

Уважаемый, sa-ta. Я посмотрел код процедуры, которая мигает принтами, у вас ошибка в операторе if ();
В коде, который вы представили написано: if (point = true), а надо было if ( point == true). Поясняния думаю не нужны? А компилятор должен был предупреждение вывести, хотя конструкция с присвоением вполне корректна.
Прошу прощения, если неправильно воспроизвел имя переменной, пишу с планшета.
Удачи всем.
sa-ta
Это не хвост, это антенна
Сообщения: 1413
Зарегистрирован: Пн ноя 23, 2009 00:50:23
Откуда: Crimea, Simferopol

Re: ГРИ часы под управлением ESP8266

Сообщение sa-ta »

да, есть такая ошибка. но проблема судя по всему, не только в этом :

вот выхлоп куска с печатью значения переменной Serial.print(points);
СпойлерNo packet yet
1sending NTP packet...
packet received, length=48
Unix time = 1522949046
1111111111
points = !points; // - вот эта часть не работает!!
выхлоп ее должен быть 01010101010 - то есть, черодоваться.
уже перенес points = !points внутрь функции DisplayTime(unsigned long epoch). нечего не меняется.
Ответить

Вернуться в «Статьи»