Sisukord:
- Samm: koostisosad
- Samm: Arduino ehitamine
- Samm: Arduino kodeerimine
- 4. samm: valikuline: LCD -ekraan
- 5. samm: trükitud osad
- 6. samm: paigutus
Video: Valgusjuhtimisega samm -mootor + seinakinnitus/alus: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Seda alust kasutatakse Arduino juhitava samm -mootorina, mis on ette nähtud kardina automaatseks juhtimiseks vastavalt ruumi valgustasemele. Valgustuse printimiseks saate lisada ka LCD -ekraani. 3D -käik on mõeldud ainult tutvustamiseks, tegelikuks kasutamiseks võib vaja minna tõelist käiku, näiteks kardina, aga ka mis tahes muud rakendust, mis teile pähe tuleb.
Samm: koostisosad
Selle projekti alustamiseks vajate;
- 2 Arduino kiibikomplekti- Arduino mootorikilp- Arduino LCD-ekraan- 1 leivalaud- 1 kahepolaarne samm-mootor- 1 D aku- 1 valgusest sõltuv takisti- 1 10k Ω takisti- 10 isas-mees juhtmed- 6 mees- naisjuhtmed- juurdepääs 3D-printerile
Samm: Arduino ehitamine
Joondage esmalt mootorikilp Arduino tihvtidega ja kui need on joondatud, asetage see kindlalt alla. Seejärel kinnitage samm -mootori juhtmed mootorikilbi tihvtidesse 8, 9, 10 ja 11. Seejärel ühendage D -aku pesadesse, nagu on näidatud diagrammil. Järgmisena soovite hankida 6 juhet (meessoost naissoost) LCD -ekraan ja ühendage need teise Arduino seadmega, nagu on näidatud skeemil. Seejärel seadistage LDR, nagu ülal näidatud, nii et takisti on ühendatud negatiivse reaga. Kui lisate LDR -i, lisage takisti küljele A0 -ühendused ja vastasküljel lisage iga kasutatava plaadi jaoks 1 5 V sisend, nii et kui kasutate 2 tahvlit, soovite, et kõigil neist oleks 5 V ja A0 tihvt LDR -i.
Ühendage kõik juhtmed nii, et see oleks skeemiga sarnane- 2 sisendit LDR-ile- 2 väljundit LDR-ist ja takistus, mis ühendab maandusega- 8 juhet LCD-ekraanile, 1 5 V, 1 maandus ja 6 sisendit- 4 juhet, mis ühendatakse samm- 2 ühendust akuga- Leivaplaadi maandus tuleb ühendada
Samm: Arduino kodeerimine
Siin on mõned näidiskoodid hammasratta oleku muutmiseks LDR -i alusel
See on kood, mis võimaldaks projektil automaatselt kardinat juhtida. Ülaltoodud foto selgitab erinevaid teid pesastatud IF -lausete kaudu, eesriide tõustes, laskudes või sinna jäädes. (klõpsake pilti, et seda täielikult näha, kuna vormindamisel on probleeme)
#defineLDRA0 // Määrab muutuja "LDR" kuni A0 pin#include
constintstepsPerRevolution = 200; // Kui samm -mootor on aktiveeritud, on selle täielik pöörlemine võrdne 200 sammuga
SteppermyStepper (stepsPerRevolution, 8, 9, 10, 11); // Määrab stepperile sisendi tihvtidena 8, 9, 10, 11
voidsetup () {myStepper.setSpeed (60); // määrab, kui kiiresti mootor pöörleb }
voidloop () {intlightlevel = analogRead (LDR); // Määrab muutuja "lightlevel" toiminguks, mis loeb väärtuse "LDR" Serial.print ("Light Level:"); Serial.println (lightlevel); // Prindib "kerge taseme" väärtuse ülaltoodud pealdisega
/* Nüüd on silmus, mis tuvastab valguse taseme igal teel* Saadaval on 3 võimalust, mine üles, alla, jää samasse asendisse* See on konstrueeritud nii, et kui valgustase jääb samaks, jääb see jää samaks, kui mitte, siis see muutub * st kui see on 950, siis läheb 952 -le, ei juhtu midagi, aga kui see läheks 950 -lt 600 -ni, tõmbaks see kardina üles ja vastupidi * Iga sammu tähistab täht sammu ees, et jälgida, kus see on jadamonitori kaudu silmuses */
if (lightlevel> = 900) {Serial.println ("A"); // Millises etapis see on loopmyStepper.step (3*stepsPerRevolution); // Stepper teeb 3 edasipööret. Kui see on negatiivne, läheb viivitus tagasi (30000); // jätab selle sinna 5 minutiks.; // Prindib teksti muutuja Serial.println (lightlevel) ette // Prindib valgustaseme väärtuse
if (lightlevel> = 900) {Serial.println ("B"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (kerge tase);
if (lightlevel> = 900) {Serial.println ("C"); myStepper.step (3*-stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (kerge tase);}
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 (kerge tase);}
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 (kerge tase);
if (lightlevel> = 900) {Serial.println ("J"); myStepper.step (3*-stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (kerge tase);}
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 (kerge tase);}
else {Serial.println ("N"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
}}
}
}
4. samm: valikuline: LCD -ekraan
See prindiks LCD -ekraanile LDR -i tuvastatud valguse taseme.
#kaasake
-
// Lisab vedelkristalliteegi lisakoodiga#define ldr A0 // Määrab muutuja "ldr" A0 tihvtile
LiquidCrystal LCD (8, 9, 4, 5, 6, 7); // teegi initsialiseerimine liidese nööpnõelte numbritega
voidsetup () {// kood, mis käivitatakse üks kord aadressil startlcd.begin (16, 2); // seadistage LCD veergude ja ridade arv vastavalt pinMode (ldr, INPUT); // Määrab ldr sisendpinnaksSerial.begin (9600); // Alustab jadamonitoriga suhtlemist
}
voidloop () {// kood, mida korratakse pidevaltSerial.println (analogRead (ldr)); // Prindib lugemise, mille ldr võtab (arv vahemikus 0–1023) jada monitorlcd.setCursor (6, 0); // määrake kursor veeru 6 reale 0lcd.print (analogRead (ldr)); // Prindib selle näidu LCD ekraanile (1000); // Viivitab järgmise käsu ühe sekundi võrra edasi
}
5. samm: trükitud osad
Aluse ja käiku printimiseks kasutage järgmisi faile. Saate käiku enda jaoks kohandada ja kronsteini abil selle seinale või ekraanile paigaldada. Kuna 3D -käik on nõrk, võib selle asemel kasutada tõelist käiku, kui see sobib kardinaga, mida see kontrollib.
Kui kavatsete kasutada 3D -prinditud käiku, on hammasratta üks hammas eemaldatud, nii et kinnituskruvi saaks selle mootori külge kinnitada.
Seinakonsooli kaks eesmist jalga saab ka eemaldada, kui see paigaldatakse seinale. Neid lisati ainult selleks, et see püsti püsiks, kui sellega katsetasime.
6. samm: paigutus
Nüüd, kui kõik osad on valmis, on aeg alustada lõplikku paigutust.
Esiteks asetage samm -mootor alusele ettenähtud kasti ja pange käik teljele. Seejärel liigutage juhtmed nii, et need lähevad aluse taha. Lõpuks asetage arduino ja aku aluse taha
Teie laud peaks nüüd välja nägema nagu ülaltoodud.
Palju õnne!
Käiku võib kasutada automatiseeritud kardinate või muude asjade jaoks, mida soovite LDR -i juhtida.
Sa oled valmis. Nautige oma uut loomingut.
Soovitan:
Atari punkkonsool beebiga 8 sammu järjestus: 7 sammu (piltidega)
Atari punkkonsool koos beebi 8-astmelise sekveneerijaga: see vaheehitus on kõik-ühes Atari punk-konsool ja beebi 8-astmeline järjestus, mida saate freesida Bantam Tools töölaua PCB-freespingis. See koosneb kahest trükkplaadist: üks on kasutajaliidese (UI) plaat ja teine on utiliit
Akustiline levitatsioon Arduino Unoga samm-sammult (8 sammu): 8 sammu
Akustiline levitatsioon Arduino Uno abil samm-sammult (8 sammu): ultraheliheli muundurid L298N DC-naissoost adapteri toiteallikas isase alalisvoolupistikuga Arduino UNOBreadboard ja analoogpordid koodi teisendamiseks (C ++)
4G/5G HD -video otseülekanne DJI droonilt madala latentsusega [3 sammu]: 3 sammu
4G/5G HD-video otseülekanne DJI droonilt madala latentsusega [3 sammu]: Järgnev juhend aitab teil saada HD-kvaliteediga otseülekandeid peaaegu igalt DJI droonilt. FlytOSi mobiilirakenduse ja veebirakenduse FlytNow abil saate alustada drooni video voogesitust
Polt - DIY juhtmeta laadimise öökell (6 sammu): 6 sammu (piltidega)
Bolt - DIY juhtmeta laadimise öökell (6 sammu): Induktiivsed laadimised (tuntud ka kui juhtmeta laadimine või juhtmeta laadimine) on traadita jõuülekande tüüp. See kasutab kaasaskantavatele seadmetele elektrit pakkumiseks elektromagnetilist induktsiooni. Kõige tavalisem rakendus on Qi traadita laadimisst
4 sammu aku sisemise takistuse mõõtmiseks: 4 sammu
4 sammu aku sisemise takistuse mõõtmiseks: Siin on 4 lihtsat sammu, mis aitavad mõõta taigna sisemist takistust