Pull to refresh

Умелец собрал огромный таймер 555 из дискретных компонентов

Circuit design *Manufacture and development of electronics *DIY Electronics for beginners

Энтузиаст из Индии изготовил полнофункциональную увеличенную копию таймера 555. Для сборки конструкции использовались базовые дискретные компоненты, а готовое устройство разместилось в деревянном корпусе в виде DIP-8 с алюминиевыми ножками.

Читать далее
Total votes 61: ↑57 and ↓4 +53
Views 17K
Comments 38

Microsoft Xbox 360: с заботой о детях

Lumber room
Злые дядьки из Microsoft собираются «прикрутить» к Xbox 360 таймер, при помощи которого заботливые родители смогут оградить свое чадо от чрезмерного просиживания за консолью. Скачать Family Timer владельцы приставок смогут в декабре (через Xbox Live).

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

Извините, детки, но теперь придется и за уроками посидеть.

via Engadget
Total votes 7: ↑6 and ↓1 +5
Views 283
Comments 17

The Monkeys Have Hit The Button

Development for Windows *
Помнится еще в декабре 2008 года создал я этот блог. Да вот не было повода в него написать.

Разработчики CairoShell'а постоянно переносили дату релиза. То с февраля на май, то с мая на июнь, а в конце-концов перенесли дату релиза первой беты на бесконечный промежуток времени. У меня даже сложилось стойкое впечатление, что все это фейк. Но вот сегодня на глагне этого проекта появился таймер The Monkeys Have Hit The Button. Будем надеяться и верить, что после окончания этого таймера наконец-то появится первая публичная версия самой преспективной замены стандартного виндовского эксплорера.

~13.40 по Москве. Первое января

Фабула:

На главной странице проекта CairoShell появился таймер, который возможно отсчитывает время до первого бета-релиза. Надеемся и верим.


...
Total votes 58: ↑49 and ↓9 +40
Views 313
Comments 41

Таймер «Самоконтроль» с новым дизайном

GTD *
image

Всем привет, вот и подошло время для нового обновления таймера «Самоконтроль». Теперь он стал красивее и умеет делать чуть больше вещей.

Страница с таймером: http://www.boomstudio.ru/portfolio/files/experiments/timer_control/

Если быть точнее, то появились следующие штуки:
1) Улучшенный дизайн (за это отдельное спасибо Станиславу Щербакову )
2) Появилась возможность ставить таймеры на паузу. Для этого достаточно «отжать» уже нажатую кнопку (кликнуть повторно по нажатой кнопке).
3) Теперь программа сама следит за обновлениями. Если ваша версия таймера устареет, то программа покажет сообщение о наличии новых версий программы. Правда скачивать и распаковывать обновления, пока, придётся всё-таки самим.
4) Теперь можно изменять названия кнопок и цвет таймеров. Эти настройки вынесены во внешний XML файл.

P.S.: Если кому-то будет интересно, то вот предыдущие обсуждения программы на хабре:
Обсуждение #1: habrahabr.ru/blogs/arbeit/59123
Обсуждение #2: habrahabr.ru/blogs/arbeit/59477
Total votes 61: ↑58 and ↓3 +55
Views 8.2K
Comments 85

Таймер To Light

Design
image

Дизайнер Jasper Hou придумал этот современный вариант песочных часов для кухни. Фишка таймера To Light – светодиодная подсветка. Пока пружина крутит таймер – светодиоды горят, как только время заканчивается – гаснут.
Читать дальше →
Total votes 11: ↑8 and ↓3 +5
Views 624
Comments 5

Точное время: измеряем, применяем

Delphi *
   Цель данной статьи – изложить, полученный в ходе работы над проблемой материал о способах максимально точного измерения времени и использования на практике этих способов, а также рассмотреть варианты управления чем-либо программным с максимально достижимой точностью.

   Статья рассчитана на читателей, уже имеющих некоторый опыт в программировании, и заметивших проблему точности выдержки временных интервалов стандартных функций. Автор статьи, begin_end, советует её читателям, программирующим на языке Delphi, так как все способы реализуются именно на этом языке.

   Наша задача – найти лучший метод точного измерения малых временных интервалов (желаемая точность – 10^-6 секунды), определить наиболее эффективный способ программирования задержек в исполнении кода, с такой же точностью.

   Программист, который уже пробовал разрабатывать различные прикладные приложения, например, связанные с передачей данных или с генерацией/анализом сигналов мог заметить, что все стандартные функции (sleep, beep, GetTickCount, таймеры) обладают большой погрешностью при работе с малыми значениями временного интервала.
Читать дальше →
Total votes 48: ↑33 and ↓15 +18
Views 38K
Comments 65

Основы создания игрового движка: таймер

C++ *
Публикуется по просьбе моего знакомого, если вам понравится статья, можете выслать ему инвайт.
Мыло скажу в ПМ или могу написать здесь же. :)


В данной статье я хочу рассказать, как начал писать игровой движок, столкнулся с проблемой написания точного таймера и как ее решил. Я уверен, что почти все рано или поздно сталкиваются с такой проблемой, поэтому моя статья будет полезна тем, кто в процессе создания таймера или только задумывается о ней. Я не претендую ни на чистоту кода, ни на идеальность принятых решений в данных условиях. А теперь покончим с личными местоимениями и перейдем к собственно проблеме.

Цель: написать точный таймер для использования в игровом движке (а это значит, что помимо отмерения отрезков времени нам необходимо обеспечить работу событий, возникающих через заданное время).
Читать дальше →
Total votes 43: ↑22 and ↓21 +1
Views 7.8K
Comments 39

Начинающим: счетчик на микроконтроллере с шагом 2/3 микросекунды и переполнением в несколько суток

Programming microcontrollers *
Часто при работе микроконтроллерного устройства есть необходимость отсчитывать «антропоморфное» время – сколько долей секунды светиться светодиоду, максимальный промежуток времени double-click и т. д. В общем, отсчитывать не только нано- и микросекунды, но и десятки миллисекунд, а то и секунды, минуты и даже часы (боюсь сказать о сутках…).
В то же время в микроконтроллерах нередко нужно одновременно с этим иметь дело с микросекундами – периоды импульсов, антидребезговое ожидание и т. п.
Есть также устройства, которые работают непрерывно многие часы и даже сутки – авиационная техника, автомобильная, скважинные устройства (там речь идет иной раз о непрерывной работе несколько дней). В этих случаях недопустимо переполнение таймеров и 8-битных переменных.
Хотелось бы это все объединить в одно изящное и универсальное решение – иметь средство измерения времени с точностью до микросекунды, не переполняющееся несколько дней.
Почему бы и нет? Помучился я некоторое время и родил решение для 8-битных микроконтроллеров AVR. Для этого я задействовал 8-битный таймер-счетчик и 4х-байтную переменную. С PIC-ами и AT89 я сейчас не работаю, а с другими embedded-платформами не дружу. Впрочем, если читатели помогут – сделаю и для них.
Достоинства – код в высшей степени повторяемый (я уже 5-ое устройство с ним делаю); простота в работе (не используются прерывания для клиентской части работы); клиентская часть кода условно платформенно-независимая; в прерывании – одна операция суммирования (но, правда, для 4-хбайтной величины); нет внешнего устройства — таймера реального времени.
Недостаток я нашел один – занят один такой полезный и всегда нужный таймер…
Статья будет интересна в первую очередь начинающим — Америку я тут не открыл.
Читать дальше →
Total votes 32: ↑30 and ↓2 +28
Views 20K
Comments 43

«Тросик» с таймером для цифровых камер Canon

DIY
Не секрет, что при съемке на длинных выдержках фотографа спасают штатив и пульт управления («тросик»). Если штатив можно приобрести практически везде, и встречаются неплохие модели стоимостью даже в 600-700 рублей, то с пультом дела обстоят не так радужно. Ценник на фирменные пульты Canon начинается от $30, а между тем внутри этого пульта содержится всего лишь простейшая схема коммутации. Для съемки time-lapse видео придется приобрести пульт с таймером (фирменный Canon — $210, китайские братья по разуму подешевле). Я же хочу показать, как без применения сложной электроники и контроллеров самостоятельно собрать функциональный «тросик» с таймером, который подойдет к камерам Canon серий EOS-300D/350D/400D/450D и возможно каким-то другим.

Читать дальше →
Total votes 62: ↑59 and ↓3 +56
Views 9.2K
Comments 47

Супер кнопка для Манчкина

DIY
image
Многие знают или, по крайней мере, слышали про настольную игру Манчкин
В этой игре есть такое правило:
«Когда вы убиваете или иначе одолеваете монстра, дайте соперникам приемлемое время (около 2,6 секунды), чтобы они могли высказаться.»

Иногда очень хочется эти самые 2,6 секунды замерить, особенно когда кто-нибудь долго думает, читает карты, не может решить что делать. В таких случаях мы просто считали вслух до трех, на цифре «три» бой заканчивался.
Хотелось сделать какую-нибудь кнопку и таймер, чтобы не считать вслух.
Делаем красную кнопку
Total votes 71: ↑65 and ↓6 +59
Views 6.7K
Comments 51

Спусковой тросик-таймер для Nikon

Photographic equipment
Вначале апреля прошлого года я, готовясь к далёкой поездке, которая была мечтой всей моей жизни, купил себе новый фотоаппарат. До этого у меня были только мыльницы. Штуки четыре по очереди. Мыльницы стали меня сковывать. Всё сильнее и сильнее. Как в плане качества изображения, так и в плане того, что они мне позволяли. В общем был куплен Nikon D5000 KIT. Аппарат прекрасный, мне очень нравился и нравится до сих пор. Я бы, конечно, сегодня поменял его на что-то более серьёзное, поскольку приобрёл уже не малый опыт, но оно всё дорого стоит, а D5000 очень и очень не плох.
Прошёл год. Прошло ещё время. Доступные максимум 30 секунд выдержки стали всё больше вызывать досаду. Иногда хотелось больше. Аппарат позволял, держа кнопку нажатой, не закрывать затвор пока питание не сядет, но не будешь же всё это время стоят рядом и делать ему шевелёнку. Второй момент: захотелось снимать молнии. Словить молнию вручную не реально, а использовать для этого большую выдержку — в наших краях малополезно. Так же хотелось расширить свои возможности в плане съёмки timelapse. Встроенных в фотоаппарат возможностей стало мало. Ну и до кучи всё же приятно было получить возможность поцепить мой Nikon на штатив и управлять им не прикасаясь к самой камере. Таскать для этого ноут со специальным софтом — не хочу. В итоге были заказаны 2 «тросика», об одном из которых я и хочу кратенько рассказать.
Читать дальше →
Total votes 25: ↑12 and ↓13 -1
Views 8.4K
Comments 20

Работа с Arduino

Developing for Arduino *
Sandbox
Tutorial

Как это было?


Когда у меня возникло желание вести разработку под Arduino, я столкнулся с несколькими проблемами:
  • Выбор модели из списка доступных
  • Попытки понять, чего мне понадобится кроме самой платформы
  • Установка и настройка среды разработки
  • Поиск и разбор тестовых примеров
  • «Разборки» с экраном
  • «Разборки» с процессором


Для решения этих проблем я просмотрел и прочитал довольно много разных источников и в этой статье я постараюсь сделать обзор найденных мною решений и методов их поиска.

Выбор платформы


Перед началом программирования под железяку требуется в начале ее купить. И тут я столкнулся с первой проблемой: оказалось, что разных *дуин довольно много. Тут есть и широкая линейка Arduino и примерно такая же широкая Freeduino и другие аналоги. Как оказалось, большой разницы, что именно брать, нет. То есть одни из этих устройств чуть быстрее, другие чуть медленнее, одни дешевле, другие — дороже, но основные принципы работы практически не отличаются. Отличия появляются практически только при работе с регистрами процессора и то я далее объясню, как по возможности избежать проблем.
Читать дальше →
Total votes 30: ↑19 and ↓11 +8
Views 67K
Comments 9

Пишу игрушечную ОС (доступнее о планировщике)

Assembler *System Programming *
Tutorial

Отсутствие комментариев к двум моим предыдущим постам, несмотря на большое число лайков, привели меня к выводу, что подавляющее большинство ничего не поняло. Просто, будучи давно погружённым в тему, я проявил невнимательность к своему читателю. Моя вина, буду исправляться. Поговорим о планировании доступным языком.

Итак, что такое планировщик? Планировщик — это часть ОС, реализующая многозадачность. Число процессоров, обычно, намного меньше числа выполняемых задач. Поэтому на каждый процессор приходится несколько задач. В силу своей последовательной природы процессор не может выполнять эти задачи одновременно — и он поочерёдно переключается с одной задачи на другую.

По способу переключения между задачами планировщики делятся на кооперативные и вытесняющие. При кооперативном планировании ответственность за переключение задач несут сами задачи. Т.е. задача сама решает, когда можно уступить место следующей. В отличие от кооперативных, вытесняющие планировщики самостоятельно принимают решение о смене задачи. Легко понять, что второй метод планирования в общем случае является более предпочтительным для ОС в силу своей предсказуемости и надёжности.

Далее задачи будем называть потоками. Изначально задачи были однопоточными, и поток выполнения всегда соответствовал задаче. В настоящее время это уже не так, поэтому задача логически разделилась на два родственных понятия: процесс, как контейнер ресурсов, и поток, как независимая последовательность исполнения кода.
Читать дальше →
Total votes 51: ↑50 and ↓1 +49
Views 17K
Comments 29

Из пункта А в пункт Б

Developing for Arduino *
Translation
Что происходит, когда вы отправляете что-то по почте? Что происходит в промежутке между отправкой и получением посылки? Сколько людей и процессов задействованно и сколько этапов занимает этот процесс?
На эти вопросы я хотел получить ответ. Так что вместо того чтобы сидеть на попе, я сделал простой проект, чтобы увидеть всё самому. Я поместил маленькую камеру в коробку, сделал таймер на Arduino и отправил это по почте.
Читать дальше →
Total votes 42: ↑33 and ↓9 +24
Views 9.7K
Comments 23

Под капотом у Stopwatch

.NET *API *C# *

Введение


Очень часто, нам разработчикам необходимо измерить время выполнения своего (и не только своего) кода. Когда я только начал программировать, я использовал структуру DateTime для этих целей. Прошло время, и я узнал о классе Stopwatch и начал его активно использовать. Думаю аналогичная ситуация была и у вас. Не то, чтобы я раньше не задавался вопросом о том, как работает Stopwatch, просто на тот момент знаний о том, что он позволяет измерять затраченное время точнее, чем DateTime мне хватало. Пришло время разъяснить себе, а так же читателям то, как на самом деле работает класс Stopwatch, а так же выяснить его преимущества и недостатки по сравнению с использованием DateTime.
Читать дальше →
Total votes 39: ↑35 and ↓4 +31
Views 49K
Comments 11

Хочу таймер и счётчик загруженных строк на Web-форме

JavaScript *jQuery *.NET *ASP *C# *
… отчет формировался долго. Песочные часы и синяя полоска клонили в сон. Вначале он хотел обезьянку, которая лезет по лестнице, потом градусник, но в итоге остался таймер и счетчик. Глупая улыбка и добрый, сочувствующий, взгляд делают чудеса.

В процессе разработки форм для отчетности, пользователь захотел видеть процесс загрузки данных из базы. Он хотел, чтобы после нажатия кнопки включался секундомер, а по мере получения строк, их количество отображалось на форме.Реализовать это надо было в рамках существующего проекта на ASP.NET.
Подробности
Total votes 15: ↑11 and ↓4 +7
Views 9.3K
Comments 13

К вопросу о таймерах в ОСРВ (Выводы)

Algorithms *Programming microcontrollers *
Sandbox
imageВ кратце опишу содержание статьи:

Есть циклический аппаратный счётчик, который, например, считает секунды, и есть прерывание по его переполнению. Расширяем диапазон счисления программным способом, инкременируя значение другой ячейки в прерывании. Таким образом, получаем возможность считать и минуты. Суть проблемы в том, что в общем случае одновременно прочитать значение минут и секунд невозможно, а при последовательном считывании может произойти прерывание и увеличение минут. Последствия: путешествие во времени назад.
Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Views 4K
Comments 2

Таймер с ручным запуском

Development for Android *
Tutorial
Привет, Хабр. Данная статья адресована к постигающим искусство Android-разработки, как и я.

Недавно мне нужно было сделать таймер, запускающий некую задачу, через определенный промежуток времени.

Но отличия от стандартного решения заключались, в следующем:
  • Во-первых, если задача не смогла выполниться, тут же необходимо повторить её. И так, до победного конца. После этого, возвращаемся в штатный режим.
  • Во-вторых, может возникнуть необходимость запустить задачу вручную, не дожидаясь наступления следующего срабатывания таймера.
  • И в-третьих, таймер должен запуститься в том случае, если устройство перезагружено, или была восстановлена связь с интернетом.

Задача была решена следующим образом.
Читать дальше →
Total votes 21: ↑18 and ↓3 +15
Views 9.2K
Comments 22

Начинаем работать в STM32CubeMX. Часть 1

Programming microcontrollers *
Tutorial
Часть 2
Часть 3

Приветствую аудиторию хабра, и хочу предложить вашему вниманию первый пост, посвященный использованию среды разработки STM32CubeMX, написанный для тех, кто хочет начать изучение STM32 «с нуля».



Я планировал написать несколько постов, рассмотрев несколько периферийных устройств микроконтроллера и их конфигурирование в STM32CubeMX. Но эти посты не заменяют фирменной документации и не претендуют на полноту. В них будут рассмотрены только некоторые, наиболее, на мой взгляд, типичные, примеры использования периферии STM32.
Надеюсь, кому-то этот материал будет полезен.
Итак, начнём
Total votes 26: ↑25 and ↓1 +24
Views 158K
Comments 50

Начинаем работать в STM32CubeMX. Часть 2

Programming microcontrollers *
Tutorial
Часть 1
Часть 3

В прошлый раз мы научились создавать в STM32CubeMX новый проект, настраивать тактовый генератор, таймер и порт ввода-вывода, и немного помигали светодиодом. Сегодня мы освоим цифро-аналоговый преобразователь и научимся работать с ним через DMA. В результате у нас должен получиться простой генератор прямого синтеза (Direct digital synthesizer, DDS).


Поехали
Total votes 13: ↑13 and ↓0 +13
Views 60K
Comments 9
1