ዝርዝር ሁኔታ:

በብርሃን ቁጥጥር የሚደረግበት Stepper ሞተር + የግድግዳ ቅንፍ/ማቆሚያ: 6 ደረጃዎች
በብርሃን ቁጥጥር የሚደረግበት Stepper ሞተር + የግድግዳ ቅንፍ/ማቆሚያ: 6 ደረጃዎች

ቪዲዮ: በብርሃን ቁጥጥር የሚደረግበት Stepper ሞተር + የግድግዳ ቅንፍ/ማቆሚያ: 6 ደረጃዎች

ቪዲዮ: በብርሃን ቁጥጥር የሚደረግበት Stepper ሞተር + የግድግዳ ቅንፍ/ማቆሚያ: 6 ደረጃዎች
ቪዲዮ: SKR 1.4 - A4988/DRV8825 configuration 2024, ሀምሌ
Anonim
በብርሃን ቁጥጥር የሚደረግበት Stepper ሞተር + የግድግዳ ቅንፍ/ማቆሚያ
በብርሃን ቁጥጥር የሚደረግበት Stepper ሞተር + የግድግዳ ቅንፍ/ማቆሚያ

ይህ ማቆሚያ በክፍሉ ውስጥ ባለው የብርሃን ደረጃ መሠረት መጋረጃን በራስ -ሰር ለመቆጣጠር የተነደፈውን የአርዱዲኖ ቁጥጥር ያለው የእግረኛ ሞተር ለማኖር ያገለግላል። እንዲሁም የብርሃን ደረጃውን ለማተም የ LCD ማያ ገጽ ማከል ይችላሉ። የ3 -ልኬት ማርሽ ለሠርቶ ማሳያ ብቻ ነው ፣ እንደ መጋረጃ ለመሳሰሉት ተግባራዊ ትግበራዎች እውነተኛ ማርሽ ሊያስፈልግ ይችላል።

ደረጃ 1: ግብዓቶች

ይህንን ፕሮጀክት ለመጀመር ያስፈልግዎታል

- 2 የአርዲኖ ቺፕ-ስብስቦች- የአርዱዲኖ ሞተር ጋሻ- የአርዱዲኖ ኤልሲዲ ማያ ገጽ- 1 ዳቦ ቦርድ- 1 ቢፖላር ስቴፐር ሞተር- 1 ዲ ባትሪ- 1 ቀላል ጥገኛ ጥገኛ- 1 10 ኪ. የሴት ሽቦዎች- ወደ 3 ዲ አታሚ መድረስ

ደረጃ 2 - የአርዱዲኖ ግንባታ

የአርዱዲኖ ግንባታ
የአርዱዲኖ ግንባታ

በመጀመሪያ የሞተር ጋሻውን በአርዱዲኖ ፒኖች ያስምሩ እና አንዴ ከተሰለፉ በኋላ በጥብቅ ያስቀምጡት። በመቀጠልም የእግረኛውን ሞተር ገመዶች በሞተር ጋሻ ወደ 8 ፣ 9 ፣ 10 እና 11 ያያይዙ። ከዚያ በስዕሉ ላይ እንደሚታየው በዲ ባትሪ ውስጥ በዲ ባትሪ ውስጥ ከተገናኘ በኋላ ቀጥሎ 6 ገመዶችን (ወንድ ወደ ሴት) ማግኘት ይፈልጋሉ የኤልሲዲ ማያ ገጹን በወረዳ ዲያግራም ላይ እንደሚታየው ወደ ሌላኛው የአርዱዲኖ ክፍል ያያይ.ቸው ከዚያም ከላይ እንደተመለከተው LDR ን ያዋቅሩ ፣ ተቃዋሚው ከአሉታዊው ረድፍ ጋር በመገናኘት ኤልአርአዱን ሲጨምሩ ፣ ከተቃዋሚው ጎን ፣ ይጨምሩ የ A0 ግንኙነቶች እና በተቃራኒው ወገን ፣ ለሚጠቀሙት እያንዳንዱ ሰሌዳ 1 5V ግብዓት ያክሉ ፣ ስለዚህ 2 ሰሌዳዎችን የሚጠቀሙ ከሆነ ፣ እያንዳንዳቸው ወደ LDR የሚሄድ 5V እና A0 ፒን እንዲኖራቸው ይፈልጋሉ።

ልክ ከዲያግራም ጋር ተመሳሳይ ነው- ከ LDR ወደ LDR- 2 ግብዓቶች እና ከመሬት- 8 ሽቦዎች ወደ ኤልሲዲ ፣ 1 5V ፣ 1 መሬት እና 6 ግብዓቶች- 4 ገመዶች ወደ stepper- ከባትሪው ጋር 2 ግንኙነቶች- የዳቦ ሰሌዳ መሬቱ መገናኘት አለበት

ደረጃ 3: አርዱዲኖን ኮድ መስጠት

አርዱዲኖ ኮድ መስጠት
አርዱዲኖ ኮድ መስጠት

በ LDR ላይ በመመርኮዝ የማርሽውን ሁኔታ ለመለወጥ አንዳንድ የናሙና ኮድ እዚህ አለ

ፕሮጀክቱ መጋረጃን በራስ -ሰር እንዲቆጣጠር የሚፈቅድ ይህ ኮድ ነው። ከላይ ያለው ፎቶ መጋረጃው ወደ ላይ ከመውጣት ፣ ከመውረድ ወይም ባለበት ከመቆየት አንፃር ጎጆ ባለው IF መግለጫዎች በኩል የተለያዩ መንገዶችን ያብራራል። (የቅርጸት ችግሮች ስላሉ ሙሉውን ለማየት ምስሉን ጠቅ ያድርጉ)

#defineLDRA0 // ተለዋዋጭ "LDR" ን ወደ A0 ፒን#ያካትታል// የእርከን ሞተር ኮድ ያካትታል

constintstepsPerRevolution = 200; // የእርከን ሞተሩ ሲነቃ ሙሉ ማሽከርከር ከ 200 ደረጃዎች ጋር እኩል ነው

SteppermyStepper (stepsPerRevolution, 8, 9, 10, 11); // የመግቢያውን ግቤት እንደ ፒን 8 ፣ 9 ፣ 10 ፣ 11

voidsetup () {myStepper. }

voidloop () {intlightlevel = analogRead (LDR) ፤ // ተለዋዋጭውን '' lightlevel '' የ «LDR» Serial.print ("የብርሃን ደረጃ") ዋጋን የሚያነብ እርምጃ እንደሆነ ይገልጻል ፤ Serial.println (lightlevel) ፤ // ከላይ ካለው መግለጫ ጽሑፍ ጋር የ “lightlevel” ዋጋን ያትማል

/* አሁን በየመንገዱ ነጥብ ላይ የብርሃን ደረጃን የሚለይ አንድ ሉፕ አለ* 3 አማራጮች ይገኛሉ ፣ ወደ ላይ ፣ ወደ ታች ፣ በአንድ ቦታ ላይ ይቆዩ* የተነጠፈው የመብረቅ ደረጃው እንደዛው ሆኖ እንዲቆይ ነው እንደዚያው ይቆዩ ፣ ካልሆነ ይለወጣል * ማለትም 950 ከሆነ ፣ ከዚያ ወደ 952 ይሄዳል ፣ ምንም ነገር አይከሰትም ፣ ግን ከ 950 እስከ 600 ቢሄድ መጋረጃውን ወደ ላይ ይጎትታል እና በተቃራኒው * እያንዳንዱ እርምጃ በደብዳቤ ይገለጻል በተከታታይ ማሳያ */ በኩል በመዞሪያው ውስጥ የት እንዳለ ለመከታተል ከደረጃው ፊት ለፊት

(lightlevel> = 900) {Serial.println (“A”) ፤ // የትኛው ደረጃ በ loopmyStepper.step (3*stepsPerRevolution) ውስጥ ነው ፤ // ደረጃው 3 ወደፊት አብዮቶችን ያደርጋል። አሉታዊ ከሆነ ፣ ወደ ኋላ መዘግየት (30000) ይሄዳል ፤ // እዚያ ለ 5 ደቂቃዎች intlightlevel = analogRead (LDR) እዚያ ይተውታል ፣; // ጽሑፉን በተለዋዋጭ Serial.println (lightlevel) ፊት ለፊት ያትማል/// የብርሃን ደረጃውን እሴት ያትማል

(lightlevel> = 900) {Serial.println ("B") ፤ myStepper.step (0) ፤ መዘግየት (10000) ፤ intlightlevel = analogRead (LDR) ፤ Serial.print ("Light Level:") ፤ Serial.println (ቀለል ያለ ደረጃ);

ከሆነ (lightlevel> = 900) {Serial.println ("C") ፤ myStepper.step (3*-stepsPerRevolution) ፤ መዘግየት (500) ፤ intlightlevel = analogRead (LDR) ፤ Serial.print ("Light Level:"); Serial.println (lightlevel);}

ሌላ {Serial.println ("D"); myStepper.step (3*-stepsPerRevolution); መዘግየት (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}}

ሌላ {Serial.println (“E”) ፤ myStepper.step (3*-stepsPerRevolution) ፤ መዘግየት (10000) ፤ intlightlevel = analogRead (LDR) ፤ Serial.print (“Light Level:”); Serial.println (lightlevel);

(lightlevel> = 900) {Serial.println ("F") ፤ myStepper.step (0) ፤ መዘግየት (500) ፤ intlightlevel = analogRead (LDR) ፤ Serial.print ("Light Level:") ፤ Serial.println (ቀለል ያለ ደረጃ);}

ሌላ {Serial.println ("G") ፤ myStepper.step (0) ፤ መዘግየት (10000) ፤ intlightlevel = analogRead (LDR) ፤ Serial.print ("Light Level:") ፤ Serial.println (lightlevel) ፤}}

}

ሌላ {Serial.println (“H”) ፤ myStepper.step (0) ፤ መዘግየት (10000) ፤ intlightlevel = analogRead (LDR) ፤ Serial.print (“Light Level:”) ፤ Serial.println (lightlevel);

ከሆነ (lightlevel> = 900) {Serial.println ("I") ፤ myStepper.step (3*stepsPerRevolution); መዘግየት (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:");.println (lightlevel);

ከሆነ (lightlevel> = 900) {Serial.println ("J") ፤ myStepper.step (3*-stepsPerRevolution) ፤ መዘግየት (500) ፤ intlightlevel = analogRead (LDR) ፤ Serial.print ("Light Level:"); Serial.println (lightlevel);}

ሌላ {Serial.println ("K"); myStepper.step (3*-stepsPerRevolution); መዘግየት (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);

}}

ሌላ {Serial.println (“L”) ፤ myStepper.step (0) ፤ መዘግየት (10000) ፤ intlightlevel = analogRead (LDR) ፤ Serial.print (“Light Level:”) ፤ Serial.println (lightlevel) ፤

(lightlevel> = 900) {Serial.println ("M") ፤ myStepper.step (0) ፤ መዘግየት (500) ፤ intlightlevel = analogRead (LDR) ፤ Serial.print ("Light Level:") ፤ Serial.println (ቀለል ያለ ደረጃ);}

ሌላ {Serial.println (“N”) ፤ myStepper.step (0) ፤ መዘግየት (10000) ፤ intlightlevel = analogRead (LDR) ፤ Serial.print (“Light Level:”) ፤ Serial.println (lightlevel) ፤

}}

}

}

ደረጃ 4 - አማራጭ - ኤልሲዲ ማያ ገጽ

ይህ በኤልዲአር የተገኘውን የብርሃን ደረጃ በ LCD ማያ ገጽ ላይ ያትማል።

#ያካትቱ

  • // ፈሳሽ ክሪስታል ቤተ -መጽሐፍት ከተጨማሪ ኮድ ጋር#ያክላል ldr A0 // ተለዋዋጭውን “ldr” ወደ A0 ፒን ይገልጻል

    LiquidCrystal lcd (8, 9, 4, 5, 6, 7); // በይነገጽ ካስማዎች ቁጥሮች ጋር ቤተ -መጽሐፉን ያስጀምሩ

    voidsetup () {// በ startlcd.begin (16 ፣ 2) አንድ ጊዜ የሚሠራ ኮድ። // የ LCD ን አምዶች እና መስመሮች በቅደም ተከተልpinMode (ldr ፣ INPUT) ያዘጋጁ። // ldr ን እንደ ግብዓት pinSerial.begin (9600) ይገልጻል። // ከተከታታይ ማሳያ ጋር ግንኙነትን ይጀምራል

    }

    voidloop () {// ያለማቋረጥ የሚደጋገም ኮድSerial.println (analogRead (ldr)); // ldr የሚያነሳውን ንባብ ያትማል (በ 0-1023 መካከል ያለው ቁጥር) በተከታታይ monitorlcd.setCursor (6 ፣ 0) ላይ ፤ // ጠቋሚውን ወደ አምድ 6 ፣ መስመር 0lcd.print (analogRead (ldr)) ያዘጋጁ ፤ // ይህንን ንባብ በ LCD ማያ መዘግየት (1000) ላይ ያትማል ፣ // ቀጣዩን ትዕዛዝ ለአንድ ሰከንድ ያዘገያል

    }

    ደረጃ 5: የታተሙ ክፍሎች

    ማቆሚያውን እና መሣሪያውን ለማተም የሚከተሉትን ፋይሎች ይጠቀሙ። ለእራስዎ ዓላማዎች ማርሹን ማበጀት ይችላሉ እና ግድግዳው ላይ ወይም እንደ ማሳያ ለመጫን ቅንፍውን መጠቀም ይችላሉ። የ 3 ዲ ማርሹ ደካማ እንደመሆኑ መጠን ከሚቆጣጠረው መጋረጃ ጋር እስከተገናኘ ድረስ እውነተኛ ማርሽ እንደ ምትክ ሆኖ ሊያገለግል ይችላል።

    3 ዲ የታተመ ማርሽ ስራ ላይ የሚውል ከሆነ ፣ አንድ የማሽከርከሪያ ጥርስ አንዱ ተወግዷል ፣ ስለዚህ አንድ ስብስብ ዊንተር ወደ ሞተሩ ሊያስተካክለው ይችላል።

    የግድግዳው ቅንፍ የፊት 2 እግሮች እንዲሁ ግድግዳው ላይ ከተጫነ ሊወገድ ይችላል። ከእሱ ጋር ስንሞክር እንዲቆም እነሱ ብቻ ተጨምረዋል።

    ደረጃ 6: አቀማመጥ

    አሁን ሁሉም ክፍሎች ዝግጁ ስለሆኑ የመጨረሻውን ምደባ ለመጀመር ጊዜው አሁን ነው።

    በመጀመሪያ ደረጃ የእርከን ሞተሩን በተዘጋጀው ሳጥን ውስጥ በመቆሚያው ላይ ያስቀምጡ እና ማርሽውን በመጥረቢያ ላይ ያስቀምጡ ቀጣይ ሽቦዎቹን ያንቀሳቅሱ ስለዚህ ከመቆሚያው ጀርባ እንዲሄዱ በመጨረሻ ፣ አርዱዲኖን እና ባትሪውን ከመቆሚያው በስተጀርባ ያስቀምጡ።

    ሰሌዳዎ አሁን ከላይ እንደተመለከተው መሆን አለበት።

    እንኳን ደስ አላችሁ!

    መሣሪያው በራስ -ሰር መጋረጃዎች ወይም በኤልዲአር ቁጥጥር እንዲደረግለት ለሚፈልጉት ማንኛውም ሌላ ነገር ሊያገለግል ይችላል።

    ጨርሰዋል። በአዲሱ ፈጠራዎ ይደሰቱ።

የሚመከር: