Სარჩევი:

UCL-lloT-Outdoor-light გამოიწვია მზის ამოსვლა/მზის ჩასვლა .: 6 ნაბიჯი
UCL-lloT-Outdoor-light გამოიწვია მზის ამოსვლა/მზის ჩასვლა .: 6 ნაბიჯი

ვიდეო: UCL-lloT-Outdoor-light გამოიწვია მზის ამოსვლა/მზის ჩასვლა .: 6 ნაბიჯი

ვიდეო: UCL-lloT-Outdoor-light გამოიწვია მზის ამოსვლა/მზის ჩასვლა .: 6 ნაბიჯი
ვიდეო: 1986 Range Rover Stripping Axles - Edd China's Workshop Diaries 48 2024, ივლისი
Anonim
UCL-lloT-Outdoor-light გამოიწვია მზის ამოსვლა/მზის ჩასვლა
UCL-lloT-Outdoor-light გამოიწვია მზის ამოსვლა/მზის ჩასვლა

გამარჯობა ყველას! ცოტაოდენი მუშაობით, ზოგიერთი ნაწილი და კოდი მე შევადგინე ამ სასწავლო ინსტრუქციას, რომელიც გაჩვენებთ თავიდან ბოლომდე ზუსტად როგორ აწარმოოს ეს გარე განათება. იდეა წარმოიშვა მამაჩემისგან, რომელსაც ზაფხულში ხელით მოუწია გასვლა და შეცვლა, როდესაც შუქი ანათებდა. მზის ჩასვლისა და მზის ამოსვლის დრო სწრაფად იცვლება მთელი წლის განმავლობაში, მან მკითხა, ვიპოვე თუ არა ამის ავტომატური გზა. ასე რომ, ჩვენ აქ ვართ. შედარებით მცირე პროექტი.

ნაბიჯი 1: IO სია და რა დაგჭირდებათ

IO სია და რა დაგჭირდებათ
IO სია და რა დაგჭირდებათ
IO სია და რა დაგჭირდებათ
IO სია და რა დაგჭირდებათ
IO სია და რა დაგჭირდებათ
IO სია და რა დაგჭირდებათ

Arduino MEGA 2560. ეს არის ის, რაც მე მაინც გამოვიყენე, მე ვიცი, რომ თქვენ შეგიძლიათ მარტივად გამოიყენოთ სხვა.

DS3231 და მისი ბიბლიოთეკა. (https://rinkydinkelectronics.com/library.php?id=73… მნიშვნელოვანია იცოდეთ, რომ SDA და SCL- ისთვის დაყენებული ქინძისთავები განსხვავდება იმის მიხედვით, თუ რომელ არდუინოს იყენებთ.

I052116 IR ინფრაწითელი მოძრაობის დეტექტორის სენსორული მოდული. ეს კონკრეტული მოდული შეიძლება შეიცვალოს თქვენს მიერ არჩეულ სენსორზე, ის გულწრფელად არჩევითია მთელ საკითხზე.

ნაბიჯი 2: დიაგრამა

დიაგრამა
დიაგრამა

როგორც ჩანს უბრალო დიაგრამაში, მძიმე აწევის დიდი ნაწილი ბინადრობს წითელ კვანძში. შედარებით მარტივი კვანძებით, იდეა იმაში მდგომარეობს, რომ Node-Red– დან თქვენ მიაღწევთ ვებ – გვერდს, რომელმაც იცის რა დროს მზე ჩადის და ამოდის. მას შემდეგ რაც მას ექნება, ის ინფორმაციას გაუგზავნის არდუინოს და ეუბნება მას. არდუინოდან ჩვენ მივიღებთ სიგნალს, რომელიც ზუსტად მიუთითებს, როდის არის ნათურები ფაქტიურად ჩართული, ასე რომ თქვენ შეგიძლიათ შეამოწმოთ თქვენი სახლიდან ზუსტად მაშინ, როდესაც შუქი იწვის. ის ასევე არდუინოდან მივიღებთ ინფორმაციას, რომ სიახლოვის სენსორი გააქტიურებულია, რომელსაც აქვს შუქი ჩართული x დროის განმავლობაში.

ნაბიჯი 3: გაყინვა

გაყინვა
გაყინვა

სხვა პროექტებთან შედარებით, კაბელი საკმაოდ მარტივია. რა უნდა იცოდეთ არის ის, რომ თქვენ დაგჭირდებათ WIFI მოდული, რათა შეინარჩუნოთ კავშირი Node-Red სერვერთან, ან მიიღოთ გადასაგდები კომპიუტერი, რომელიც მასპინძლობს Node-Red სერვერს, რომელიც დაკავშირებულია Arduino– სთან. სურათზე არ ჩანს კავშირი არდუინოსა და ლეპტოპს შორის და მე წინასწარ ბოდიშს ვიხდი ცუდი ფრიცინგის სურათისთვის!

ნაბიჯი 4: კოდირება

კოდირება
კოდირება
კოდირება
კოდირება

თუ ერთი რამ აღმოვაჩინე არის ის, რომ Firmata– სთან (Arduino– სთვის Node-Red– თან კომუნიკაციისთვის), DS3231 ბიბლიოთეკით და სხვა, იყო ბევრი დატვირთული ბიბლიოთეკა. გამოქვეყნებისთანავე, კოდირება არ არის სრულყოფილი, ამიტომ ფსევდო კოდი შედის.

ბიბლიოთეკაში DS3231– დან არის წინასწარ დაყენებული ქინძისთავები Arduino– ს თითოეული დაფისთვის, ხოლო მეგას შემთხვევაში ეს არის პინ 20 და 21, რადგან ისინი SDA და SCL ქინძისთავებია მეგაზე. როდესაც დაკიდება, საათს ზუსტად შეუძლია გითხრათ რომელი დღეა და რას უნდა აკონტროლებდეს. ის, რაც მე აღმოვაჩინე, რომ უფრო ადვილი იყო მუშაობა ციფრების თვალყურის დევნისთვის, არის int- ის გამოყენება სტრიქონის ნაცვლად. ასე რომ, მე გავაკეთე ის, რომ მე გადავიყვანე სტრიქონის რიცხვები int- ში, მაგრამ როგორც int არ შემიძლია გამოვიყენო: საათის გამოსაყოფად, მე სხვა რამის გაკეთება გადავწყვიტე. საათების მუშაობის ნაცვლად, ჩვენ ვიმუშავებთ წუთით. ბევრი წუთი. თუ საათი არის 13:21 მაგალითად, მე მაქვს პირველი ორი ციფრი გამოყოფილი და დროში სამოცი. ჩვენ ახლა 801 წუთზე ვართ, რადგან 13 -ჯერ 60 უდრის 780 -ს და თქვენ დაამატეთ ბოლო 21 წუთი. თუ ჩვენი კვანძი-წითელი ამბობს, რომ მზე ჩადის 16:58 საათზე (ზამთრის შემთხვევაში), ჩვენ ვიღებთ გარე განათებას 1018 წუთამდე და წინასწარ განსაზღვრულ გამორთვის დროს, რომელიც იქნება 1380 (23:00). თუ ჩვენი ტაიმერი მათ შორისაა, შუქი ანათებს. ზემოაღნიშნული მათემატიკა არის ძირითადად მთელი პროგრამა, Node-Red– ის ნაბიჯების გარეშე Arduino– სთან დასაკავშირებლად და კომუნიკაციისთვის. ასევე იქნება სენსორი, რომელიც დარწმუნებულია, რომ შუქები ჩართულია (ყოველ შემთხვევაში, მზის ჩასვლა), მაგრამ სხვაგვარად ეს არის მთელი პროგრამა ზემოთ.

ნაბიჯი 5: კვანძი-წითელი

კვანძი-წითელი
კვანძი-წითელი
კვანძი-წითელი
კვანძი-წითელი
კვანძი-წითელი
კვანძი-წითელი
კვანძი-წითელი
კვანძი-წითელი

არ არის განსაკუთრებით დიდი ნაკადი, არა ის, რომ ეს უნდა იყოს ამ შემთხვევაში. კვანძების პირველი 2 რიგი არის პროგრამის დიდი ნაწილი. GET ფუნქციის გამოყენებით, ჩვენ ვიღებთ დღევანდელ პროგნოზს, თუ როგორ ამოვა და ჩავა მზე. იქიდან ჩვენ ვიყენებთ CSS სელექტორს ჩვენი კონკრეტული ინფორმაციის მოსაპოვებლად, როგორც წესი, ხელმისაწვდომია ვებგვერდებზე "შეამოწმეთ ელემენტები" firefox– ზე, როგორც ეს მოცემულია სურათებზე. გაითვალისწინეთ, რომ ყველა ვებგვერდი არ მუშაობს ამ გზით და ის, რასაც მე ვიყენებ, მშვენივრად მუშაობს ამ გზით. იქიდან ის ჩაწერს ინფორმაციას მე -13 პინზე, რადგან ეს არის ის, რაც მე მას მივანიჭე, თუმცა ტესტირება ჯერ კიდევ არ არის ნაკარნახევი, თუ ერთი ქინძისთავი სხვადასხვა დროს მოხერხდება. როგორც კოდირების ნაწილშია აღწერილი, ინფორმაცია მოვა Arduino– დან Node-Red– ში, სადაც ის შემდეგ იქნება მითითებული ხელმისაწვდომ ვებსაიტზე, სადაც მისი მარტივად შემოწმება შეგიძლიათ. ამისთვის დაგჭირდებათ ფირმატა თუ გსურთ გამოიყენოთ Arduino ფუნქციები შეძენილი node-red-node-arduino ბიბლიოთეკის მეშვეობით Node-Red. მიუხედავად იმისა, რომ ის ჯერ კიდევ არ არის შექმნილი და ის განახლდება პროექტის დასრულებისთანავე, მე დავამატე კვანძი-წითელი ნაკადის კოდი ტექსტურ დოკუმენტში მარტივი წვდომისათვის.

ნაბიჯი 6: განლაგება და გამოყენება

განლაგება და გამოყენება
განლაგება და გამოყენება

და ჩვენი სწავლების დასრულება არის მისი პრაქტიკული ნაწილი. რამდენიმე სახლს აქვს ამ დონის ავტომატური შუქი, მრავალწლიანი სახლის მფლობელი მისასალმებელია. რეალურად რომ დააკავშიროთ ნათურები ელექტროენერგიის გამოყენებით, რომელიც არ არის Arduino, მე არ გირჩევთ ამის გაკეთებას საკუთარ თავს, თუ ზუსტად არ იცით რას აკეთებთ. პროექტის დასრულებისთანავე, მე ვიღებ ამ ამოცანას ელექტრიკოსის დახმარებით, რათა დარწმუნებული ვიყო. განათება თქვენი სავალი ნაწილის სენსორით ან მკაცრად დროის თვალსაზრისით, გირჩევთ, ააწყოთ ის, რაც მე უკვე გავაკეთე, თუ თქვენ ნიშნავს, რომ რეალურად გამოვიყენო ის ამ ეტაპის მიღმა, რომელიც ამჟამად არის. პროექტთან დაკავშირებული ჩემი უმეტესი უბედურება მკაცრად იყო Node-Red to Arduino ნაწილში და ვიმედოვნებ, რომ შეძლებისდაგვარად გარკვევით ავხსენი როგორ კეთდება

გირჩევთ: