Часы-термометр-будильник (Mega8+DS1307+DS18B20+LCD16*2)

Обсуждаем контроллеры компании Atmel.
JeckDigger
Первый раз сказал Мяу!
Сообщения: 21
Зарегистрирован: Пн авг 02, 2010 21:26:15

Re: Часы-термометр-будильник (Mega8+DS1307+DS18B20+LCD16*2)

Сообщение JeckDigger »

Если собирать на отдельной тиньке, то управлять сигналом для открытки?
JeckDigger
Первый раз сказал Мяу!
Сообщения: 21
Зарегистрирован: Пн авг 02, 2010 21:26:15

Re: Часы-термометр-будильник (Mega8+DS1307+DS18B20+LCD16*2)

Сообщение JeckDigger »

Поработали часики и появилась проблемка. Часы ходят на экране показывается время и температура, а вот кновки не реагируют, даже подсветка не включается. После выключения питания и изъятия батареи ситуация аналогичная, только время и дата сбрасывается. Где искать проблему?
Аватара пользователя
NickNI
Прорезались зубы
Сообщения: 237
Зарегистрирован: Ср май 19, 2010 11:15:36
Откуда: Украина

Re: Часы-термометр-будильник (Mega8+DS1307+DS18B20+LCD16*2)

Сообщение NickNI »

JeckDigger писал(а):...Где искать проблему?

:dont_know: Такое впечатления, что сразу на всех кнопках пропал "корпус"... У Вас что земля от GND стабилизатора до блока кнопок проходит по тоненькой перемычке под резистором (один из выводов этого резистора на корпус не попал?)? И тем же путем минус батареи?
Проверьте наличие GND, работоспособность каждой кнопки, резистор с +5V на блок кнопок, "подмыкание" дороги идущей от блока кнопок к 23 выводу контроллера... Если все в норме попробуйте сделать Reset...
Жизнь - цепь, а мелочи в ней звенья. Нельзя звену не придавать значения!
JeckDigger
Первый раз сказал Мяу!
Сообщения: 21
Зарегистрирован: Пн авг 02, 2010 21:26:15

Re: Часы-термометр-будильник (Mega8+DS1307+DS18B20+LCD16*2)

Сообщение JeckDigger »

Резистор 4,7к от +5В к 23 ноге с микротрещиной был (0,7В после него было) отпоял он на 2 части разложился, заменил - все заработало! Спс.
aikonss
Родился
Сообщения: 14
Зарегистрирован: Вт ноя 06, 2012 12:40:45
Откуда: Украина

Re: Часы-термометр-будильник (Mega8+DS1307+DS18B20+LCD16*2)

Сообщение aikonss »

Danko писал(а):
bams писал(а):Жаль, у меня такой же дисплей только белый, изучал даташит на него http://catalog.compel.ru/file/oled/WINS ... N00001.pdf, как поменять кодировку понимаю, но как практически это сделать не знаю...

Если использовать библиотеки от CVAVR. Но только lcd.h, а не новый alcd.h.

Попробуйте так:

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

_lcd_ready();         // RS=0
_lcd_write_data(0b00101010); // code table en-rus (DL=0 - 4 bit, N=1 - 2 line,  F=0 - 5*8 dot, F1:0 = 10 - en-ru)
биты 0,1 - F1:0
бит 2 - F
бит 3 - N
бит 4 - DL

Еще можно попробовать в функции инициализации в файле lcd.lib подправить одну строку.

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

// initialize the LCD controller
unsigned char lcd_init(unsigned char lcd_columns)
{
#asm
    cbi   __lcd_port,__lcd_enable ;EN=0
    cbi   __lcd_port,__lcd_rs     ;RS=0
#endasm
_lcd_maxx=lcd_columns;
_base_y[2]=lcd_columns+0x80;
_base_y[3]=lcd_columns+0xc0;
_long_delay();
_lcd_init_write(0x30);
_long_delay();
_lcd_init_write(0x30);
_long_delay();
_lcd_init_write(0x30);
_long_delay();
_lcd_init_write(0x20);
_long_delay();
_lcd_write_data(0x28);
_long_delay();
_lcd_write_data(4);
_long_delay();
_lcd_write_data(0x85);
_long_delay();
#asm
    in    r26,__lcd_direction
    andi  r26,0xf                 ;set as input
    out   __lcd_direction,r26
    sbi   __lcd_port,__lcd_rd     ;RD=1
#endasm
if (lcd_read_byte0()!=5) return 0;
_lcd_ready();
_lcd_write_data(6);
lcd_clear();
return 1;
}
в строке _lcd_write_data(0x28); вместо 0x28 записать 0x2A.

