فهرست مطالب:
- مرحله 1: فیلم تعامل
- مرحله 2: بیان مشکل
- مرحله 3: مروری بر نحوه عملکرد آن
- مرحله 4: فهرست مواد و ابزارها
- مرحله 5: شروع به ساختن با Breadboard کنید
- مرحله 6: شروع به کار کد
- مرحله 7: تکمیل لمس
تصویری: تایمر اتاق مطالعه: 7 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:56
دستورالعمل نحوه ایجاد یک زمان سنج برای یک اتاق مطالعه.
مرحله 1: فیلم تعامل
drive.google.com/file/d/12z5zQR52AXILX2AGb3EplfbmZWANZiCl/view؟usp=drivesdk
مرحله 2: بیان مشکل
بیشتر اوقات ، اتاقهای مطالعه همیشه گرفته می شوند. این امر به این دلیل اتفاق می افتد که افراد دوست دارند خیلی بیشتر از آنچه نیاز دارند در اتاق بمانند. ما یک تایمر طراحی کرده ایم که به هر فرد در مجموع 2 ساعت اجازه می دهد و افرادی که منتظر توانایی درخواست اتاق برای گروه بعدی هستند ، استفاده می کنند. استفاده از RGB در Neopixels میزان زمان باقی مانده را بیان می کند.
مرحله 3: مروری بر نحوه عملکرد آن
تایمر شامل قطعاتی است که توسط برش لیزری بریده شده است ، 3 دکمه ، 1 LED ، 1 پتانسیومتر.
Neopixels و پتانسیومتر به NodeMCU متصل می شود. NodeMCU به گونه ای برنامه ریزی شده است که تا چه اندازه پتانسیومتر را بچرخاند تا میزان LED های روشن شده بر روی نوار دایره ای نئوپیکسل را تغییر دهد. دکمه درخواست عملکرد عملکرد Start ، Stop و Set time را متوقف می کند. رنگ LED ها در تایمر داخل اتاق همان رنگ LED است که در کنار جعبه روشن شده است. نئو پیکسل در کنار جعبه نشان دهنده صفحه نمایش در لابی ساختمان است تا بدانید کدام اتاق گرفته شده و چقدر زمان باقی مانده است. 2 چراغ LED برای هر اتاق تجویز می شود ، یکی LED نشان می دهد که اتاق گرفته شده است و LED دیگر رنگ LED ها را در تایمر نشان می دهد (سبز زمان بیشتر است ، سپس زرد ، سپس قرمز برای زمان کمتری).
مرحله 4: فهرست مواد و ابزارها
-اکریلیک پاک کنید
-کابل MicroUSB
www.digikey.com/product-detail/fa/stewart-…
-تختخواب
www.amazon.com/gp/product/B01EV6LJ7G/ref=o…
-پتانسیومتر
www.alliedelec.com/honeywell-380c32500/701…
-3 دکمه
www.digikey.com/product-detail/fa/te-conne…
-NodeMCU
www.amazon.com/gp/product/B07CB4P2XY/ref=o…
- 2 نوار نئوپیکسلی
www.amazon.com/Lighting-Modules-NeoPixel-W…
-مقاومین
www.digikey.com/product-detail/fa/te-conne…
- سیم ها
www.digikey.com/product-detail/fa/sparkfun…
-1 LED
www.mouser.com/ProductDetail/Cree-Inc/C512…
-چسب حرارتی تفنگی
www.walmart.com/ip/AdTech-Hi-Temp-Mini-Hot…
نوارهای چسبناک Velcro
www.amazon.com/VELCRO-Brand-90076-Fastener…
مرحله 5: شروع به ساختن با Breadboard کنید
A0 تا پین وسط در پتانسیومتر
حلقه Neopixel Vin to Power on
3v3 به یک طرف پتانسیومتر
همه زمینه ها برای اتصال به زمین در NodeMCU
D1 دکمه درخواست
D2 برای درخواست LED
D3 دکمه شروع
دکمه توقف D4
D5 به مقاومت در برابر ورودی نئوپیکسل روی حلقه
D6 به مقاومت در برابر نوار ورودی Neopixel
مرحله 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 = ماشین. پین (4 ، ماشین. پین. خارج)
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 'request'
اگر 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
در حالی که True:
# این دکمه ای است که 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:
برای i در محدوده (-1 ، 12):
if (l1.value () == 0):
if (adc.read ()> = (85.34 * (i+1))):
np = (0 ، 0 ، 0)
np [11] = (0 ، 0 ، 30)
s = (من + 1)
دیگری:
np = (0 ، 0 ، 30)
np.write ()
دیگری:
np = (0 ، 0 ، 0)
np.write ()
# این دکمه شروع تایمر است
if (l1.value () == 0) و (t == 0):
b2temp2 = b2.value ()
اگر b2temp1 و نه b2temp2:
x += 1
t += (s * 100)
زمان خواب (0.05)
b2temp1 = b2temp2
# این دکمه تایمر را به پایان می رساند
if (l1.value () == 0):
b3temp2 = b3.value ()
اگر b3temp1 و نه b3temp2:
x = 0
t = 0
زمان خواب (0.05)
b3temp1 = b3temp2
# این تایمر است
اگر x> 0:
t += 1
if (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 ()
if (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 ()
if (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 ()
if (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 ()
if (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 ()
if (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 ()
if (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 ()
if (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 ()
if (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 ()
if (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 ()
if (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 ()
if (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: تکمیل لمس
در حال حاضر ، هنگامی که به این حد رسیدید ، باید کد کار را در NodeMCU بارگذاری کرده و همه قسمتها را روی بردبرد متصل کنید. هنگامی که کد را امتحان کردید و هر قطعه ای را که برای نمای بیرونی دارید ، یعنی پوشش برش لیزری ، قطع کردید ، اکنون می توانید سیم ها را به NodeMCU لحیم کنید. لحیم کاری اختیاری است اما ممکن است آن را برای پوشش شما ایمن تر و کوچکتر کند. در اینجا برخی از قطعات برش لیزری که ما ساخته ایم آورده شده است.
توصیه شده:
مطالعه شبیه سازی: 9 مرحله
مطالعه شبیه سازی: در این دستورالعمل از فیوژن 360 Autodesk استفاده کرده ام. این دستورالعمل برای مطالعه شبیه سازی است. در این مقاله از مدل و شبیه سازی فضای کار همجوشی میز خودکار 360 استفاده کرده ام. شبیه سازی را برای نیروهای طولی به بزرگی 10 N مطالعه کرده ام. در
مطالعه جهت گیری با Raspberry Pi و MXC6226XU با استفاده از پایتون: 6 مرحله
مطالعه جهت گیری با Raspberry Pi و MXC6226XU با استفاده از پایتون: صداها تنها بخشی از کارکردن یک وسیله نقلیه هستند. صدای همهمه موتور خودرو بسیار تنظیم شده صدایی باشکوه است. لاستیک در جاده زمزمه می کند ، باد هنگام حرکت در اطراف آینه ها ، تکه های پلاستیکی و قطعاتی که در داشبورد قرار دارد ، صدای جیغ می کشد
موتور پله ای با فلیپ فلاپ D و تایمر 555 ؛ قسمت اول مدار 555 تایمر: 3 قدم
موتور پله ای با فلیپ فلاپ D و تایمر 555 ؛ بخش اول مدار 555 تایمر: موتور پله ای یک موتور DC است که در مراحل گسسته حرکت می کند. اغلب در چاپگرها و حتی روباتیک استفاده می شود. این مدار را به صورت مرحله ای توضیح خواهم داد. اولین قسمت مدار 555 است تایمر این اولین تصویر است (در بالا ببینید) با تراشه 555 w
میکروکنترلر AVR چراغ های LED با استفاده از تایمر چشمک می زنند. وقفه تایمرها تایمر حالت CTC: 6 مرحله
میکروکنترلر AVR چراغ های LED با استفاده از تایمر چشمک می زنند. وقفه تایمرها تایمر CTC Mode: سلام به همه! تایمرها یک مفهوم مهم در زمینه الکترونیک هستند. هر جزء الکترونیکی بر اساس زمان کار می کند. این زمانبندی کمک می کند تا همه کارها همزمان شوند. همه میکروکنترلرها با فرکانس ساعت از پیش تعیین شده ای کار می کنند ،
تایمر NE555 - پیکربندی تایمر NE555 در پیکربندی Astable: 7 مرحله
تایمر NE555 | پیکربندی تایمر NE555 در پیکربندی Astable: تایمر NE555 یکی از رایج ترین IC ها در دنیای لوازم الکترونیکی است. به شکل DIP 8 است ، یعنی دارای 8 پین است