Turinys:
- 1 žingsnis: Ingredientai
- 2 žingsnis: „Arduino“kūrimas
- 3 žingsnis: „Arduino“kodavimas
- 4 žingsnis: pasirinktinai: LCD ekranas
- 5 žingsnis: spausdintos dalys
- 6 žingsnis: vieta
Video: Šviesos valdomas žingsninis variklis + sieninis laikiklis/stovas: 6 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Šis stovas naudojamas „Arduino“valdomam žingsniniam varikliui, skirtam automatiškai valdyti užuolaidą pagal šviesos lygį kambaryje. Taip pat galite pridėti LCD ekraną, kad išspausdintumėte šviesos lygį. 3D pavara skirta tik demonstravimui, tikros pavaros gali prireikti praktiniam pritaikymui, pavyzdžiui, uždangai, bet ir bet kokiai kitai programai, apie kurią galite pagalvoti.
1 žingsnis: Ingredientai
Norėdami pradėti šį projektą, jums reikės;
- 2 „Arduino“mikroschemų rinkiniai- „Arduino“variklio skydas- „Arduino“skystųjų kristalų ekranas- 1 duonos lenta- 1 dviejų polių žingsninis variklis- 1 D baterija- 1 nuo šviesos priklausomas rezistorius- 1 10k Ω rezistorius- 10 laidų- 6 moterų laidai- Prieiga prie 3D spausdintuvo
2 žingsnis: „Arduino“kūrimas
Pirmiausia sulygiuokite variklio skydą su „Arduino“kaiščiais ir, kai jie bus išdėstyti, tvirtai padėkite. Tada prijunkite žingsninio variklio laidus prie variklio skydo 8, 9, 10 ir 11 kaiščių. Po to prijunkite D bateriją prie angų, kaip parodyta diagramoje. Toliau norėsite gauti 6 laidus (nuo vyrų iki moterų) LCD ekraną ir prijunkite juos prie kito „Arduino“įrenginio, kaip parodyta grandinės schemoje. Tada nustatykite LDR, kaip parodyta aukščiau, rezistoriui prijungus prie neigiamos eilutės. Pridėdami LDR, prie šono su rezistoriumi pridėkite prie A0 jungčių ir priešingoje pusėje pridėkite 1 5 V įvestį prie kiekvienos naudojamos plokštės, taigi, jei naudojate 2 plokštes, norėsite, kad kiekviena iš jų turėtų 5V ir A0 kaiščius, einančius į LDR.
Prijunkite visus laidus taip, kaip parodyta diagramoje- 2 įėjimai į LDR- 2 išėjimai iš LDR ir rezistorius, jungiantis prie įžeminimo- 8 laidai prie LCD, 1 5 V, 1 įžeminimas ir 6 įėjimai- 4 laidai, prijungti prie stepper- 2 jungtys prie akumuliatoriaus- Duonos lentos įžeminimas turi būti prijungtas
3 žingsnis: „Arduino“kodavimas
Čia yra pavyzdinis kodas, skirtas pakeisti pavaros būseną pagal LDR
Tai kodas, kuris leistų projektui automatiškai valdyti uždangą. Aukščiau pateikta nuotrauka paaiškina skirtingus kelius per įdėtus IF teiginius, atsižvelgiant į tai, kaip uždanga kyla aukštyn, žemyn arba lieka ten, kur yra. (spustelėkite paveikslėlį, kad pamatytumėte jį visiškai, nes yra formatavimo problemų)
#defineLDRA0 // Apibrėžia kintamąjį „LDR“į A0 kaištį#include
constintstepsPerRevolution = 200; // Kai suaktyvinamas žingsninis variklis, visas jo sukimasis yra lygus 200 žingsnių
SteppermyStepper (stepsPerRevolution, 8, 9, 10, 11); // Nustato žingsnio įvestį kaip 8, 9, 10, 11 kaiščius
voidsetup () {myStepper.setSpeed (60); // nustato, kaip greitai variklis sukasi sukimosi režimu (LDR, INPUT); // apibrėžia kintamąjį „LDR“kaip įvestį Serial.begin (9600); // Pradeda nuoseklųjį skaitymą }
voidloop () {intlightlevel = analogRead (LDR); // Apibrėžia kintamąjį „lightlevel“kaip veiksmą, nuskaitantį „LDR“Serial.print („Šviesos lygis:“) reikšmę; Serial.println (lengvas lygis); // Spausdinama „šviesaus lygio“vertė su antrašte aukščiau
/* Dabar yra kilpa, kuri aptinka šviesos lygį kiekviename kelio taške* Galimos 3 parinktys, pakilkite, nusileiskite žemyn, likite toje pačioje padėtyje* Ji sukurta taip, kad jei šviesos lygis išliks toks pat, jis likti tas pats, jei ne, jis pasikeis * ty jei jis yra 950, tada eina į 952, nieko neįvyks, tačiau jei jis pakiltų nuo 950 iki 600, tai užtrauktų uždangą aukštyn ir atvirkščiai * Kiekvienas žingsnis yra pažymėtas raide prieš žingsnį, kad būtų galima stebėti, kur jis yra cikle per serijinį monitorių */
if (lightlevel> = 900) {Serial.println ("A"); // Kuris žingsnis yra loopmyStepper.step (3*stepsPerRevolution); // Stepper daro 3 apsisukimus į priekį. Jei jis neigiamas, jis vėluoja (30000); // Palieka jį 5 min. Intlightlevel = analogRead (LDR); // Kintamą „šviesos lygį“apibrėžia kaip naujausią rodinį iš LDRSerial.print („Šviesos lygis:“); // Spausdina tekstą prieš kintamąjį Serial.println (lightlevel) // Spausdina šviesos lygio reikšmę
if (lightlevel> = 900) {Serial.println ("B"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lengvas lygis);
if (lightlevel> = 900) {Serial.println ("C"); myStepper.step (3*-stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lengvas lygis);}
else {Serial.println ("D"); myStepper.step (3*-stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}}
else {Serial.println ("E"); myStepper.step (3*-stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
if (lightlevel> = 900) {Serial.println ("F"); myStepper.step (0); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lengvas lygis);}
else {Serial.println ("G"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}}
}
else {Serial.println ("H"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
if (lightlevel> = 900) {Serial.println ("I"); myStepper.step (3*stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lengvas lygis);
if (lightlevel> = 900) {Serial.println ("J"); myStepper.step (3*-stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lengvas lygis);}
else {Serial.println ("K"); myStepper.step (3*-stepsPerRevolution); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
}}
else {Serial.println ("L"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
if (lightlevel> = 900) {Serial.println ("M"); myStepper.step (0); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lengvas lygis);}
else {Serial.println ("N"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
}}
}
}
4 žingsnis: pasirinktinai: LCD ekranas
Taip LCD ekrane būtų atspausdintas LDR aptiktas šviesos lygis.
#įtraukti
-
// Prideda skystųjų kristalų biblioteką su papildomu kodu#define ldr A0 // Apibrėžia kintamąjį „ldr“prie A0 kaiščio
„LiquidCrystal lcd“(8, 9, 4, 5, 6, 7); // inicijuoti biblioteką naudojant sąsajos kaiščių numerius
voidsetup () {// kodas, kuris vieną kartą paleidžiamas startlcd.begin (16, 2); // nustatyti LCD stulpelių ir eilučių skaičių atitinkamaipinMode (ldr, INPUT); // Apibrėžia ldr kaip įvesties kaištįSerial.begin (9600); // Pradeda ryšį su serijiniu monitoriumi
}
voidloop () {// kodas, kuris bus nuolat kartojamasSerial.println (analogRead (ldr)); // Spausdina serijos monitorlcd.setCursor (6, 0) rodmenis, kuriuos paima ldr (skaičius nuo 0 iki 1023); // nustatykite žymeklį į 6 stulpelio eilutę 0lcd.print (analogRead (ldr)); // Spausdina šį rodmenį skystųjų kristalų ekrane (1000); // Sekančią komandą atideda vienai sekundei
}
5 žingsnis: spausdintos dalys
Norėdami atspausdinti stovą ir pavarą, naudokite šiuos failus. Galite pritaikyti pavarą savo reikmėms ir naudoti laikiklį, kad pritvirtintumėte prie sienos arba kaip ekraną. Kadangi 3D pavara yra silpna, tikra pavara gali būti naudojama kaip jos pakaitalas, kol ji atitinka uždangą, kurią ji valdytų.
Jei ketinama naudoti 3D spausdintą pavarą, vienas krumpliaračio dantis buvo nuimtas, kad varžtas galėtų jį pritvirtinti prie variklio.
Priekines 2 sieninio laikiklio kojas taip pat galima nuimti, jei jis bus pritvirtintas prie sienos. Jie buvo tik pridėti, kad jis atsistotų, kol mes su juo bandėme.
6 žingsnis: vieta
Dabar, kai visos dalys yra paruoštos, laikas pradėti galutinį išdėstymą.
Pirmiausia įdėkite žingsninį variklį į stovo dėžę ir padėkite pavarą ant ašies. Tada perkelkite laidus taip, kad jie eitų už stovo. Galiausiai padėkite arduino ir akumuliatorių už stovo
Dabar jūsų lenta turėtų atrodyti taip, kaip pavaizduota aukščiau.
Sveikinu!
Pavara gali būti naudojama automatinėms užuolaidoms ar bet kuriam kitam dalykui, kurį norite valdyti LDR.
Su tavimi baigta. Mėgaukitės savo nauja kūryba.
Rekomenduojamas:
Arduino - Labirinto sprendimo robotas („MicroMouse“) Sieninis robotas: 6 žingsniai (su paveikslėliais)
Arduino | Labirinto sprendimų robotas („MicroMouse“) Sienų sekimo robotas: Sveiki, aš esu Izaokas ir tai yra mano pirmasis robotas „Striker v1.0“. Šis robotas buvo sukurtas paprastam labirintui išspręsti. Konkurse turėjome du labirintus ir robotą sugebėjo juos identifikuoti. Dėl bet kokių kitų labirinto pakeitimų gali prireikti pakeisti
Slaptas sieninis namų automatizavimo planšetinis kompiuteris: 6 žingsniai
Slaptas sienoje montuojamas namų automatizavimo planšetinis kompiuteris: šioje instrukcijoje bus aprašyta, kaip sukurti „openHAB“planšetinio kompiuterio laikiklį (https://www.openhab.org/), kuriame planšetinį kompiuterį galima bet kada išimti ir įkrauti be kabelį ir palikite sieną visiškai įprastą, kai nėra planšetinio kompiuterio
Sieninis laikiklis, skirtas „IPad“kaip namų automatikos valdymo skydas, naudojant servo valdomą magnetą ekranui suaktyvinti: 4 žingsniai (su paveikslėliais)
„IPad“sieninis laikiklis kaip namų automatikos valdymo skydas, naudojant servo valdomą magnetą ekrano įjungimui: Pastaruoju metu gana daug laiko praleidau automatizuodamas daiktus savo namuose ir aplink juos. Aš naudoju „Domoticz“kaip savo namų automatikos programą, išsamesnės informacijos ieškokite www.domoticz.com. Ieškodamas prietaisų skydelio programos, kurioje rodoma visa informacija apie „Domoticz“
Širdies formos nuotoliniu būdu valdomas sieninis dekoras: 8 žingsniai (su nuotraukomis)
Širdies formos nuotoliniu būdu valdomas apšviestas sienų dekoras: šioje „pasidaryk pats“namų dekoro dovanų kūrimo pamokoje sužinosime, kaip naudojant širdies faneros plokštę padaryti širdies formos apšviestą sieninį pakabinamą skydelį, ir pridėsime įvairių apšvietimo efektų, valdomų nuotolinio valdymo pultu ir šviesa jutiklis (LDR) naudojant „Arduino“. Matai
„IPhone“įkrovimo sieninis stovas/dokas: 4 žingsniai
„IPhone“įkrovimo sieninis stovas/dokas: sukurkite „iPhone“/„iPod“įkrovimo sieninį stovą naudodami sieninį įkroviklį, USB kabelį ir nupjautą šampūno butelį. Šis „Instructable“buvo pristatytas kaip 5 minučių projektas „Popular Science“„pasidaryk pats“skiltyje. Jums reikės: šampūno buteliuko (š