roboforum.ru

Технический форум по робототехнике.

Таймер с часами реального времени.

Re: Таймер с часами реального времени.

Scorpio » 15 июн 2011, 23:03

Вот функции перевода из двоично -дес кодировки и обратно:
Код: Выделить всёРазвернуть
int BCDToInteger(byte b)
{
   int i;
   i = (b&0x0F) + (((b>>4)&0x0F)*10);
  return i;
}
byte IntegerToBCD(int i)
{
byte b;
b=i/10; b<<=4;
i=i-(i/10)*10; b+=i;
return b;
}

Может кому пригодится

Re: Таймер с часами реального времени.

paradox860 » 16 июн 2011, 07:51

Angel71 писал(а):ээээээээ, а чего только с таймеров? :oops: вы инет до этого на тему аквакомпьютеров вообще шерстили? на всевозможных аквафорумах проекты неоднократно попадались и таки весьма функциональные железки в итоге получались у людей. :oops: но имхо всё-равно простенькие. :) как по мне намного функциональней и не сильно дороже подобная автоматика получается на платах, начиная с уровня mini2440. нормальный экран (в сравнении с символьным), тач, много памяти, возможность писать код в среде с более богатыми готовыми библиотеками + еще много всяких плюшек.

Таймер на свет,на С02,на удо,на компрессор.Инет я шерстил но там в основном на пиках а я с ними не дружу(((.А на Мини2440 получается от 6.000 рупий и вот это ИМХО я считаю перебор))))А так конечно да на нем поинтереснее будет там и PH мерилку прикрутить можно и еще всякого добра кучу и все с удобным дисплеем...Но этож все не путь Джедая....))))

Добавлено спустя 8 минут 50 секунд:
А с таимером решил так

Код: Выделить всёРазвернуть
voide()
{
if  (co2on[2]==1)
   {
   ////что нибудь делаем
   }


if ((co2on[0]==rtc[2])&&(co2on[1]==rtc[1]))
   {
         co2on[2]=1;//флаг включено выключено
         
     }
 
  if ((co2off[0]==rtc[2])&&(co2off[1]==rtc[1]))
   {
         co2on[2]=0;
         
     }

Re: Таймер с часами реального времени.

Angel71 » 16 июн 2011, 10:35

собственно сам аквариум, различные датчики, компрессоры, освещение,... да, сумарные затраты не такие уж и маленькие могут получиться. +можно же захотеть и цивильно-промышленный вид придать, как тут например http://aquastudio.kharkov.ua/info.php?page=ad_905. тут только один шкаф и дин плюшки стоят прилично.
а цены на mini вы какие-то совсем невкусные упоминаете. это напоминает, как я недавно искал, где заказать всякие датчики. вот такой милый наборчик на ибэе стартует от 35$ (с доставкой):
phmeter.JPG
phmeter.JPG (58.02 КиБ) Просмотров: 2119

хочешь, к экранчику из комплекта подключай, а можно и к своей плате. в украинских интернет-магазинах только сам датчик стартует от 250грн (31,25$). +к нему жуткого вида плата еще столько же - даже без корпуса, тупо простенькая плата с контроллером и текстовым экраном. дешевле за пару дней поисков ничего найти не удалось. и это без доставки - мелочь, а неприятно. и так почти на всё.
а на mini2440 цены плавают для комплекта с 3.5" экраном, от 80 до 120$, для 7" комплекта 100..130$. в общем дело ваше, при желании купить её можно и позже, а ардуину потом использовать только как переферийный контроллер для датчиков и реле.

Re: Таймер с часами реального времени.

paradox860 » 16 июн 2011, 13:01

Да на EBAY цены вкусные.Там PH измерялку в форме ручки можно вообще за 14$ купить с бесплатной доставкой)))
А с ардуйной парюсь вопревых она у меня уже есть, а вовторых просто я потом перенесу весь проект на AtMega8 с этой же прошивкой ничего не меняя ,на самопальную плату, а ардуина будет использоваться для отладки новых проектов.

PS И меня мучает еще одна проблемка как правильно опрашивать датчик температуры чтоб вся прошивка из за этого не подтормаживала? А то даже на нажатия кнопок с тормозами реагирует (((

Re: Таймер с часами реального времени.

HarryStar » 16 июн 2011, 18:36

Angel71 писал(а):2HarryStar, это общепринятый подход. всё остальное упрощение, оптимизация или просто изврат

Так ТС сказал что ему сложно сравнивать время, я как раз предложил один из вариантов упрощения.

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

И кстати можно проще поступить. Микросхема часов имеет выход, который можно заставить выдавать импульсы 1 Гц, повесить на внешнее прерывание и суммировать в unsigned int. 18 часов обеспечено. Т.о. можно каждые 12 например кормить. Вообще ничего не надо, даже читать время. - Тоже один из путей упрощения.

Re: Таймер с часами реального времени.

Scorpio » 16 июн 2011, 19:34

На хрена тогда вообще часовую микросхему? Синхронизация и внутренняя неплохо работает.


Rambler\'s Top100 Mail.ru counter