Turinys:

Laikrodis: 7 žingsniai
Laikrodis: 7 žingsniai

Video: Laikrodis: 7 žingsniai

Video: Laikrodis: 7 žingsniai
Video: SKAIČIUOJA NE TIK LAIKĄ | GARMIN SPORTINIAI LAIKRODŽIAI | UNBOX RING || Laisvės TV X 2024, Lapkritis
Anonim
Laikrodis
Laikrodis

Šis nurodymas buvo sukurtas vykdant Pietų Floridos universiteto „Makecourse“projekto reikalavimą (www.makecourse.com).

1 žingsnis: koncepcija

Bandydamas sugalvoti idėją šiam projektui, nusprendžiau padaryti kažką naudingo ir naudingo mano kasdieniam gyvenimui. Nedaug tokių dalykų gali turėti dviejų laipsnių laisvės reikalavimą, todėl nusprendžiau pagaminti paprastą laikrodį, kuris atitiktų šį reikalavimą, ir kad jis būtų rodomas ant mano stalo, kad būtų rodomas laikas. Iš pradžių idėja buvo pagaminti rankinį laikrodį, tačiau 3D spausdinta dalis bus per maža, o laikrodį varantys varikliai vis tiek bus per dideli laikrodžiui.

Taigi, įgyvendindamas šį projektą, aplink savo butą radau atsarginių dalių ir nusprendžiau dirbti.

2 žingsnis: dalys

- 3D spausdintos dalys

- 2 28BYJ-48 5V DC žingsninis variklis

- 2 ULN2003 žingsninio variklio vairuotojo lenta

- Arduino Uno

- „HC-05“„Bluetooth“modulis

Visos šios dalys yra pagamintos mano, išskyrus laikrodžio rodykles. Nesu labai kūrybinga. Žemiau yra nuoroda į jos kūrėją.

www.thingiverse.com/thing:1441809

3 žingsnis: dalių surinkimas

Dalių surinkimas
Dalių surinkimas

(1)- Prie žingsninių variklių turite įdėti „Gear_1“ir 2. Jie bus tvirtai prigludę, todėl jiems reikia šiek tiek jėgos, kad jie liktų vietoje.

(2)- Base_0 liks surinkimo apačioje.

(3)- „Base_1“bus dedama ant „SpurGear_1“, tai yra pagrindinis minutės rodyklės komponentas. Galite klijuoti šiuos du komponentus kartu, įsitikinkite, kad pagrindas yra ant krumpliaračio.

(4)- Base_2 bus dedama ant SpurGears_2, tai yra pagrindinis valandos rodyklės komponentas. Šiai daliai tas pats, kas 3 veiksmas

(5)- Laikrodžių rodyklės gali būti klijuojamos ant „Base_1“ir „Base_2“arba galite išgręžti nedidelę skylę, kad jos tilptų.

(6)- Kad minutinės rankenos pavara sutaptų su ašine pavara, jums reikia 1 cm platformos, kad visą agregatą uždėtumėte ant vieno iš žingsninių variklių.

Taip yra todėl, kad pagrindinė bazė negali būti aukšta, nes kitas žingsninis variklis negalėtų pasiekti didelės pavaros. Bet kokiu atveju, vienam iš žingsninių variklių reikalinga platforma.

4 žingsnis: „Arduino IDE“biblioteka

Šio projekto kodas pagrįstas tyhenry biblioteka, pavadinta „CheapStepper.h“

github.com/tyhenry/CheapStepper

Norėdami įdiegti šią biblioteką savo arduino. Spustelėkite klonuoti arba atsisiųskite aukščiau esančią nuorodą ir atsisiųskite ją kaip ZIP failą.

„Arduino IDE“. Eskizas -> Įtraukti biblioteką -> Pridėti. ZIP biblioteką

Iš visos bibliotekos, kuri veikia, ši geriausiai ir nepaprastai paprasta naudoti žingsninį variklį.

5 veiksmas: „Breadboard“sąranka

Duonos lentos sąranka
Duonos lentos sąranka
Duonos lentos sąranka
Duonos lentos sąranka

Kartu su „Arduino UNO“naudojau „Arduino“skydą. Jis atrodo švaresnis, tačiau galite gauti nedidelę duonos lentą ir uždėti ją ant „Arduino UNO“. Sekite schemoje nurodytą spalvą, nes kai kurie laidai yra vienas ant kito. Smeigtukai 4-7 skirti vienam žingsniui, o 8-11-antram žingsniui.

„Bluetooth“modulis turi būti prijungtas RX -> TX ir TX -> RX prie „Arduino“plokštės.

Mėlyni laidai yra jungtys iš tvarkyklių į „Arduino UNO“

Žalieji laidai yra RX ir TX jungtys

Juodi laidai yra įžeminti.

Raudoni laidai yra 5V.

6 žingsnis: kodas

Žemiau yra šio projekto kodas.

Čia bus pateiktas kodo paaiškinimas.

„CheapSpepper“žingsnis (8, 9, 10, 11); „CheapStepper stepper_2“(4, 5, 6, 7);

boolean moveClockwise = tiesa;

//37,5 min = 4096;

// 1 min = 106,7;

// 5 min = 533,3;

// 15 min = 1603;

// 30 min = 3206;

// 60 min = 6412;

int pilnas = 4096;

int pusė = pilna/2; // 2048 m

float full_time = 6412; // 1 valanda

float half_time = full_time/2; 3026 min

float fif_time = half_time/2; // 15 min. 1603 m

float one_time = full_time/60; 106 minutė

float five_time = one_time*5; // 5 min. 534.3

plūdė one_sec = one_time/60; // 1 sek 1.78

// mes galime padaryti 30 minučių, sukdami variklį 3206 ir iš naujo nustatydami

Tai yra pagrindinis šio projekto skaičiavimas. Žingsninis žingsnis turėtų pasukti 4096 žingsnius, kad pasuktų visą 360 laipsnių, tačiau kadangi atramos krumpliaračiai yra didesni už krumpliaračius, pritvirtintus prie žingsninio žingsnio, todėl norint sukti reikia daugiau žingsnių. Kadangi atraminė pavara yra pagrindinis komponentas, sukantis rankas. Turiu atlikti įvairius bandymus, kad įsitikinčiau, ar vertės yra teisingos.

full_time yra kintamasis, kurį priskyriau visam rankos sukimui. Tai gana nuoseklu, tačiau kai žingsniai dalijami iš 2, kad būtų atliktas konkretus judesys, plūdės vertė mažėja, todėl vairuotojui buvo sunkiau atlikti savo darbą.

Judėjimas pagal laikrodžio rodyklę = tiesa; yra priversti žingsninį variklį judėti pagal laikrodžio rodyklę, tačiau kadangi jis sukasi atramine pavara prieš laikrodžio rodyklę, sąrankoje turime padaryti loginę reikšmę klaidingą. Pradžioje taip pat galite paskelbti klaidingą, bet tai paaiškina, kaip tai veikia.

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

Serial.println ("Paruošta pradėti judėti!");

pos = vieną kartą; del = 900; santykis = 60;

moveClockwise = klaidinga; }

Čia aš paskelbiu „moveClockwise“loginę reikšmę klaidinga. pos bus žingsnių skaičius, del - vėlavimas, o santykis yra minutė/sek = 60 arba valanda/min = 12

Mes valdome rankas su „Bluetooth“moduliu. Pirma, jums reikia nuoseklaus „Bluetooth“terminalo iš „Android“įrenginio. Prisijunkite prie „Hc-05“naudodami PIN kodą 0000 arba 1234. Norėdami sužinoti, ar jis veikia tinkamai, galite naudoti tam tikrą „Arduino IDE“kodo pavyzdį. Kai jis prijungtas, jis turėtų mirksėti labai lėtai, o ne greitai, kai nėra prijungtas.

tuštumos kilpa () {būsena = 0;

jei (Serial.available ()> 0) {

būsena = Serial.read (); }

už (plūdė s = 0; s <(pos); s ++) {

stepper.step (judėti pagal laikrodžio rodyklę); }

už (plūdė s = 0; s <(poz/ratio); s ++) {

stepper_2.step (judėti pagal laikrodžio rodyklę); }

vėlavimas (del);

Serial.available ()> 0 yra svarbus, nes taip veikia „Bluetooth“modulis. Šis teiginys bus teisingas, kai tarp „Arduino“ir jūsų įrenginio vyksta ryšys. Būsenos kintamasis nustatys kitus 3 kintamuosius, kuriuos paskelbiau sąrankos viršuje (), taip pat atspausdins, kokia operacija vykdoma. Dvi kilpai yra pagrindinė funkcija, lemianti žingsninio variklio judėjimą.

jei (būsena == '1') {

pos = vieną kartą; del = 0; santykis = 12;

Serial.println ("Operacija 1: Nėra vėlavimo"); }

Tai yra vienas pavyzdys, kaip naudojant „Bluetooth“įrenginio įvestį pakeisti sistemos veikimą. Šiuos kintamuosius galite redaguoti, kad ir kaip norėtumėte valdyti rankas.

7 žingsnis: demonstracija ir išvados

Image
Image
Demo ir išvada
Demo ir išvada

Tai yra sistemos demonstracinė versija, parodanti, kaip ji veikia. Korpusui galite naudoti viską, kas tiktų visiems viduje esantiems komponentams. Šis projektas buvo paprastas ir įdomus, nes pirmą kartą spausdinau 3D. „Bluetooth“modulį buvo smagu išsiaiškinti ir juo naudotis. Padariau keletą klaidų, kurias buvo per vėlu pakeisti, bet galutinis produktas yra geras.

Rekomenduojamas: