Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-23 15:10
ato video po bëjnë video dhe video lëvizëse.
Ne donim të tregonim hapësirën që lëkundet përmes rrjetave lëvizëse dhe Pasqyra e Pafundësisë për të treguar ndjenjën e hapësirës në mënyrë më efektive.
Puna jonë përbëhet nga dy pllaka akrilike, pjesa e përparme dhe e pasme, të cilat u tregojnë njerëzve mënyrën se si ata po trazojnë drejtpërdrejt, dhe pllakat e pasme kanë motorë me 25 hapa që në të vërtetë prodhojnë lëvizje.
Puna përbëhet nga një panel i përparmë që do të tregojë shkëlqimet e hapësirës, një shkop druri që ekzekuton lëvizjen e mesme, një udhëzues për shufrat dhe një tabelë që krijon lëvizje përmes motorëve me 25 hapa.
25 majat e rrjetit të lidhur me motorët me 25 hapa prodhojnë modele të ndryshme sipas vlerave të përcaktuara të kodimit. Për më tepër, kompania donte të maksimizonte hapësirën duke kombinuar akrilik transparent me film para gjysmë pasqyre, pasqyrë të pasme dhe pasqyrë Infinity me dritë të zezë. Modele të ndryshme të animacionit janë bërë në bazë të valëve dhe drabs që janë bërë në bazë të valëve të ujit.
Furnizimet
Furnizimet
1. UV LED 12V 840cm
2. Ruber i bardhë 12mm 750cm
3. Arduino mega 2560 x2
4. Drejtuesi i motorit x25
5. Motori i hapit x25
6. Kabllo bipolare për motor stepper x25
7. Cilindër druri x25
8.pvc (9mm) x25
9. Pranvera x 25
10. akrilik 700mm*700mm
11. Filmi gjysmë pasqyre 1524mm * 1M
12. Linja e peshkimit
13. Fuqia 12V 12.5A, 12V 75A
14. rrotull i kohës (print 3d) x 25
Hapi 1: Planifikoni një kornizë të madhe
Kur fillojmë, duhet të planifikojmë dhe vizatojmë një kornizë të madhe. kështu, ne përgatitëm një skedar pdf për kornizën e përgjithshme akrilike dhe skedarin e rrotullës së kohës (çfarë i vendosëm para motorit hap për fijen e erës që mund të tërheqë një shufër prej druri të mesëm).
me kornizën e përgjithshme akrilike dhe rrotullën e kohës, ne duhet të bëjmë skedarin stl së pari dhe printim 3d.
Hapi 2: Krijimi i pajisjeve
kuti 1
1. Vendoseni 2T të zezë akrilike (Nr. 1) në dysheme dhe bashkojeni anën e zezë akrilike 5T (Nr. 2) në krye. Shtoni rrjetën akrilike të zezë 5T (Nr. 3) dhe bashkojeni duke përdorur lidhjen akrilike.
kuti2
2. Spërkatni ujë në pjatë akrilike transparente dhe sipër me film gjysmë pasqyre. Një gjysmë pasqyre rrotullon një kartë për ta mbajtur atë nga flluskat. Bashkangjitni anën (2) dhe transparencën akrilike (1). Mos i siguroni dalja e kombinuar akrilike dhe pasqyrat akrilike (Nr. 1) anash. Rregulloni përkohësisht atë me shirit (për riparim nga vija e peshkimit ose rinovoni brendësinë).
Hapi 3: Bërja e Rrjetit
1. Një kolonë druri është me madhësi 12mm. Shponi një vrimë në fund për të lejuar që linja e peshkimit të hyjë.
2. Bashkangjitni pllakat akrilike në anën tjetër të një kolone druri të shpuar duke përdorur ngjitës.
3. Vendosni një brez gome në pjesën e pasme të një shtylle druri dhe vendosni një sustë në të.
4. Forma e përgjithshme
Hapi 4:
1. Numri i Lidhjes Arduino Mega 2560 Pin
2. ndani energjinë elektrike në dy pjesë
3. Qarku i motorit hapës dhe drejtuesi i motorit
4. Dy mega2560 Arduino janë të lidhura duke kaluar TX dhe RX për komunikim serik.
Hapi 5: Kodi
#përfshi
StepperMe shumë stepper (200, 2, 3, 4, 5); // numërimi i motorit stepper StepperMulti stepper2 (200, 6, 7, 8, 9); StepperMulti stepper3 (200, 10, 11, 12, 13); StepperMulti stepper4 (200, A0, A1, A2, A3); StepperMulti stepper5 (200, A4, A5, A6, A7); StepperMulti stepper6 (200, 22, 23, 24, 25); StepperMulti stepper7 (200, 26, 27, 28, 29); StepperMulti stepper8 (200, 30, 31, 32, 33); StepperMulti stepper9 (200, 34, 35, 36, 37); StepperMulti stepper10 (200, 38, 39, 40, 41); StepperMulti stepper11 (200, 42, 43, 44, 45); StepperMulti stepper12 (200, 46, 47, 48, 49); StepperMulti stepper13 (200, 50, 51, 52, 53); uint32_t on_timer = millis (); uint32_t set_timer1 = milis (); uint32_t set_timer2 = milis (); uint32_t set_timer3 = milis (); uint32_t set_timer4 = milis (); uint32_t set_timer5 = milis (); uint32_t set_timer6 = milis (); uint32_t set_timer7 = milis (); uint32_t set_timer8 = milis (); uint32_t set_timer9 = milis (); uint32_t set_timer10 = milis (); int numërimi = 0; int init_set_speed
void setup ()
Serial1.fill (115200); // komunikimi serik Serial.filloj (9600); stepper.setSpeed (init_set_speed); stepper2.setSpeed (init_set_speed); stepper3.setSpeed (init_set_speed); stepper4.setSpeed (init_set_speed); stepper5.setSpeed (init_set_speed); stepper6.setSpeed (init_set_speed); stepper7.setSpeed (init_set_speed); stepper8.setSpeed (init_set_speed); stepper9.setSpeed (init_set_speed); stepper10.setSpeed (init_set_speed); stepper11.setSpeed (init_set_speed); stepper12.setSpeed (init_set_speed); stepper13.setSpeed (init_set_speed); } int SPEED = 200; // shpejtësia e motorit zbraz lak () {////////////////////////////////////// (millis () - set_timer1 <6000) {// Stepper motor 13 lëviz midis 1500 dhe 6000 sekonda. <if (millis () - on_timer <1500) {stepper13.setStep (SPEED); } tjetër if (millis () - on_timer <3000) {stepper13.setStep (-SPEED); // (- SPEED) do të thotë rrotullim i kundërt} tjetër nëse (millis () - on_timer <4500) {stepper13.setStep (SPEED); } tjetër if (millis () - on_timer 1000) {Serial1.write (0x01); numërimi = 1; }} //////////////////////// nëse (millis () - set_timer2 1000) {if (millis () - on_timer <2500) {stepper7.setStep (SHPEJTSIA); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper12.setStep (SPEED); } tjetër if (millis () - on_timer <4000) {stepper7.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper12.setStep (-SPEED); } tjetër if (millis () - on_timer <5500) {stepper7.setStep (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper12.setStep (SPEED); } tjetër if (millis () - on_timer <7000) {stepper7.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper12.setStep (-SPEED); } else {stepper7.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper12.setStep (0); }} else {stepper7.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper12.setStep (0); } if (millis () - set_timer2 1000) {if (millis () - on_timer <2500) {stepper2.setStep (SPEED); stepper5.setStep (-SPEED); stepper6.setStep (SPEED); stepper7.setStep (SPEED); } tjetër if (millis () - on_timer <4000) {stepper2.setStep (-SPEED); stepper5.setStep (SPEED); stepper6.setStep (-SPEED); stepper7.setStep (-SPEED); } tjetër if (millis () - on_timer <5500) {stepper2.setStep (SPEED); stepper5.setStep (-SPEED); stepper6.setStep (SPEED); stepper7.setStep (SPEED); } tjetër if (millis () - on_timer <7000) {stepper2.setStep (-SPEED); stepper5.setStep (SPEED); stepper6.setStep (-SPEED); stepper7.setStep (-SPEED); } else {stepper2.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper7.setStep (0); }} else {stepper2.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper7.setStep (0); } //////////////////////////////////////////////// nëse (millis () - set_timer3 2000) {if (millis () - on_timer <3500) {stepper.setStep (SPEED); stepper2.setStep (SPEED); stepper3.setStep (SPEED); stepper4.setStep (SPEED); stepper5.setStep (SPEED); stepper6.setStep (SPEED); stepper10.setStep (SPEED); stepper11.setStep (SPEED); } tjetër if (millis () - on_timer <5000) {stepper.setStep (-SPEED); stepper2.setStep (-SPEED); stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); stepper5.setStep (-SPEED); stepper6.setStep (-SPEED); stepper10.setStep (-SPEED); stepper11.setStep (-SPEED); } tjetër if (millis () - on_timer <6500) {stepper.setStep (SPEED); stepper2.setStep (SPEED); stepper3.setStep (SPEED); stepper4.setStep (SPEED); stepper5.setStep (SPEED); stepper6.setStep (SPEED); stepper10.setStep (SPEED); stepper11.setStep (SPEED); } tjetër if (millis () - on_timer <8000) {stepper.setStep (-SPEED); stepper2.setStep (-SPEED); stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); stepper5.setStep (-SPEED); stepper6.setStep (-SPEED); stepper10.setStep (-SPEED); stepper11.setStep (-SPEED); } else {stepper.setStep (0); stepper2.setStep (0); stepper3.setStep (0); stepper4.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper10.setStep (0); stepper11.setStep (0); }} else {stepper.setStep (0); stepper2.setStep (0); stepper3.setStep (0); stepper4.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper10.setStep (0); stepper11.setStep (0); } if (millis () - set_timer3 2000) {if (millis () - on_timer <3500) {stepper3.setStep (SPEED); stepper4.setStep (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper10.setStep (SPEED); stepper11.setStep (SPEED); stepper12.setStep (SPEED); stepper13.setStep (SPEED); } tjetër if (millis () - on_timer <5000) {stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper10.setStep (-SPEED); stepper11.setStep (-SPEED); stepper12.setStep (-SPEED); stepper13.setStep (-SPEED); } tjetër if (millis () - on_timer <6500) {stepper3.setStep (SPEED); stepper4.setStep (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper10.setStep (SPEED); stepper11.setStep (SPEED); stepper12.setStep (SPEED); stepper13.setStep (SPEED); } tjetër if (millis () - on_timer <8000) {stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper10.setStep (-SPEED); stepper11.setStep (-SPEED); stepper12.setStep (-SPEED); stepper13.setStep (-SPEED); } else {stepper3.setStep (0); stepper4.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper10.setStep (0); stepper11.setStep (0); stepper12.setStep (0); stepper13.setStep (0); }} else {stepper3.setStep (0); stepper4.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper10.setStep (0); stepper11.setStep (0); stepper12.setStep (0); stepper13.setStep (0); } ///////////////////////////////// stepper.moveStep (); stepper2.moveHapi (); stepper3.moveStep (); stepper4.moveHapi (); stepper5.moveStep (); stepper6.moveHapi (); stepper7.moveHapi (); stepper8.moveHapi (); stepper9.moveStep (); stepper10.moveStep (); stepper11.moveStep (); stepper12.moveStep (); stepper13.moveStep (); }
kodimi i parë
dhe..
#përfshi
StepperMe shumë stepper (200, 2, 3, 4, 5); StepperMulti stepper2 (200, 6, 7, 8, 9); StepperMulti stepper3 (200, 10, 11, 12, 13); StepperMulti stepper4 (200, A0, A1, A2, A3); StepperMulti stepper5 (200, A4, A5, A6, A7); StepperMulti stepper6 (200, 22, 23, 24, 25); StepperMulti stepper7 (200, 26, 27, 28, 29); StepperMulti stepper8 (200, 30, 31, 32, 33); StepperMulti stepper9 (200, 34, 35, 36, 37); StepperMulti stepper10 (200, 38, 39, 40, 41); StepperMulti stepper11 (200, 42, 43, 44, 45); StepperMulti stepper12 (200, 46, 47, 48, 49); StepperMulti stepper13 (200, 50, 51, 52, 53); uint32_t on_timer = millis (); uint32_t set_timer1 = milis (); uint32_t set_timer2 = milis (); uint32_t set_timer3 = milis (); uint32_t set_timer4 = milis (); uint32_t set_timer5 = milis (); uint32_t set_timer6 = milis (); uint32_t set_timer7 = milis (); uint32_t set_timer8 = milis (); uint32_t set_timer9 = milis (); uint32_t set_timer10 = milis (); int numërimi = 0; int init_set_speed = 10; void setup () Serial1.begin (115200); Serial.filloj (9600); stepper.setSpeed (init_set_speed); stepper2.setSpeed (init_set_speed); stepper3.setSpeed (init_set_speed); stepper4.setSpeed (init_set_speed); stepper5.setSpeed (init_set_speed); stepper6.setSpeed (init_set_speed); stepper7.setSpeed (init_set_speed); stepper8.setSpeed (init_set_speed); stepper9.setSpeed (init_set_speed); stepper10.setSpeed (init_set_speed); stepper11.setSpeed (init_set_speed); stepper12.setSpeed (init_set_speed); stepper13.setSpeed (init_set_speed); } int SPEED = 200; lak void () {
/////////////////////////////////////
if (millis () - set_timer1 <6000) {if (millis () - on_timer <1500) {stepper13.setStep (SPEED); } tjetër if (millis () - on_timer <3000) {stepper13.setStep (-SPEED); } tjetër if (millis () - on_timer <4500) {stepper13.setStep (SPEED); } tjetër if (millis () - on_timer 1000) {Serial1.write (0x01); numërimi = 1; }} //////////////////////// nëse (millis () - set_timer2 1000) {if (millis () - on_timer <2500) {stepper7.setSte ㄴ f (SHPEJTSIA); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper12.setStep (SPEED); } tjetër if (millis () - on_timer <4000) {stepper7.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper12.setStep (-SPEED); } tjetër if (millis () - on_timer <5500) {stepper7.setStep (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper12.setStep (SPEED); } tjetër if (millis () - on_timer <7000) {stepper7.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper12.setStep (-SPEED); } else {stepper7.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper12.setStep (0); }} else {stepper7.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper12.setStep (0); } if (millis () - set_timer2 1000) {if (millis () - on_timer <2500) {stepper2.setStep (SPEED); stepper5.setStep (-SPEED); stepper6.setStep (SPEED); stepper7.setStep (SPEED); } tjetër if (millis () - on_timer <4000) {stepper2.setStep (-SPEED); stepper5.setStep (SPEED); stepper6.setStep (-SPEED); stepper7.setStep (-SPEED); } tjetër if (millis () - on_timer <5500) {stepper2.setStep (SPEED); stepper5.setStep (-SPEED); stepper6.setStep (SPEED); stepper7.setStep (SPEED); } tjetër if (millis () - on_timer <7000) {stepper2.setStep (-SPEED); stepper5.setStep (SPEED); stepper6.setStep (-SPEED); stepper7.setStep (-SPEED); } else {stepper2.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper7.setStep (0); }} else {stepper2.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper7.setStep (0); } //////////////////////////////////////////////// nëse (millis () - set_timer3 2000) {if (millis () - on_timer <3500) {stepper.setStep (SPEED); stepper2.setStep (SPEED); stepper3.setStep (SPEED); stepper4.setStep (SPEED); stepper5.setStep (SPEED); stepper6.setStep (SPEED); stepper10.setStep (SPEED); stepper11.setStep (SPEED); } tjetër if (millis () - on_timer <5000) {stepper.setStep (-SPEED); stepper2.setStep (-SPEED); stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); stepper5.setStep (-SPEED); stepper6.setStep (-SPEED); stepper10.setStep (-SPEED); stepper11.setStep (-SPEED); } tjetër if (millis () - on_timer <6500) {stepper.setStep (SPEED); stepper2.setStep (SPEED); stepper3.setStep (SPEED); stepper4.setStep (SPEED); stepper5.setStep (SPEED); stepper6.setStep (SPEED); stepper10.setStep (SPEED); stepper11.setStep (SPEED); } tjetër if (millis () - on_timer <8000) {stepper.setStep (-SPEED); stepper2.setStep (-SPEED); stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); stepper5.setStep (-SPEED); stepper6.setStep (-SPEED); stepper10.setStep (-SPEED); stepper11.setStep (-SPEED); } else {stepper.setStep (0); stepper2.setStep (0); stepper3.setStep (0); stepper4.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper10.setStep (0); stepper11.setStep (0); }} else {stepper.setStep (0); stepper2.setStep (0); stepper3.setStep (0); stepper4.setStep (0); stepper5.setStep (0); stepper6.setStep (0); stepper10.setStep (0); stepper11.setStep (0); } if (millis () - set_timer3 2000) {if (millis () - on_timer <3500) {stepper3.setStep (SPEED); stepper4.setStep (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper10.setStep (SPEED); stepper11.setStep (SPEED); stepper12.setStep (SPEED); stepper13.setStep (SPEED); } tjetër if (millis () - on_timer <5000) {stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper10.setStep (-SPEED); stepper11.setStep (-SPEED); stepper12.setStep (-SPEED); stepper13.setStep (-SPEED); } tjetër if (millis () - on_timer <6500) {stepper3.setStep (SPEED); stepper4.setStep (SPEED); stepper8.setStep (SPEED); stepper9.setStep (SPEED); stepper10.setStep (SPEED); stepper11.setStep (SPEED); stepper12.setStep (SPEED); stepper13.setStep (SPEED); } tjetër if (millis () - on_timer <8000) {stepper3.setStep (-SPEED); stepper4.setStep (-SPEED); stepper8.setStep (-SPEED); stepper9.setStep (-SPEED); stepper10.setStep (-SPEED); stepper11.setStep (-SPEED); stepper12.setStep (-SPEED); stepper13.setStep (-SPEED); } else {stepper3.setStep (0); stepper4.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper10.setStep (0); stepper11.setStep (0); stepper12.setStep (0); stepper13.setStep (0); }} else {stepper3.setStep (0); stepper4.setStep (0); stepper8.setStep (0); stepper9.setStep (0); stepper10.setStep (0); stepper11.setStep (0); stepper12.setStep (0); stepper13.setStep (0); } ///////////////////////////////// stepper.moveStep (); stepper2.moveHapi (); stepper3.moveStep (); stepper4.moveHapi (); stepper5.moveStep (); stepper6.moveHapi (); stepper7.moveHapi (); stepper8.moveHapi (); stepper9.moveStep (); stepper10.moveStep (); stepper11.moveStep (); stepper12.moveStep (); stepper13.moveStep (); }
kodimi i dytë
Hapi 6: Para Kodimit…
Duhet të shtoni një bibliotekë të re që lidhet me motorët me hapa.
Kështu që ju shkoni në këtë faqe dhe shkarkoni një bibliotekë të re.
blog.danggun.net/2092
Hapi 7: Komunikimi Serial
Duhet të bëni dy mega-telekomunikacione arduino.
nëse (fillimi_ numërimi == 0) {
int Të dhënat = Serial1.read (); Serial.println (Të dhënat); nëse (Të dhënat == 0x01) {fillimi_ numërimi = 1; }
Para së gjithash, ne kemi nevojë për këtë kodim në Maine Arduino Mega.
if (count == 0) {if (millis () - set_timer1> 1000) {Serial1.write (0x01); numërimi = 1; }
Arduino Mega, i cili merr komunikime serike, ka nevojë për këtë kodim.
Kodimi i parë vendoset aty ku aduino e dytë duhet të lëvizë.
Recommended:
Pasqyrë e pafundësisë Me sensorin LCD dhe IR: 5 hapa
Pasqyra e pafundësisë me sensorin LCD dhe IR: Ky projekt do t'ju tregojë se si mund të bëni një pasqyrë të pafundësisë. Koncepti themelor është që LED -të që janë në pasqyrë krijojnë dritë e cila kthehet nga pasqyra e pasme në pasqyrën e përparme ku del pak dritë në mënyrë që të shohim brenda dhe kështu
Bëni një pasqyrë të pafundësisë së dyfishtë të desktopit: 14 hapa (me fotografi)
Bëni një pasqyrë pafundësie me dy anë dhe desktop: Shumica e pasqyrave të pafundësisë që kam parë janë të njëanshme, por unë doja të ndërtoja një pak më ndryshe. Ky do të jetë i dyanshëm dhe i dizajnuar në mënyrë që të mund të shfaqet në një desktop ose një raft. It'sshtë një projekt i lehtë, shumë i lezetshëm për tu realizuar!
Bëni një kub pasqyre të pafundësisë: 12 hapa (me fotografi)
Bëni një kub pasqyre të pafundësisë: Ndërsa po kërkoja informacione kur bëja pasqyrën time të parë të pafundësisë, hasa në disa imazhe dhe video të kubeve të pafundësisë, dhe patjetër që doja të bëja një nga të miat. Gjëja kryesore që më pengonte ishte se doja ta bëja ndryshe
Bëni një pasqyrë shumëngjyrëshe të pafundësisë: 12 hapa (me fotografi)
Bëni një pasqyrë shumëngjyrëshe të pafundësisë: Në udhëzimin tim të fundit, bëra një pasqyrë të pafundësisë me drita të bardha. Këtë herë do të bëj një me drita shumëngjyrëshe, duke përdorur një shirit LED me LED të adresueshëm. Unë do të ndjek shumë nga të njëjtat hapa nga ai udhëzues i fundit, kështu që nuk jam
Pasqyrë interaktive e pafundësisë: 9 hapa (me fotografi)
Pasqyra Interaktive e Pafundësisë: Detyra për këtë klasë ishte e thjeshtë por e komplikuar: Bëni diçka interaktive me një Arduino. Duhej të ishte i dizajnuar mirë, teknikisht mjaft sfidues dhe origjinal për aq sa idetë origjinale shkojnë këto ditë në faqe si Instructables. Nga