Përmbajtje:

Sahati: 7 hapa
Sahati: 7 hapa

Video: Sahati: 7 hapa

Video: Sahati: 7 hapa
Video: PIKOTARO - PPAP (Pen Pineapple Apple Pen) (Long Version) (Official Video) [Ultra Records] 2024, Nëntor
Anonim
Punim i orës
Punim i orës

Ky udhëzues u krijua në përmbushje të kërkesës së projektit të Makecourse në Universitetin e Floridës së Jugut (www.makecourse.com).

Hapi 1: Koncepti

Ndërsa përpiqem të krijoj ide për një ide për këtë projekt, vendosa të bëj diçka që është e përdorshme dhe e dobishme për jetën time të përditshme. Jo shumë gjëra të tilla mund të kenë dy shkallë të kërkesës për liri, kështu që vendosa të bëj një orë të thjeshtë për të përmbushur kërkesën, si dhe ta shfaq atë në tryezën time për të treguar kohën. Fillimisht ideja ishte të bësh një orë dore, por pjesa e printuar 3D do të ishte shumë e vogël dhe motorët që drejtojnë orën do të ishin akoma shumë të mëdhenj për një orë dore.

Prandaj ky projekt, gjeta pjesë këmbimi rreth banesës sime dhe vendosa të punoja në këtë.

Hapi 2: Pjesët

- Pjesë të printuara 3D

- 2 Stepper Motor 28BYJ-48 5V DC

- 2 ULN2003 Stepper Motor Driver Board

- Arduino Uno

- Moduli Bluetooth HC-05

Të gjitha këto pjesë janë bërë nga unë përveç akrepave të orës. Unë nuk jam shumë krijues. Më poshtë është lidhja me krijuesin e saj.

www.thingiverse.com/thing:1441809

Hapi 3: Montimi i Pjesëve

Asambleja e Pjesëve
Asambleja e Pjesëve

(1)- Ju duhet të vendosni Gear_1 dhe 2 në motorët stepper. Ata do të përshtaten fort, kështu që nevojitet pak forcë që ata të qëndrojnë në vend.

(2)- Baza_0 do të qëndrojë në fund të asamblesë.

(3)- Base_1 do të vendoset në krye të SpurGear_1, ky është përbërësi kryesor për dorëshkrimin. Ju mund t'i ngjitni këto dy përbërës së bashku, sigurohuni që baza të jetë në majë të ingranazhit.

(4)- Baza_2 do të vendoset në krye të SpurGears_2, ky është komponenti kryesor për orën. E njëjta vlen edhe për këtë pjesë si hapi (3)

(5)- Duart e orëve mund të ngjiten në majë të Base_1 dhe Base_2, ose mund të shponi një vrimë të vogël për t'i vendosur ato në vend.

(6)- Që ingranazhi i dorës së minutës të përputhet me ingranazhin nxitës, ju nevojitet një platformë 1 cm për të vendosur të gjithë montimin në krye me një nga motorët stepper.

Arsyeja për këtë është sepse baza kryesore nuk mund të jetë e lartë pasi motori tjetër stepper nuk do të jetë në gjendje të arrijë shpejtësinë e lartë. Sido që të jetë, nevojitet një platformë për njërin nga motorët stepper.

Hapi 4: Biblioteka për Arduino IDE

Kodi për këtë projekt bazohet në një bibliotekë nga Tyhenry të quajtur CheapStepper.h

github.com/tyhenry/CheapStepper

Për të instaluar këtë bibliotekë për arduino tuaj. Klikoni në klon ose shkarkoni në lidhjen e mësipërme dhe shkarkojeni si një skedar zip.

Në Arduino IDE. Skica -> Përfshi Bibliotekën -> Shto Bibliotekën. ZIP

Nga e gjithë biblioteka që funksionon, kjo përdori motorin stepper më të mirën dhe jashtëzakonisht të lehtë për t'u përdorur.

Hapi 5: Konfigurimi i tabelës së bukës

Konfigurimi i tabelës së bukës
Konfigurimi i tabelës së bukës
Konfigurimi i tabelës së bukës
Konfigurimi i tabelës së bukës

Kam përdorur një mburojë Arduino për të shkuar me Arduino UNO tim. Duket më e pastër, por mund të merrni një pjatë të vogël dhe ta vendosni në krye të Arduino UNO. Ndiqni ngjyrën në skemë pasi disa tela janë njëra mbi tjetrën. Kunjat 4-7 janë për njërin hapës dhe kunjat 8-11 janë për hapin e dytë.

Moduli Bluetooth duhet të lidhet RX -> TX dhe TX -> RX në bordin Arduino.

Telat blu janë lidhje nga Shoferët me Arduino UNO

Telat e gjelbër janë lidhjet RX dhe TX

Telat e zeza janë tokëzuar.

Telat e kuq janë 5V.

Hapi 6: Kodi

Më poshtë është kodi për këtë projekt.

Shpjegimi i kodit do të jetë këtu.

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

boolean moveCrollwise = true;

//37.5 min = 4096;

// 1 min = 106.7;

// 5 min = 533.3;

// 15 min = 1603;

// 30 min = 3206;

// 60 min = 6412;

int i plotë = 4096;

int gjysma = e plotë/2; // 2048

noton me kohë të plotë = 6412; // 1 orë

noton gjysmë_koha = kohë e plotë/2; // 30 min 3026

noton Five_time = gjysmë_kohe/2; // 15 min 1603

noton një_ kohë = kohë të plotë/60; // 1 min 106

noto pesë_ kohë = një_ kohë*5; // 5 min 534.3

noton një_sek = një_kohe/60; // 1 sek 1.78

// ne mund të bëjmë 30 min secila duke rrotulluar motorin 3206 dhe rivendosur

Kjo është llogaritja kryesore për këtë projekt. Hapi do të marrë 4096 hapa për të rrotulluar një shkallë të plotë 360, por për shkak se ingranazhet nxitëse janë më të mëdha se ingranazhet e lidhura me hapin, kështu që duhen më shumë hapa për një rrotullim të plotë. Ndërsa ingranazhi nxitës është përbërësi kryesor që rrotullojë duart. Më duhet të bëj testime të ndryshme për t'u siguruar që vlerat janë të sakta.

koha e plotë është ndryshorja që kam caktuar për një rrotullim të plotë të dorës. Kjo është mjaft e qëndrueshme, por ndërsa hapat ndahen me 2 për të marrë lëvizje specifike, vlera e notit bëhet më e vogël, gjë që e bëri më të vështirë për shoferin të bëjë punën e tij.

Lëvizja në drejtim të akrepave të orës = e vërtetë; është që ta bëjmë motorin stepper të lëvizë në drejtim të akrepave të orës, por për shkak se po rrotullon ingranazhin në drejtim të kundërt, ne duhet ta bëjmë boolean false në konfigurim. Ju gjithashtu mund ta deklaroni atë të rremë në fillim, por kjo është për të shpjeguar se si funksionon.

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

Serial.println ("Gati për të filluar lëvizjen!");

pos = një_ kohë; del = 900; raport = 60;

moveClockwise = false; }

Këtu e deklaroj veprimin boolean të lëvizjes në drejtim të akrepave të orës të rreme. pos do të jetë numri i hapave, del do të jetë vonesa, dhe raporti është ose për minutë/sek = 60 ose orë/min = 12

Ne kontrollojmë duart me modulin Bluetooth. Së pari, keni nevojë për një terminal Bluetooth serik nga pajisja juaj Android. Lidhuni me Hc-05 me PIN 0000 ose 1234. Mund të përdorni një shembull shembull të kodit nga Arduino IDE për të parë nëse po punon si duhet. Kur lidhet, ai duhet të vezullojë shumë ngadalë në vend që të jetë i shpejtë kur nuk është i lidhur.

lak void () {gjendja = 0;

nëse (Seriali i disponueshëm ()> 0) {

gjendja = Serial.read (); }

për (float s = 0; s <(pos); s ++) {

stepper.step (lëviz në drejtim të akrepave të orës); }

për (float s = 0; s <(pos/ratio); s ++) {

stepper_2.step (lëviz në drejtim të akrepave të orës); }

vonesë (del);

Serial.available ()> 0 është e rëndësishme pasi është se si do të funksionojë moduli juaj Bluetooth. Kjo deklaratë nëse do të jetë e vërtetë kur ka komunikime midis Arduino dhe pajisjes tuaj. Variabli i gjendjes do të përcaktojë 3 variablat e tjerë që i deklarova në krye të konfigurimit (), gjithashtu do të printojë se çfarë operacioni po ekzekuton kodi. Dy për lak është funksioni kryesor që drejton se si motori hap do të lëvizë.

nëse (gjendja == '1') {

pos = një_ kohë; del = 0; raporti = 12;

Serial.println ("Operacioni 1: Pa Vonesë"); }

Ky është një shembull i përdorimit të hyrjes nga pajisja juaj Bluetooth për të ndryshuar mënyrën e funksionimit të sistemit. Ju mund t'i modifikoni këto ndryshore sido që të dëshironi të kontrolloni duart.

Hapi 7: Demo dhe Përfundim

Image
Image
Demo dhe Përfundim
Demo dhe Përfundim

Kjo është një demonstrim i sistemit, duke treguar se si funksionon. Për rrethimin mund të përdorni çdo gjë që do t'i përshtatet të gjithë përbërësve brenda. Ky projekt ishte i thjeshtë dhe argëtues për tu bërë pasi është hera e parë që kam printuar 3D. Moduli Bluetooth ishte argëtues për tu kuptuar dhe përdorur. Ka disa gabime që kam bërë dhe ishte vonë për të ndryshuar, por produkti përfundimtar është mirë.

Recommended: