Мазмуну:

Сааттын жебеси: 7 кадам
Сааттын жебеси: 7 кадам

Video: Сааттын жебеси: 7 кадам

Video: Сааттын жебеси: 7 кадам
Video: Йога для ЗДОРОВОЙ СПИНЫ и позвоночника от Алины Anandee. Избавляемся от боли. 2024, Июнь
Anonim
Clockwork
Clockwork

Бул көрсөтмө Түштүк Флорида университетинин Макекурстун долбоорунун талабын аткаруу үчүн түзүлгөн (www.makecourse.com).

1 -кадам: Түшүнүк

Мен бул долбоордун идеясы үчүн мээ чабуулуна аракет кылып жатып, мен колдонууга жарактуу жана күнүмдүк жашоомо пайдалуу боло турган нерсени жасоону чечтим. Мындай нерселерде эркиндиктин эки даражасы болушу мүмкүн эмес, ошондуктан мен талапты канааттандыруу үчүн жөнөкөй саат жасоону, ошондой эле убакытты көрсөтүү үчүн столумда көрсөтүүнү чечтим. Башында кол саатты жасоо идеясы болгон, бирок 3D басылган бөлүгү өтө кичине болмок жана саатты айдаган моторлор дагы эле кол саат үчүн өтө чоң болуп калмак.

Ошентип, бул долбоор, мен батиримдин айланасынан запастык бөлүктөрдү таап, ушул боюнча иштөөнү чечтим.

2 -кадам: Бөлүктөр

- 3D Басылган бөлүктөрү

- 2 28BYJ-48 5V DC Stepper Motor

- 2 ULN2003 Stepper Motor Driver Board

- Ардуино Уно

- 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 файлы катары жүктөп алыңыз.

Arduino IDEде. Эскиз -> Китепкананы кошуу -> Кошуу. ZIP Китепкана

Иштеп жаткан бардык китепканалардын ичинен бул эң мыкты жана эң оңой баскычтуу моторду колдонгон.

5 -кадам: Нан тактасын орнотуу

Нан тактасын орнотуу
Нан тактасын орнотуу
Нан тактасын орнотуу
Нан тактасын орнотуу

Мен Arduino UNO менен баруу үчүн Arduino калканчын колдондум. Бул таза көрүнөт, бирок кичинекей нан табак алып, анын ордуна Arduino UNOнун үстүнө койсоңуз болот. Схемада көрсөтүлгөн түстү ээрчиңиз, анткени кээ бир зымдар бири -биринин үстүндө. 4-7-казыктар бир тепкичке, 8-11-пинтер экинчи тепкичке.

Bluetooth модулу Arduino тактасына RX -> TX жана TX -> RX зымдуу болушу керек.

Көк зымдар - бул айдоочулардын Arduino UNO менен болгон байланыштары

Жашыл зымдар RX жана TX байланыштары

Кара зымдар жерге коюлган.

Кызыл зымдар 5В.

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 full = 4096;

int half = full/2; // 2048

float full_time = 6412; // 1 саат

float half_time = full_time/2; // 30 мүн. 3026

float fif_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

// биз моторду 3206 айлантып, баштапкы абалга келтирүү менен 30 мүнөттөн жасай алабыз

Бул бул долбоордун негизги эсептөөсү. Толук 360 градуска айлануу үчүн тепкич 4096 кадамды талап кылат, бирок дөңгөлөктүү тиштер степерге бекитилген тиштүү дөңгөлөктөрдөн чоңураак болгондуктан, толук айлануу үчүн көбүрөөк кадамдарды жасоо керек. Тиштүү тиш - бул колду айландыруучу негизги компонент. Мен баалуулуктардын туура экенине ынануу үчүн ар кандай сыноолорду жасашым керек.

full_time - бул мен колдун толук айлануусу үчүн дайындаган өзгөрмө. Бул абдан ырааттуу, бирок белгилүү бир кыймылды алуу үчүн кадамдар 2ге бөлүнгөндө, калкыма мааниси кичирейет, бул айдоочунун өз ишин аткарууну кыйындатат.

MoveClockwise = true; тепкич моторун сааттын жебеси боюнча кыймылга келтирүү болуп саналат, бирок ал ийри тетикти сааттын жебесине каршы айлантып жаткандыктан, биз логиканы орнотууда жалган кылышыбыз керек. Сиз аны башында жалган деп жарыялай аласыз, бирок бул анын кантип иштээрин түшүндүрүү үчүн.

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

Serial.println ("Кыймылды баштоого даяр!");

pos = one_time; del = 900; катышы = 60;

moveClockwise = false; }

Бул жерде мен moveClockwise логикалык жалган деп жарыялайм. pos кадамдардын саны болот, дел кечигүү болот жана катыш мүнөт/сек = 60 же саат/мүн = 12 үчүн болот

Биз Bluetooth модулу менен колду башкарабыз. Биринчиден, сизге Android түзмөгүңүздөн сериялык Bluetooth терминалы керек. Hc-05ке 0000 же 1234 PIN коду менен туташыңыз. Arduino IDEден кээ бир мисал коддорун колдонуп, анын туура иштеп жатканын текшере аласыз. Туташканда туташпаганда тез эмес, өтө жай ирмелиши керек.

void loop () {state = 0;

эгер (Serial.available ()> 0) {

мамлекет = Serial.read (); }

үчүн (float s = 0; s <(pos); s ++) {

step.step (moveClockwise); }

үчүн (float s = 0; s <(pos/ratio); s ++) {

stepper_2.step (moveClockwise); }

кечигүү (дел);

Serial.available ()> 0 маанилүү, анткени Bluetooth модулуңуз кандай иштейт. Бул билдирүү Arduino менен түзмөгүңүздүн ортосунда байланыш болгондо туура болот. Штаттын өзгөрмөсү мен орнотуунун үстү деп жарыялаган 3 башка өзгөрмөнү аныктайт (), ал ошондой эле коддун иштеп жаткандыгын басып чыгарат. Loop for two - бул тепкич моторунун кандай кыймылдаарын айгинелөөчү негизги функция.

if (state == '1') {

pos = one_time; del = 0; катыш = 12;

Serial.println ("Operation 1: No Delay"); }

Бул системанын иштешин өзгөртүү үчүн Bluetooth түзмөгүңүздүн киргизүүсүн колдонуунун бир мисалы. Сиз бул өзгөрмөлөрдү түзөтө аласыз, бирок колуңузду башкарууну каалайсыз.

7 -кадам: Демо жана Жыйынтык

Image
Image
Демо жана Жыйынтык
Демо жана Жыйынтык

Бул системанын демосу, ал кантип иштээрин көрсөтөт. Корпус үчүн ичиндеги бардык компоненттерге туура келген нерсени колдонсоңуз болот. Бул проект жөнөкөй жана кызыктуу болду, анткени мен 3D форматында биринчи жолу басып чыгардым. Bluetooth модулу түшүнүү жана колдонуу үчүн кызыктуу болду. Мен жасаган бир нече каталар бар, аларды өзгөртүүгө кеч болуп калды, бирок акыркы продукт жакшы.

Сунушталууда: