ዝርዝር ሁኔታ:

Stepper Pomodoro Timer: 3 ደረጃዎች (ከስዕሎች ጋር)
Stepper Pomodoro Timer: 3 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: Stepper Pomodoro Timer: 3 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: Stepper Pomodoro Timer: 3 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: Pomodoro Technique 6 x 25 min - Study Timer 3h 2024, ሀምሌ
Anonim
Image
Image
ደረጃ 1 - ከእቃ መያዣ ውጭ የወረዳ ማሰራጨት እና ማገናኘት
ደረጃ 1 - ከእቃ መያዣ ውጭ የወረዳ ማሰራጨት እና ማገናኘት

Stepper Pomodoro እያንዳንዱን የሥራ ጊዜ ወደ 30 ደቂቃ ክፍሎች በመክፈል አንድ ሰው የዕለት ተዕለት የሥራ ዝርዝራቸውን እንዲያስተዳድር የሚረዳ የጠረጴዛ ሰዓት ቆጣሪ ነው። ሆኖም ፣ ከተለመደው የፖሞዶሮ ሰዓት ቆጣሪ በተለየ ፣ የቀረውን የጊዜ መጠን በማሳየት አይጨነቁዎትም። በምትኩ ፣ ከሶስቱ መደወያዎች መካከል የትኛው እየጠቆመ እንደሆነ በግምት ጊዜውን ያሳያል። ትክክለኛውን ሰዓት ባለማሳየት በእውነቱ በተያዘው ሥራ ላይ እንዲያተኩሩ ያስችልዎታል ፣ ይልቁንም ጊዜዎን ያለማቋረጥ ይፈትሹ። ይህ ፖሞዶሮ ለተግባራቸው አስተዳደር ብርሃን እና የማይረብሽ መዋቅር ለሚፈልጉ ፍጹም ነው።

መሣሪያዎች

• የመሸጥ ብረት

• የሽቦ ቆራጮች

• የጨረር መቁረጫ (ወይም የሰሌዳ መደወያዎችን መፍጠር በሚፈልጉት ላይ በመመስረት)

• ቁፋሮ (ለመደወያዎቹ በቂ የሆኑ ቀዳዳዎችን ለመቦርቦር የመሮጫ ማሽን ተጠቅሜያለሁ)

ቁሳቁሶች

• 1 አርዱዲኖ ኡኖ

• 1 ግማሽ መጠን ያለው የዳቦ ሰሌዳ

• 3 ሸ ድልድዮች (DRV8833 ን ተጠቅሜ ፣ የሞተር ጋሻ ዎል የተወሰነ ጊዜ እና ራስ ምታት አድኖኛል)

• 3 ስቴፐር ሞተሮች (እኔ NEMA 17 steppers ተጠቅሜያለሁ)

• 1 አዝራር

• 1 220-1K ohm resistor (በክልል ውስጥ ያለው ማንኛውም ጥሩ ነው)

• ኤሲ/ዲሲ አስማሚ (እኔ ለእዚህ የእንጀራ እርከኖች መጠን በጣም ትልቅ ሊሆን የሚችል 12 ቮን እጠቀም ነበር)

• የኃይል ማከፋፈያ

• ዩኤስቢ ኤ-ቢ ሽቦ

• የዳቦ ሰሌዳ ሽቦዎች

• ሻጭ

• የጊዜ ቆጣሪ መያዣ

• አክሬሊክስ ለደወሎች

• እንደ ሰዓት ቆጣሪ የማይንቀሳቀስ ክንድ ሆነው ለመሥራት ምስማሮች ወይም የብረት ካስማዎች

ደረጃ 1 - ደረጃ 1 - ከእቃ መያዣ ውጭ የወረዳ ማሰራጨት እና ማገናኘት

ለዚህ ደረጃ እኔ ሁሉንም የኤች ድልድዮቼን አንድ ላይ በመሸጥ ጀመርኩ (የሞተር ጋሻውን ከገዙ እነዚህን መሸጥ አያስፈልግዎትም። ለእያንዳንዱ የእግረኞች ደረጃ የ H ድልድይ ካሎት በኋላ የእርምጃዎችዎ ሽቦዎች እንዴት እንደተገጠሙ ማረጋገጥ ይችላሉ።

ኤንኤምኤ 17 ዎቹ ባይፖላር ስቴፐር ሞተርስ በመባል የሚታወቁት ናቸው ፣ ይህም ማለት በሞተር ውስጥ ሁለት (ከአንድ ይልቅ) የሞተሩ ትክክለኛ እንቅስቃሴ እንዲኖር (polarity) የሚለዋወጡ የጥምረቶች ስብስብ አላቸው። ባይፖላር ስቴፕተሮች በተለምዶ አራት ሽቦዎች እና የፖላር ስቴፕተሮች በተለምዶ ስድስት አላቸው ፣ ይህ በመስመር ላይ ትንሽ መመሪያዎችን የተወሳሰበ ነው። ሆኖም ባለብዙ ሜትሮችን ወደ ሁለት ሽቦዎች ማያያዝ እና እነሱ የተገናኙ መሆናቸውን ወይም አለመሆኑን ማየት ይችላሉ። የ NEMA 17 እርከኖች የሽቦ ቅደም ተከተላቸው በቀይ ፣ በሎሌ ፣ በግሬይ ፣ በአረንጓዴ ቀለም ቅደም ተከተል ፣ ቀይ እና ግራጫ የመጀመሪያው የዋልታ ጥንድ እና ቢጫ እና አረንጓዴ ሁለተኛው የዋልታ ጥንድ ናቸው። በየትኛውም ደረጃ ላይ የእርምጃው እርምጃ የሚጠበቀውን እንቅስቃሴ ከማጠናቀቅ ይልቅ መንቀጥቀጥ ቢጀምር ፣ የእርስዎ ሽቦዎች በሆነ መንገድ ወደ መንትያቸው በትክክል አልተለወጡም ወይም አንደኛው ግንኙነቱ ተቋርጧል። እያንዳንዱ ደረጃ በደረጃ ከ DRV8833 H ድልድዮች ጋር በሚገናኙ በአራት የውጤት ፒኖች በኩል ቁጥጥር ይደረግበታል። ለ DRV8833 የግብዓት ሽቦው ትዕዛዝ IN1 ፣ IN2 ፣ ኃይል ፣ መሬት ፣ IN3 ፣ IN4 ነው። ለውጤት ዓላማዎች NEMA ልክ ከስድስቱ ፒኖች መካከለኛ አራት ጋር ይገናኛል - ቀይ ፣ ግሬይ ፣ ቢጫ ፣ አረንጓዴ። አሁን ኃይልን እናገናኝ። የእኔ ዲኤምኤዎች በዲጂታል ወደቦች 2-13 ላይ አሉኝ።

ይህንን ለማብራት ሁለቱንም አርዱዲኖን ፣ እና ሁሉንም የእንጀራ ሰጭዎችን (ኤሌክትሪክ)/ኤሌክትሪክ/ኤሌክትሪክ/ዲሲ አስማሚ ከፋፋይ ጋር ገዛሁ። ማስጠንቀቂያ -ኃይልዎን እና የመሬት ሽቦዎችን ከአርዱዲኖ ቀድሞውኑ ከወደቡ ኃይል ከኤሲ/ዲሲ በቀጥታ ኃይል ከሚቀበለው ዳቦ ሰሌዳ ጋር አያገናኙ። ሰሌዳዎን ያበስላል። ከ 12 ቮ አስማሚው ግድግዳው ላይ ከተሰካው የመከፋፈያው አንዱ ክፍል በቀጥታ ወደ አርዱዲኖ ወደብ እና ሁለተኛው ወደ ዳቦው አወንታዊ እና አሉታዊ ሄደ።

በመጨረሻም ፣ አዝራሩን ለማገናኘት ጊዜው አሁን ነው። የአዝራሩ አንድ ጎን ሁለቱንም ኃይል (በእኛ ተቃዋሚ ውስጥ ተጣብቆ) እንዲሁም የውጤት ፒን የተሸጠ (ይህ ደግሞ ከዳቦ ሰሌዳ ሊሠራ ይችላል) ይፈልጋል። ሌላው ፒን መሬታችን ይሆናል። እነዚህ ሶስት ገመዶች መሰካት አለባቸው -ኃይል ከ 5 ቮት ጋር ፣ ወደ A0 ውፅዓት ፣ እና በአርዱዲኖ ኡኖ ሰሌዳ በራሱ ላይ ሁሉ መሬት።

ከዚህ በመነሳት እዚህ የተገኘውን ይህንን መሰረታዊ የእርከን ሙከራ ኮድ በመጠቀም ደረጃዎችን ለመቆጣጠር መሞከር መቻል አለብን። በ Arduino.cc ላይ ይህ ማብራሪያ እርስዎ ቢያስፈልግዎት ስለ//unipolar steppers የበለጠ ጥልቅ ማብራሪያ ይሰጣል። ቀጥሎ ወደ ፖሞዶሮ ኮድ ውስጥ እንገባለን!

ደረጃ 2 - ደረጃ 2 - ኮድ መስቀል እና ለፍላጎቶችዎ ማስተካከል

ደረጃ 2 - ኮድ መስቀል እና ለፍላጎቶችዎ ማስተካከል
ደረጃ 2 - ኮድ መስቀል እና ለፍላጎቶችዎ ማስተካከል

ለማዋቀርዎ ለማበጀት ከዚህ በታች የሚከተሉትን እርምጃዎች ይከተሉ - የእኔ ፖሞዶሮ በአዝራር ያለው ኮድ ነው።

1. የግል የእርምጃዎ አይነት በአንድ አብዮት ስንት እርምጃዎችን ያዘጋጁ (NEMA 17s 200 አላቸው እና እሱ ደረጃPerRevolution ተብሎ በሚጠራው ቋሚ ኢንቲጀር ውስጥ ተዘርዝሯል)።

2. በቋሚ ኢንቲጀር ደዋይ አዝራር ፒን ውስጥ የእርስዎ አዝራር የሚያስገባበትን ቦታ ያዘጋጁ።

3. የእርምጃዎችዎን ለማዘዝ የእርስዎ አርዱኢኖ ከየት እንደሚወጣ ያዘጋጁ (እነዚህ ክፍሎች ብዙ የሚጠቀሙባቸው የተለያዩ ቤተ -መጽሐፍት ስላሏቸው በ H ድልድይ ዓይነቶች መካከል በጣም ሊለያዩ ይችላሉ)።

4.

5. እያንዳንዱ የእርምጃዎችዎ ከመንቀሳቀሱ በፊት ምን ያህል ጊዜ እንዲዞሩ እንደሚፈልጉ ያዘጋጁ (የእኔ የእንጀራ ሰሪዎች አስር ደቂቃዎች ይቆጥራሉ ፣ ስለዚህ በ 1 RPM ላይ አሥር ጊዜ ይሽከረከራሉ)።

6 ወደ ኋላ እንዲዞር ምን ያህል ጊዜ እንደሚፈልጉ ያዘጋጁ።

#ያካትቱ

const int stepsPerRevolution = 200; // በእግረኞች ሞተሮቼ በእያንዳንዱ ሙሉ አብዮት ውስጥ ምን ያህል ደረጃዎች እንደሆኑ በቋሚነት ማቀናበር

const int buttonPin = A0; // የአዝራር ግቤቴን ቋሚ ማቀናበር

Stepper firstStepper (stepsPerRevolution, 2, 3, 4, 5); // በተወሰኑ ፒኖች ላይ የእርከን ቤተ -መጽሐፍትን ያስጀምሩ

Stepper secondStepper (stepsPerRevolution, 6, 7, 8, 9); Stepper thirdStepper (stepsPerRevolution, 10, 11, 12, 13); Stepper firstStepperBack (stepsPerRevolution, 2, 3, 4, 5); // ጊዜው ሲያልቅ Stepper secondStepperBack (stepsPerRevolution, 6, 7, 8, 9) ማሳወቁ ለ/ ርኤምኤምኤም ዳግም ማስጀመር እንዲቻል በእነዚህ ፒኖች ላይ የእርምጃውን ቤተ -መጽሐፍት እንደገና ያስጀምሩ። Stepper thirdStepperBack (stepsPerRevolution, 10, 11, 12, 13);

int minutesCounter = 0; // int የእንቆቅልሾችን ሙሉ አብዮቶች በመቁጠር

int timerState = LOW; // የአሁኑ የ pomodoro ሰዓት ቆጣሪ ሁኔታ (HIGH = on, LOW = off/reset) int buttonState; // የአሁኑ ንባብ ከግቤት ፒን int lastButtonState = HIGH; // ቀዳሚው ንባብ ከግቤት ፒን

// የሚከተሉት ተለዋዋጮች ረጅም ያልተፈረሙ ናቸው ፣ ምክንያቱም ጊዜው ፣ በሚሊሰከንዶች የሚለካ ፣

// int ውስጥ ሊቀመጥ ከሚችለው በላይ በፍጥነት ትልቅ ቁጥር ይሆናል። ያልተፈረመ ረጅም lastDebounceTime = 0; // ለመጨረሻ ጊዜ የውጤት ፒን ያልተፈረመ ረጅም debounceDelay = 50; // የመልቀቂያ ጊዜ; የውጤቱ ብልጭ ድርግም ካለ ጨምር

ባዶነት ማዋቀር () {

pinMode (አዝራር ፒን ፣ INPUT_PULLUP); // እንደ ግቤት ቁልፍን ቋሚ ያዘጋጁ

firstStepper.setSpeed (1); // ፍጥነቱን በ 1 ደቂቃ በደቂቃ በ 10 ደቂቃ ለመቁጠር በደረጃ 1 ሴፕቴፕ.setSpeed (1); thirdTepper.setSpeed (1); firstStepperBack.setSpeed (30); // ፖሞዶሮ ሁለተኛStepperBack.setSpeed (30) ን ካጠናቀቀ በኋላ ጊዜው እንዳበቃ ለማስጠንቀቅ ፍጥነቱን በ 30 ራፒኤም ያዘጋጁ። thirdStepperBack.setSpeed (30);

Serial.begin (9600); // ተከታታይ ክትትል በ 9600 ባውድ ፍጥነት ይጀምሩ

}

ባዶነት loop () {

// የመቀየሪያውን ሁኔታ ወደ አካባቢያዊ ተለዋዋጭ ያንብቡ - int reading = digitalRead (buttonPin);

// አዝራሩን ተጭነው እንደሆነ ለማየት ይፈትሹ

// (ማለትም ግብዓቱ ከ LOW ወደ HIGH ሄዷል) ፣ እና ማንኛውንም ጫጫታ ችላ ለማለት ከመጨረሻው ፕሬስ ጀምሮ // ለረጅም ጊዜ ጠብቀዋል።

// በድምፅ ወይም በመጫን ምክንያት ማብሪያው ከተቀየረ -

ከሆነ (ንባብ! } ከሆነ ((ሚሊስ () - lastDebounceTime)> debounceDelay) {// ንባቡ የሚገኝበት ሁሉ ፣ ከመውረዱ መዘግየት ይልቅ ረዘም ላለ ጊዜ // ቆይቷል ፣ ስለዚህ እንደ ትክክለኛው የአሁኑ ሁኔታ ይውሰዱ

// የአዝራሩ ሁኔታ ከተለወጠ

ከሆነ (ማንበብ! = buttonState) {buttonState = ማንበብ;

// አዲሱ የአዝራር ሁኔታ መጫኑን የሚያመለክት ከሆነ የሰዓት ቆጣሪውን ማንቃት ብቻ ይቀይሩ

// ለማብራት አንድ ጊዜ ይጫኑ ፣ (buttonState == LOW) {timerState =! timerState; Serial.print ("የሰዓት ቆጣሪ ግዛት ነው"); Serial.println (timerState); }}}

ከሆነ (timerState == HIGH) {

Serial.println ("የፖሞዶሮ ሰዓት ቆጣሪ ተጀምሯል"); ከሆነ (minutesCounter <11) {// የአሁኑ ሁለተኛ እሴት ከቀዳሚው እሴት የተለየ ከሆነ firstStepper.step (stepsPerRevolution); // መዞሪያውን 200 ደረጃዎች/1 ራእይ ደቂቃዎች ቆጣሪ ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }

ከሆነ (11 <= minutesCounter && minutesCounter <21) {// የአሁኑ ሁለተኛው እሴት ከቀዳሚው እሴት የተለየ ከሆነ ሁለተኛStepper.step (stepsPerRevolution); // መዞሪያውን 200 ደረጃዎች/1 ክለሳ ደቂቃዎች ቆጣሪ ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }

ከሆነ (21 <= minutesCounter && minutesCounter <31) {// የአሁኑ ሁለተኛ እሴት ከቀዳሚው እሴት የተለየ ከሆነ ሦስተኛውStepper.step (stepsPerRevolution); // መዞሪያውን 200 ደረጃዎች/1 ክለሳ ደቂቃዎች ቆጣሪ ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }

ከሆነ (31 <= minutesCounter && minutesCounter <1031) {// የአሁኑ ሁለተኛ እሴት ከቀዳሚው እሴት የተለየ ከሆነ መጀመሪያStepperBack.step (-1); // ሁሉም በአንድ ጊዜ እየሮጡ ያሉ ለመምሰል በደረጃ 1 ደረጃ በደረጃ ይመለሱ/ ይመለሱ ሁለተኛ ደረጃ StepperBack.step (-1); thirdStepperBack.step (-1); ደቂቃዎች ቆጣሪ ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }} ሌላ {Serial.println (“የፖሞዶሮ ሰዓት ቆጣሪ ጠፍቷል”) ፤ } // ንባቡን ያስቀምጡ። በሉፕ በኩል በሚቀጥለው ጊዜ // የመጨረሻው ይሆናል ButtonState: lastButtonState = ማንበብ; }

ደረጃ 3 - ደረጃ 3 - ከፈለጉ ከፈለጉ ደረጃዎቹን እና አርዱዲኖን ይዛችሁ

ደረጃ 3 - ከፈለጉ ከፈለጉ የእግረኞች እና አርዱዲኖን ይያዙ
ደረጃ 3 - ከፈለጉ ከፈለጉ የእግረኞች እና አርዱዲኖን ይያዙ
ደረጃ 3 - ከፈለጉ ከፈለጉ የእግረኞች እና አርዱዲኖን ይያዙ
ደረጃ 3 - ከፈለጉ ከፈለጉ የእግረኞች እና አርዱዲኖን ይያዙ
ደረጃ 3 - ከፈለጉ ከፈለጉ የእግረኞች እና አርዱዲኖን ይያዙ
ደረጃ 3 - ከፈለጉ ከፈለጉ የእግረኞች እና አርዱዲኖን ይያዙ

ለሰዓቴ ትይዩአዊ ቅርፅ መፍጠርን መረጥኩ። ይህ ቅጽ እና የቀይ ኦክ ቁሳዊ ምርጫዎች በመካከለኛው መቶ ዘመን ዘመናዊ የቤት ዕቃዎች አነሳሽነት ነበሩ። እኔ በጣም የቸገርኩበት አንድ ክፍል በእግራቸው ቀዳዳ በኩል የእግረኞች ደረጃዎችን በመደወያዎቹ መግጠም ነበር።

የሚመከር: