فهرست مطالب:
- مرحله 1: برای شروع: مواد
- مرحله 2: مرحله 2: نزدیک شدن به مشکل برای حل
- مرحله 3: مرحله 3: پیکربندی GUI و Basic Code Flow
- مرحله 4: مرحله 3: راه اندازی سیستم ترموستات
- مرحله 5: مرحله 4: راه اندازی سیستم درب
- مرحله 6: مرحله 6: راه اندازی سیستم Flood Light
- مرحله 7: نتیجه گیری
تصویری: سیستم خانه هوشمند آردوینو: 7 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
در این دستورالعمل به شما نشان می دهیم که چگونه می توانید سیستم خانه هوشمند خود را با طراح برنامه MATLAB با یک تخته قرمز Sparkfun ایجاد کنید. این دستورالعمل را می توان برای کمک به درک اولیه از طراح برنامه MATLAB و همچنین استفاده از مقاومت در برابر نور ، سرووموتور و سنسور حرکت PIR استفاده کرد.
مرحله 1: برای شروع: مواد
این پروژه به مواد زیر نیاز دارد:
- Arduino Uno (برای این پروژه از تخته قرمز Sparkfun استفاده کردیم)
- یک مقاومت نوری
- یک موتور مینی سروو
- یک موتور سروو پیوسته
- یک سنسور حرکت PIR
- یک سنسور دما
- 2 عدد LED
- سیم و مقاومت در صورت نیاز
مرحله 2: مرحله 2: نزدیک شدن به مشکل برای حل
هدف اصلی این پروژه ایجاد یک سیستم خانه هوشمند با استفاده آسان با کدگذاری برد Arduino Uno با MATLAB بود. ما ابتدا فقط به کار با سنسور دما و رطوبت فکر کردیم ، اما اگر با این دو سنسور بمانیم ، سیستم خانه هوشمند ما به راحتی برای مخاطبان عمومی قابل فروش نخواهد بود. ما تصمیم گرفتیم که بخواهیم یک سیستم انرژی خانه هوشمند ایجاد کنیم که به عنوان یک ترموستات و سیستم امنیتی هوشمند عمل کند. در نهایت ، ما می خواستیم با AppDesigner MATLAB کار کنیم تا کاربر بتواند به راحتی خانه هوشمند را به دلخواه تغییر دهد.
مرحله 3: مرحله 3: پیکربندی GUI و Basic Code Flow
برای شروع باید MATLABs AppDesigner را باز کرده و موارد زیر را قرار دهید:
دو فیلد ویرایش عددی برای ورودی آستانه گرم و سرد
یک دکمه برای باز کردن قفل درب
و چهار چراغ نشانگر برای شومینه ، در ، فن و چراغ سیل.
دو برچسب برای ارتباط با کاربر.
برای این پروژه کار با متغیرهای جهانی و عملکرد راه اندازی در طراح آسان تر شد. در تابع راه اندازی به این متغیرها نیاز دارید:
جهانی a
a = arduino ("COM3" ، "uno" ، "Libraries" ، "Servo") ؛ global s global p global hotUI global coldUI global unlock global global global curr_temp global int_light
در حال حاضر ما فقط یک متغیر برای یک متغیر داریم تا کامپیوتر شما بتواند آردوینو را بخواند. بسته به پورت رایانه شما ممکن است COM3 متفاوت باشد.
وقتی کد را اجرا می کنید ، در تابع راه اندازی شروع به ایجاد متغیرهای جهانی و کالیبره کردن سیستم می کند. در پایان این تابع یک تابع زمان سنج وجود دارد که یک ویژگی را که ما آن را تایمر نامیده ایم فرا می خواند. در این ویژگی Timer ما کدی را که سیستم خانه را اجرا می کند قرار می دهیم تا تایمر کد کالیبراسیون را دوباره اجرا نکند.
توجه: ما هیچ دستورالعمل سیم کشی برای سیستم ندادیم. ما به دفترچه راهنمای ارائه شده با برد قرمز SparkFun اشاره کردیم.
مرحله 4: مرحله 3: راه اندازی سیستم ترموستات
عملکرد ترموستات به شرح زیر است:
کاربر دمای مورد نظر خود را خیلی گرم یا خیلی سرد وارد می کند. هنگامی که دماسنج اندازه گیری می کند ، اگر خانه بسیار سرد است ، "شومینه" (یک LED قرمز) روشن می شود و خانه را گرم می کند. اگر خانه بیش از حد گرم است ، "فن" (سروو موتور پیوسته) خنک کننده خانه را روشن می کند.
برای کدگذاری سیستم ترموستات:
ما از طریق عملکرد راه اندازی شروع به نمایش دمای فعلی می کنیم و اجازه می دهیم کاربر آستانه سرد و گرم خود را وارد کند.
p = 'A0' pin پین مقاومت در برابر نور
ولت = خواندن ولتاژ (a ، temp) ؛ celc = (ولت 0.5).*100؛ curr_temp = celc*9/5+32 ؛ app. Label_4. Text = num2str (curr_temp) ؛ ٪ شماره برچسب می تواند مکث را تغییر دهد (10) ؛ ٪ ممکن است بخواهد تغییر کند !!!!!
سپس سیستم ترموستات را در ویژگی Timer تکمیل می کنیم.
curr_temp جهانی
global coldUI global a hotUI global if curr_temp hotUI app. FanStateLamp. Color = [0.47 0.67 0.19]؛ ٪ سبز چراغ GUI را سبز می نویسد 0.90 0.90 0.90]؛ ٪ این همه لامپهای GUI و برنامه شومینه را خاموش می کند. FanStateLamp. Color = [0.9 0.9 0.9]؛ writeDigitalPin (a، 'D13'، 0)؛ پایان
مرحله 5: مرحله 4: راه اندازی سیستم درب
عملکرد درب به شرح زیر عمل می کند:
هنگامی که برای اولین بار کد MATLAB خود را اجرا می کنید ، برنامه از شما می خواهد که در را باز کنید تا مقاومت در برابر عکس بتواند نور اولیه را بخواند. پس از اتمام کار ، تایمر فعال می شود و مقاومت در برابر عکس قرائت نور ثانویه را انجام می دهد. اگر قرائت نور ثانویه از اول روشن تر باشد ، سرو موتور موتور در را قفل می کند. اگر کاربر می خواهد قفل در باز شود ، می تواند دکمه ای را روی برنامه فشار دهد که قفل در را باز می کند.
برای پیکربندی سروو موتور و مقاومت در برابر عکس:
برای کدگذاری سیستم درب:
ما از طریق عملکرد راه اندازی شروع می کنیم تا خوانش های اولیه نور را انجام دهیم.
s = سروو (a ، 'D9')٪ ممکن است پین بر اساس سیم کشی تغییر کند
app. Label_4. Text = 'لطفاً در را برای کالیبراسیون سیستم باز کنید' ؛ مکث (15) ؛ ٪ این به کاربر زمان می دهد تا در را باز کند int_light = readVoltage (a، p)؛ app. Label_4. Text = 'شما می توانید انگشت خود را بردارید' ؛
در مرحله بعد ، کد را در ویژگی Timer تکمیل می کنیم
باز کردن قفل جهانی
global int_light global s global a٪ برای مقایسه curr_light = readVoltage (a، p) یک خوانش نور فعلی دریافت کنید؛ ٪ - قفل در - اگر int_light <curr_light writePosition (s، 1)٪ موقعیت های سروو ممکن است در هر مکث موتور متفاوت باشد (0.5) ؛ app. DoorStateLamp. Color = [0.47 0.67 0.19]؛ پایان٪ - باز کردن قفل درب - در صورت باز شدن == 1234 مکث (0.5) ؛ writePosition (s ،.52) app. DoorStateLamp. Color = [0.85 0.33 0.10]؛ پایان
در نهایت ما دکمه باز کردن قفل تماس را ایجاد می کنیم. هنگامی که کاربر دکمه باز کردن را فشار می دهد ، به متغیر باز شدن قفل شماره ای اختصاص داده می شود که می تواند دستور if نهایی را در ویژگی Timer تکمیل کند.
باز کردن قفل جهانی
باز کردن قفل = 1234؛
مرحله 6: مرحله 6: راه اندازی سیستم Flood Light
عملکرد چراغ سیل به شرح زیر عمل می کند:
وقتی کد MATLAB را راه اندازی می کنید ، سنسور حرکت PIR تشخیص حرکت را شروع می کند. هنگامی که نوعی حرکت را تشخیص داد ، سیگنال قدرت را قطع می کند. وقتی سیگنال قطع شود ، چراغ سیل در خارج از خانه روشن می شود.
برای پیکربندی سیستم نور سیل:
برای کدگذاری سیستم نور سیل:
این بار می توانیم به ویژگی Timer برویم زیرا نیازی به نوشتن متغیرهای اضافی نداریم.
human_detected = readDigitalPin (a ، 'D2') ؛ درصورتیکه human_detected == 0 writeDigitalPin (a، 'D7'، 1)٪ Pin ممکن است app. FloodLightStateLamp. Color = [0.47 0.67 0.19]؛ elseif human_detected == 1 app. FloodLightStateLamp. Color = [0.9 0.9 0.9 0.9] ؛ writeDigitalPin (a ، 'D7'، 0) پایان
مرحله 7: نتیجه گیری
اکنون که پیش نویس GUI خود را با طراح برنامه و کد خود برای Arduino در اختیار دارید ، آماده اید ویرایش های خود را انجام دهید یا Arduino خود را وصل کنید و بروید!
توصیه شده:
ایجاد یک سیستم کنترل خانه هوشمند در STONE HMI Disp: 23 مرحله
ایجاد یک سیستم کنترل خانه هوشمند در STONE HMI Disp: معرفی پروژه آموزش زیر نحوه استفاده از ماژول صفحه لمسی STONE STVC050WT-01 را برای ساخت یک سیستم کنترل ساده لوازم خانگی به شما نشان می دهد
نحوه ساخت خانه هوشمند با استفاده از ماژول رله کنترل آردوینو - ایده های اتوماسیون خانگی: 15 مرحله (همراه با تصاویر)
نحوه ساخت خانه هوشمند با استفاده از ماژول رله کنترل آردوینو | ایده های اتوماسیون خانگی: در این پروژه اتوماسیون خانگی ، ما یک ماژول رله خانه هوشمند طراحی می کنیم که می تواند 5 لوازم خانگی را کنترل کند. این ماژول رله را می توان از طریق تلفن همراه یا تلفن هوشمند ، ریموت IR یا ریموت تلویزیون ، سوئیچ دستی کنترل کرد. این رله هوشمند همچنین می تواند r
SmartBox - سیستم خانه هوشمند برای اتاق شما: 6 مرحله
SmartBox - سیستم خانه هوشمند برای اتاق شما: سلام به همه! در این آموزش ، من نحوه ساخت یک سیستم اتاق هوشمند را برای شما توضیح خواهم داد. این سیستم شامل دو دستگاه است. یک دستگاه کلی با سنسور رطوبت و سنسور دما که کیفیت فعلی زندگی در اتاق شما را اندازه گیری می کند. شما w
سیستم خانه هوشمند: 6 مرحله
سیستم خانه هوشمند: این دستورالعمل به شما توضیح می دهد که چگونه با استفاده از نرم افزار Matlab و سخت افزار Raspberry Pi ، سیستم خانه هوشمند خود را راه اندازی و استفاده کنید. در پایان این دستورالعمل ، شما باید بتوانید از محصول ما به راحتی استفاده کنید
سیستم خانه هوشمند IoT: 8 مرحله
سیستم خانه هوشمند IoT: این سیستم خانه Keefe و Jons Smart on iot است