Замечательная информация . Спасибо .
А получится ли такое сделать для пика (18f2520 - Ида схавала ) , при условии что исходников нету , а только прошивка в НЕХ формате . ?
Шибко привлекателен этот ОЛЕД , и актуален с наступлением холодов .
Аватара пользователя
aurifer
Грызет канифоль
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Re: Часы-термометр-будильник (Mega8+DS1307+DS18B20+LCD16*2)

Сообщение aurifer »

Господа, помогите пожалуйста, кому не трудно скиньте HEX файл на АНГЛИЙСКОМ языке для atmega8 .
CodeVisionAVR (бесплатная версия) не даёт скомпилировать-слишком большой размер кода. В других прогах пока не научился. Очень срочно нужно, если буду сейчас изучать не успею до Н.Г. Позже само собой научусь.
На английском нужно т.к. LCD не русифицирован. Короче просто времени в обрез.
Аватара пользователя
aurifer
Грызет канифоль
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Re: Часы-термометр-будильник (Mega8+DS1307+DS18B20+LCD16*2)

Сообщение aurifer »

aurifer писал(а):Господа, помогите пожалуйста, кому не трудно скиньте HEX файл на АНГЛИЙСКОМ языке для atmega8 .
CodeVisionAVR (бесплатная версия) не даёт скомпилировать-слишком большой размер кода. В других прогах пока не научился. Очень срочно нужно, если буду сейчас изучать не успею до Н.Г. Позже само собой научусь.
На английском нужно т.к. LCD не русифицирован. Короче просто времени в обрез.

Хотел уже заменить микру на mega168 (hex ведь имеется для трёх языков), но у нас в городе их не продают. :cry:
Аватара пользователя
aurifer
Грызет канифоль
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Re: Часы-термометр-будильник (Mega8+DS1307+DS18B20+LCD16*2)

Сообщение aurifer »

Danko писал(а):Представляю на суд очередной релиз програмной части часов. На мега168 еще не переходил.

Из изменений:

....7. добавлена локализация интерфейса (eng/рус/укр). Выбор делается при компиляции проекта....
8

Что именно нужно сделать при компиляции чтобы изменить язык?
Аватара пользователя
aurifer
Грызет канифоль
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Re: Часы-термометр-будильник (Mega8+DS1307+DS18B20+LCD16*2)

Сообщение aurifer »

И подскажите, пожалуйста, в каком файле проекта нужно править текст надписей в меню? Хочу установить версию на латинице но в транслитерации, т.е. писать русские слова английскими буквами. Это вообще возможно?
И еще вопрос. В какой версии CVAVR нужно компилировать проект? Просто не могу найти полную версию CVAVR 2.6(самая последняя на данный момент), максимум что есть CVAVR 2.0.5.
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Re: Часы-термометр-будильник (Mega8+DS1307+DS18B20+LCD16*2)

Сообщение Danko »

для версии Clock-Term-Alarm_LCD_2011-01-07.zip

в файле main_lcd_m8-88.c
строки:

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

// интерфейс 
//#include "locale_en.h"
#include "locale_ru.h"
//#include "locale_ua.h"


проект старый и собирался в CV 2.05.0
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Аватара пользователя
aurifer
Грызет канифоль
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Re: Часы-термометр-будильник (Mega8+DS1307+DS18B20+LCD16*2)

Сообщение aurifer »

Danko писал(а):Исправлена ошибка в индикации для недели в меню "установка даты"

Версии hex из этого поста( Добавлено: Пт янв 07, 2011. 21:29:29 страница 17 этой темы)последние для mega8? Или после были еще изменения?
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Re: Часы-термометр-будильник (Mega8+DS1307+DS18B20+LCD16*2)

Сообщение Danko »

Да.
Версия от 7 января 2011 последняя версия.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Аватара пользователя
aurifer
Грызет канифоль
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Re: Часы-термометр-будильник (Mega8+DS1307+DS18B20+LCD16*2)

Сообщение aurifer »

Danko писал(а):Да.
Версия от 7 января 2011 последняя версия.

Спасибо за проект! Успел таки к Новому году, вернее к последнему рабочему дню. Вот моё фото в корпусе. Часы стоят на роботе, корпус(да и сам дисплей) от электроники какого-то фильтра.
P.S.:Краску ещё не придумали как очистить.
Вложения
DSC_0113 - копия.jpg
Фото корпуса.
(85.33 КБ) 1043 скачивания
Аватара пользователя
NickNI
Прорезались зубы
Сообщения: 237
Зарегистрирован: Ср май 19, 2010 11:15:36
Откуда: Украина

Re: Часы-термометр-будильник (Mega8+DS1307+DS18B20+LCD16*2)

Сообщение NickNI »

aurifer писал(а): Вот моё фото в корпусе. ...
P.S.:Краску ещё не придумали как очистить.

НОРМАЛЬНО!
А по очистке, все зависит от того на чем краска. Если минеральное стекло, то ацетоном без проблем. Если оргстекло, то категорически НЕ! ацетоном. В случае органического - найти какой то нож с круглым лезвием (чем больше радиус лезвиия, тем лучше), отцарапать краску без глубоких нитевидных царапин, а потом зашлифовать: тряпочка смоченная машинным маслом и натертая пастой ГОИ (не перегреть при шлифовке). Проверял - работает.
Не совсем тема этого топика, но относится к этой конструкции...
Жизнь - цепь, а мелочи в ней звенья. Нельзя звену не придавать значения!
Аватара пользователя
aurifer
Грызет канифоль
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Re: Часы-термометр-будильник (Mega8+DS1307+DS18B20+LCD16*2)

Сообщение aurifer »

NickNI писал(а):
aurifer писал(а): Вот моё фото в корпусе. ...
P.S.:Краску ещё не придумали как очистить.

НОРМАЛЬНО!
А по очистке, все зависит от того на чем краска. Если минеральное стекло, то ацетоном без проблем. Если оргстекло, то категорически НЕ! ацетоном. В случае органического - найти какой то нож с круглым лезвием (чем больше радиус лезвиия, тем лучше), отцарапать краску без глубоких нитевидных царапин, а потом зашлифовать: тряпочка смоченная машинным маслом и натертая пастой ГОИ (не перегреть при шлифовке). Проверял - работает.
Не совсем тема этого топика, но относится к этой конструкции...

Спасибо. Будем пробовать-там как раз оргстекло. Но уже в 13 году. Новый год, новые "приключения" на пятую точку.
Аватара пользователя
aurifer
Грызет канифоль
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Re: Часы-термометр-будильник (Mega8+DS1307+DS18B20+LCD16*2)

Сообщение aurifer »

Стал собирать схему по печатке для версии на мега168(по ссылке http://clock.cc.ua/Mega_clock_LCD_m168/index.htm) и возникло много вопросов:
1)Что за деталь под №1 на картинке,перемычка или резистор, или ещё чего?
2)Для чего разъем light1 под №2 ? Что-то связано с подсветкой, но не пойму зачем.
3)Для чего контакты в жёлтом овале №3? Для динамика? Если да, то какие критерии выбора?
4)Далее рядом конденсатор 10мкф, это электролит? И вообще рядом все детали для обвязки "музыкальной открытки"? Или я ошибаюсь? Если да, то подскажите как её правильно припаять на плату, где какой вывод. Думаю таких у нас нет, поэтому сразу вопрос-чем заменить, отказываться от неё неохота?
5)На 17 ноге контроллера висит диод. Какой нужен и какие к нему требования, если придётся искать замену? И для чего он нужен?
6)На 23 ноге контроллера перемычка?
7)На 24 ноге фоторезистор, какие к нему требования?
Вложения
!LCD_Clock.lay
(151.88 КБ) 662 скачивания
вопросы по печатке.png
(251.27 КБ) 851 скачивание
Аватара пользователя
NickNI
Прорезались зубы
Сообщения: 237
Зарегистрирован: Ср май 19, 2010 11:15:36
Откуда: Украина

Re: Часы-термометр-будильник (Mega8+DS1307+DS18B20+LCD16*2)

Сообщение NickNI »

aurifer писал(а):1)Что за деталь под №1 на картинке,перемычка или резистор, или ещё чего?

перемычка, в случае установления бузера вместо динамика
aurifer писал(а):2)Для чего разъем light1 под №2 ? Что-то связано с подсветкой, но не пойму зачем.

кнопка подсветки вкл/откл или отключения сработавшего будильника. Нужна однозначно! :)
aurifer писал(а):3)Для чего контакты в жёлтом овале №3? Для динамика? Если да, то какие критерии выбора?

Для динамика. Критерии - что то мелкое, издающее звук, но можно поискать что то от ноутбуков, прилично звучащее.
aurifer писал(а):4)Далее рядом конденсатор 10мкф, это электролит? И вообще рядом все детали для обвязки "музыкальной открытки"? Или я ошибаюсь? Если да, то подскажите как её правильно припаять на плату, где какой вывод. Думаю таких у нас нет, поэтому сразу вопрос-чем заменить, отказываться от неё неохота?

Электролит! Да! Нет не ошибаетесь! Поищите BT66Т-12 так в оригинале называется нечто типа муз. открытки по поиску найдете и разберетесь где какой пин и как припаять, Если нету, пишите в личку - подарю :)... Замена только микросхемой из муз. открытки или другим устройством издающим звук при приходе логической единицы на вход.
aurifer писал(а):5)На 17 ноге контроллера висит диод. Какой нужен и какие к нему требования, если придётся искать замену? И для чего он нужен?

Все что установите от КД521 до LL4148 (в оригинале) Обычный, без особых требований.
aurifer писал(а):6)На 23 ноге контроллера перемычка?

Да, перемычка. Подача питания на контроллер
aurifer писал(а):7)На 24 ноге фоторезистор, какие к нему требования?

Планировалось, но не реализовано. Не устанавливайте его и резистор с этой ноги не нужен на корпус.
Жизнь - цепь, а мелочи в ней звенья. Нельзя звену не придавать значения!
Аватара пользователя
aurifer
Грызет канифоль
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Re: Часы-термометр-будильник (Mega8+DS1307+DS18B20+LCD16*2)

Сообщение aurifer »

FALC0N писал(а):А у меня на DS1307 крякозяблов не было (но часы не шли), а когда поставил M41T56 всё наоборот.
Проблему решил также (пройтись по всему меню, откорректировать/изменить все значения).
Но если батарейку откл/вкл проблема повторяется.
Всё что сделал не по схеме - AVcc на 5V
Часы работают полгода – других проблем нет.

А печаткой не поделитесь?
Аватара пользователя
aurifer
Грызет канифоль
Сообщения: 286
Зарегистрирован: Ср ноя 28, 2012 05:16:37
Откуда: Новотроицк Оренбургской обл.

Re: Часы-термометр-будильник (Mega8+DS1307+DS18B20+LCD16*2)

Сообщение aurifer »

NickNI писал(а):
aurifer писал(а):1)Что за деталь под №1...
...Не устанавливайте его и резистор с этой ноги не нужен на корпус.

Спасибо за ответы!
Собрал ещё одни часики, теперь на мега168. Печатка по ссылке в первом посте темы. Эти уже для себя, для дома.

Но при наладке выяснилась одна неприятная особенность... Включил случайно без резервной батареи и начались чудеса(хотя батарею сразу вернул на место): часы работают нормально, пока не заходишь в меню, когда зайдёшь то надписи на дисплее начинают бегать по типу бегущей строки плюс в некоторых пунктах меню квадратики вместо слов. Пробовал перепрошить несколько раз - какое-то время работают, потом та же песня. В конце концов прошил английской версией и всё нормализовалось, потом перешёл на русскую.
Об этом способе прочитал позже:"1. Установить (проверить) батарею.
2. Либо включить часы с зажатой подсветкой для очистки RTC, либо пройтись по всему меню, не взирая на бегущие показатели и крякозябы, и откорректировать/изменить все значения для исправления содержимого RTC."

Плюс ко всему, в один момент обратил внимание, что часы то стоят. Вылечил подачей единицы на один из выводов DS1307(не записал сразу на какой, но вроде X2). Время пошло до того, как "победил" меню.

И у меня собственно вопрос: из-за чего ещё могут быть подобные глюки, и существует ли ещё какой-то метод лечения? Может соберу часы ещё для кого-нибудь и человек не сможет решить подобную проблему!

И ещё. При срабатывании будильника на "вых 1 kHz" будильник издаёт душераздирающий писк с интервалом в 1 сек и что-то типа перелива(через раз). Так и должно быть или он должен пищать как китайский будильник? Может нужно что-то добавить или изменить? Буззер на 5 вольт с генератором.

И вопрос ко всем, кто закрыл датчики термоусадкой. Добавляет ли она погрешность?, если да то какую. Просто сейчас два датчика лежат рядом, а температура немного разная(0.5-0.1). И не совсем понятно с чем связано: то ли погрешность, то ли время реакции разное.
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Re: Часы-термометр-будильник (Mega8+DS1307+DS18B20+LCD16*2)

Сообщение Danko »

Версия для мега168.

При включении часов при удержании кнопки "подсветка" принудительно производится установка "заводских" настроек.

Проверил на своих часах.
Вложения
clock-alarm-term_lcd_m168_ru_ua_en_hex_2013-01-06.zip
(41.27 КБ) 530 скачиваний
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Ответить

Вернуться в «AVR»