Съдържание:

Часовник: 7 стъпки
Часовник: 7 стъпки

Видео: Часовник: 7 стъпки

Видео: Часовник: 7 стъпки
Видео: Официалы отказались. Замена стекла на Apple Watch 4 44mm🔥 #shorts #apple #applewatch #watch4 2024, Ноември
Anonim
часовников механизъм
часовников механизъм

Тази инструкция е създадена в изпълнение на проектните изисквания на Makecourse в Университета на Южна Флорида (www.makecourse.com).

Стъпка 1: Концепция

Опитвайки се да обсъдя идея за този проект, реших да направя нещо, което да е използваемо и да е полезно за ежедневието ми. Не много неща като това могат да имат изискване за две степени на свобода, затова реших да направя обикновен часовник, който да отговаря на изискването, както и да го показва на бюрото ми, за да показва времето. Първоначално идеята беше да се направи ръчен часовник, но 3D отпечатаната част щеше да е твърде малка и двигателите, които задвижват часовника, все още ще бъдат твърде големи за ръчен часовник.

Следователно този проект намерих резервни части около апартамента си и реших да работя по това.

Стъпка 2: Части

- 3D отпечатани части

- 2 28BYJ-48 5V DC стъпков двигател

- 2 ULN2003 платка за драйвер на стъпков двигател

- Arduino Uno

- HC-05 Bluetooth модул

Всички тези части са направени от мен, освен стрелките на часовника. Не съм много креативен. По -долу е връзката към неговия създател.

www.thingiverse.com/thing:1441809

Стъпка 3: Сглобяване на части

Сглобяване на части
Сглобяване на части

(1)- Трябва да поставите Gear_1 и 2 към стъпковите двигатели. Те ще бъдат плътно прилепнали, така че е необходима малко сила, за да останат на мястото си.

(2)- Base_0 ще остане в долната част на монтажа.

(3)- Base_1 ще бъде поставен върху SpurGear_1, това е основният компонент за минутната стрелка. Можете да залепите тези два компонента заедно, като се уверите, че основата е отгоре на зъбното колело.

(4)- Base_2 ще бъде поставен върху SpurGears_2, това е основният компонент за часовата стрелка. Същото важи и за тази част като стъпка (3)

(5)- Стрелките на часовниците могат да бъдат залепени върху Base_1 и Base_2, или можете да пробиете малка дупка, за да ги поставите на място.

(6)- За да може зъбното колело на минутната стрелка да съвпадне със зъбното колело, се нуждаете от 1 см платформа, за да поставите целия възел отгоре с един от стъпковите двигатели.

Причината за това е, че основната база не може да бъде висока, тъй като другият стъпков двигател не би могъл да достигне високата предавка. Така или иначе е необходима платформа за един от стъпковите двигатели.

Стъпка 4: Библиотека за Arduino IDE

Кодът за този проект се основава на библиотека на tyhenry, наречена CheapStepper.h

github.com/tyhenry/CheapStepper

За да инсталирате тази библиотека за вашия arduino. Щракнете върху клониране или изтеглете на горната връзка и го изтеглете като zip файл.

В IDE на Arduino. Sketch -> Include Library -> Add. ZIP Library

От цялата библиотека, която работи, тази използваше стъпковия двигател най -добрият и изключително лесен за използване.

Стъпка 5: Настройка на макета

Настройка на макета
Настройка на макета
Настройка на макета
Настройка на макета

Използвах Arduino щит, за да отида с моя Arduino UNO. Изглежда по -чисто, но вместо това можете да вземете малка дъска и да я поставите върху Arduino UNO. Следвайте цвета на схемата, тъй като някои проводници са един върху друг. Щифтове 4-7 са за едно стъпало, а щифтове 8-11 са за второ стъпало.

Bluetooth модулът трябва да бъде свързан RX -> TX и TX -> RX към платката Arduino.

Сините проводници са връзки от драйверите към Arduino UNO

Зелените проводници са връзките RX и TX

Черните проводници са заземени.

Червените проводници са 5V.

Стъпка 6: Код

По -долу е кодът за този проект.

Обяснението на кода ще бъде тук.

Степър CheapStepper (8, 9, 10, 11); CheapStepper stepper_2 (4, 5, 6, 7);

логическо moveClockwise = true;

// 37,5 мин = 4096;

// 1 мин = 106.7;

// 5 минути = 533,3;

// 15 минути = 1603;

// 30 минути = 3206;

// 60 минути = 6412;

int пълен = 4096;

int половина = пълно/2; // 2048

float full_time = 6412; // 1 час

float half_time = full_time/2; // 30 минути 3026

float five_time = half_time/2; // 15 мин. 1603

float one_time = full_time/60; // 1 мин. 106

float five_time = one_time*5; // 5 минути 534.3

float one_sec = one_time/60; // 1 сек 1.78

// можем да направим 30 минути всеки чрез завъртане на мотора 3206 и нулиране

Това е основното изчисление за този проект. Степерът ще предприеме 4096 стъпки, за да се завърти на цели 360 градуса, но тъй като зъбните колела са по -големи от зъбните колела, прикрепени към стъпката, така че са необходими повече стъпки за пълно завъртане. Тъй като шпонката е основният компонент, който върти ръцете. Трябва да направя различни тестове, за да се уверя, че стойностите са правилни.

full_time е променливата, която зададох за пълно завъртане на ръката. Това е доста последователно, но тъй като стъпките се разделят на 2, за да се постигне специфично движение, стойността на плаващото средство намалява, което затруднява водача да си свърши работата.

MoveClockwise = true; е да накараме стъпковия мотор да се движи по посока на часовниковата стрелка, но тъй като той върти цилиндричната предавка обратно на часовниковата стрелка, трябва да направим булевото фалшиво в настройката. Можете също така да го обявите за невярно в началото, но това е, за да обясните как работи.

void setup () {Serial.begin (9600);

Serial.println ("Готов да започне да се движи!");

pos = one_time; del = 900; съотношение = 60;

moveClockwise = false; }

Тук декларирам boolean moveClockwise false. pos ще бъде броят на стъпките, del ще бъде забавянето, а съотношението е или за минута/сек = 60, или час/мин = 12

Ние контролираме ръцете с Bluetooth модула. Първо, имате нужда от сериен Bluetooth терминал от вашето Android устройство. Свържете се с Hc-05 с ПИН 0000 или 1234. Можете да използвате примерен код от Arduino IDE, за да видите дали работи правилно. Когато е свързан, той трябва да мига много бавно, вместо бързо, когато не е свързан.

void loop () {състояние = 0;

if (Serial.available ()> 0) {

състояние = Serial.read (); }

for (float s = 0; s <(pos); s ++) {

stepper.step (moveClockwise); }

за (float s = 0; s <(pos/ratio); s ++) {

stepper_2.step (moveClockwise); }

забавяне (del);

Serial.available ()> 0 е важно, тъй като това е как ще работи вашият Bluetooth модул. Това изявление if ще бъде вярно, когато има комуникация между Arduino и вашето устройство. Променливата на състоянието ще определи трите други променливи, които декларирах на върха на setup (), също така ще отпечата каква операция се изпълнява кодът. Двата цикъла for са основната функция, която управлява как ще се движи стъпковият мотор.

if (състояние == '1') {

pos = one_time; del = 0; съотношение = 12;

Serial.println ("Операция 1: Без забавяне"); }

Това е един пример за използване на входа от вашето Bluetooth устройство, за да промените начина, по който системата работи. Можете да редактирате тези променливи, както искате да контролирате ръцете.

Стъпка 7: Демонстрация и заключение

Image
Image
Демо и заключение
Демо и заключение

Това е демонстрация на системата, показваща как работи. За корпуса можете да използвате всичко, което би паснало на всички компоненти вътре. Този проект беше прост и забавен за правене, тъй като за първи път отпечатвах 3D. Bluetooth модулът беше забавен за намиране и използване. Направих няколко грешки, които бяха твърде късно да се променят, но крайният продукт е добре.

Препоръчано: