Часы Super Clock - VFD
Re: Часы Super Clock - VFD
v1.5
Ввел задержку 5с перед повторным опросом датчика движения после гашения часов. (Ложные срабатывания из-за помех по питанию).
Вынес настройки в отдельный файл. Исправил ошибку, из-за которой будильник мог не прозвонить. Исправил переход на зимнее время.
Ввел задержку 5с перед повторным опросом датчика движения после гашения часов. (Ложные срабатывания из-за помех по питанию).
Вынес настройки в отдельный файл. Исправил ошибку, из-за которой будильник мог не прозвонить. Исправил переход на зимнее время.
- Вложения
-
- m32SC_VFD_1.5.7z
- (621.51 КБ) 355 скачиваний
Re: Часы Super Clock - VFD
Начал собирать часы, но возникло множество вопросов. На некоторые с трудом нашел ответ.
Начну с разъёмов,
Что подключать к разъёмам Х2, Х3 и без обозначения?
С Х1 тоже не всё понятно, туда подключаются кнопки или IR приёмник.
Схема подключения и назначение кнопок смотреть в исходной статье https://radiokot.ru/konkursCatDay2014/22/
Какой контроллер применён для сенсорных кнопок?
Куда припаивать датчик давления?
см. IC3 выводы 5, 6
Подтягивающие резисторы I2C это R3, R5
Софт для ПК и дройда сдесь https://radiokot.ru/forum/viewtopic.php ... 5#p2972725
Компилировать в CodevisionAVR https://sunduk.radiokot.ru/loadfile/?loa ... 52&turbo=1 вроде этот должен подойти.
Подсветка в платах сделана частично, надо сделать или отдельную плату для диодов, или переделать плату индикаторов.
Не нашел куда подключать датчик жестов. Предположительно к Х3, но какое соответствие контактов?
В исходном проекте ставится датчик влажности. Эти часы поддерживают его?
Ещё не нашел где брать EPROM?
Это пока все вопросы и некоторые ответы на них. Возможно появятся ещё после начала сборки. У меня последнее время перестали получаться платы при помощи ЛУТ, буду пробовать фоторезист.
Начну с разъёмов,
Что подключать к разъёмам Х2, Х3 и без обозначения?
С Х1 тоже не всё понятно, туда подключаются кнопки или IR приёмник.
Схема подключения и назначение кнопок смотреть в исходной статье https://radiokot.ru/konkursCatDay2014/22/
Какой контроллер применён для сенсорных кнопок?
Куда припаивать датчик давления?
см. IC3 выводы 5, 6
Подтягивающие резисторы I2C это R3, R5
Софт для ПК и дройда сдесь https://radiokot.ru/forum/viewtopic.php ... 5#p2972725
Компилировать в CodevisionAVR https://sunduk.radiokot.ru/loadfile/?loa ... 52&turbo=1 вроде этот должен подойти.
Подсветка в платах сделана частично, надо сделать или отдельную плату для диодов, или переделать плату индикаторов.
Не нашел куда подключать датчик жестов. Предположительно к Х3, но какое соответствие контактов?
В исходном проекте ставится датчик влажности. Эти часы поддерживают его?
Ещё не нашел где брать EPROM?
Это пока все вопросы и некоторые ответы на них. Возможно появятся ещё после начала сборки. У меня последнее время перестали получаться платы при помощи ЛУТ, буду пробовать фоторезист.
Re: Часы Super Clock - VFD
Х1-кнопки.
Х2-вход от датчика движения.
Х3-Подключение датчика жестов. Подключение сравните с оригинальной схемой.
Без обозначения-Появляется логическая единица, пока звучит будильник.
Датчики ВМР-180/ВМЕ280 припаивать на шину I2C параллельно RTC. R3 и R5 нужно удалить если на плате датчика нет преобразователя уровней сигнала и стоят подтягивающие резисторы на 3.3В на самой плате датчика.
Подсветку никто не собирал как я понял, я тоже. Теоретически работает.
Часы поддержмвают те же датчики, что и в исходном проекте.
EEPROM лежит там же где и HEX: Debug/Exe/
Х2-вход от датчика движения.
Х3-Подключение датчика жестов. Подключение сравните с оригинальной схемой.
Без обозначения-Появляется логическая единица, пока звучит будильник.
Датчики ВМР-180/ВМЕ280 припаивать на шину I2C параллельно RTC. R3 и R5 нужно удалить если на плате датчика нет преобразователя уровней сигнала и стоят подтягивающие резисторы на 3.3В на самой плате датчика.
Подсветку никто не собирал как я понял, я тоже. Теоретически работает.
Часы поддержмвают те же датчики, что и в исходном проекте.
EEPROM лежит там же где и HEX: Debug/Exe/
Re: Часы Super Clock - VFD
По поводу датчика движения. На каком расстоянии он может срабатывать? Скажем на 3...4м сработает?
Буду делать с подсветкой, как подготовлю разводку платы, сразу выложу.
Если установлен FT232, то можно прошивать через него?
Буду делать с подсветкой, как подготовлю разводку платы, сразу выложу.
Если установлен FT232, то можно прошивать через него?
Re: Часы Super Clock - VFD
Смотря какой датчик и как его настроить.
Шить можно только через SPI.
Шить можно только через SPI.
Re: Часы Super Clock - VFD
На 3-4м думаю любой будет срабатывать.
По плате не скажу, нет сейчас доступа.
По плате не скажу, нет сейчас доступа.
Re: Часы Super Clock - VFD
Резисторы между USB и FTDI какие должны быть? На плате написано 68ом, на схеме 22ом. Как правильно? Комп пишет, что устройство не опознано.
Re: Часы Super Clock - VFD
22ом не помогло, заработало с перемычками.
На плате светодиоды надо перевернуть, катодом вниз.
По даташиту на FT232 светодиоды подключаются к +5в, не к GND.
На плате светодиоды надо перевернуть, катодом вниз.
По даташиту на FT232 светодиоды подключаются к +5в, не к GND.
Re: Часы Super Clock - VFD
Запустил часы, работают хорошо. Замечательная конструкция!
Пришлось перематывать трансформатор, иногда начинало коротить, и ток взлетал свыше 2х ампер. В этом деле очень пригодился USB измеритель, успевал выключать. Фоторезистор поставил СФ-2, работает, но яркость велика, буду разбираться как настроить.
в конфиге параметр:
//"порог" датчика освещенности
#define BRIGHTNESS_THRESHOLD 50
в какую сторону менять для уменьшения яркости?
Термодатчику между плат очень жарко, буду переставлять в более прохладное место.
Пришлось перематывать трансформатор, иногда начинало коротить, и ток взлетал свыше 2х ампер. В этом деле очень пригодился USB измеритель, успевал выключать. Фоторезистор поставил СФ-2, работает, но яркость велика, буду разбираться как настроить.
в конфиге параметр:
//"порог" датчика освещенности
#define BRIGHTNESS_THRESHOLD 50
в какую сторону менять для уменьшения яркости?
Термодатчику между плат очень жарко, буду переставлять в более прохладное место.
Re: Часы Super Clock - VFD
Это порог освещенности, при котором снижается яркость. А яркость свечения устанавливается в приложении.
Понятно.
Считал, что яркость меняется пропорционально освещённости. Оказывается в конфиге указывается порог при котором яркость свечения переключается между двумя значениями. Надо попробовать переделать на пропорциональный режим. Возможно смогу разобраться.
- RoboC
- Мудрый кот
- Сообщения: 1795
- Зарегистрирован: Ср апр 04, 2012 09:55:53
- Откуда: Северодонецк
- Контактная информация:
Re: Часы Super Clock - VFD
Я так понимаю вас не устраивает то, что они днем или ночью светят слишком ярко?
Надо изменить эти константы в еепром.
Плохая идея
.
Если соберитесь, то помните что человеческий глаз воспринимает яркость нелинейно.
Надо изменить эти константы в еепром.
Код: Выделить всё
//==============прочее=================
eeprom unsigned char day_bright_value = DAY_BRIGHT;//яркость в дневном режиме
eeprom unsigned char night_bright_value = NIGHT_BRIGHT;//яркость в ночном режиме
unsigned char max_brightness = 254; //максимальная яркостьНадо попробовать переделать на пропорциональный режим
Плохая идея
Если соберитесь, то помните что человеческий глаз воспринимает яркость нелинейно.
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
Re: Часы Super Clock - VFD
Я так понимаю вас не устраивает то, что они днем или ночью светят слишком ярко?
Надо изменить эти константы в еепром.
Надо изменить эти константы в еепром.
Код: Выделить всё
//==============прочее=================
eeprom unsigned char day_bright_value = DAY_BRIGHT;//яркость в дневном режиме
eeprom unsigned char night_bright_value = NIGHT_BRIGHT;//яркость в ночном режиме
unsigned char max_brightness = 254; //максимальная яркостьМожно так или, как посоветовал Lion_A, отрегулировать яркость в программе.
Re: Часы Super Clock - VFD
Вчера наблюдал забавное явление. Часы непрерывно по кругу уменьшали, а затем увеличивали яркость свечения. Наблюдал за этим несколько минут, сколько продолжалось не знаю, надо было уходить. Может внести небольшой гистерезис на переключение.
Re: Часы Super Clock - VFD
Возможно что и нужно, но у себя такого не наблюдал ни разу.
Исправил ошибку возникавшую при попытке скомпилировать с датчиком BME280. Других изменений нет.
Исправил ошибку возникавшую при попытке скомпилировать с датчиком BME280. Других изменений нет.
- Вложения
-
- m32SC_VFD_1.6.7z
- (597.81 КБ) 282 скачивания
Re: Часы Super Clock - VFD
Пришел датчик BME280, прошил v1.6, Комнатный датчик 18b20 убрал. Часы перестали показывать бегущую строку. Не показывает в автоматическом режиме ни датчиков, ни дату. В программе показывает температуру давление и влажность, аналогично при нажатии на кнопку.
Re: Часы Super Clock - VFD
Сейчас свои перепрошил, все работает.
Может что не то выложил. Попробуйте этот архив.
Может что не то выложил. Попробуйте этот архив.
- Вложения
-
- m32SC_VFD_1.6.7z
- (597.22 КБ) 289 скачиваний
Re: Часы Super Clock - VFD
Заработало. Причина была до банальности простой, надо было переключить режим с нормального на Авто.

не получается настроить минуты в будильнике, записываю вот так:
// будни-124, суббота-128, выходные-130
{"Ежедневный будильник" , 254, 6, 0, 0},
{"будильник 2", 124, 7, 20, 0},
{"будильник 3", 128, 6, 40, 0},
{"будильник 4", 124, 5, 30, 0},
{"будильник 5", 254, 6, 0, 0}
в программе получаю иные значения минут. Как правильно?
Ещё у меня очень большая разница температуры, BME280 показывает 30гр., а 18b20 25гр. Это можно откорректировать?
не получается настроить минуты в будильнике, записываю вот так:
// будни-124, суббота-128, выходные-130
{"Ежедневный будильник" , 254, 6, 0, 0},
{"будильник 2", 124, 7, 20, 0},
{"будильник 3", 128, 6, 40, 0},
{"будильник 4", 124, 5, 30, 0},
{"будильник 5", 254, 6, 0, 0}
в программе получаю иные значения минут. Как правильно?
Ещё у меня очень большая разница температуры, BME280 показывает 30гр., а 18b20 25гр. Это можно откорректировать?
Re: Часы Super Clock - VFD
Формат двоично-десятичный, вводите так:
По поводу датчика, у меня есть один такой. Сразу после включения показывает правильно, а потом как будто нагревается. Начинает завышать температуру и занижать влажность. От такого лучше избавиться.
Можно попробовать в файле bme280.c вычитать из полученной температуры как-то так:
Для влажности так:
Но я бы заменил датчик.
Код: Выделить всё
{"будильник 2", 124, 0x07, 0x20, 1},По поводу датчика, у меня есть один такой. Сразу после включения показывает правильно, а потом как будто нагревается. Начинает завышать температуру и занижать влажность. От такого лучше избавиться.
Можно попробовать в файле bme280.c вычитать из полученной температуры как-то так:
Спойлер
Код: Выделить всё
//расчитываем температуру
void bme280_CalcTemp(BME280_U8_t *pSign, BME280_U16_t *pTemperature)
{
BME280_S32_t var1, var2, T;
var1 = ((((adc_T>>3) - ((BME280_S32_t)dig_T1<<1))) * ((BME280_S32_t)dig_T2)) >> 11;
var2 = (((((adc_T>>4) - ((BME280_S32_t)dig_T1)) * ((adc_T>>4) - ((BME280_S32_t)dig_T1))) >> 12) * ((BME280_S32_t)dig_T3)) >> 14;
t_fine = var1 + var2;
T = (t_fine * 5 + 128) >> 8;
//=коррекция конкретного датчика=
T -= 4 * 100;
//=============
if((T & 0x8000) == 0)*pSign = '+';
else
{
*pSign = '-';
T = ~T + 1;
};
*pTemperature = T;
}Для влажности так:
Спойлер
Код: Выделить всё
//расчитываем влажность
void bme280_CalcHumidity(BME280_U16_t *pHumidity)
{
BME280_S32_t v_x1_u32r;
v_x1_u32r = (t_fine - ((BME280_S32_t)76800));
v_x1_u32r = (((((adc_H << 14) - (((BME280_S32_t)dig_H4) << 20) - (((BME280_S32_t)dig_H5) * v_x1_u32r)) + ((BME280_S32_t)16384)) >> 15) * \
(((((((v_x1_u32r * ((BME280_S32_t)dig_H6)) >> 10) * (((v_x1_u32r * ((BME280_S32_t)dig_H3)) >> 11) + ((BME280_S32_t)32768))) >> 10) + \
((BME280_S32_t)2097152)) * ((BME280_S32_t)dig_H2) + 8192) >> 14));
v_x1_u32r = (v_x1_u32r - (((((v_x1_u32r >> 15) * (v_x1_u32r >> 15)) >> 7) * ((BME280_S32_t)dig_H1)) >> 4));
v_x1_u32r = (v_x1_u32r < 0 ? 0 : v_x1_u32r);
v_x1_u32r = (v_x1_u32r > 419430400 ? 419430400 : v_x1_u32r);
*pHumidity = ((BME280_U32_t)(v_x1_u32r>>12))/100;
//коррекция конкретного датчика
*pHumidity += 8 * 10;
if(*pHumidity > 990)*pHumidity = 990;
}Но я бы заменил датчик.
Re: Часы Super Clock - VFD
Купил бы платы в Москве на эти часики...