Cuprins:
- Pasul 1: Ingrediente
- Pasul 2: Construcția Arduino
- Pasul 3: Codificarea Arduino
- Pasul 4: Opțional: ecran LCD
- Pasul 5: Părți tipărite
- Pasul 6: plasare
Video: Motor pas cu pas controlat de lumină + suport / perete de perete: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Acest suport este folosit pentru a adăposti un motor pas cu pas Arduino controlat, conceput pentru a controla automat o perdea în funcție de nivelul de lumină din cameră. De asemenea, puteți adăuga un ecran LCD pentru a imprima nivelul de lumină. Angrenajul 3D este doar pentru demonstrație, poate fi necesar un angrenaj real pentru aplicații practice, cum ar fi cortina, dar și orice altă aplicație la care vă puteți gândi.
Pasul 1: Ingrediente
Pentru a începe acest proiect veți avea nevoie;
- 2 seturi de cipuri Arduino- Un ecran de motor Arduino- Un ecran LCD Arduino- 1 panou de măsurare- 1 motor pas cu pas bipolar- 1 baterie D- 1 rezistor dependent de lumină - 1 rezistor 10k Ω- 10 fire mascul-mascul - 6 mascul- fire de sex feminin - Acces la o imprimantă 3D
Pasul 2: Construcția Arduino
În primul rând aliniați scutul motorului cu știfturile Arduino și, odată ce sunt aliniate, așezați-l ferm. Apoi atașați firele motorului pas cu pas la pinii 8, 9, 10 și 11 ale ecranului motorului. După aceea conectați bateria D în sloturile așa cum se arată în diagramă. Apoi veți dori să obțineți cele 6 fire (de la tată la tată) pentru ecranul LCD și conectați-le la cealaltă unitate Arduino așa cum se arată în diagrama circuitului. Apoi configurați LDR așa cum se arată mai sus, cu rezistorul conectat la rândul negativ. Când adăugați LDR, pe partea cu rezistorul, adăugați conexiunile A0 și pe partea opusă, adăugați 1 intrare de 5V pentru fiecare placă pe care o utilizați, deci dacă utilizați 2 plăci, veți dori ca fiecare dintre ele să aibă un pin 5V și A0 care să meargă la LDR.
Conectați toate firele astfel încât să fie la fel ca diagrama- 2 intrări la LDR- 2 ieșiri de la LDR și un rezistor care se conectează la masă- 8 fire la LCD, 1 5V, 1 masă și 6 intrări- 4 fire conectate la pas cu pas - 2 conexiuni la baterie - Pământul plăcii ar trebui să fie conectat
Pasul 3: Codificarea Arduino
Iată câteva exemple de cod pentru a schimba starea angrenajului pe baza LDR
Acesta este codul care ar permite proiectului să controleze automat o perdea. Fotografia de mai sus explică diferitele căi prin declarațiile IF imbricate în ceea ce privește ridicarea perdelei în sus, în jos sau rămânând acolo unde este. (faceți clic pe imagine pentru a o vedea complet, deoarece există probleme de formatare)
# defineLDRA0 // Definește variabila "LDR" la A0 pin # include
constintstepsPerRevolution = 200; // Când motorul pas cu pas este activat, rotația sa completă este egală cu 200 de pași
SteppermyStepper (stepsPerRevolution, 8, 9, 10, 11); // Definește intrarea la stepper ca pinii 8, 9, 10, 11
voidsetup () {myStepper.setSpeed (60); // Setează cât de repede motorul efectuează o rotirepinMode (LDR, INPUT); // Definește variabila „LDR” ca intrare Serial.begin (9600); // Pornește o citire în serie }
voidloop () {intlightlevel = analogRead (LDR); // Definește variabila "lightlevel" ca o acțiune care citește valoarea "LDR" Serial.print ("Light Level:"); Serial.println (lightlevel); // Tipărește valoarea „lightlevel” cu legenda de mai sus
/ * Există acum o buclă care detectează nivelul luminii în fiecare punct al drumului * sunt disponibile 3 opțiuni, urcați, coborâți, rămâneți în aceeași poziție * Este proiectat astfel încât, dacă nivelul de lumină să rămână același, va fi rămâneți la fel, dacă nu, se va schimba * adică dacă este 950, apoi trece la 952, nu se va întâmpla nimic, totuși, dacă ar trece de la 950 la 600 ar trage cortina în sus și arta versa * Fiecare pas este semnificat printr-o scrisoare în fața pasului pentru a urmări unde se află în buclă prin monitorul serial * /
if (lightlevel> = 900) {Serial.println ("A"); // Care pas este în loopmyStepper.step (3 * stepsPerRevolution); // Stepper face 3 rotații înainte. Dacă este negativ, se întoarce înapoi (30000); // îl lasă acolo timp de 5 minute intlightlevel = analogRead (LDR); // Definește „lightlevel” variabil ca cea mai recentă lectură din LDRSerial.print („Nivel de lumină:”); // Tipărește textul din fața variabilei Serial.println (lightlevel) // Tipărește valoarea nivelului de lumină
if (lightlevel> = 900) {Serial.println ("B"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (nivel ușor);
if (lightlevel> = 900) {Serial.println ("C"); myStepper.step (3 * -stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}
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 (nivel ușor);}
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 (lightlevel);
if (lightlevel> = 900) {Serial.println ("J"); myStepper.step (3 * -stepsPerRevolution); delay (500); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}
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 (nivel ușor);}
else {Serial.println ("N"); myStepper.step (0); delay (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);
}}
}
}
Pasul 4: Opțional: ecran LCD
Aceasta ar imprima nivelul de lumină detectat de LDR pe ecranul LCD.
#include
-
// Adaugă biblioteca de cristale lichide cu cod suplimentar # define ldr A0 // Definește variabila "ldr" la pinul A0
LiquidCrystal lcd (8, 9, 4, 5, 6, 7); // inițializați biblioteca cu numerele pinilor de interfață
voidsetup () {// cod care rulează o dată la startlcd.begin (16, 2); // configurați numărul LCD de coloane și liniile respectivpinMode (ldr, INPUT); // Definește ldr ca un pin de intrareSerial.begin (9600); // Începe comunicarea cu monitorul serial
}
voidloop () {// cod care va fi repetat continuuSerial.println (analogRead (ldr)); // Tipărește citirea preluată de ldr (un număr între 0-1023) pe monitorul seriallcd.setCursor (6, 0); // setați cursorul la coloana 6, linia 0lcd.print (analogRead (ldr)); // Tipărește această citire pe ecranul LCD (1000); // Întârzie următoarea comandă pentru o secundă
}
Pasul 5: Părți tipărite
Utilizați următoarele fișiere pentru a imprima suportul și echipamentul. Puteți personaliza uneltele pentru propriile scopuri și puteți utiliza consola pentru a o monta pe un perete sau ca afișaj. Deoarece echipamentul 3D este slab, un angrenaj real poate fi folosit ca înlocuitor pentru el atâta timp cât se potrivește cu cortina pe care ar controla-o.
Dacă va fi folosit uneltele tipărite 3D, unul dintre dinții dințelor a fost îndepărtat, astfel încât un șurub de fixare să-l poată fixa pe motor.
Cele 2 picioare din față ale suportului de perete pot fi, de asemenea, îndepărtate dacă ar fi montat pe un perete. Au fost adăugate doar pentru a rezista în timp ce testam cu el.
Pasul 6: plasare
Acum că toate piesele sunt gata, este timpul să începeți plasarea finală.
În primul rând, așezați motorul pas cu pas în cutia furnizată pe suport și puneți angrenajul pe axă Apoi, mutați firele astfel încât acestea să meargă în spatele suportului În cele din urmă, așezați arduino și bateria în spatele suportului
Tabloul dvs. ar trebui să arate acum ca cel din imaginea de mai sus.
Felicitări!
Echipamentul poate fi folosit pentru perdele automate sau orice alt lucru pe care doriți să îl controlați LDR.
Esti gata. Bucurați-vă de noua dvs. creație.
Recomandat:
Suport iPad pentru suport microfon din PVC: 4 pași
Suport iPad pentru suport microfon din PVC: Mulți muzicieni folosesc acum iPad-urile ca foi lirice / diagrame acorduri. Deținătorii comerciali, cum ar fi iKlip, pot costa 30 USD în sus. L-am făcut pe acesta pentru 5 USD. Vreau să acord credit replayerreb-ului al cărui suport iPad pentru utilizare în timp ce campingul a fost inspirația
Suport rack / suport pentru birou Mecano (2 în 1): 4 pași
Suport rack / suport pentru birou Mecano (2 în 1): Blocat acasă? Așezat pe scaun toată ziua folosind computerul? Iată soluția perfectă: Un suport Rack pentru laptop (convertibil într-un suport de birou). Acest lucru este realizat folosind piese dintr-o jucărie numită Meccano, disponibilă aproape peste tot (Costco, Walmart, Toys R
Suport și suport Kindle: 12 pași
Suport și suport Kindle: urmați acești pași pentru a crea un suport Kindle 3D cu o bază de carton
Suport încărcător de perete: 8 pași
Suport încărcător de perete: un mod cool de a reutiliza un calendar și de a crea un suport pentru încărcarea telefonului mobil. Durează 15 min. în fața televizorului:)
Suport de perete / stație de încărcare pentru iPhone: 4 pași
Suport de perete de încărcare pentru iPhone / Dock: Creați un suport de perete de încărcare DIY pentru iPhone / iPod utilizând încărcătorul de perete, cablul USB și o sticlă tăiată de șampon. Acest Instructable a fost prezentat ca un proiect de 5 minute în secțiunea DIY Popular Science. Veți avea nevoie de: O sticlă de șampon (aceasta