Например TDA7294

Форум РадиоКот • Просмотр темы - Часы-термометр-будильник 12LED(mega8/88+DS1307+DS18x20*2)
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср авг 13, 2025 16:22:26

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 163 ]    , , , 4, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Часы-термометр-будильник 12LED(mega8/88+DS1307+DS18x20*2
СообщениеДобавлено: Пн сен 17, 2012 00:00:40 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пт авг 20, 2010 18:31:05
Сообщений: 101
Рейтинг сообщения: 0
Вопрос автору. Интересно можно ли обойтись без ds1307 в конструкции? На борту у меги ведь есть встроенные таймеры!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы-термометр-будильник 12LED(mega8/88+DS1307+DS18x20*2
СообщениеДобавлено: Пн сен 17, 2012 06:57:13 
Сверлит текстолит когтями
Аватар пользователя

Карма: 13
Рейтинг сообщений: 41
Зарегистрирован: Пн окт 13, 2008 11:45:54
Сообщений: 1287
Откуда: РФ, Крым, г.Бахчисарай
Рейтинг сообщения: 0
ivanov6 писал(а):
Вопрос к автору
Собрал часы, но вопрос по температуре остался. При "потере" датчика "замерзают" показания индикаторов температуры. За сутки реально так случилось. Выключил - включил -Fnd0. Перестыковал датчики - нормально. Кстати в Протеусе, если при работе отключить термометры(установить кнопку), то ситуация аналогичная. Срочно нужен совет по программе - все уже в корпусе.

Программа производит поиск датчика при включении часов. Хотите верте хотите нет, но у меня ни разу не отваливаль датчики.

Я использую новый провод хорошего качества. Если включать в программу переоческий поиск датчика значит нужно жестко пивязывать датчики с воответствующим индикаторам.

А зачем? Это радиолюбительская котструкция и ее работа не планировалась в жестких условиях эксплуотации.

_________________
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
----------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы-термометр-будильник 12LED(mega8/88+DS1307+DS18x20*2
СообщениеДобавлено: Пн сен 17, 2012 07:16:50 
Сверлит текстолит когтями
Аватар пользователя

Карма: 13
Рейтинг сообщений: 41
Зарегистрирован: Пн окт 13, 2008 11:45:54
Сообщений: 1287
Откуда: РФ, Крым, г.Бахчисарай
Рейтинг сообщения: 0
Aaantonnn15 писал(а):
Вопрос автору. Интересно можно ли обойтись без ds1307 в конструкции? На борту у меги ведь есть встроенные таймеры!

Конечно можно.
И в этих часах и во всех других.
А еще вместо DS1820 можно использовать кремневый диод (при измерении положительных температур), только вот вопрос, а зачем? ради чего?
DS1307 + батарейка = два бакса

_________________
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
----------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы-термометр-будильник 12LED(mega8/88+DS1307+DS18x20*2
СообщениеДобавлено: Пн сен 17, 2012 10:09:31 
Встал на лапы
Аватар пользователя

Зарегистрирован: Пт авг 20, 2010 18:31:05
Сообщений: 101
Рейтинг сообщения: 0
Danko писал(а):
Aaantonnn15 писал(а):
Вопрос автору. Интересно можно ли обойтись без ds1307 в конструкции? На борту у меги ведь есть встроенные таймеры!

Конечно можно.
И в этих часах и во всех других.
А еще вместо DS1820 можно использовать кремневый диод (при измерении положительных температур), только вот вопрос, а зачем? ради чего?
DS1307 + батарейка = два бакса


Забыли еще кварц часовой! В моей практике ds не очень точно идет. Постоянно убегает. А точность зависит от часового кварца, правильной разводки платы и еще некоторых параметров. Да и зачем тратить лишних два бакса если ds Вы используете всего как часы? А она ведь гараздо больше может!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы-термометр-будильник 12LED(mega8/88+DS1307+DS18x20*2
СообщениеДобавлено: Пн сен 17, 2012 10:26:13 
Сверлит текстолит когтями
Аватар пользователя

Карма: 13
Рейтинг сообщений: 41
Зарегистрирован: Пн окт 13, 2008 11:45:54
Сообщений: 1287
Откуда: РФ, Крым, г.Бахчисарай
Рейтинг сообщения: 0
Здесь идет обсуждение данных часов, а по теоретическим вопросам лучше в ЛС, аську, скайп, маил.ру агент и пр.

Да Мега может многое, да DS1307 врет, но применение её освобождает програмиста от многих проблем. Например резервное питание, а если в схеме используется DS1820, то ...

Кроме DS1307 есть более дешевые и лучшие микросхемы. Например M41T56.

_________________
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
----------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы-термометр-будильник 12LED(mega8/88+DS1307+DS18x20*2
СообщениеДобавлено: Пн сен 17, 2012 15:04:53 
Родился

Зарегистрирован: Пн сен 17, 2012 14:57:44
Сообщений: 2
Рейтинг сообщения: 0
Подскажите, прошивку залил в HEX с сайта, ничего не добавлял, подключаю два индикатора (минуты) сначало показавает нули потом восмёрки. я так понимаю программу дополнять надо? Сильно не ругайте, пока пытаюсь разобраться с компиляцией и всем остальным, пока готово только железо.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы-термометр-будильник 12LED(mega8/88+DS1307+DS18x20*2
СообщениеДобавлено: Ср сен 19, 2012 16:23:54 
Родился

Зарегистрирован: Пн сен 17, 2012 14:57:44
Сообщений: 2
Рейтинг сообщения: 0
Вроде разобрался, но не до конца, у меня индикаторы ОА, часы идут нормально, а температурные горят те индикаторы которые не должны гореть - показывают инверсно, в схеме я к ним добавил по ULN2803, почему так может происходить? да и индикаторы на девять вольт и использовал два транзистора в общем аноде.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы-термометр-будильник 12LED(mega8/88+DS1307+DS18x20*2
СообщениеДобавлено: Чт окт 18, 2012 08:14:48 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пт янв 20, 2012 16:09:11
Сообщений: 62
Откуда: Татарстан
Рейтинг сообщения: 0
m169 писал(а):
Доброго времени суток. Плата под данный проект. Пользуйтесь на здоровье. (2стр. 7 пост, от 7 октября 2011 г.)



Неужили кто то собирал по этой плате и у него работало!!! или никто по ней за год так и не собирал??? я тут начал было собирать, но что то там нестыковочка какая-то, прикрепляю рисунок со схемой и платой, смотрите как стыкуются две микрухи ULN2803A и 74HC595...


Вложения:
схема.JPG [234.33 KiB]
Скачиваний: 1094
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы-термометр-будильник 12LED(mega8/88+DS1307+DS18x20*2
СообщениеДобавлено: Чт окт 18, 2012 08:38:40 
Сверлит текстолит когтями
Аватар пользователя

Карма: 13
Рейтинг сообщений: 41
Зарегистрирован: Пн окт 13, 2008 11:45:54
Сообщений: 1287
Откуда: РФ, Крым, г.Бахчисарай
Рейтинг сообщения: 0
А в чем вопрос именно?
какие соединения вас смущают?

_________________
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
----------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы-термометр-будильник 12LED(mega8/88+DS1307+DS18x20*2
СообщениеДобавлено: Чт окт 18, 2012 09:28:37 
Открыл глаза

Карма: 1
Рейтинг сообщений: 5
Зарегистрирован: Сб ноя 20, 2010 15:47:40
Сообщений: 46
Откуда: Кирово-Чепецк
Рейтинг сообщения: 0
santy писал(а):
m169 писал(а):
Доброго времени суток. Плата под данный проект. Пользуйтесь на здоровье. (2стр. 7 пост, от 7 октября 2011 г.)



Неужили кто то собирал по этой плате и у него работало!!! или никто по ней за год так и не собирал??? я тут начал было собирать, но что то там нестыковочка какая-то, прикрепляю рисунок со схемой и платой, смотрите как стыкуются две микрухи ULN2803A и 74HC595...

И в чём проблема?

_________________
Можешь сделать лучше? Сделай!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы-термометр-будильник 12LED(mega8/88+DS1307+DS18x20*2
СообщениеДобавлено: Чт окт 18, 2012 17:09:57 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пт янв 20, 2012 16:09:11
Сообщений: 62
Откуда: Татарстан
Рейтинг сообщения: 0
по схеме 1 нога 74й идет на 2 ULN, а по печатке уже 1 нога 74й идет на 7 ULN, и так далее...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы-термометр-будильник 12LED(mega8/88+DS1307+DS18x20*2
СообщениеДобавлено: Чт окт 18, 2012 20:30:48 
Сверлит текстолит когтями
Аватар пользователя

Карма: 13
Рейтинг сообщений: 41
Зарегистрирован: Пн окт 13, 2008 11:45:54
Сообщений: 1287
Откуда: РФ, Крым, г.Бахчисарай
Рейтинг сообщения: 0
Тю, а я то думал ...

Все будет работать, но только в программе нужно несколько строк подправить.

m169, я не не ошибаюсь?

_________________
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
----------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы-термометр-будильник 12LED(mega8/88+DS1307+DS18x20*2
СообщениеДобавлено: Чт окт 18, 2012 20:43:08 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пт янв 20, 2012 16:09:11
Сообщений: 62
Откуда: Татарстан
Рейтинг сообщения: 0
ну так Ваша прошивка то работать не будет?...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы-термометр-будильник 12LED(mega8/88+DS1307+DS18x20*2
СообщениеДобавлено: Чт окт 18, 2012 20:55:47 
Сверлит текстолит когтями
Аватар пользователя

Карма: 13
Рейтинг сообщений: 41
Зарегистрирован: Пн окт 13, 2008 11:45:54
Сообщений: 1287
Откуда: РФ, Крым, г.Бахчисарай
Рейтинг сообщения: 0
В целом будет, но только вместо цифр на экране будут крякозябры :)

_________________
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
----------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы-термометр-будильник 12LED(mega8/88+DS1307+DS18x20*2
СообщениеДобавлено: Пт окт 19, 2012 05:32:53 
Открыл глаза
Аватар пользователя

Зарегистрирован: Пт янв 20, 2012 16:09:11
Сообщений: 62
Откуда: Татарстан
Рейтинг сообщения: 0
вот именно, опять к Вам обращаться придется, что бы прошивку переделали!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы-термометр-будильник 12LED(mega8/88+DS1307+DS18x20*2
СообщениеДобавлено: Вт окт 23, 2012 09:27:00 
Открыл глаза

Карма: 1
Рейтинг сообщений: 5
Зарегистрирован: Сб ноя 20, 2010 15:47:40
Сообщений: 46
Откуда: Кирово-Чепецк
Рейтинг сообщения: 0
Danko писал(а):
Тю, а я то думал ...

Все будет работать, но только в программе нужно несколько строк подправить.

m169, я не не ошибаюсь?

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

_________________
Можешь сделать лучше? Сделай!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы-термометр-будильник 12LED(mega8/88+DS1307+DS18x20*2
СообщениеДобавлено: Чт окт 25, 2012 13:06:54 
Родился

Зарегистрирован: Чт окт 25, 2012 12:58:39
Сообщений: 8
Рейтинг сообщения: 0
Danko писал(а):
Кроме DS1307 есть более дешевые и лучшие микросхемы. Например M41T56.

Что дешевле, это верно. В чем она лучше?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы-термометр-будильник 12LED(mega8/88+DS1307+DS18x20*2
СообщениеДобавлено: Чт окт 25, 2012 13:51:01 
Сверлит текстолит когтями
Аватар пользователя

Карма: 13
Рейтинг сообщений: 41
Зарегистрирован: Пн окт 13, 2008 11:45:54
Сообщений: 1287
Откуда: РФ, Крым, г.Бахчисарай
Рейтинг сообщения: 0
Аппаратная коррекция хода.

_________________
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
----------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы-термометр-будильник 12LED(mega8/88+DS1307+DS18x20*2
СообщениеДобавлено: Сб ноя 17, 2012 00:25:48 
Первый раз сказал Мяу!

Зарегистрирован: Пт апр 27, 2012 15:48:35
Сообщений: 21
Рейтинг сообщения: 0
Здравствуйте Danko, помогите пожалуйста по вашей формуле вычисления дня недели по дате, сделать код, без дополнительных функций, только время дата, месяц, год и день недели.
Ранее я тут писал в другом форуме

Спойлер
TovsCat писал(а):
Здравствуйте подскажите как всетаки вычисляется этот день недели...
[spoiler]
Danko писал(а):
Нет это обычный счетчик от 1 до 7. То что выставишь то и будет считать.

Я в своих часах его вообще не использую, а вычисляю.

Формула есть на Википедии.

Кусок кода из моих часов (Си CVAVR):
Код:
// в данной версии данные хранятся не в двоичной, а в двоично-десятичной системе
unsigned char
myhour, mymin, mysec,    // текушее время
mydate, mymonth, myyear, // текущий календарь
myday;                   // день недели


// ---------- вычислить день недели по дате ----------
void date2day(void) {
unsigned int y, m;

   y = bcd2bin(myyear);
   m = bcd2bin(mymonth);

   if (m > 2) { m -= 2;       }
   else       { m += 10; y--; }

   myday = (unsigned char)((bcd2bin(mydate) + y + (y>>2) + ((31 * m) / 12)) % 7);
   
   if (myday == 0) myday = 7;
}//----------

У меня компилятор ругается на undefined symbol 'bcd2bin' , как нужно его правильно прописать?
Мой код
[spoiler]
Код:
/*****************************************************
CodeWizardAVR V2.04.4a Advanced
Chip type               : ATmega8
AVR Core Clock frequency: 4,000000 MHz
*****************************************************/

#include <mega8.h>

#asm
   .equ __lcd_port=0x12 ;PORTD
#endasm
#include <lcd.h>
#asm
   .equ __ds1302_port=0x15 ;PORTC
   .equ __ds1302_io=5
   .equ __ds1302_sclk=4
   .equ __ds1302_rst=3
#endasm
#include <ds1302.h>
unsigned char hour,min,sek;   //часы, минуты, секунды
unsigned char day,month,year;   //часы, минуты, секунды
unsigned char   myday;           // день недели


// ---------- вычислить день недели по дате ----------
void date2day(void) {
unsigned int y, m;

   y = bcd2bin(year);
   m = bcd2bin(month);

   if (m > 2) { m -= 2;       }
   else       { m += 10; y--; }

   myday = (unsigned char)((bcd2bin(day) + y + (y>>2) + ((31 * m) / 12)) % 7);
   
   if (myday == 0) myday = 7;
}//-
void main(void)
{
PORTB=0x00;
DDRB=0x00;
PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0x00;
TCCR0=0x00;
TCNT0=0x00;
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
MCUCR=0x00;
TIMSK=0x00;
ACSR=0x80;
SFIOR=0x00;

// DS1302 Real Time Clock initialization
// Trickle charger: Off
rtc_init(0,0,0);
lcd_init(16);

while (1)
      {
              rtc_get_time(&hour,&min,&sek);   //считать время
           rtc_get_date(&day,&month,&year);  //считать дату   
                         lcd_gotoxy(0,0);                               
                          lcd_putchar(hour/10+0x30);
                          lcd_putchar(hour%10+0x30);
                          lcd_putchar(':');
                          lcd_putchar(min/10+0x30);
                          lcd_putchar(min%10+0x30);
                          lcd_putchar('.');
                          lcd_putchar(sek/10+0x30);
                          lcd_putchar(sek%10+0x30); 
                         
                    lcd_gotoxy(0,1);                               
                          lcd_putchar(day/10+0x30);
                          lcd_putchar(day%10+0x30); 
                          lcd_putchar('.');
                          lcd_putchar(month/10+0x30);
                          lcd_putchar(month%10+0x30);
                          lcd_putchar('.');
                          lcd_putsf("20");
                          lcd_putchar((year/10)%10+0x30);
                          lcd_putchar(year%10+0x30); 
                            lcd_putchar(' ');   
                          lcd_putchar(myday%10+0x30);
                       

      };
}


Архив с проектом и протеусом приложил к сообщению...;


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы-термометр-будильник 12LED(mega8/88+DS1307+DS18x20*2
СообщениеДобавлено: Сб ноя 17, 2012 20:16:51 
Сверлит текстолит когтями
Аватар пользователя

Карма: 13
Рейтинг сообщений: 41
Зарегистрирован: Пн окт 13, 2008 11:45:54
Сообщений: 1287
Откуда: РФ, Крым, г.Бахчисарай
Рейтинг сообщения: 0
Цитата:
без дополнительных функций,
Без каких?
Без этих: bcd2bin() или bin2bcd() ?

У меня в программе (коде) есть четыре глобальных переменных. У Вас они обозначены как:
Код:
unsigned char day,month,year;   //часы, минуты, секунды
unsigned char   myday;           // день недели


Перед вызовом функции date2day() в первые три нужно занести соответствующие значения дня, месяца и года и по результату выполнения функции в четверной будет искомый результат.

т.к. в моем коде значения в переменных day,month,year хранятся в двоично-десятичном формате то и применяются функции преобразования bcd2bin() и bin2bcd().

Если у Вас значения в переменных хранятся в двоичном коде то функции преобразования из кода можно удалить.

Danko (в миру Даниил).

_________________
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
----------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 163 ]    , , , 4, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 324


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y