Innholdsfortegnelse:

Urverk: 7 trinn
Urverk: 7 trinn

Video: Urverk: 7 trinn

Video: Urverk: 7 trinn
Video: САМЫЙ БЮДЖЕТНЫЙ ДОМ ЗА 7 ДНЕЙ! КАРКАСНЫЙ ДОМ БАНЯ 7 ДНЕЙ ЗА 20 МИНУТ! 2024, Juni
Anonim
Urverk
Urverk

Denne instruksen ble opprettet for å oppfylle prosjektkravet til Makecourse ved University of South Florida (www.makecourse.com).

Trinn 1: Konsept

Mens jeg prøver å tenke ut en idé for dette prosjektet, bestemte jeg meg for å lage noe som er brukbart og nyttig for mitt daglige liv. Ikke mange slike ting kan ha to graders frihetskrav, så jeg bestemte meg for å lage en enkel klokke for å oppfylle kravet, så vel som å vise den på skrivebordet mitt for å vise tiden. Opprinnelig var ideen å lage et armbåndsur, men den 3D -trykte delen ville være for liten og motorene som driver klokken, ville fremdeles være for store for et armbåndsur.

Derav dette prosjektet, jeg fant reservedeler rundt i leiligheten min og bestemte meg for å jobbe med dette.

Trinn 2: Deler

- 3D -trykte deler

- 2 28BYJ-48 5V DC trinnmotor

- 2 ULN2003 Stepper Motor Driver Board

- Arduino Uno

- HC-05 Bluetooth-modul

Alle disse delene er laget av meg bortsett fra klokkens hender. Jeg er ikke veldig kreativ. Nedenfor er lenken til skaperen.

www.thingiverse.com/thing:1441809

Trinn 3: Montering av deler

Montering av deler
Montering av deler

(1)- Du må sette Gear_1 og 2 til trinnmotorene. De vil ha en tett passform, så det kreves litt kraft for at de skal holde seg på plass.

(2)- Base_0 vil forbli i bunnen av enheten.

(3)- Base_1 vil bli plassert på toppen av SpurGear_1, dette er hovedkomponenten for minuttviseren. Du kan lime disse to komponentene sammen, sørg for at basen er på toppen av giret.

(4)- Base_2 vil bli plassert på toppen av SpurGears_2, dette er hovedkomponenten for timeviseren. Det samme gjelder denne delen som trinn (3)

(5)- Klokkenes hender kan være lim på toppen av Base_1 og Base_2, eller du kan bore et lite hull for å få dem på plass.

(6)- For å få giret i minuttviseren til å passe med tannhjulet, trenger du en 1 cm plattform for å sette hele enheten på toppen med en av trinnmotorene.

Grunnen til dette er fordi hovedbasen ikke kan være noe høy siden den andre trinnmotoren ikke ville være i stand til å nå høyt gir. Uansett er det nødvendig med en plattform for en av trinnmotorene.

Trinn 4: Bibliotek for Arduino IDE

Koden for dette prosjektet er basert på et bibliotek av tyhenry kalt CheapStepper.h

github.com/tyhenry/CheapStepper

For å installere dette biblioteket for din arduino. Klikk klone eller last ned på lenken ovenfor og last den ned som en zip -fil.

I Arduino IDE. Skisse -> Inkluder bibliotek -> Legg til. ZIP -bibliotek

Av alt biblioteket som fungerer, brukte denne trinnmotoren best og ekstremt lett å bruke.

Trinn 5: Oppsett av brødbrett

Oppsett av brødbrett
Oppsett av brødbrett
Oppsett av brødbrett
Oppsett av brødbrett

Jeg brukte et Arduino -skjold til å gå med min Arduino UNO. Det ser mer rent ut, men du kan få et lite brødbrett og plassere det på toppen av Arduino UNO i stedet. Følg fargen på skjematikken ettersom noen ledninger ligger oppå hverandre. Pins 4-7 er for en stepper og pinner 8-11 er for den andre steperen.

Bluetooth -modulen må være kablet RX -> TX og TX -> RX til Arduino -kortet.

Blå ledninger er forbindelser fra driverne til Arduino UNO

Grønne ledninger er RX- og TX -tilkoblingene

Svarte ledninger er malt.

Røde ledninger er 5V.

Trinn 6: Kode

Nedenfor er koden for dette prosjektet.

Forklaringen av koden vil være her.

CheapStepper stepper (8, 9, 10, 11); CheapStepper stepper_2 (4, 5, 6, 7);

boolsk moveClockwise = true;

// 37,5 min = 4096;

// 1 min = 106,7;

// 5 min = 533,3;

// 15 min = 1603;

// 30 min = 3206;

// 60 min = 6412;

int full = 4096;

int halv = full/2; // 2048

float full_time = 6412; // 1 time

flyte halvtid = fulltid/2; // 30 min 3026

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

float one_time = full_time/60; // 1 min 106

float five_time = one_time*5; // 5 min 534,3

float one_sec = one_time/60; // 1 sek 1.78

// vi kan gjøre 30 minutter hver ved å rotere motoren 3206 og tilbakestille

Dette er hovedberegningen for dette prosjektet. Stepper ville ta 4096 trinn for å rotere hele 360 grader, men fordi tannhjulene er større enn tannhjulene som er festet til stepperen, så tar det flere trinn for en full rotasjon. Som spurgiret er hovedkomponenten som spinner hendene. Jeg må utføre forskjellige tester for å sikre at verdiene er riktige.

full_time er variabelen jeg tildelte for en full rotasjon av hånden. Dette er ganske konsistent, men ettersom trinnene blir delt med 2 for å få spesifikk bevegelse, blir flyteverdien mindre, noe som gjorde det vanskeligere for føreren å gjøre jobben sin.

Bevegelsen med klokken = sant; er å få trinnmotoren til å bevege seg med klokken, men fordi den snurrer tannhjulet mot klokken, må vi gjøre den boolske falske i oppsettet. Du kan også erklære det usant i starten, men dette er for å forklare hvordan det fungerer.

ugyldig oppsett () {Serial.begin (9600);

Serial.println ("Klar til å begynne å flytte!");

pos = en_tid; del = 900; forhold = 60;

moveClockwise = false; }

Her erklærer jeg bevegelsen med urviseren boolsk falsk. pos vil være antall trinn, del vil være forsinkelsen, og forholdet er enten for minutt/sek = 60 eller time/min = 12

Vi styrer hendene med Bluetooth -modulen. Først trenger du en seriell Bluetooth -terminal fra Android -enheten din. Koble til Hc-05 med PIN 0000 eller 1234. Du kan bruke en eksempelkode fra Arduino IDE for å se om den fungerer som den skal. Når den er tilkoblet, bør den blinke veldig sakte i stedet for raskt når den ikke er tilkoblet.

void loop () {state = 0;

hvis (Serial.available ()> 0) {

state = Serial.read (); }

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

stepper.step (beveg med urviseren); }

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

stepper_2.step (beveg med klokken); }

forsinkelse (del);

Serial.available ()> 0 er viktig, da det er hvordan Bluetooth -modulen din skal fungere. Denne uttalelsen vil være sann når det er kommunikasjon mellom Arduino og enheten din. Tilstandsvariabelen vil bestemme de 3 andre variablene jeg erklærte som toppen av oppsettet (), den vil også skrive ut hvilken operasjon koden kjører. De to for loop er hovedfunksjonen som driver hvordan trinnmotoren vil bevege seg.

hvis (tilstand == '1') {

pos = en_tid; del = 0; forhold = 12;

Serial.println ("Operasjon 1: Ingen forsinkelse"); }

Dette er et eksempel på hvordan du bruker inngangen fra Bluetooth -enheten til å endre hvordan systemet fungerer. Du kan redigere disse variablene, men du vil kontrollere hendene.

Trinn 7: Demo og konklusjon

Image
Image
Demo og konklusjon
Demo og konklusjon

Dette er en demo av systemet, som viser hvordan det fungerer. For skapet kan du bruke alt som passer til alle komponentene inne. Dette prosjektet var enkelt og morsomt å lage ettersom det er første gang jeg 3D -trykte. Bluetooth -modulen var morsom å finne ut og bruke. Det er noen feil jeg gjorde som var for sent å endre, men sluttproduktet er fint.

Anbefalt: