فهرست مطالب:

EF 230: Home System 3000 قابل آموزش: 4 مرحله
EF 230: Home System 3000 قابل آموزش: 4 مرحله

تصویری: EF 230: Home System 3000 قابل آموزش: 4 مرحله

تصویری: EF 230: Home System 3000 قابل آموزش: 4 مرحله
تصویری: 220 ولت AC از دینام خودرو 12 ولت 90 آمپر 1000 وات DIY 2024, جولای
Anonim
EF 230: سیستم خانگی 3000 قابل آموزش
EF 230: سیستم خانگی 3000 قابل آموزش

Home System 3000 دستگاهی است که از آردوینو ، سنسور دما ، زنگ پیزو ، آشکارساز نوری/فوتوترانزیستور و سروو برای نشان دادن راه هایی برای بهبود بهره وری انرژی خانه استفاده می کند.

مرحله 1: سنسور دما

حسگر دما
حسگر دما

· سیم برق و زمین خود را از

میکرو کنترلر کنار تخته نان

· سنسور دما را در تخته نان قرار دهید و سیم برق و سیم مربوطه را مطابق آن اجرا کنید

· توجه داشته باشید که سنسور دما دارای سه شاخه است ، و شاخه میانی دارای سیم است که از درگاه "A0" عبور می کند.

· کد سنسور دما:

answer = questdlg ("لطفاً کد شروع arduino و سروو را اجرا کنید" ، "respond" ، "Ok" ، "Ok")

prompt = 'برای شروع هر کلید را فشار دهید'

مکث

prompt1 = "تنظیم حداقل دما"

x = ورودی (اعلان 1)

prompt2 = "حداکثر دما را تنظیم کنید"

y = ورودی (prompt2)

prompt3 = 'برای شروع هر کلیدی را فشار دهید'

مکث

شکل

h = خط متحرک ؛

ax = gca؛

ax. YGrid = 'روشن'؛

ax. YLim = [65 85]؛

توقف = false؛

startTime = datetime ('now')؛

در حالی که توقف

٪ مقدار ولتاژ فعلی را بخوانید

v = readVoltage (a ، 'A0') ؛

Calc محاسبه دما از ولتاژ (بر اساس برگه داده)

TempC = (v - 0.5)*100 ؛

TempF = 9/5*TempC + 32 ؛

Get دریافت زمان فعلی

t = datetime ('now') - startTime؛

Add افزودن امتیاز به انیمیشن

نقاط افزودنی (h ، datenum (t) ، TempF)

٪ محورهای به روز رسانی

ax. XLim = datenum ([t-seconds (15) t])؛

datetick ('x' ، 'keeplimits')

کشیدن

Check وضعیت توقف را بررسی کنید

stop = readDigitalPin (a ، 'D12') ؛

مرحله 2: وزوز

وزوز
وزوز

· سیم در زنگ که برای نشان دادن یک خواندن درجه حرارت بسیار بالا یا شدید استفاده می شود

· هيچ سيمي از ستون مثبت به سمت مثبت زنگ پخش نمي شود

· در عوض یک سیم از طرف مثبت زنگ به درگاهی با برچسب "11" منتقل می شود

این بعداً برای تماس با محل زنگ در کد نوشته شده استفاده می شود.

· کد زنگ:

اگر TempF> = y

disp ("بستن درب گرم است")

playTone (a ، 'D11' ، 500 ، 1)

elseif TempF <= x

disp ("درب را ببند سرد است")

playTone (a ، 'D11' ، 250 ، 1)

پایان

پایان

مرحله 3: آشکارساز نوری/فوتوترانزیستور

آشکارساز نوری/فوتوترانزیستور
آشکارساز نوری/فوتوترانزیستور

· این سنسور برخلاف سایرین به مقاومت نیاز دارد

· مطمئن شوید که هر چهار شاخه سنسور پس از وصل کردن سیم ها در حلقه قرار دارند

· سنسور یک تغییر در نور را نشان می دهد که نشان دهنده حرکت است و آن را به عنوان یک ورودی ثبت می کند

· کد آشکارساز نوری/فوتوترانزیستور:

روشن a

a = arduino ('/dev/tty.usbserial-DN01DVI2' ، 'Uno' ، 'Libraries' ، 'Servo') ؛

prompt = 'تنظیم آستانه سطح نور'

z = ورودی (سریع)

lightLevel = 0

در حالی که lightLevel = -1

lightLevel = readVoltage (a ، 'A1')

اگر lightLevel> = z

answer = questdlg ("آیا دوست دارید AC را تغییر دهید؟" ، "بله" ، "خیر")

تغییر پاسخ

مورد "بله"

answer2 = questdlg ("AC را بالا یا پایین ببرید؟" ، "reply" ، "Down" ، "Up" ، "Up")

تغییر پاسخ 2

مورد "پایین"

s = سروو (a ، 'D10') ؛

برای زاویه = 0:.1:.5

writePosition (s ، angle) ؛

current_position = readPosition (s)؛

current_position = موقعیت_ فعلی * 180؛

٪ موقعیت فعلی سرو موتور را چاپ کنید

fprintf ('موقعیت فعلی٪ d / n' است ، current_position) ؛

٪ تاخیر کوچک مورد نیاز است تا سروو در محل قرار گیرد

٪ زاویه به آن گفته شده است.

مکث (2) ؛

پایان

٪ موتور را به حالت 0 زاویه برگردانید

writePosition (s، 0)؛

روشن s

prompt = 'برای ادامه هر کلید را فشار دهید'

questdlg ('AC رد شد' ، 'reply' ، 'Ok' ، 'Ok')

مورد "بالا"

s = سروو (a ، 'D10') ؛

برای زاویه =.5:.1: 1

writePosition (s ، angle) ؛

current_position = readPosition (s)؛

current_position = موقعیت_ فعلی * 180؛

درصد موقعیت فعلی سرو موتور را چاپ کنید

fprintf ('موقعیت فعلی٪ d / n' است ، current_position) ؛

٪ تاخیر کوچک مورد نیاز است تا سروو در محل قرار گیرد

٪ زاویه به آن گفته شده است.

مکث (2) ؛

پایان

مرحله 4: سروو

سروو
سروو

· سروو نشان دهنده است

تهویه مطبوع ، و خروجی ورودی تشخیص حرکت است

· به سیم مثبت ، سیم زمین و سیم از پورت "D9" تا سروو نیاز دارد

· کد سروو:

٪ موتور را به حالت 0 زاویه برگردانید

writePosition (s، 0)؛

روشن s

prompt = 'برای ادامه هر کلید را فشار دهید'

questdlg ("AC روشن شد" ، "پاسخ" ، "خوب" ، "خوب")

پایان

پایان

مکث

زنگ تفريح

پایان

پایان

*توجه ویژه: برخی از کد سروو با کد آشکارساز نوری/فوتوترانزیستور ادغام شده است.

توصیه شده: