Крякозябры вместо кирилицы на матрицах. На ENG все нормально. Preproc.substitute_unicode=false выполнил. Во внешнем редакторе (Notepad++) сохранил в 1251, загрузил в ардуинку. Получается правильно с кирилицей на матрицах через раз. Не могу понять закономерности правильного форматирования кода. Кто-нибудь (или vk007) разъясните порядок правильной последовательности конвертации кода для корректного отображения кирилицы.
По этому поводу пишутся научные труды и защищаются докторские диссертации. (Шутка)
У коллеги вин10. Переправили в преференсах - у него шьет отлично. У меня вин7-Уже и с бубном и святой водой, и переставлял, и нашел еще в папке ардуино преференсы. Переправил - ни фига. взял в папку ардуино попытался встроить надстройку, которая определяет, в какой кодировке зашивать- не запустилось.
У соседа тоже вин 10. танцы с бубном никчему не привели. Тоже кракозября.
Вот така фигня.
Крякозябры вместо кирилицы на матрицах. На ENG все нормально. Preproc.substitute_unicode=false выполнил. Во внешнем редакторе (Notepad++) сохранил в 1251, загрузил в ардуинку. Получается правильно с кирилицей на матрицах через раз. Не могу понять закономерности правильного форматирования кода. Кто-нибудь (или vk007) разъясните порядок правильной последовательности конвертации кода для корректного отображения кирилицы.
Да какбы не существует никакой "правильной последовательности" и конвертировать ничего не надо. Код как есть в юникоде загружаю в Arduino IDE. За все время таких проблем не было, а в процессе написания и отладки ардуина прошивалась не один десяток раз.
Главное, версии для компиляции не использовать свежие. Я копилировал на 1.6.5.
Еще, возможно, не тот или не так preferences.txt правите. Почитайте сообщение #31.
В крайнем случае, можно поступить радикально, хотя очень хлопотно, - весь кириллический текст переписать не буквами, а кодами. Например, не "воскресенье", а "\xE2\xEE\xF1\xEA\xF0\xE5\xF1\xE5\xED\xFC\xE5". Тогда точно "через раз" не будет :)
P.S. Я смотрю, судя по вопросам, люди потихоньку эти часики делают, кто себе, кто друзьям. А фотки где? Почему фоток не выкладывате?
Добрый всем, а с матрицами ни кто не разобрался, как шрифт перевернуть на 90 град? Чтоб планку китайскую не пилить, чёт так не охота колхозить, а часики класс)))
На первой странице написано,что нужно переписывать код полностью,плюс объем скетча будет больше,а скорость прорисовки ниже.лично я распилил на отдельные сегменты,залудил и пропал.уоммутация со стороны микросхем.
Ещё вопрос, а с монитором порта кто разобрался? Подключаю к компу, в настройках часов выбираю комп, открываю порт, а там одни квадратики.... Так понимаю это команды. По командам так как описано на 1 странице набираю, ничего не происходит. Все команды перепробовал, результата ноль, даже время не сменил. Что может быть?
Здравствуйте друзья, помогите пожалуйста. Не получается так сказать запустить часы. Прошивал разными ардуиноми но эфекта никакого. Постоянно бежит бегущая строка, кнопки не реагируют, нет выхода в меню, ПОМОГИТЕ!!!!
Здравствуйте, и кнопки к плюсу подтянуты, и ардуино нано-уно-уно-нано менял все равно бежит строка, на кнопки не реагирует. Скетч несколько раз скачивал разными браузерами ну ни как. Еще вариант попоробывать Ваш (кто нибудь) скиньте скетч может заработает.
Как они у вас подтянуты к плюсу? Резисторами или через input_pullup? Если через input_pullup, то попробуйте через резисторы, как показала практика, input_pullup бывает недостаточно.
В программе при отображении веремени постоянно идет проверка на нажатие кнопок. Если нажата "ОК", то переходит в меню, если "ВВЕРХ" или "ВНИЗ", то переходит к выводу прочей информации.
Если подтяжки кнопок нет или она плохая, то пин ловит наводки. Эти наводки заставляют программу считать, что нажата кнопка. Вот поэтому она и ведет себя так - вывело время и сразу перешло на дату и прочее. Другой причины я не вижу.
Здравствуйте, часики заработали, подкоректировал некоторые цифры и буквы. Подскажите еще, не могу допереть над этим предложением: ....... сейчас при отображении времени слежение за освещением идет постоянно. Это конечно хорошо, но если наблюдаются глюки, то лучше этим пожертвовать и перенести SetBrightness() из цикла while((millis() - time_previous_millis... в самое начало loop'а. Тогда установка яркости будет происходить один раз перед выводом времени. В этот момент экран пустой и влиять на фоторезистор он не будет.
В скетче не получается перенести код, подскажите что да как?. Я думаю что это где-то здесь??
А кто ж его менял. Годами работает, да и ладно :) Уверен, что там еще далеко не одна ошибка имеется. Небольшой интерес было проснулся на момент публикации (кое-где чуть подправил и доделал), да и снова угас. Даже было желание в корне переделать многие вещи, в т.ч. и скроллинг.
Ошибка не проявляла себя никак из-за того, что, в любом случае, что бы не было скопировано в screen_buffer[31], оно сразу после этого цикла перетирается или нулем, или данными из sprite_buffer[0].
vk007 - поправил код для работы на линейке из матриц. Если правильно нашел, всего в коде надо поменять 5 строчек. Часы и температура показываются, остальное не проверял.
если вы не против, возьму фонты и часть кода в свой проект
Меняли setRow на setColumn или как-то иначе переделали?
да - поменял setRow на setColumn и перевернул порядок вывода колонок (отзеркалил, как вы писали на прошлой странице :)
Если бы процедуры вывода курсора и уровня батарейки были написаны в том же стиле, как все остальное - через буфер - для смены типа матриц было бы достаточно поменять одну-единственную строчку в процедуре Show
А с учетом этих добавок получилось 5 строчек.
Код не стал выкладывать, потому что не могу проверить - я целиком проект не собирал, мне нужен только вывод времени на матрицы. Но если кто готов проверить - могу выложить.
У меня нет такой линейки матриц, поэтому не с чем было экспериментровать. Когда меня начали спрашивать за переделку, то я пробовал менять setRow на setColumn, но меня не устроила скорость работы setColumn. Я кажется уже писал, что, в отличие от setRow, которая зажигает весь ряд фактически одной командой, setColumn делает это по одному светодиоду, т.е. 8 раз вызывается setLed. Из-за этого страдает скорость скроллинга, и это сильно заметно. Поэтому оставил эту затею.
Но если вам надо только вывод времени, без скроллируемого текста, то такой подход вполне уместен.
Ребята караул!!! Заливаю я значит сегодня скетч что с первой страницы, залил, думаю дай ка уберу темп. на улице, так как датчик не ставил, и отображения батареи, загрузил. И все, показывает тупо время, без анимации, простыми в один диодик цифрами, весь день мучаюсь, и другую ардуину взял, и через usbasp, ни как, как будто программы совсем нет, а просто выводит время с часов и все, что делать, помогите(
Так если бы датчики не видел, то вопросики бы показывал, а у меня вот что, ни с того, ни с сего, работало и перестало( и время не обновляется, пока сам не обновишь
Проверьте кнопки и резисторы подтяжки. Судя по картинке, а конкретно по шрифту, и фразе "время не обновляется" - очень похоже на то, что "запала" кнопка "меню" и часы находятся в режиме установки времени. Только там так, как на фото, показываются часы и минуты узким шрифтом, ну и время само не обновляется.
Если, конечно, вы в оригинальном скетче ничего самостоятельно не намутили.
Вообще ни чего не менял, кнопки вообще не подключал после этого, брал разные ардуины и микро и Уно, все одно, помню без кнопок просто бегает по всей меню, а тут вообще хз, чё происходит
Вообще ни чего не менял, кнопки вообще не подключал
Даже если кнопки еще не подключали, то резисторы подтяжки ставить обязательно надо, в скетче подтяжка не включена, да и, как уже писали, программной бывает недостаточно.
Как я уже писал, такая картинка, как на вашем фото, только в режиме настройки времени. В такой режим часы могут самостоятельно перейти сразу при включении, если в RTC сбилось время, например, вынималась батарейка. Правда, тогда нули высвечивает и курсор мигает.
Lis06 пишет:
Так если бы датчики не видел, то вопросики бы показывал
Lis06 пишет:
думаю дай ка уберу темп. на улице, так как датчик не ставил
При отсутствии датчика вопросы отображаются только для уличной температуры, все остальное при отсутствии датчиков не отображается совсем.
Чтобы убрать и эти вопросы, найдите в скетче блок, начинающийся с комментария "// +++++ Уличная температура +++++". В конце него будет "else", в котором и выводятся эти "???" - удалите/закомментируйте эти семь строк (начиная с else) и при отсутствии уличного датчика вопросы тоже не будут отображаться.
В такой режим часы могут самостоятельно перейти сразу при включении, если в RTC сбилось время, например, вынималась батарейка. Правда, тогда нули высвечивает и курсор мигает.
Впрочем, если батарейка разряжена и ее уже не хватает для работы осциллятора, то может и время какое-то отображаться. Поменяйте батарейку - 99,9%, что причина такого поведения в этом.
Я все не могу дождаться, пока разрядится батарейка в естественных условиях так сказать, чтобы проверить правильно ли я указал порог напряжения для вывода предупреждения о разряде батарейки, и сколько часы еще могут нормально проработать от полудохлой.
Подключаю к компу, в настройках часов выбираю комп
где нужно выбирать?
Почитали бы вы первую страницу, там сложно не заметить мои сообщения с довольно подобными инструкциями с картинками:
vk007 пишет:
При отображении времени нажатие на любую кнопку, кроме "ОК", принудительно переведет часы в режим отображения дополнительной информации.
Кнопка "ОК" вызывает меню с настройками: .
Уровни шины тоже желательно согласовать.
Желательно,но работает и так. Хотя по Камасутре надо
Если использовать не голый чип, а китайский модуль, то там на плате уже стоит стабилизатор на 3,3В - XC6206P332MR (662K).
Крякозябры вместо кирилицы на матрицах. На ENG все нормально. Preproc.substitute_unicode=false выполнил. Во внешнем редакторе (Notepad++) сохранил в 1251, загрузил в ардуинку. Получается правильно с кирилицей на матрицах через раз. Не могу понять закономерности правильного форматирования кода. Кто-нибудь (или vk007) разъясните порядок правильной последовательности конвертации кода для корректного отображения кирилицы.
По этому поводу пишутся научные труды и защищаются докторские диссертации. (Шутка)
У коллеги вин10. Переправили в преференсах - у него шьет отлично. У меня вин7-Уже и с бубном и святой водой, и переставлял, и нашел еще в папке ардуино преференсы. Переправил - ни фига. взял в папку ардуино попытался встроить надстройку, которая определяет, в какой кодировке зашивать- не запустилось.
У соседа тоже вин 10. танцы с бубном никчему не привели. Тоже кракозября.
Вот така фигня.
Крякозябры вместо кирилицы на матрицах. На ENG все нормально. Preproc.substitute_unicode=false выполнил. Во внешнем редакторе (Notepad++) сохранил в 1251, загрузил в ардуинку. Получается правильно с кирилицей на матрицах через раз. Не могу понять закономерности правильного форматирования кода. Кто-нибудь (или vk007) разъясните порядок правильной последовательности конвертации кода для корректного отображения кирилицы.
Да какбы не существует никакой "правильной последовательности" и конвертировать ничего не надо. Код как есть в юникоде загружаю в Arduino IDE. За все время таких проблем не было, а в процессе написания и отладки ардуина прошивалась не один десяток раз.
Главное, версии для компиляции не использовать свежие. Я копилировал на 1.6.5.
Еще, возможно, не тот или не так preferences.txt правите. Почитайте сообщение #31.
В крайнем случае, можно поступить радикально, хотя очень хлопотно, - весь кириллический текст переписать не буквами, а кодами. Например, не "воскресенье", а "\xE2\xEE\xF1\xEA\xF0\xE5\xF1\xE5\xED\xFC\xE5". Тогда точно "через раз" не будет :)
P.S. Я смотрю, судя по вопросам, люди потихоньку эти часики делают, кто себе, кто друзьям. А фотки где? Почему фоток не выкладывате?
Главная проблема электроника не как сделать,а как в корпус засунуть.без корпуса не смотрится.а так и показывать нечего
Ну не у всех же голые платы. Может, хоть кто-то умудрился таки довести до ума.
Может кто сталкивался? Купил ВМР280. Не хочет работать - температуру показывает 0.00, давление 234Ра.
В библиотеке указан адрес )х77
а сканер шины 0х76.
При изменении адреса ничего не происходит.Библиотека -Adafruit_BMP085.
Что это может быть?
Читай выше.
1. Библиотеку неправильно указал.нужно adafruit bmp280
2. В строке инициализации БМП укажи адрес 0х76. Как в коде с прошлой страницы.
Пару штук таких сделал. Одни дома, другие на работе. Проблем со шрифтом не было. Компилировал в 1.6.5
Спасибо. Все заработал датчик.
Добрый всем, а с матрицами ни кто не разобрался, как шрифт перевернуть на 90 град? Чтоб планку китайскую не пилить, чёт так не охота колхозить, а часики класс)))
На первой странице написано,что нужно переписывать код полностью,плюс объем скетча будет больше,а скорость прорисовки ниже.лично я распилил на отдельные сегменты,залудил и пропал.уоммутация со стороны микросхем.
Да вот тоже уже решился, пилю
Все линии параллельны,кроме Din,он последовательно. После пайки у тебя везде земля.ее можно не тянуть.
Удачи
Спасибо
Ещё вопрос, а с монитором порта кто разобрался? Подключаю к компу, в настройках часов выбираю комп, открываю порт, а там одни квадратики.... Так понимаю это команды. По командам так как описано на 1 странице набираю, ничего не происходит. Все команды перепробовал, результата ноль, даже время не сменил. Что может быть?
Выставь скорость порта 57600,а вот перевод каретки или нет не помню.но,по моему,от квадратиков ты скоростью порта избавиться
Да действительно, кваказябры исчезли, и команды выполняются. Спасибо на добром слове)
Здравствуйте друзья, помогите пожалуйста. Не получается так сказать запустить часы. Прошивал разными ардуиноми но эфекта никакого. Постоянно бежит бегущая строка, кнопки не реагируют, нет выхода в меню, ПОМОГИТЕ!!!!
Мне кажется, что у вас похожая проблема, как в сообщении #37 - кнопки не подтянуты к плюсу.
Здравствуйте, и кнопки к плюсу подтянуты, и ардуино нано-уно-уно-нано менял все равно бежит строка, на кнопки не реагирует. Скетч несколько раз скачивал разными браузерами ну ни как. Еще вариант попоробывать Ваш (кто нибудь) скиньте скетч может заработает.
vpashko@rambler.ru
Как они у вас подтянуты к плюсу? Резисторами или через input_pullup? Если через input_pullup, то попробуйте через резисторы, как показала практика, input_pullup бывает недостаточно.
В программе при отображении веремени постоянно идет проверка на нажатие кнопок. Если нажата "ОК", то переходит в меню, если "ВВЕРХ" или "ВНИЗ", то переходит к выводу прочей информации.
Если подтяжки кнопок нет или она плохая, то пин ловит наводки. Эти наводки заставляют программу считать, что нажата кнопка. Вот поэтому она и ведет себя так - вывело время и сразу перешло на дату и прочее. Другой причины я не вижу.
vpashko А прибором проверить состояние
на ногах ардуины не проще?
Здравствуйте, часики заработали, подкоректировал некоторые цифры и буквы. Подскажите еще, не могу допереть над этим предложением: ....... сейчас при отображении времени слежение за освещением идет постоянно. Это конечно хорошо, но если наблюдаются глюки, то лучше этим пожертвовать и перенести SetBrightness() из цикла while((millis() - time_previous_millis... в самое начало loop'а. Тогда установка яркости будет происходить один раз перед выводом времени. В этот момент экран пустой и влиять на фоторезистор он не будет.
В скетче не получается перенести код, подскажите что да как?. Я думаю что это где-то здесь??
//===============================================================================
У вас что, тоже фоторезистор направлен в сторону матриц и яркость от этого мерцает? Или вы решили, раз уж делать, то сразу все "доработки"?
Именно. Только не "где-то здесь", а сразу после него вызывается функция SetBrightness(). Удалите ее оттуда и пропишите ее же в начале лупа.
vk007 - а код все тот же, что на первой странице? - нашел там выход за границы массива, странно что за столько времени никто не заметил, строка 459
1
for
(
byte
row = 0; row < 32; row++)
2
screen_buffer[row] = screen_buffer[row + 1];
А кто ж его менял. Годами работает, да и ладно :) Уверен, что там еще далеко не одна ошибка имеется. Небольшой интерес было проснулся на момент публикации (кое-где чуть подправил и доделал), да и снова угас. Даже было желание в корне переделать многие вещи, в т.ч. и скроллинг.
Ошибка не проявляла себя никак из-за того, что, в любом случае, что бы не было скопировано в screen_buffer[31], оно сразу после этого цикла перетирается или нулем, или данными из sprite_buffer[0].
vk007 - поправил код для работы на линейке из матриц. Если правильно нашел, всего в коде надо поменять 5 строчек. Часы и температура показываются, остальное не проверял.
если вы не против, возьму фонты и часть кода в свой проект
Меняли setRow на setColumn или как-то иначе переделали?
Без проблем.
Меняли setRow на setColumn или как-то иначе переделали?
да - поменял setRow на setColumn и перевернул порядок вывода колонок (отзеркалил, как вы писали на прошлой странице :)
Если бы процедуры вывода курсора и уровня батарейки были написаны в том же стиле, как все остальное - через буфер - для смены типа матриц было бы достаточно поменять одну-единственную строчку в процедуре Show
А с учетом этих добавок получилось 5 строчек.
Код не стал выкладывать, потому что не могу проверить - я целиком проект не собирал, мне нужен только вывод времени на матрицы. Но если кто готов проверить - могу выложить.
У меня нет такой линейки матриц, поэтому не с чем было экспериментровать. Когда меня начали спрашивать за переделку, то я пробовал менять setRow на setColumn, но меня не устроила скорость работы setColumn. Я кажется уже писал, что, в отличие от setRow, которая зажигает весь ряд фактически одной командой, setColumn делает это по одному светодиоду, т.е. 8 раз вызывается setLed. Из-за этого страдает скорость скроллинга, и это сильно заметно. Поэтому оставил эту затею.
Но если вам надо только вывод времени, без скроллируемого текста, то такой подход вполне уместен.
vk007 спасибо за проект. Работают почти год.
b707, а не могли бы Вы выложить код под линейку матриц, вроде собрал всю элементную базу.
Приветствую всех. Сделал свою версию часов: http://arduino.ru/forum/proekty/o-clock-prostye-chasy-na-matritse-8kh32
Если вдруг кого-то заинтересует. Несколько идей позаимствовал из этих часов. Функционал проще, так как делал часы-будильник.
Ребята караул!!! Заливаю я значит сегодня скетч что с первой страницы, залил, думаю дай ка уберу темп. на улице, так как датчик не ставил, и отображения батареи, загрузил. И все, показывает тупо время, без анимации, простыми в один диодик цифрами, весь день мучаюсь, и другую ардуину взял, и через usbasp, ни как, как будто программы совсем нет, а просто выводит время с часов и все, что делать, помогите(
Проверьадреса и целостность линий до датчиков. Там смысл в том, что если скетч не видит датчик, то он автоматом его не показывает.
Так если бы датчики не видел, то вопросики бы показывал, а у меня вот что, ни с того, ни с сего, работало и перестало( и время не
обновляется, пока сам не обновишь
Проверьте кнопки и резисторы подтяжки. Судя по картинке, а конкретно по шрифту, и фразе "время не обновляется" - очень похоже на то, что "запала" кнопка "меню" и часы находятся в режиме установки времени. Только там так, как на фото, показываются часы и минуты узким шрифтом, ну и время само не обновляется.
Если, конечно, вы в оригинальном скетче ничего самостоятельно не намутили.
Вообще ни чего не менял, кнопки вообще не подключал после этого, брал разные ардуины и микро и Уно, все одно, помню без кнопок просто бегает по всей меню, а тут вообще хз, чё происходит
Даже если кнопки еще не подключали, то резисторы подтяжки ставить обязательно надо, в скетче подтяжка не включена, да и, как уже писали, программной бывает недостаточно.
Как я уже писал, такая картинка, как на вашем фото, только в режиме настройки времени. В такой режим часы могут самостоятельно перейти сразу при включении, если в RTC сбилось время, например, вынималась батарейка. Правда, тогда нули высвечивает и курсор мигает.
При отсутствии датчика вопросы отображаются только для уличной температуры, все остальное при отсутствии датчиков не отображается совсем.
Чтобы убрать и эти вопросы, найдите в скетче блок, начинающийся с комментария "// +++++ Уличная температура +++++". В конце него будет "else", в котором и выводятся эти "???" - удалите/закомментируйте эти семь строк (начиная с else) и при отсутствии уличного датчика вопросы тоже не будут отображаться.
Впрочем, если батарейка разряжена и ее уже не хватает для работы осциллятора, то может и время какое-то отображаться. Поменяйте батарейку - 99,9%, что причина такого поведения в этом.
Хорошо, всё проверю отпишусь
Спасибо, на добром слове, да это батарейка) ура!!
А часы не предупреждали, что батарейка разряжена?
Я все не могу дождаться, пока разрядится батарейка в естественных условиях так сказать, чтобы проверить правильно ли я указал порог напряжения для вывода предупреждения о разряде батарейки, и сколько часы еще могут нормально проработать от полудохлой.
Да, предупреждали, игнорил и вообще отключил отображения, а оказывается вот как, надо снова включить)
где нужно выбирать?
где нужно выбирать?
Почитали бы вы первую страницу, там сложно не заметить мои сообщения с довольно подобными инструкциями с картинками:
Кнопка "ОК" вызывает меню с настройками:
Последний пункт меню - связь с компьютером
.