ዝርዝር ሁኔታ:

የጥናት ክፍል ቆጣሪ 7 ደረጃዎች
የጥናት ክፍል ቆጣሪ 7 ደረጃዎች

ቪዲዮ: የጥናት ክፍል ቆጣሪ 7 ደረጃዎች

ቪዲዮ: የጥናት ክፍል ቆጣሪ 7 ደረጃዎች
ቪዲዮ: የጥናት ፍላጎትን የሚጨምሩ 8 ዘዴዎች 2024, ሀምሌ
Anonim
የጥናት ክፍል ቆጣሪ
የጥናት ክፍል ቆጣሪ
የጥናት ክፍል ቆጣሪ
የጥናት ክፍል ቆጣሪ
የጥናት ክፍል ቆጣሪ
የጥናት ክፍል ቆጣሪ

ለጥናት ክፍል ሰዓት ቆጣሪን እንዴት እንደሚፈጥሩ መመሪያዎች።

ደረጃ 1: መስተጋብር ቪዲዮ

drive.google.com/file/d/12z5zQR52AXILX2AGb3EplfbmZWANZiCl/view?usp=drivesdk

ደረጃ 2 - የችግር መግለጫ

አብዛኛውን ጊዜ የጥናት ክፍሎች ሁል ጊዜ ይወሰዳሉ። ይህ የሚሆነው ሰዎች ከሚያስፈልጉት በላይ ረዘም ላለ ጊዜ በክፍሉ ውስጥ መቆየት ስለሚወዱ ነው። እያንዳንዱ ሰው በጠቅላላ 2 ሰዓት የሚፈቅድ ሰዓት ቆጣሪ እና ሰዎች ቀጣዩ ቡድን እንዲሆኑ የመጠየቅ ችሎታን የሚጠብቁ ሰዎች ሠርተናል። ROP በ Neopixels ላይ መጠቀሙ የቀረውን የጊዜ መጠን ይገልጻል።

ደረጃ 3 - እንዴት እንደሚሰራ አጠቃላይ እይታ

ሰዓት ቆጣሪው በሌዘር መቁረጫው ፣ 3 አዝራሮች ፣ 1 ኤልኢዲ ፣ 1 ፖታቲሞሜትር የተቆረጡ ክፍሎች አሉት።

Neopixels እና potentiometer ወደ NodeMCU ተገናኝቷል። ኖፖኤምሲው ክብ በሆነው ኒኦፒክስል ስትሪፕ ላይ የሚበራውን የ LED መጠን ለመለወጥ ፖታቲሞሜትሩ ምን ያህል እንደተለወጠ ለማስተካከል ፕሮግራም ተይ isል። የጥያቄ አዝራሩ የጀምር ፣ አቁም እና የሰዓት ተግባርን ተግባር ያቆማል። በክፍሉ ውስጥ ባለው ሰዓት ቆጣሪ ላይ የኤልዲዎቹ ቀለም በሳጥኑ ጎን ላይ የሚበራ የ LED ተመሳሳይ ቀለም ነው። በሳጥኑ ጎን ላይ ያለው ኒዮፒክስል የትኛው ክፍል እንደተወሰደ እና ምን ያህል ጊዜ እንደቀረ ለማወቅ በህንፃው ሎቢ ውስጥ ያለውን ማሳያ ይወክላል። ለእያንዳንዱ ክፍል 2 ኤልኢዲዎች የታዘዙ ናቸው ፣ አንድ ኤልኢዲ ክፍሉ ከተወሰደ እና ሌላኛው የ LED ን በሰዓት ቆጣሪ ላይ (አረንጓዴው ብዙ ጊዜ ነው ፣ ከዚያ ቢጫ ፣ ከዚያም ቀይ ለትንሽ ጊዜ) ይወክላል።

ደረጃ 4 የቁሳቁሶች እና መሣሪያዎች ዝርዝር

-ግልጽ አክሬሊክስ

-ማይክሮ ዩኤስቢ ገመድ

www.digikey.com/product-detail/en/stewart-…

-የዳቦ ሰሌዳ

www.amazon.com/gp/product/B01EV6LJ7G/ref=o…

-ፖታቲሞሜትር

www.alliedelec.com/honeywell-380c32500/701…

-3 አዝራሮች

www.digikey.com/product-detail/en/te-conne…

-NodeMCU

www.amazon.com/gp/product/B07CB4P2XY/ref=o…

- 2 Neopixel Strips

www.amazon.com/Lighting-Modules-NooPixel-W…

-ተከላካዮች

www.digikey.com/product-detail/en/te-conne…

- ሽቦዎች

www.digikey.com/product-detail/en/sparkfun…

-1 ኤል.ዲ

www.mouser.com/ProductDetail/Cree-Inc/C512…

-ሙቅ ሙጫ ጠመንጃ

www.walmart.com/ip/AdTech-Hi-Temp-Mini-Hot…

-ስቲክ ቬልክሮ ጭረቶች

www.amazon.com/VELCRO-Brand-90076-Fastener…

ደረጃ 5 በመጋገሪያ ሰሌዳ መገንባት ይጀምሩ

በዳቦ ሰሌዳ መገንባት ይጀምሩ
በዳቦ ሰሌዳ መገንባት ይጀምሩ

በፖታቲሞሜትር ላይ ከ A0 እስከ መካከለኛ ፒን

በኒዮፒክስል ቀለበት ላይ ቪን ወደ ኃይል

3v3 ከ Potentiometer ወደ አንድ ጎን

በ NodeMCU ላይ ለመሬት ሁሉም ምክንያቶች

D1 ለመጠየቅ አዝራር

LED ን ለመጠየቅ D2

D3 ወደ የማስጀመሪያ አዝራር

D4 ለማቆም አዝራር

ቀለበት ላይ ወደ ኒኦፒክስል ግቤት ወደ ተከላካይ D5

D6 ወደ ኒኦፒክስል የግብዓት ስትሪፕ ለመቃወም

ደረጃ 6 - ኮዱን ማስጀመር

እስካሁን ፕሮጀክትዎ እየሰራ መሆኑን ለማረጋገጥ ይህ ኮድ ነው። ሰዓት ቆጣሪው በኒውዮፒክስል ቀለበት ላይ በአንድ LED ላይ ሁለት ሰከንዶች ብቻ መሆን አለበት። አንዴ እስከዚህ ነጥብ ድረስ እየሰራ መሆኑን ካወቁ ፣ ማድረግ ያለብዎት ከዚህ በታች መግለጫዎች ወደተጠቀሰው ክልልዎ ከሆነ ጊዜውን መለወጥ ነው። ለጊዜ ምደባዎ መለወጥ ያለብዎት መግለጫዎች በእያንዳንዱ ጊዜ ላይ ‹#Change Time›› ላይ አደርጋለሁ።

ኮዱን በመሞከር ላይ ፦

የማስመጣት ጊዜ

የማስመጣት ጊዜ

ከማሽን ማስመጣት ኤ.ዲ.ሲ

የማስመጣት ማሽን

ኒዮፒክስል ያስመጡ

adc = ADC (0)

ፒን = ማሽን። ፒን (14 ፣ ማሽን። ፒን. OUT)

np = neopixel. NeoPixel (ፒን ፣ 12)

pin2 = ማሽን። ፒን (12 ፣ ማሽን። ፒን. OUT)

np2 = neopixel. NeoPixel (ፒን 2 ፣ 8)

l1 = ማሽን። ፒን (4 ፣ ማሽን። ፒን. OUT)

b1 = ማሽን። ፒን (5 ፣ ማሽን። ፒን.ኢን ፣ ማሽን። ፒን። PULL_UP)

b3 = ማሽን። ፒን (2 ፣ ማሽን። ፒን.ኢን ፣ ማሽን። ፒን። PULL_UP)

b2 = ማሽን። ፒን (0 ፣ ማሽን። ፒን.ኢን ፣ ማሽን። ፒን። PULL_UP)

l1. እሴት (0)

def tglled (): # መቀያየር 'ጥያቄ' የ LED ተግባር

l1. እሴት () == 0 ከሆነ

l1. እሴት (1)

ሌላ

l1. እሴት (0)

x = 0

b1temp1 = 0

b1temp2 = 0

t = 0

b2temp1 = 0

b2temp2 = 0

b3temp1 = 0

b3temp2 = 0

s = 0

እውነት እያለ ፦

# ይህ ‹ጥያቄ› LED ን የሚቀይር ቁልፍ ነው

b1temp2 = b1. ዋጋ ()

b1temp1 እና b1temp2 ካልሆነ:

ተንቀጠቀጠ ()

ጊዜ. እንቅልፍ (0.05)

b1temp1 = b1temp2

# ይህ ፍርግርግ ነው

np2 [0] = np [11]

l1. እሴት () == 1 ከሆነ

np2 [1] = (30, 0, 0)

ሌላ

np2 [1] = (0, 0, 30)

np2. ጻፍ ()

# የምንፈልገውን ጊዜ የምንመርጥበት ይህ ነው

t == 0 ከሆነ

በክልል ውስጥ (-1 ፣ 12) ፦

ከሆነ (l1. እሴት () == 0):

ከሆነ (adc.read ()> = (85.34 * (i+1))):

np = (0, 0, 0)

np [11] = (0, 0, 30)

s = (i + 1)

ሌላ

np = (0, 0, 30)

np. ጻፍ ()

ሌላ

np = (0, 0, 0)

np. ጻፍ ()

# ሰዓት ቆጣሪውን ለመጀመር ይህ ቁልፍ ነው

ከሆነ (l1. እሴት () == 0) እና (t == 0):

b2temp2 = b2. ዋጋ ()

b2temp1 እና b2temp2 ካልሆነ:

x += 1

t += (s * 100)

ጊዜ. እንቅልፍ (0.05)

b2temp1 = b2temp2

# ይህ አዝራር ሰዓት ቆጣሪውን ያበቃል

ከሆነ (l1. እሴት () == 0):

b3temp2 = b3. ዋጋ ()

b3temp1 እና b3temp2 ካልሆነ:

x = 0

t = 0

ጊዜ. እንቅልፍ (0.05)

b3temp1 = b3temp2

# ይህ ሰዓት ቆጣሪ ነው

ከሆነ x> 0:

t += 1

ከሆነ (t> 0) እና (t <= 100): #የለውጥ ጊዜ

np [0] = (5, 30, 0)

np [1] = (5, 30, 0)

np [2] = (5, 30, 0)

np [3] = (5, 30, 0)

np [4] = (5, 30, 0)

np [5] = (5, 30, 0)

np [6] = (5, 30, 0)

np [7] = (5, 30, 0)

np [8] = (5, 30, 0)

np [9] = (5, 30, 0)

np [10] = (5, 30, 0)

np [11] = (5, 30, 0)

np. ጻፍ ()

ከሆነ (t> 100) እና (t <= 200): #የለውጥ ጊዜ

np [0] = (0, 0, 0)

np [1] = (10, 30, 0)

np [2] = (10, 30, 0)

np [3] = (10, 30, 0)

np [4] = (10, 30, 0)

np [5] = (10, 30, 0)

np [6] = (10, 30, 0)

np [7] = (10, 30, 0)

np [8] = (10, 30, 0)

np [9] = (10, 30, 0)

np [10] = (10, 30, 0)

np [11] = (10, 30, 0)

np. ጻፍ ()

ከሆነ (t> 200) እና (t <= 300): #የለውጥ ጊዜ

np [0] = (0, 0, 0)

np [1] = (0, 0, 0)

np [2] = (15, 30, 0)

np [3] = (15, 30, 0)

np [4] = (15, 30, 0)

np [5] = (15, 30, 0)

np [6] = (15, 30, 0)

np [7] = (15, 30, 0)

np [8] = (15, 30, 0)

np [9] = (15, 30, 0)

np [10] = (15, 30, 0)

np [11] = (15, 30, 0)

np. ጻፍ ()

ከሆነ (t> 300) እና (t <= 400): #የለውጥ ጊዜ

np [0] = (0, 0, 0)

np [1] = (0, 0, 0)

np [2] = (0, 0, 0)

np [3] = (20, 30, 0)

np [4] = (20, 30, 0)

np [5] = (20, 30, 0)

np [6] = (20, 30, 0)

np [7] = (20, 30, 0)

np [8] = (20, 30, 0)

np [9] = (20, 30, 0)

np [10] = (20, 30, 0)

np [11] = (20, 30, 0)

np. ጻፍ ()

ከሆነ (t> 400) እና (t <= 500): #የለውጥ ጊዜ

np [0] = (0, 0, 0)

np [1] = (0, 0, 0)

np [2] = (0, 0, 0)

np [3] = (0, 0, 0)

np [4] = (25, 30, 0)

np [5] = (25, 30, 0)

np [6] = (25, 30, 0)

np [7] = (25, 30, 0)

np [8] = (25, 30, 0)

np [9] = (25, 30, 0)

np [10] = (25, 30, 0)

np [11] = (25, 30, 0)

np. ጻፍ ()

ከሆነ (t> 500) እና (t <= 600): #የለውጥ ጊዜ

np [0] = (0, 0, 0)

np [1] = (0, 0, 0)

np [2] = (0, 0, 0)

np [3] = (0, 0, 0)

np [4] = (0, 0, 0)

np [5] = (30, 30, 0)

np [6] = (30, 30, 0)

np [7] = (30, 30, 0)

np [8] = (30, 30, 0)

np [9] = (30, 30, 0)

np [10] = (30, 30, 0)

np [11] = (30, 30, 0)

np. ጻፍ ()

ከሆነ (t> 600) እና (t <= 700): #የለውጥ ጊዜ

np [0] = (0, 0, 0)

np [1] = (0, 0, 0)

np [2] = (0, 0, 0)

np [3] = (0, 0, 0)

np [4] = (0, 0, 0)

np [5] = (0, 0, 0)

np [6] = (30, 25, 0)

np [7] = (30, 25, 0)

np [8] = (30, 25, 0)

np [9] = (30, 25, 0)

np [10] = (30, 25, 0)

np [11] = (30, 25, 0)

np. ጻፍ ()

ከሆነ (t> 700) እና (t <= 800): #የለውጥ ጊዜ

np [0] = (0, 0, 0)

np [1] = (0, 0, 0)

np [2] = (0, 0, 0)

np [3] = (0, 0, 0)

np [4] = (0, 0, 0)

np [5] = (0, 0, 0)

np [6] = (0, 0, 0)

np [7] = (30, 20, 0)

np [8] = (30, 20, 0)

np [9] = (30, 20, 0)

np [10] = (30, 20, 0)

np [11] = (30, 20, 0)

np. ጻፍ ()

ከሆነ (t> 800) እና (t <= 900): #የለውጥ ጊዜ

np [0] = (0, 0, 0)

np [1] = (0, 0, 0)

np [2] = (0, 0, 0)

np [3] = (0, 0, 0)

np [4] = (0, 0, 0)

np [5] = (0, 0, 0)

np [6] = (0, 0, 0)

np [7] = (0, 0, 0)

np [8] = (30, 15, 0)

np [9] = (30, 15, 0)

np [10] = (30, 15, 0)

np [11] = (30, 15, 0)

np. ጻፍ ()

ከሆነ (t> 900) እና (t <= 1000): #የለውጥ ጊዜ

np [0] = (0, 0, 0)

np [1] = (0, 0, 0)

np [2] = (0, 0, 0)

np [3] = (0, 0, 0)

np [4] = (0, 0, 0)

np [5] = (0, 0, 0)

np [6] = (0, 0, 0)

np [7] = (0, 0, 0)

np [8] = (0, 0, 0)

np [9] = (30, 10, 0)

np [10] = (30, 10, 0)

np [11] = (30, 10, 0)

np. ጻፍ ()

ከሆነ (t> 1000) እና (t <= 1100): #የለውጥ ጊዜ

np [0] = (0, 0, 0)

np [1] = (0, 0, 0)

np [2] = (0, 0, 0)

np [3] = (0, 0, 0)

np [4] = (0, 0, 0)

np [5] = (0, 0, 0)

np [6] = (0, 0, 0)

np [7] = (0, 0, 0)

np [8] = (0, 0, 0)

np [9] = (0, 0, 0)

np [10] = (30, 5, 0)

np [11] = (30, 5, 0)

np. ጻፍ ()

ከሆነ (t> 1100) እና (t <= 1200): #የለውጥ ጊዜ

np [0] = (0, 0, 0)

np [1] = (0, 0, 0)

np [2] = (0, 0, 0)

np [3] = (0, 0, 0)

np [4] = (0, 0, 0)

np [5] = (0, 0, 0)

np [6] = (0, 0, 0)

np [7] = (0, 0, 0)

np [8] = (0, 0, 0)

np [9] = (0, 0, 0)

np [10] = (0, 0, 0)

np [11] = (30, 0, 0)

np. ጻፍ ()

ከሆነ t> = 1300: #የለውጥ ጊዜ

t = 0

x = 0

ደረጃ 7 - ንክኪዎችን ማጠናቀቅ

አሁን ፣ አንዴ ከዚህ ከሄዱ ፣ የሥራው ኮድ ወደ ኖድኤምሲዩ የተሰቀለ እና ሁሉም ክፍሎች ወደ የዳቦ ሰሌዳው የተገናኙ መሆን አለብዎት። አንዴ ኮዱን ከሞከሩ እና ለውጭው ያለዎትን ማንኛውንም ቁርጥራጮች ከቆረጡ ፣ ማለትም የሌዘር ቆራጭ መያዣን ፣ አሁን ሽቦዎቹን ለኖድኤምሲዩ መሸጥ ይችላሉ። የሽያጭ ሥራው አማራጭ ነው ፣ ግን ለካስዎ የበለጠ ደህንነቱ የተጠበቀ እና አነስተኛ እንዲሆን ሊያደርግ ይችላል። እኛ የሠራናቸው አንዳንድ የሌዘር ቁርጥራጭ ክፍሎች እዚህ አሉ።

የሚመከር: