"Эй, Arduino! Который час?!" или часы реального времени KosachenkoSV's blog / 19.01.2013 Мы с ребятами, занимающимися микроэлектроникой, получили «заказ» от директора лицея — разработать устройство автоматической подачи звонков на перемены и на уроки. Изучение информационных источников в Сети показало, что Ардуино умеет отсчитывать время, пользуясь собственным кварцевым резонатором тактовой частоты, но накапливаемая погрешность не даст нам достаточную точность. Поэтому решили использовать RTC — Real-Time Clock часы реального времени. Наш выбор остановился на микросхеме DS1307 потому, что этот блок у меня уже имелся. Приобрел я его через интернет-магазин ekits.ru, когда еще жил и работал в селе Каргасок Томской области. Для «обвязки» к этой микросхеме требуется кварцевый резонатор на 32.768 KHZ и пара резисторов на 10 КОм и батарейка 3 Вольта для питания часов в случае обесточивания схемы. Между прочим, так же работает таймер в каждом персональном компьютере и ноутбуке! У меня в школе был компьютер, который показывал исправно время более 10 лет без замены батарейки! В схеме RTC от известной американской компании Ladaya, разрабатывающей и выпускающей много модулей и шилдов к Ардуино, имеется еще конденсатор, но так как в Сети много схем без конденсатора, то решил им пренебречь. Поскольку у меня есть огромное желание, чтобы проект сами лицеисты разработали и выполнили (по крайней мере, чтобы они так считали), но при этом проект был работоспособным и успешным, то прежде, чем подвести ребят к схематическим решениям, мне нужно самостоятельно на практике проверять работу модулей и схем. Вот сегодня все же решил спаять модуль RTC для Ардуино и проверить работу с ним на простейшем скетче, который скачал с библиотекой wire в интернете на http://arduino.cc. Изготовить печатную плату методом ЛУТ: расчертить, распечатать, перенести рисунок утюгом на текстолит и вытравить я все никак не соберусь. Поэтому решил использовать плату для прототипирования, купленную в радиомагазине. Она удобна тем, что в ней уже вытравлены площадки для пайки и насверлены отверстия со стандартным шагом 2,54мм, что позволяет впаять стандартные микросхемы в корпусах DIP, разъемы и прочие детали. Выводы от DS1307 к портам Arduino: SWQ/OUT — не используется SCL - A5 SDA - A4У меня получилось вот такая схема, которая практически сразу заработала с Ардуино. Первый запуск нужно сделать, открыв закомментированные строчки, устанавливающие текущее время — это установит время и запустит таймер в микросхеме DS1307. После первого запуска нужно снова закомментировать эти строки и загрузить прошивку в Ардуино. Конечно, в простейшем скетче такое неказистое выставление текущей даты и времени оправдано. В более сложных проектах, нужно будет предусмотреть установку и корректировку времени более юзабельно, для чего использовать либо кнопки, либо энкодеры как устройства ввода. Простая программа (взята с форума Ардуинщиков http://arduino.cc/forum/index.php/topic,11444.0.html ) передает информацию о текущем времени (часы, минуты, секунды) и дате (день, месяц, год) в персональный компьютер через USB-провод эмулируемый как COM-порт. Итак, прототип схемы RTC для Arduino собран и отлично работает. Сделанный в виде отдельного модуля, легко подключаемого соединительными проводами, он может применяться на занятиях по микроэлектроники в различных проектах (часы, будильник, регистратор температуры, робот, умный дом и пр.). Нужно только разработать и изготовить для него печатную плату. Два наших лицеиста уже всерьез освоили изготовление печатных плат в домашних условиях, глядя на них, я всерьез задумываюсь о том, как бы наладить с ребятами небольшое производство вот таких несложных модулей. Это позволило бы им попробовать поучаствовать хоть и в маленьком, но в реальном производстве. Думаю, такой опыт лишним не будет. Но сначала хотелось бы определиться, будут ли востребованы такие модули? Напишите, коллеги, захотели бы Вы или Ваши учащиеся приобрести такой модуль, изготовленный собственноручно другими школьниками? RTC arduino freeduino микроэлектроника модуль робототехника