Kazalo:
- 1. korak: Koncept
- 2. korak: Deli
- 3. korak: Montaža delov
- 4. korak: Knjižnica za Arduino IDE
- 5. korak: Nastavitev tiskalne plošče
- 6. korak: Koda
- 7. korak: Demo in zaključek
Video: Ura: 7 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Ta pouk je bil ustvarjen v skladu z zahtevami projekta Makecourse na Univerzi v Južni Floridi (www.makecourse.com).
1. korak: Koncept
Ko sem poskušal razmišljati o ideji za ta projekt, sem se odločil narediti nekaj, kar bi bilo uporabno in koristno za moje vsakdanje življenje. Ni veliko takih stvari, ki bi lahko zahtevale dve stopnji svobode, zato sem se odločil, da bom naredil preprosto uro, ki bo ustrezala zahtevi, in jo prikazal na mizi, da bo pokazal čas. Prvotno je bila zamisel izdelava ročne ure, toda 3D natisnjeni del bi bil premajhen, motorji, ki poganjajo uro, pa bi bili še vedno preveliki za ročno uro.
Zato sem pri tem projektu po stanovanju našel nadomestne dele in se odločil, da bom delal na tem.
2. korak: Deli
- 3D natisnjeni deli
- 2 28BYJ-48 5V DC koračni motor
- 2 ULN2003 gonilna plošča koračnega motorja
- Arduino Uno
- HC-05 Bluetooth modul
Vse te dele izdelam jaz, razen kazalcev ure. Nisem zelo ustvarjalen. Spodaj je povezava do njenega ustvarjalca.
www.thingiverse.com/thing:1441809
3. korak: Montaža delov
(1)- Gear_1 in 2 morate namestiti na koračne motorje. Tesno se bodo prilegali, zato bodo potrebovali malo sile, da ostanejo na svojem mestu.
(2)- Base_0 bo ostal na dnu sklopa.
(3)- Base_1 bo postavljen na vrh SpurGear_1, to je glavna komponenta za minuto. Ti dve komponenti lahko zlepite skupaj in se prepričajte, da je osnova na vrhu orodja.
(4)- Base_2 bo postavljen na vrh SpurGears_2, to je glavna komponenta kazalca ur. Enako velja za ta del kot korak (3)
(5)- Roke na urah lahko lepite na podlago Base_1 in Base_2 ali pa izvrtate majhno luknjo, da se namestijo.
(6)- Če želite, da se zobnik minutne kazalke ujema z zobnikom, potrebujete 1 cm ploščad, da postavite celoten sklop na vrh z enim od koračnih motorjev.
Razlog za to je, da glavna osnova ne more biti visoka, saj drugi koračni motor ne bi mogel doseči visoke prestave. Kakorkoli, za enega od koračnih motorjev je potrebna platforma.
4. korak: Knjižnica za Arduino IDE
Koda za ta projekt temelji na knjižnici tyhenryja, imenovani CheapStepper.h
github.com/tyhenry/CheapStepper
Če želite namestiti to knjižnico za svoj arduino. Kliknite kloniraj ali prenesite na zgornjo povezavo in jo prenesite kot datoteko zip.
V Arduino IDE. Skica -> Vključi knjižnico -> Dodaj knjižnico. ZIP
Od vseh knjižnic, ki delujejo, je ta najboljši in izjemno enostaven za uporabo s koračnim motorjem.
5. korak: Nastavitev tiskalne plošče
Uporabil sem Arduino ščit, da sem šel s svojim Arduino UNO. Izgleda bolj čisto, vendar lahko dobite majhno ploščo in jo namesto tega namestite na Arduino UNO. Sledite barvi na shemi, saj so nekatere žice ena na drugi. Zatiči 4-7 so za enega koraka, zatiči 8-11 pa za drugi korak.
Modul Bluetooth mora biti priključen RX -> TX in TX -> RX na ploščo Arduino.
Modre žice so povezave med gonilniki in Arduino UNO
Zelene žice so povezave RX in TX
Črne žice so ozemljene.
Rdeče žice so 5V.
6. korak: Koda
Spodaj je koda za ta projekt.
Tu bo razlaga kode.
Steap koraka CheapStepper (8, 9, 10, 11); Poceni korak Stepper_2 (4, 5, 6, 7);
boolean moveClockwise = true;
// 37,5 min = 4096;
// 1 min = 106,7;
// 5 min = 533,3;
// 15 min = 1603;
// 30 min = 3206;
// 60 min = 6412;
int polno = 4096;
int pol = polno/2; // 2048
float full_time = 6412; // 1 ura
float half_time = full_time/2; // 30 min 3026
float five_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 sekunda 1.78
// vsak lahko naredimo 30 minut z vrtenjem motorja 3206 in ponastavitvijo
To je glavni izračun tega projekta. Steper bi potreboval 4096 korakov, da bi se obrnil za 360 stopinj, ker pa so zobniki večji od zobnikov, pritrjenih na steper, je za popolno vrtenje potrebnih več korakov. Ker je zobnik glavna sestavina, ki vrti roke. Moram narediti različne teste, da se prepričam, da so vrednosti pravilne.
full_time je spremenljivka, ki sem jo dodelil za popolno rotacijo roke. To je precej dosledno, a ko se koraki razdelijo na 2, da se doseže določeno gibanje, se vrednost plavajoče vrednosti zmanjša, kar je vozniku otežilo opravljanje dela.
MoveClockwise = true; je, da se koračni motor premika v smeri urinega kazalca, ker pa vrti zobnik v nasprotni smeri urinega kazalca, moramo v nastavitvah narediti logično napako. Na začetku lahko tudi razglasite napačno, vendar to razloži, kako deluje.
void setup () {Serial.begin (9600);
Serial.println ("Pripravljen za začetek premikanja!");
pos = enkrat_krat; del = 900; razmerje = 60;
moveClockwise = false; }
Tukaj razglasim boolean moveClockwise false. pos bo število korakov, del bo zakasnitev, razmerje pa je za minute/s = 60 ali uro/min = 12
Roke nadzorujemo z modulom Bluetooth. Najprej potrebujete serijski terminal Bluetooth iz naprave Android. Povežite se s Hc-05 s kodo PIN 0000 ali 1234. Uporabite lahko nekaj vzorčne kode iz Arduino IDE, da preverite, ali deluje pravilno. Ko je priključen, mora utripati zelo počasi in ne hitro, ko ni povezan.
void loop () {stanje = 0;
if (Serial.available ()> 0) {
stanje = Serial.read (); }
za (float s = 0; s <(pos); s ++) {
stepper.step (moveClockwise); }
za (float s = 0; s <(pos/razmerje); s ++) {
stepper_2.step (premakni se v smeri urinega kazalca); }
zamuda (del);
Serial.available ()> 0 je pomembno, saj vpliva na način delovanja vašega modula Bluetooth. Ta izjava if bo resnična, če obstaja komunikacija med Arduinom in vašo napravo. Spremenljivka stanja bo določila 3 druge spremenljivke, ki sem jih označil za vrh nastavitve (), natisnila pa bo tudi, katero operacijo koda izvaja. Zanka for for je glavna funkcija, ki poganja gibanje koračnega motorja.
if (stanje == '1') {
pos = enkrat_krat; del = 0; razmerje = 12;
Serial.println ("Operacija 1: Brez zamude"); }
To je en primer uporabe vhoda iz naprave Bluetooth za spreminjanje delovanja sistema. Te spremenljivke lahko urejate, vendar želite nadzirati roke.
7. korak: Demo in zaključek
To je predstavitev sistema, ki prikazuje, kako deluje. Za ohišje lahko uporabite vse, kar ustreza vsem sestavnim delom v notranjosti. Ta projekt je bil preprost in zabaven, saj sem prvič natisnil 3D. Modul Bluetooth je bilo zabavno ugotoviti in uporabljati. Naredil sem nekaj napak, ki so bile prepozne za spremembo, vendar je končni izdelek v redu.
Priporočena:
Ura za upokojitev / štetje navzgor / ura Dn: 4 koraki (s slikami)
Ura za upokojitev / Odštevanje / Ura Dn: Nekaj teh 8-palčnih LED matričnih zaslonov 8x8 sem imel v predalu in razmišljal, kaj bi z njimi. Navdihnjen z drugimi navodili sem dobil idejo, da bi sestavil zaslon za odštevanje/navzgor za odštevanje do prihodnjega datuma/časa in če je ciljni čas p
ESP8266 Omrežna ura brez RTC - Nodemcu NTP Ura brez RTC - PROJEKT INTERNETNE URE: 4 koraki
ESP8266 Omrežna ura brez RTC | Nodemcu NTP Ura brez RTC | PROJEKT INTERNETNE URE: V projektu bo izdelan projekt ure brez RTC, vzelo si bo čas za internet z uporabo WiFi in ga bo prikazal na zaslonu st7735
C51 4 -bitna elektronska ura - lesena ura: 15 korakov (s slikami)
C51 4 -bitna elektronska ura - lesena ura: ta vikend sem imel nekaj prostega časa, zato sem šel naprej in sestavil to 4 -bitno elektronsko digitalno uro za 2,40 USD, ki sem jo pred časom kupil pri AliExpressu
Ura Gixie: Najlepša ura s sijočo cevjo: 4 koraki
Ura Gixie: Najlepša ura s svetlečo cevko: Nixie Tube mi je zelo všeč, vendar je predraga, tega si ne morem privoščiti. Tako sem pol leta ustvarjal to uro Gixie. Ura Gixie je dosežena z osvetlitvijo ws2812 za izdelavo akrilne svetlobe. Potrudim se, da bi bila cev RGB tanjša
M-ura Miniaturna večmodna ura: 11 korakov
M-ura Miniaturna večmodna ura: minimalistična ura? Ura z več načini? Matrix Clock? To je projekt z več načini ure, ki temelji na MSP430G2432. Lahko ga sestavite brez spajkanja in minimalne uporabe orodja. Z omejeno ločljivostjo zaslona 8x8 slikovnih pik ta 12 -urna ura prikazuje čas