সুচিপত্র:

স্টাডি রুম টাইমার: 7 টি ধাপ
স্টাডি রুম টাইমার: 7 টি ধাপ
Anonim
স্টাডি রুম টাইমার
স্টাডি রুম টাইমার
স্টাডি রুম টাইমার
স্টাডি রুম টাইমার
স্টাডি রুম টাইমার
স্টাডি রুম টাইমার

একটি স্টাডি রুমের জন্য কিভাবে টাইমার তৈরি করতে হয় তার নির্দেশনা।

ধাপ 1: ইন্টারঅ্যাকশন ভিডিও

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

ধাপ 2: সমস্যা বিবৃতি

বেশিরভাগ সময়, স্টাডি রুম সবসময় নেওয়া হয়। এটি ঘটে কারণ লোকেরা প্রয়োজনের তুলনায় অনেক বেশি সময় ধরে ঘরে থাকতে পছন্দ করে। আমরা এমন একটি টাইমার ডিজাইন করেছি যা প্রত্যেক ব্যক্তিকে মোট 2 ঘন্টা সময় দিতে পারে এবং অপেক্ষায় থাকা ব্যক্তিরা রুমের পরবর্তী গ্রুপ হওয়ার জন্য অনুরোধ করার ক্ষমতা রাখে।

ধাপ 3: এটি কীভাবে কাজ করে তার ওভারভিউ

টাইমারে লেজার কাটার, 3 টি বোতাম, 1 LED, 1 potentiometer দ্বারা কাটা অংশ থাকে।

Neopixels এবং potentiometer NodeMCU তে তারযুক্ত। নোডএমসিইউকে পরিকল্পিত করা হয়েছে যে সার্কুলার নিওপিক্সেল স্ট্রিপে জ্বলানো LED এর পরিমাণ পরিবর্তন করতে পটেনশিয়োমিটার কতদূর পরিণত হয়। অনুরোধ বোতামটি স্টার্ট, স্টপ এবং সেট টাইম ফাংশনের ফাংশন বন্ধ করে দেয়। ঘরের ভিতরে টাইমারের উপর LED এর রঙটি বাক্সের পাশে জ্বলানো LED এর একই রঙ। বাক্সের পাশের নিওপিক্সেলটি বিল্ডিংয়ের লবিতে প্রদর্শনের প্রতিনিধিত্ব করে কোন রুমটি নেওয়া হয় এবং কতটা সময় বাকি আছে তা জানতে। 2 টি LED প্রতিটি রুমের জন্য নির্ধারিত হয়, একটি LED যদি রুমটি নেওয়া হয় এবং অন্য LED টিম টাইমারে LEDs এর রঙ মিরর করে (সবুজ বেশি সময়, তারপর হলুদ, তারপর কম সময়ের জন্য লাল)।

ধাপ 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…

-নোডএমসিইউ

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

- 2 টি নিওপিক্সেল স্ট্রিপ

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

-রোধক

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

- তারের

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

-1 LED

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

নোডএমসিইউতে গ্রাউন্ড টু গ্রাউন্ড

D1 থেকে রিকোয়েস্ট বাটন

LED অনুরোধ করার জন্য D2

D3 থেকে স্টার্ট বাটন

D4 স্টপ বাটন

D5 রিং নেওপিক্সেল ইনপুট প্রতিরোধক

ডি 6 নিওপিক্সেল ইনপুট স্ট্রিপের প্রতিরোধক

ধাপ 6: কোড শুরু করা

আপনার প্রকল্পটি এতদূর কাজ করছে তা নিশ্চিত করার জন্য এটি কোড। টাইমারটি নিওপিক্সেল রিংয়ের প্রতি LED প্রতি কয়েক সেকেন্ডের হওয়া উচিত। একবার আপনি জানেন যে এটি এই মুহুর্ত পর্যন্ত কাজ করছে, আপনার যা করতে হবে তা হল আপনার নির্দিষ্ট পরিসরে নীচের বিবৃতি থাকলে সময় পরিবর্তন করা। আপনার সময় বরাদ্দের জন্য আপনাকে যে বিবৃতিগুলি পরিবর্তন করতে হবে আমি প্রতিটি সময় '#সময় পরিবর্তন' করব।

কোড চেষ্টা করে দেখুন:

আমদানির সময়

আমদানির সময়

মেশিন আমদানি ADC থেকে

আমদানি মেশিন

নিওপিক্সেল আমদানি করুন

adc = ADC (0)

pin = machine. Pin (14, machine. Pin. OUT)

np = neopixel. NeoPixel (পিন, 12)

pin2 = machine. Pin (12, machine. Pin. OUT)

np2 = neopixel. NeoPixel (pin2, 8)

l1 = machine. Pin (4, machine. Pin. OUT)

b1 = machine. Pin (5, machine. Pin. IN, machine. Pin. PULL_UP)

b3 = machine. Pin (2, machine. Pin. IN, machine. Pin. PULL_UP)

b2 = machine. Pin (0, machine. Pin. IN, machine. Pin. PULL_UP)

l1. মান (0)

def tglled (): # টগল 'অনুরোধ' LED ফাংশন

যদি l1.value () == 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.value ()

যদি b1temp1 এবং b1temp2 না হয়:

tglled ()

সময় ঘুম (0.05)

b1temp1 = b1temp2

# এটি গ্রিড

np2 [0] = np [11]

যদি l1.value () == 1:

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

অন্য:

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

np2.write ()

# এখানেই আমরা কতটা সময় প্রয়োজন তা নির্বাচন করি

যদি t == 0:

আমি পরিসরের মধ্যে (-1, 12):

যদি (l1.value () == 0):

যদি (adc.read ()> = (85.34 * (i+1))):

np = (0, 0, 0)

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

s = (i + 1)

অন্য:

np = (0, 0, 30)

np.write ()

অন্য:

np = (0, 0, 0)

np.write ()

# এটি টাইমার শুরু করার বোতাম

যদি (l1.value () == 0) এবং (t == 0):

b2temp2 = b2.value ()

যদি b2temp1 এবং b2temp2 না হয়:

x += 1

টি += (গুলি * 100)

সময় ঘুম (0.05)

b2temp1 = b2temp2

# এই বোতামটি টাইমার শেষ করে

যদি (l1.value () == 0):

b3temp2 = b3.value ()

যদি 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.write ()

যদি (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.write ()

যদি (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.write ()

যদি (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.write ()

যদি (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.write ()

যদি (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.write ()

যদি (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.write ()

যদি (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.write ()

যদি (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.write ()

যদি (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.write ()

যদি (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.write ()

যদি (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.write ()

যদি t> = 1300: #সময় পরিবর্তন করুন

t = 0

x = 0

ধাপ 7: স্পর্শ সমাপ্তি

এখন, একবার আপনি এতদূর হয়ে গেলে, আপনার নোডএমসিইউতে আপলোড করা ওয়ার্কিং কোড এবং ব্রেডবোর্ডে তারযুক্ত সমস্ত অংশ থাকা উচিত। একবার আপনি কোডটি চেষ্টা করে দেখেছেন এবং বাইরের জন্য আপনার যে কোনও টুকরো কেটে ফেলেছেন, যেমন লেজার কাট কেসিং, আপনি এখন তারগুলি নোডএমসিইউতে বিক্রি করতে পারেন। সোল্ডারিং alচ্ছিক কিন্তু এটি আপনার কেসিংয়ের জন্য এটি আরও নিরাপদ এবং ছোট করে তুলতে পারে। এখানে আমরা লেজার কাটার কিছু অংশ তৈরি করেছি।

প্রস্তাবিত: