Оглавление:

Clockception - Как построить часы из часов !: 14 шагов (с изображениями)
Clockception - Как построить часы из часов !: 14 шагов (с изображениями)

Видео: Clockception - Как построить часы из часов !: 14 шагов (с изображениями)

Видео: Clockception - Как построить часы из часов !: 14 шагов (с изображениями)
Видео: Механические часы с 7-сегментным дисплеем с использованием Arduino и 28 сервоприводов 2024, Июль
Anonim
Clockception - Как построить часы из часов!
Clockception - Как построить часы из часов!
Clockception - Как построить часы из часов!
Clockception - Как построить часы из часов!

Всем привет! Это моя работа на Конкурс авторов впервые в 2020 году! Если вам понравился этот проект, буду очень признателен за ваш голос:) Спасибо!

Это руководство проведет вас через процесс создания часов из часов! Я ловко назвал его «Clockception». Знаю, очень оригинально.

На самом деле это копия ClockClock, разработанная и изготовленная людьми с 1982 года. Я наткнулся на часы несколько лет назад и был мгновенно очарован их синхронизированным механизмом и минималистичной красотой. Если вы этого не видели, загляните на их сайт, поскольку это действительно произведение искусства.

Тем не менее, искусство, сделанное на заказ, обычно имеет свою цену. В этом случае от 6 до 11 тысяч долларов в зависимости от отделки. Если у вас есть средства, я настоятельно рекомендую вам подобрать один. Но если вы похожи на меня и у вас нет лишних 6 тысяч долларов, то вам повезло, потому что сегодня я собираюсь показать вам, как создать более простую версию одного примерно за 200 долларов с некоторыми базовыми инструментами и 3D-принтер!

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

Шаг 1. Обзор дизайна

Обзор дизайна
Обзор дизайна
Обзор дизайна
Обзор дизайна
Обзор дизайна
Обзор дизайна
Обзор дизайна
Обзор дизайна

Первое, что нужно проработать в дизайне, - это движение.

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

Сервоприводы, с другой стороны, дешевы, доступны и очень просты в программировании. Решение найдено.

Поработав немного в САПР, я придумал дизайн. План состоял в том, чтобы сделать 24 маленьких часов, в которых стрелки каждых часов можно было бы независимо управлять двумя сервомоторами, установить эти часы на доску в сетке 8x3 и написать небольшой код для управления движениями, чтобы стрелки производили числа. План миссии выполнен.

Разобрав все это, я сместил фокус на отображение позиций рук для каждого числа, которое они должны были сформировать.

Это включало поиск в Интернете изображений и видео ClockClock в действии. Я нашел изображения для некоторых чисел, но и у меня получилось довольно много. После некоторого разочарования сверху засиял свет, и я наткнулся на сайт, где кто-то сделал цифровую версию ClockClock и имел изображения всех позиций. Счет!! Кредит Мануэлю на manu.ninja. Посмотрите его сообщение в блоге о проекте! Очень классная штука!

Используя это, я сопоставил положение и движения, которые каждая рука должна была сделать от одного числа к другому, чтобы сформировать цифры, пока часы движутся во времени. (Полудневная работа суммируется в 26 словах.. вздох..) Пора строить кое-что!

Шаг 2: заказ материалов

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

3D-принтер и филамент

Если у вас нет 3D-принтера, вам понадобится его для этого проекта. Вы можете распечатать детали через службу печати, но я бы не рекомендовал этот способ, поскольку, вероятно, более экономично просто купить собственный принтер из-за количества деталей, которые вам нужно будет распечатать. К тому же, если вы купите свой собственный, у вас будет принтер, который сможет в будущем все, что вы хотите! Если вам нужен такой, я настоятельно рекомендую Ender 3 от Creality. Это принтер, который я использовал для этого проекта, и я только что купил второй. Их можно купить примерно за 250 долларов, и они очень хорошо печатаются по такой цене.

Ender 3 от Creality 3D -

Я решил использовать черно-белый PLA-материал для отдельных часов, но вы можете проявить столько творчества, сколько захотите! Например, я закончил тем, что использовал серый цвет, который лежал у меня, когда у меня закончился материал. Если вы новичок в 3D-печати, я бы рекомендовал использовать PLA вместо ABS, так как с ним намного проще печатать.

  • (2) Нить для 3D-принтера HATCHBOX PLA - ЧЕРНАЯ -
  • (1) Нить для 3D-принтера HATCHBOX PLA - БЕЛАЯ -

Всего на этот проект нужно 1416 г материала или 470 м. Предполагая, что вы хотите, чтобы корпуса часов были другого цвета, чем стрелки, вам потребуется 1176 г для корпусов и 96 г для стрелок. Остальные компоненты могут быть напечатаны в любом цвете, а для этого требуется 144 г.

Электроника

  • (48) Микро сервопривод SG90 9g -
  • (3) PCA9685 16-канальный драйвер серводвигателя с ШИМ -
  • (1) Модуль часов реального времени DS1302 -
  • (1) Микроконтроллер Arduino Nano V3.0 -
  • (1) Источник питания постоянного тока 5 В, 2 А -
  • Ассорти из перемычек -

Строительные материалы

Я использовал самую дешевую древесину твердых пород, которую смог найти в магазине пиломатериалов (тополь), и выбрал морилку / поли красильное дерево Mahogany all-in-one от Varathane. Опять же, будьте настолько креативными, насколько хотите! Клен? Вишня? Выбор остается за вами!

  • Доска тополя 3 'x 16 "x 3/4" - Местный лесной магазин
  • Атласная морилка и полиуретан Varathane Mahogany -
  • Наждачная бумага с мелким зерном 320 -
  • Наждачная бумага средней зернистости 100 -
  • Кисть для нанесения пятен (или аналогичная) -
  • (100) # 4 3/8 "Винт для листового металла с полукруглой головкой и крестообразным шлицем -
  • (96) Винты M2.5 с головкой под торцевой ключ 6 мм -
  • Super Glue Gel -
  • (Необязательно) Универсальная смазка -

Инструменты

Вы должны быть настроены, если у вас есть основные инструменты DIY (дрель и сверла, отвертки, рулетка и угольник). Мне нужна была настольная пила, чтобы обрезать кусок твердой древесины, который я купил в магазине пиломатериалов, но, возможно, они смогут отрезать его для вас в магазине.

Кроме того, я решил использовать фрезу с радиусом 1/4 дюйма, чтобы скруглить края платы, но этот шаг не является обязательным. Если у вас нет фрезера или вы не хотите ломать его для этого проекта, просто слегка зашлифуйте острые края, чтобы не было заноз и облегчить обращение с часами.

Единственный инструмент, который мне нужно было купить для этого проекта, - кольцевая пила размером 3-1 / 2 дюйма. Я выбрал бульдозер Milwaukee Ice Hardened Hole Dozer! Если вы не можете сказать по названию, этот инструмент делает почти идеальные отверстия, очень Если вы пойдете по тому же маршруту, вам также понадобится переходная насадка, к которой крепится пила.

  • Кольцевая пила Milwaukee 3-1 / 2 дюйма для закалки на льду -
  • Оправка для кольцевой пилы с быстрой заменой Milwaukee, 1/4 "https://amzn.to/35ac3C5

Шаг 3: Распечатайте детали

Части печати
Части печати
Части печати
Части печати
Части печати
Части печати

Я поставил этот шаг первым, так как он, вероятно, займет больше всего времени. Для меня на печать корпусов часов ушло около 3 часов, а их 24 (всего 72 часа, не считая времени простоя). Я сказал, что второй принтер, который я купил, был специально для этого проекта? Ну это было.

Всего вам потребуется распечатать следующие детали. См. Изображения для ориентации. Шестерни и кольца просто распечатаны в плоском виде.

Сборки часов

  • (24) Корпуса часов
  • (24) Минутные стрелки
  • (24) Часовые стрелки
  • (24) шестерня 12 зуб. С маленьким отверстием
  • (24) шестерня 12 зуб. С большим отверстием
  • (24) стопорные кольца
  • (48) Сервопривод 32 зуб.

Разное.

  • (2) Кронштейны стойки
  • (1) Приспособление для сверления корпуса часов

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

Шаг 4: Вырежьте переднюю панель

Обрежьте переднюю панель
Обрежьте переднюю панель
Обрежьте переднюю панель
Обрежьте переднюю панель
Обрежьте переднюю панель
Обрежьте переднюю панель

Теперь, когда панель закончена, и вы ловили рыбу, наблюдая за этим телешоу, детали, напечатанные на 3D-принтере, должны быть готовы, а это значит, что пора собирать часы!

На фотографиях я включил покомпонентное изображение того, как часы идут вместе.

Идите вперед и проверьте подгонку всех частей. Если вы печатали в высоком разрешении, все должно соответствовать друг другу. В лучшем случае вам может потребоваться сломать край корпуса часов в том месте, где проходит часовая стрелка. Если вы похожи на меня и распечатали детали в низком разрешении или что-то не совпадает друг с другом, вам нужно будет немного отшлифовать, просверлить и отрезать детали.

Приведенные ниже шаги описывают процесс тестирования и изменения деталей по мере необходимости.

  1. Проверьте посадку шестерни 12 зуб. С маленьким отверстием на минутную стрелку. Он должен быть тугим, но не лишенным возможности надеть снаряжение. (Извините, у меня нет этого изображения)

    Если детали не подходят, постепенно просверливайте центр шестерни, пока он не поместится на руке. Эти детали нужно будет склеить, поэтому не затягивайте их слишком сильно

  2. Проверьте установку шестерни 12 зуб. С большим отверстием на часовой стрелке. Посадка также должна быть плотной.

    Если детали не подходят, продолжайте сверлить по мере необходимости

  3. Проверьте установку стопорного кольца на часовой стрелке. Кольцо должно сидеть на выступе, входящем в часовую стрелку. Посадка должна быть плотной.

    Если детали не подходят друг другу, воспользуйтесь наждачной бумагой с мелким зерном (около 320), чтобы отшлифовать внешнюю сторону часовой стрелки, где кольцо должно скользить. ПРИМЕЧАНИЕ. Постарайтесь изолировать шлифовку, чтобы удалить материал только с того места, где находится стопорное кольцо

  4. Взгляните на основание вала на минутной стрелке и проверьте, нет ли выпуклостей или скоплений материала.

    Удалите лишний материал с основания или вала. Вал должен образовывать угол 90 градусов с основанием по всей окружности

  5. Проверьте посадку оси минутной стрелки на внутренней стороне часовой стрелки. Если детали подходят друг к другу, поверните минутную стрелку, чтобы проверить трение. Посадка не должна иметь трения, поскольку детали должны вращаться друг в друге.

    Если детали не подходят друг к другу или вращается минута, вам нужно высверлить центр часовой стрелки. Для меня это было достигнуто с помощью сверла № 18 (диаметром 0,1695 дюйма). ПРИМЕЧАНИЕ. Не переливайте часовую стрелку слишком сильно, и это приведет к люфту в собранном состоянии. Я бы рекомендовал использовать набор штангенциркулей для Измерьте диаметр вала на часовой стрелке и купите сверло, которое примерно на 0,005 - 0,010 дюйма больше этого диаметра

  6. Проверьте, подходит ли часовая стрелка к внутренней части корпуса часов как с передней, так и с задней стороны корпуса часов. Посадка должна быть без трения, поскольку детали должны вращаться друг в друге.

    • Если он подходит сзади, а не спереди, вероятно, есть выступ на лицевой стороне корпуса, который был на рабочей пластине принтера. Его можно удалить, проведя лезвием бритвы по окружности вала на теле.
    • Если не подходит сзади или спереди, взгляните на внешний стержень часовой стрелки. Если на 3D-принтере есть неровности или прыщики, их нужно отшлифовать, а затем проверить, подходят ли они.
    • Если после шлифовки он все еще не подходит, вам нужно высверлить центральный вал на корпусе часов. Для меня это было достигнуто с помощью сверла диаметром 21/64 дюйма. Так же, как и для часовой стрелки, используйте штангенциркуль для измерения оси часовой стрелки и используйте сверло размером около 0,005 - Диаметр на 0,010 дюйма больше, чтобы просверлить корпус часов.

Если вам нужно выполнить какой-либо из этих шагов, вам, вероятно, придется проделать то же самое для каждого набора деталей, поэтому промойте и повторяйте эту процедуру, пока все 24 набора деталей не соберутся вместе, как должны.

Шаг 7: соберите часы - клей и винт

Соберите часы - клей и винт
Соберите часы - клей и винт

Надеюсь, вы смогли пропустить предыдущий шаг, но если нет, то мое сердце с вами.

Когда все детали собраны вместе, самое время приклеить и прикрутить! т.е. собрать часы.

сборка

  1. Вставьте часовую стрелку в корпус часов и возьмитесь за стопорное кольцо. Нанесите небольшое количество суперклея на внутренний диаметр (ID) стопорного кольца и наденьте его на часовую стрелку сзади. Убедитесь, что кольцо полностью встало на место, чтобы часовая стрелка не имела поступательного люфта. ПРИМЕЧАНИЕ: будьте осторожны с клеем. Вы не хотите, чтобы клей случайно ударил по верхней части вала при установке кольца, и вы не хотите, чтобы клей перетек по валу и зафиксировал руку на корпусе.
  2. Возьмите шестерню 12 зубьев с большим отверстием и нанесите немного клея на внутренний диаметр шестерни.
  3. Наденьте шестеренку на часовую стрелку. Убедитесь, что он полностью вставлен, чтобы шестерня сервопривода была правильно выровнена.
  4. Возьмите сервопривод, протяните кабель через крепление и вставьте его на место. ПРИМЕЧАНИЕ: Сервопривод необходимо устанавливать так, чтобы вал был прямо напротив центрального вала (см. Рисунок).
  5. Прикрутите сервопривод на место винтами M2 и повторите то же самое для другой стороны.
  6. Возьмите две серво шестерни и по очереди наденьте их на валы сервопривода. ПРИМЕЧАНИЕ. Внутри этих шестерен нет зубьев, и они имеют плотную посадку. Их лучше всего устанавливать, постепенно прикладывая давление круговыми движениями к верхней части шестерни.
  7. Используйте винт, поставляемый с сервоприводом, чтобы установить шестерню на место. Повторите для другой стороны.
  8. Отрегулируйте часовую стрелку так, чтобы она находилась в положении «12 часов», слегка надавив на сервопривод, чтобы высвободить его из руки, и вращая стрелку по мере необходимости.
  9. Установите минутную стрелку в центр часовой стрелки и поверните ее в положение «12 часов».
  10. Возьмите шестерню 12 зубьев с небольшим отверстием и нанесите немного клея на внутренний диаметр шестерни. Наденьте шестеренку на минутную стрелку с задней стороны часов. Убедитесь, что шестерня полностью вставлена.

Теперь у вас должны быть 1 часы в сборе! Ву!

Теперь о других 23.. ПРИМЕЧАНИЕ: потребуется терпение.

Шаг 8: соберите часы на панель

Соберите часы на панель
Соберите часы на панель
Соберите часы на панель
Соберите часы на панель
Соберите часы на панель
Соберите часы на панель

Ты сделал это. Всего 24 часа. Молодец.

Этот шаг - один из самых простых. Нам просто нужно просверлить крепежные отверстия для корпусов часов и все смонтировать. Мы будем использовать 3D-печатное приспособление, чтобы проделать отверстия и убедиться, что корпуса часов выровнены.

Просверливание монтажных отверстий

  1. Снова возьмите деревянную панель и установите ее на несколько блоков задней стороной вверх. Накройте блоки полотенцами, чтобы не поцарапать лицевую сторону.
  2. Вставьте сверло 1/16 дюйма в сверло и поместите приспособление в первое отверстие.
  3. Используя угольник (или глазное яблоко), поверните приспособление так, чтобы оно было параллельно краю панели.
  4. Поместите наконечник сверла в отверстие на зажимном приспособлении и осторожно просверлите отверстия на глубину 1/2 дюйма. Продолжайте медленно, так как вы не хотите просверливать переднюю часть панели. Это легко сделать. установите небольшое уплотнительное кольцо на сверло на расстоянии 1/2 дюйма от наконечника и просверлите его до тех пор, пока уплотнительное кольцо не коснется зажимного приспособления. Кольцо будет ходить сверхурочно, и вам, возможно, придется отрегулировать его заново, но это лучше, чем делать его вслепую.
  5. Повторите то же самое с оставшимися 23 отверстиями.
  6. Расположите два опорных кронштейна на задней части панели примерно на 1,5 дюйма от внешнего края и на одной линии с нижним краем. Просверлите до такой же глубины 1/2 дюйма.

Установка часов

  1. Возьмите часы и поместите их лицевой стороной вниз на панель.
  2. Используя 4 винта для листового металла №4, установите часы на место. Я использовал для этого обычную отвертку, чтобы не переусердствовать.
  3. Повторите эти действия для оставшихся 23 часов.
  4. Используя те же винты, закрепите два опорных кронштейна.
  5. Переверните часы и наслаждайтесь своей работой!

Сделайте здесь хороший перерыв, потому что вы примерно на полпути и заслужили это!

Шаг 9: соединяем все вместе

Соединяем все вместе
Соединяем все вместе
Соединяем все вместе
Соединяем все вместе
Соединяем все вместе
Соединяем все вместе
Соединяем все вместе
Соединяем все вместе

К электронике!

Прежде чем мы начнем, нам нужно внести несколько изменений в сервоприводы ШИМ, чтобы мы могли последовательно подключить их все вместе.

Драйверы ШИМ

  1. Если ваши драйверы не были собраны, вам нужно будет их собрать. Если вы купили их в разобранном виде, я предполагаю, что вы знаете, как это сделать.
  2. На двух драйверах припаяйте разъем к той стороне платы, на которой его нет. Это позволит соединить их вместе. Отложите одну в сторону.
  3. Затем нам нужно соединить два контакта на плате, которые мы не выделили, чтобы присвоить ей уникальный адрес. Для этой платы это контакты "A0". Используя паяльник и кусочек или припой, перетащите припой, чтобы соединить контактные площадки. Убедитесь, что остальные колодки не повреждены и не замкнулись.
  4. Наконец, на плате вы не припаяли дополнительный разъем, чтобы соединить два контакта, помеченных как A1.

Когда драйверы готовы к работе, пришло время соединить все это вместе. Есть много соединений сервоприводов, так что он будет немного «волосатым», но я смог подогнать его, не удлиняя какие-либо линии сервопривода. Взгляните на фотографии, чтобы увидеть, как мне это удалось.

Проводка

  1. Проложите линии сервомеханизма через корпуса часов так, чтобы вы могли подключить 16 линий к каждой плате. Если вы хотите скопировать мою маршрутизацию, взгляните на фото. Если вы не копируете мою маршрутизацию, вам нужно будет отметить, к какой плате и какой вывод подключен каждый сервопривод. На фотографиях выше есть матрица, показывающая соглашение об именах, которое я использовал в коде. Используйте это же соглашение, чтобы код не нужно было изменять позже.
  2. Используя перемычки, соедините три драйвера вместе прямо поперек. Дважды проверьте свою работу, чтобы убедиться, что линии не пересекаются. Контакты обозначены как на левой, так и на правой стороне драйверов, и если вы использовали провода разного цвета, это должно быть легко определить.
  3. Используя еще несколько перемычек, прикрепите Arduino Nano к первому сервоприводу согласно приложенному изображению. Я направил их в нижний правый корпус часов, чтобы я мог спрятать там Arduino. Места предостаточно, просто проверьте еще раз, чтобы убедиться, что провода не задевают шестерни.
  4. С помощью еще нескольких перемычек подключите часы реального времени (RTC) к Arduino согласно приложенному изображению. Я смог спрятать это в корпусе прямо над часами с Arduino.
  5. Наконец, подключите источник питания 5 В к зеленым винтовым клеммам на первом драйвере ШИМ.

Теперь часы должны выглядеть неплохо !! Но, к сожалению, настало время для самого сложного.

Шаг 10: калибровка позиций

Калибровка позиций
Калибровка позиций

Хорошо, полное раскрытие, здесь я узнал, что мне следовало лучше разработать сборку часов, чтобы упростить этот шаг.

Проблема в том, что шестерни не привязаны к рукам, поэтому положение одной из них на 100 градусов не совпадает с другой. Таким образом, каждую стрелку необходимо индивидуально откалибровать, чтобы определить, какая команда на градус соотносится с положениями 12, 3, 6 и 9 часов.

Это утомительно, но возможно. Я написал немного кода для этого и сделал диаграмму для хранения результатов. Код позволяет вам отправлять позицию в градусах через Serial Monitor, чтобы контролировать положение сервопривода, который вы калибруете. Короче говоря, как только вы выясните, какая позиция соответствует 12, 3 и т. Д., Вы заметите, что на диаграмме и в формулах автоматически генерируется основной код для запуска часов. В будущем, возможно, я обновлю дизайн, добавив шестеренки со шпонкой, но сейчас вам нужно будет выполнить следующие шаги.

Прежде чем вы начнете, этот процесс будет намного проще, если вы пометите каждые часы штырем и платой драйвера для каждой стрелки. Возьмите стикеры (желательно трех цветов) и ручку. Сделайте по 8 заметок каждого цвета и напишите следующие пары. «0-1», «2-3», «4-5»… и т. Д. Это будут пары выводов «минута-час» для каждых часов. Установите часы и поместите эти заметки на переднюю панель рядом с соответствующим корпусом часов.

Калибровка позиций

  1. Загрузите и установите программу кодирования Arduino, если у вас ее еще нет.
  2. Загрузите и откройте книгу Excel под названием «Калибровка часов и код» по следующей ссылке и перейдите на лист «Таблица калибровки».
  3. Загрузите Adafruit-PWM-Servo-Driver-Library по ссылке ниже и поместите ее в папку библиотеки Arduino. Папка библиотеки обычно находится в папке documents / Arduino flower на вашем компьютере.
  4. Загрузите и откройте скетч Arduino под названием «Calibrating_the_Positions», прикрепленный ниже.
  5. В основном цикле void измените строку кода для часовой стрелки первого столбца самой нижней строки (C1H в соответствии с соглашением об именах). Замените цифру «3» на доску, к которой подключена ваша часовая стрелка, а цифру «14» - на номер контакта, к которому подключена стрелка. "board3.setPWM (14, 0, pulse2);"
  6. Убедитесь, что ваша плата настроена на Nano и правильный последовательный порт выбран в программном обеспечении Arduino. Откройте Serial Monitor и загрузите эскиз. Монитор последовательного порта должен прочитать «Готов к командованию».
  7. Отправьте «120» на сервопривод. Часовая стрелка должна перейти в соответствующее положение 120.
  8. Теперь вам нужно будет перепрыгнуть через зубчатую зацепку, чтобы рычаг смотрел где-то около положения на 12 часов, оставив сервопривод на месте. Это можно сделать, осторожно отведя сервопривод от соответствующей часовой шестерни и повернув стрелку, пока она не окажется в положении 12. ПРИМЕЧАНИЕ: это не обязательно должно быть идеально, только в районе 12 часов.
  9. После завершения настройки отправьте «80» на сервопривод. Рука должна двигаться по часовой стрелке.
  10. Теперь вам нужно переключаться между командой около «120» и «80» и продолжать изменять число 120, пока не выясните, какая команда соответствует 12 часам. Как только вы его получите, обратите внимание на это на листе Excel для столбца C1 час против часовой стрелки.
  11. Затем переключайтесь между вашим значением 12 и значением около «80», пока не получите число для позиции 3 часа по часовой стрелке. Обратите внимание на это в таблице в столбце C1 час CW.
  12. Затем переключитесь между вашим значением 3 и числом около «40» для положения «6 часов» по часовой стрелке. Обратите внимание на это значение.
  13. Положение 7,5 часов рассчитывается в таблице, так что не беспокойтесь об этом.
  14. Переключитесь между вашим значением 6 и чем-то около «10», чтобы получить значение на 9 часов в направлении против часовой стрелки.
  15. Поскольку шестерни не идеальны, теперь вам нужно будет повторить это против часовой стрелки, поскольку значения, вероятно, будут немного отличаться, и каждой руке нужно будет поразить позиции с обоих направлений для различных чисел.

Теперь у вас должна быть калибровка одной стрелки на первых часах !!

Измените числа в "board3.setPWM (14, 0, pulse2);" код для минутной стрелки C1 и повторите процесс. После завершения вам нужно будет повторить это для оставшихся 23 сборок.

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

Я заранее прошу прощения за то, насколько это утомительно, но после завершения я могу честно сказать, что самая сложная часть позади.

Шаг 11: калибровка чисел

Калибровка чисел
Калибровка чисел

Если вы дойдете до этого момента, часы оживут именно здесь!

Я уже пытался определить, куда должна идти каждая рука, чтобы сделать каждую большую цифру, и, что еще лучше, код будет автоматически сгенерирован в листе Excel!

Вам просто нужно взять этот код, загрузить его и внести некоторые тонкие настройки для каждого числа.

Калибровка чисел

  1. Откройте скетч "Calibrating_the_Numbers", прикрепленный ниже.
  2. Перейдите на лист «Углы для кода» в книге Excel.
  3. ЕСЛИ И ТОЛЬКО ЕСЛИ вы использовали другое соединение выводов сервопривода, чем я, введите их сейчас в таблицу «Сервоплата и назначение выводов».
  4. В противном случае прокрутите вниз мимо черной линии и скопируйте код для первой цифры.
  5. Вставьте его в эскиз Arduino в самом низу.
  6. В коде, который вы только что вставили, измените выделенное жирным шрифтом число в этой строке на «11». "если (число == 0) {". Это будет использоваться для отправки «0» часам.
  7. В основном цикле измените выделенное жирным шрифтом число для калибруемой цифры. "цифра4 (число);"
  8. Загрузите скетч и откройте последовательный монитор. Вы должны увидеть «Готов к командованию».
  9. Цифры предназначены для работы только в последовательном порядке. 1, 2, 3 и т. Д. Идите вперед и отправьте на доску цифру «11», но не волнуйтесь, если она не горит. Предполагалось, что раньше была цифра «2». Перебирайте другие числа 1, 2 и 11. Теперь вы должны увидеть что-то близкое к «0».
  10. Теперь вам нужно изменить углы настолько, насколько вы хотите, чтобы улучшить положение рук. Если у вас все еще есть липучки, это не так уж и сложно, как кажется. Допустим, вы переходите от 0 к 1, но вам не нравится позиция, в которой находится одна из рук. Обратите внимание на доску и булавку этой руки и прокрутите код до строк под "else if (number == 1) {". Найдите линию, по которой движется эта рука, и добавьте или вычтите немного, если вы хотите, чтобы рука двигалась немного больше в направлении CW или CCW соответственно.
  11. Если вы не видите строку кода, по которой движется эта рука, это потому, что ей не нужно было перемещаться из своей предыдущей позиции, чтобы получить это число, и она была установлена заранее. В этом случае вернитесь назад через числа 0 или 2, найдите эту строку и внесите в нее изменения.
  12. Когда вы будете удовлетворены, скопируйте измененный код и вставьте его на несколько столбцов из оригинала в лист Excel. ВАЖНО: Вам необходимо заменить «11» в строке «if (number == 11) {» НАЗАД на «0». Если вы этого не сделаете, более поздний код не будет работать правильно.
  13. Повторите эти действия для 2-й, 3-й и 4-й цифр. Для 2-й и 4-й цифр вы будете калибровать числа 0-9, а для 3-й цифры - 0-5.

Вот и все! Теперь у вас есть код, который будет составлять числа, которые нам нужны, чтобы показывать время!

Шаг 12: Установка времени

Почти готово! Я обещаю.

Модуль DS1302 Real Time Clock (RTC) классный, потому что он имеет независимую батарею и будет хранить время, даже если Arduino Nano не имеет питания. Но, как и в случае с любыми другими часами, время необходимо установить.

Установка времени

  1. Загрузите библиотеку "DS1302" по этой ссылке и поместите ее в папку библиотеки Arduino.
  2. Откройте среду Arduino и откройте пример скетча «set_clock», перейдя в Файл / Примеры / arduino-ds1302-master / set_clock.
  3. Это бит кода, который устанавливает время, но сначала нам нужно подключить две перемычки от 3.3 В и концевого контакта на Arduino Nano, к VCC и концевому контакту на RTC соответственно. Эти строки используются только для установки времени. если вы оставите их подключенными, время будет сбрасываться каждый раз, когда Arduino увидит питание.
  4. Затем нам нужно изменить код, чтобы указать, где подключены наши часы. Это делается путем изменения выделенных жирным шрифтом чисел в "const int kCePin = 5; // Chip Enable" "const int kIoPin = 6; // Ввод / вывод" "const int kSclkPin = 7; // Последовательные часы" с 5, 6, 7 К 4, 3, 2.
  5. Прокрутите до основного цикла и найдите строку «Время t (2013, 9, 22, 1, 38, 50, Time:: kSunday);» это в формате: «Время t (Год, Месяц, День, Час, Минута, Секунда, Время:: kDayOfTheWeek);»
  6. Нам нужно только время, но продолжайте вносить изменения, чтобы все было правильно, и загрузите код.
  7. Откройте Serial Monitor, чтобы убедиться, что код был успешно загружен. Вы должны увидеть распечатку в формате «Воскресенье, 22 сентября 2013 г., 01:38:50».
  8. Отсоедините перемычки.

Шаг 13: Загрузите основной код

Image
Image

Ты сделал это! Ты сделал это! Еще один шаг - и приз ваш.

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

Как упоминалось ранее, цифры должны изменяться в последовательном порядке. Если перед изменением указан неправильный номер, скорее всего, это не сработает. Таким образом, этот код инициализируется путем циклического перебора каждого числа от 0 до максимального значения для этой цифры, а затем возвращается к номеру текущего времени. Скажем, для второй цифры нам нужна цифра «4», эта цифра будет от 0-1-2-3-4-5-6-7-8-9-0-1-2-3-4, чтобы гарантировать Фактически отображается "4".

В остальном код довольно прост. Он проверяет время каждые 15 секунд и сравнивает его с 15-секундным прошлым временем. Если время изменилось, он отправляет новое время цифрам, которые нужно переместить, и перемещает эти стрелки! Я приложил все усилия в коде, чтобы комментировать вещи, чтобы описать происходящее.

Загрузите основной код

  1. Откройте скетч Clockception_Main_Code в программе Arduino.
  2. Скопируйте свой собственный код с листа Excel и вставьте его в эскиз в самом конце.
  3. Загрузите эскиз и расслабьтесь, чтобы посмотреть, как ваша работа оживает.

Если я достаточно хорошо поработал с изложением этой инструкции, теперь вы должны смотреть на текущее время! Сядьте на минуту или две, чтобы убедиться, что время изменилось.

Как только вы будете готовы, вы можете переместить часы домой!

Шаг 14: Наслаждайтесь часами

Конкурс впервые авторов
Конкурс впервые авторов

Ну вот и все! Вы успешно создали копию ClockClock за небольшую часть стоимости.

Надеюсь, вам понравилось это руководство! Если так, я буду очень признателен за ваш голос в конкурсе начинающих авторов.

Если у вас есть какие-либо вопросы или комментарии, обращайтесь! С радостью отвечу на любые вопросы:)

Конкурс впервые авторов
Конкурс впервые авторов

Главный приз первого авторского конкурса

Рекомендуемые: