Სარჩევი:
- ნაბიჯი 1: დასაწყისი: მასალები
- ნაბიჯი 2: ნაბიჯი 2: პრობლემის გადაჭრის მიახლოება
- ნაბიჯი 3: ნაბიჯი 3: GUI და ძირითადი კოდის ნაკადის კონფიგურაცია
- ნაბიჯი 4: ნაბიჯი 3: თერმოსტატის სისტემის დაყენება
- ნაბიჯი 5: ნაბიჯი 4: კარის სისტემის დაყენება
- ნაბიჯი 6: ნაბიჯი 6: წყალდიდობის სისტემის დაყენება
- ნაბიჯი 7: დასკვნა
ვიდეო: Arduino Smart Home სისტემა: 7 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
ამ ინსტრუქციებში ჩვენ გაჩვენებთ თუ როგორ უნდა შექმნათ თქვენი საკუთარი ჭკვიანი სახლის სისტემა MATLAB– ის აპლიკაციების დიზაინერთან ერთად Sparkfun Red დაფით. ეს ინსტრუქცია შეიძლება გამოყენებულ იქნას MATLAB– ის აპლიკაციების დიზაინერის ძირითადი გაგების მოსაპოვებლად, ასევე ფოტორეზისტორის, სერვომოტორული და PIR მოძრაობის სენსორის გამოყენებით.
ნაბიჯი 1: დასაწყისი: მასალები
ეს პროექტი მოითხოვს შემდეგ მასალებს:
- Arduino Uno (ამ პროექტისთვის ჩვენ გამოვიყენეთ Sparkfun წითელი დაფა)
- ერთი ფოტორეზისტორი
- ერთი მინი სერვო ძრავა
- ერთი უწყვეტი სერვო ძრავა
- ერთი PIR მოძრაობის სენსორი
- ერთი ტემპერატურის სენსორი
- 2 LED ნათურა
- მავთულები და რეზისტორები საჭიროებისამებრ
ნაბიჯი 2: ნაბიჯი 2: პრობლემის გადაჭრის მიახლოება
ამ პროექტის მთავარი მიზანი იყო ადვილად გამოსაყენებელი ჭკვიანი სახლის სისტემის შექმნა Arduino Uno დაფის MATLAB– ით კოდირებით. ჩვენ პირველად ვიფიქრეთ მხოლოდ ტემპერატურისა და ტენიანობის სენსორზე მუშაობაზე, თუმცა ამ ორ სენსორთან რომ დავრჩეთ ჩვენი ჭკვიანი სახლის სისტემა არ იქნება ადვილად გაყიდვადი ფართო აუდიტორიისთვის. ჩვენ გადავწყვიტეთ, რომ გვინდოდა შეგვექმნა ჭკვიანი სახლის ენერგეტიკული სისტემა, რომელიც იმუშავებდა როგორც ჭკვიანი თერმოსტატი და უსაფრთხოების სისტემა. დაბოლოს, ჩვენ გვსურს ვიმუშაოთ MATLAB– ის AppDesigner– თან, რათა მომხმარებელს შეეძლოს ადვილად შეცვალოს ჭკვიანი სახლი, როგორც მას სურს.
ნაბიჯი 3: ნაბიჯი 3: GUI და ძირითადი კოდის ნაკადის კონფიგურაცია
დასაწყებად თქვენ უნდა გახსნათ MATLABs AppDesigner და განათავსოთ შემდეგი:
ორი რიცხვითი რედაქტირების ველი ცხელი და ცივი ბარიერის შესასვლელად
კარის განბლოკვის ღილაკი
ბუხრის, კარის, ვენტილატორისა და წყალდიდობის ოთხი ინდიკატორის ნათურა.
ორი ეტიკეტი მომხმარებელთან კომუნიკაციისთვის.
ამ პროექტისთვის ჩვენ გაგვიადვილდა მუშაობა გლობალურ ცვლადებთან და დამწყებ ფუნქციას დიზაინერში. თქვენ დაგჭირდებათ ეს ცვლადები გაშვების ფუნქციის ფარგლებში:
გლობალური ა
a = arduino ("COM3", "uno", "ბიბლიოთეკები", "Servo"); გლობალური s გლობალური p გლობალური ცხელი UI გლობალური ცივი UI გლობალური განბლოკვა გლობალური ტემპერატურა გლობალური curr_temp გლობალური int_light
ახლა ჩვენ გვაქვს მხოლოდ ცვლადის დავალება, ასე რომ თქვენს კომპიუტერს შეუძლია წაიკითხოს arduino. COM3 შეიძლება განსხვავდებოდეს იმისდა მიხედვით, თუ რა პორტს იყენებს თქვენი კომპიუტერი.
როდესაც კოდს გაუშვებთ, ის დაიწყება გაშვების ფუნქციის ფარგლებში, შექმნის გლობალურ ცვლადებს და მოახდენს სისტემის კალიბრაციას. ამ ფუნქციის ბოლოს იქნება ტაიმერის ფუნქცია, რომელიც იძახებს თვისებას, რომელსაც ჩვენ ტაიმერი დავარქვით. ამ ქრონომეტრის ქონების შიგნით ჩვენ ჩავსვამთ კოდს, რომელიც მართავს სახლის სისტემას, ასე რომ ტაიმერი არ გაუშვებს კალიბრაციის კოდს.
შენიშვნა: ჩვენ არ მივეცით სისტემის გაყვანილობის ინსტრუქცია. ჩვენ მივმართეთ სახელმძღვანელოს, რომელსაც მოყვება SparkFun წითელი დაფა.
ნაბიჯი 4: ნაბიჯი 3: თერმოსტატის სისტემის დაყენება
თერმოსტატის ფუნქცია შემდეგია:
მომხმარებელი შეიყვანს რა ტემპერატურას თვლის, რომ ძალიან ცხელია ან ძალიან ცივია. მას შემდეგ, რაც თერმომეტრი კითხულობს, თუ სახლი ძალიან ცივია, მაშინ "ბუხარი" (წითელი LED) ჩართავს და გაათბობს სახლს. თუ სახლი ძალიან ცხელია, მაშინ "ვენტილატორი" (უწყვეტი სერვო ძრავა) ჩართავს სახლის გაგრილებას.
თერმოსტატის სისტემის დასაკოდირებლად:
ჩვენ ვიწყებთ გაშვების ფუნქციის ფარგლებში მიმდინარე ტემპერატურის ჩვენების მიზნით და მომხმარებელს მივცემთ საშუალებას შეიყვანოს თავისი ცივი და ცხელი ბარიერები.
p = 'A0' %Photoresistor pin
volt = readVoltage (a, temp); celc = (ვოლტ -0.5).*100; curr_temp = celc*9/5+32; app. Label_4. Text = num2str (curr_temp); ეტიკეტის ნომერს შეუძლია შეცვალოს პაუზა (10); %შეიძლება შეცვალოს !!!!!
შემდეგ ჩვენ დავასრულებთ თერმოსტატის სისტემას ტაიმერის თვისებაში.
გლობალური curr_temp
გლობალური coldUI გლობალური გლობალური hotUI if curr_temp hotUI app. FanStateLamp. Color = [0.47 0.67 0.19]; %გამოდის GUI ნათურა მწვანე ჩაწერა PWMDutyCycle (a, 'D11',.9) %კოდის შემდეგი სამი ხაზი აწარმოებს servo fan pause (10) writePWMDutyCycle (a, 'D11',.0) else app. FireplaceStateLamp. Color = [0.90 0.90 0.90]; %ეს გამორთავს GUI ნათურებს და ბუხრის app. FanStateLamp. Color = [0.9 0.9 0.9]; writeDigitalPin (a, 'D13', 0); დასასრული
ნაბიჯი 5: ნაბიჯი 4: კარის სისტემის დაყენება
კარის ფუნქცია მუშაობს შემდეგნაირად:
როდესაც თქვენ პირველად აწარმოებთ თქვენს MATLAB კოდს, აპლიკაცია მოგთხოვთ კარების გაღებას, რათა ფოტორეზისტორმა მიიღოს სინათლის საწყისი კითხვა. ამის დასრულების შემდეგ, ტაიმერი გააქტიურდება და ფოტორეზისტორი მიიღებს მეორად სინათლის კითხვას. თუ მეორადი შუქის მაჩვენებელი უფრო მსუბუქია ვიდრე საწყისი, სერვო ძრავა ჩაკეტავს კარს. თუ მომხმარებელს სურს კარის გახსნა, მას შეუძლია დააჭიროს ღილაკს აპზე, რომელიც გააღებს კარს.
სერვო ძრავისა და ფოტო რეზისტორის კონფიგურაციისთვის:
კარის სისტემის კოდირებისთვის:
ჩვენ ვიწყებთ გაშვების ფუნქციის ფარგლებში, რომ მივიღოთ სინათლის საწყისი მაჩვენებლები.
s = servo (a, 'D9') %Pin შეიძლება შეიცვალოს გაყვანილობის საფუძველზე
app. Label_4. Text = 'გთხოვთ გააღოთ კარი სისტემის დაკალიბრებისათვის'; პაუზა (15); %ეს აძლევს მომხმარებელს დროს გახსნას კარი int_light = readVoltage (a, p); app. Label_4. Text = 'თითის ამოღება შეგიძლია';
შემდეგი, ჩვენ დავასრულებთ კოდს ტაიმერის თვისებაში
გლობალური განბლოკვა
global int_light global s global a %მიიღეთ მიმდინარე სინათლის კითხვა შედარებისთვის curr_light = readVoltage (a, p); % - კარის ჩაკეტვა - თუ int_light <curr_light writePosition (s, 1) % Servo პოზიციები შეიძლება განსხვავდებოდეს ერთ საავტომობილო პაუზაზე (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]; დასასრული
დაბოლოს, ჩვენ შევქმნით ზარალს ღილაკზე უკუკავშირს. მას შემდეგ, რაც მომხმარებელი დააჭერს განბლოკვის ღილაკს, გლობალური ცვლადის განბლოკვას მიენიჭება ნომერი, რომელსაც შეუძლია შეავსოს საბოლოო თუ განაცხადი ტაიმერის თვისებაში.
გლობალური განბლოკვა
განბლოკვა = 1234;
ნაბიჯი 6: ნაბიჯი 6: წყალდიდობის სისტემის დაყენება
წყალდიდობის შუქის ფუნქცია მუშაობს შემდეგნაირად:
როდესაც დაიწყებთ MATLAB კოდს, PIR მოძრაობის სენსორი დაიწყებს მოძრაობის გამოვლენას. მას შემდეგ რაც აღმოაჩენს რაიმე სახის მოძრაობას, ის წყვეტს ენერგიის სიგნალს. მას შემდეგ რაც სიგნალი გაწყდება, წყალდიდობის შუქი ანათებს სახლის გარეთ.
წყალდიდობის განათების სისტემის კონფიგურაცია:
წყალდიდობის სინათლის სისტემის კოდირება:
ამჯერად შეგვიძლია გადავიდეთ ტაიმერის თვისებაზე, რადგან არ გვჭირდება დამატებითი ცვლადების დაწერა.
human_detected = readDigitalPin (a, 'D2'); %Pin შეიძლება შეიცვალოს კონფიგურაციის საფუძველზე, თუ 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]; writeDigitalPin (a, 'D7', 0) დასასრული
ნაბიჯი 7: დასკვნა
ახლა, როდესაც თქვენ გაქვთ თქვენი GUI პროექტი აპლიკაციის დიზაინერთან და თქვენი კოდი Arduino– სთვის, მზად ხართ გააკეთოთ თქვენი საკუთარი რედაქტირება ან შეაერთოთ თქვენი Arduino და წავიდეთ!
გირჩევთ:
Smart განაწილებული IoT ამინდის მონიტორინგის სისტემა NodeMCU გამოყენებით: 11 ნაბიჯი
Smart Distributed IoT ამინდის მონიტორინგის სისტემა NodeMCU– ის გამოყენებით: თქვენ ყველამ შეიძლება იცოდეთ ტრადიციული ამინდის სადგურის შესახებ; მაგრამ ოდესმე გიფიქრიათ იმაზე, თუ როგორ მუშაობს სინამდვილეში? ვინაიდან ტრადიციული ამინდის სადგური ძვირი და მოცულობითია, ამ სადგურების სიმკვრივე ერთეულის ფართობზე ძალიან მცირეა, რაც ხელს უწყობს
Alexa Smart Home სისტემა NodeMCU სარელეო მოდულის გამოყენებით: 10 ნაბიჯი
Alexa Smart Home System NodeMCU სარელეო მოდულის გამოყენებით: ამ IoT პროექტში მე გავაკეთე Alexa Smart Home Automation სისტემა NodeMCU ESP8266 & სარელეო მოდული. თქვენ შეგიძლიათ მარტივად აკონტროლოთ სინათლე, ვენტილატორი და სხვა საყოფაცხოვრებო ტექნიკა ხმოვანი ბრძანებით. Echo Dot სმარტ დინამიკის დასაკავშირებლად
ფერის დახარისხების სისტემა: Arduino დაფუძნებული სისტემა ორი ქამრით: 8 ნაბიჯი
ფერის დახარისხების სისტემა: Arduino დაფუძნებული სისტემა ორი ქამრით: პროდუქციისა და/ან პროდუქციის შეფუთვა სამრეწველო სფეროში ხდება კონვეიერის ქამრების გამოყენებით დამზადებული ხაზების გამოყენებით. ეს ქამრები ხელს უწყობს ნივთის ერთი წერტილიდან მეორეში კონკრეტული სიჩქარით გადატანას. ზოგიერთი დამუშავების ან იდენტიფიკაციის ამოცანა შეიძლება იყოს
IoT Smart Home სისტემა: 8 ნაბიჯი
IoT Smart Home სისტემა: ეს არის Keefe and Jons Smart სახლის სისტემა iot
როგორ სწორად დააკავშიროთ და დააინსტალიროთ მინი HiFi შელფის სისტემა (ხმის სისტემა): 8 ნაბიჯი (სურათებით)
როგორ სწორად დააკავშიროთ და დააინსტალიროთ მინი HiFi შელფის სისტემა (ხმის სისტემა): მე ვარ ადამიანი, რომელიც სიამოვნებით სწავლობს ელექტროტექნიკას. მე ვარ საშუალო სკოლა ენ რიჩარდსის სკოლის ახალგაზრდა ქალთა ლიდერებისათვის. მე ვასწავლი ამას, რათა დავეხმარო ყველას, ვისაც სურს ისიამოვნოს თავისი მუსიკით Mini LG HiFi Shelf Syste– დან