ტემპერატურა, ტენიანობის მონიტორი - Arduino Mega + Ethernet W5100: 5 ნაბიჯი
ტემპერატურა, ტენიანობის მონიტორი - Arduino Mega + Ethernet W5100: 5 ნაბიჯი
Anonim
ტემპერატურა, ტენიანობის მონიტორი - Arduino Mega + Ethernet W5100
ტემპერატურა, ტენიანობის მონიტორი - Arduino Mega + Ethernet W5100

მოდული 1 - FLAT - აპარატურა:

  • Arduino Mega 2560
  • Wiznet W5100 Ethernet ფარი
  • 8x DS18B20 ტემპერატურის სენსორი OneWire ავტობუსზე - იყოფა 4 OneWire ავტობუსად (2, 4, 1, 1)
  • 2x ციფრული ტემპერატურის და ტენიანობის სენსორი DHT22 (AM2302)
  • 1x ტემპერატურის და ტენიანობის სენსორი SENSIRION SHT21 (Si7021)
  • 1x BOSCH BME280 ტემპერატურისა და ტენიანობის (და ჰაერის წნევის) სენსორი
  • აგზავნის მონაცემებს ყველა სენსორიდან ერთდროულად რამდენიმე წუთში (შეიძლება შეიცვალოს)

მოდული 2 - ქვაბი - ტექნიკა:

  • Arduino Mega 2560
  • Wiznet W5100 Ethernet ფარი
  • 16x DS18B20 ტემპერატურის სენსორი OneWire ავტობუსზე - იყოფა 7 OneWire ავტობუსად (2, 2, 2, 2, 2, 2, 4)
  • 8x ციფრული შეყვანა
  • 8x ციფრული გამომავალი - სოლენოიდის / რელესთვის
  • აგზავნის მონაცემებს ყველა სენსორიდან ერთდროულად რამდენიმე წუთში (შეიძლება შეიცვალოს)
  • ის კითხულობს ვებ - ინტერფეისის ინდივიდუალური გამომავალი მდგომარეობების მდგომარეობას, იყენებს მათ აგზავნის ციფრული შეყვანის მდგომარეობას

ნაბიჯი 1: შესავალი

შესავალი
შესავალი
შესავალი
შესავალი
შესავალი
შესავალი

დღეს მე დეტალურად წარმოგიდგენთ ბოლო განხორციელებულ პროექტს, რომელიც საკმაოდ რთულია ფუნქციონალური თვალსაზრისით, გამოყენებული სენსორების რაოდენობა, არდუინოს დაფები, გამოყენებული მონაცემთა ავტობუსები. პროექტი შედგება ორი მოდულისგან. ფიზიკურად თითოეული მოდული შედგება ცალკეული Arduino Mega 2560, Ethernet shield W5100 (R3 თავსებადი) და სენსორებისგან.

თითოეული მოდული აკავშირებს ვებ ინტერფეისს ინტერნეტში HTTP POST მოთხოვნებით, რომლითაც ვებ სერვერი ყიდის მონაცემებს ან ითხოვს მონაცემებს, მაგალითად POST მოთხოვნის საშუალებით (მხოლოდ მოდული 2). ვებ ინტერფეისი სრულდება შესვლის სისტემით, ხოლო მთელ ოჯახს შეუძლია დარეგისტრირდეს სისტემაში, თითოეულს თავისი სახელი და პაროლი. ეს არის მრავალმხრივი პროგრამა, სადაც ოჯახის თითოეულ წევრს აქვს მიმოხილვა ორივე მოდულის შესახებ და შეუძლია შეასრულოს სხვადასხვა ქმედებები - მითითების ტემპერატურა, კონტროლის თერმომეტრი და ა.შ. ვებ ინტერფეისი დაპროგრამებულია PHP– ით, მონაცემები ინახება MySQL მონაცემთა ბაზაში. თითოეულ მოდულს აქვს მონაცემთა ცალკე მონაცემთა ცხრილი მონაცემთა ბაზაში. განვიხილოთ ინდივიდუალური მოდულები უფრო დეტალურად.

ნაბიჯი 2: მოდული 1 - FLAT

მოდული 1 - FLAT
მოდული 1 - FLAT
მოდული 1 - FLAT
მოდული 1 - FLAT

მთელი მოდული 1- FLAT ემსახურება მხოლოდ ტემპერატურის მონიტორს ცალკეულ ოთახებში, მას სხვა როლი არ აქვს. DHT22 სენსორები დიდი ხნის მანძილზე გამოიყენეს შესაფერისი 10kohm გამყვანი რეზისტორის გამოყენებით აბაზანაში ტენიანობის დასაფიქსირებლად. ვინაიდან BME280 და SHT21 ურთიერთობენ I2C ავტობუსით და ეს მნიშვნელოვნად შეზღუდულია ავტობუსის მძღოლის სიგრძის თვალსაზრისით, სენსორები გამოიყენება არდუინოს მახლობლად ოთახებში.

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

მაგალითად, ერთ -ერთი ამ OneWire ავტობუსის შემთხვევაში, რომელზეც ინდექსირებულია 4 სენსორი. ინდექსი უკავშირდება თერმომეტრების ფიზიკურ მისამართს, ასე რომ, თუ რომელიმე სენსორი იცვლება, ახალი სენსორი შეიძლება გამოჩნდეს ინდექსში 0 - საწყისი, ან თუნდაც 2, 3 ან ბოლო. ამრიგად, ავტობუსებში სენსორების რაოდენობის შემცირებით, ჩვენ შეგვიძლია თავიდან ავიცილოთ ისეთი გართულება, რომელიც შეიძლება მოხდეს სენსორის შეცვლისას.

ნაბიჯი 3: მოდული 2 - ქვაბი

მოდული 2 - ქვაბი
მოდული 2 - ქვაბი
მოდული 2 - ქვაბი
მოდული 2 - ქვაბი
მოდული 2 - ქვაბი
მოდული 2 - ქვაბი

მონიტორის ფუნქციის გარდა, მოდულს 2 - BOILER ასევე აქვს უფრო მნიშვნელოვანი როლი, კერძოდ სოლენოიდების ან სარელეოების კონტროლი რადიატორის სარქველების კონტროლისათვის. მოდული მუშაობს დამოუკიდებლად შიდა გათბობისგან. მოდული არ ცვლის გათბობას ან ქვაბს. მოდული ზრუნავს მხოლოდ რადიატორის სარქვლის გახსნაზე, დახურვაზე, თუ ოთახის ტემპერატურა მითითებულზე დაბალია / უფრო მაღალია - ე.წ. საცნობარო ტემპერატურა. თითოეულ ოთახს, სადაც რადიატორის სარქველი კონტროლდება, შეიძლება მიენიჭოს კონკრეტული თერმომეტრი მოდული 2. გარდა ამისა - ავტომატური რეჟიმი, ასევე არის მექანიკური რეჟიმი, როდესაც სარქველი შეიძლება გაიხსნას / დაიხუროს ხელით ვებ ინტერფეისიდან განუსაზღვრელი ვადით - მძიმე. ციფრული საშუალებები შეიძლება გამოყენებულ იქნას იმის დასადასტურებლად, რომ სოლენოიდი / სარელეო / სარქველი გაიხსნა / დაიხურა Arduina– ს მოთხოვნით - უნარი შეადაროთ თუ არა გამომავალი ტოლი შეყვანისას.

ნაბიჯი 4: რას გთავაზობთ ვებ ინტერფეისი?

რა ვებ ინტერფეისი გთავაზობთ?
რა ვებ ინტერფეისი გთავაზობთ?
რა ვებ ინტერფეისი გთავაზობთ?
რა ვებ ინტერფეისი გთავაზობთ?

ორივე მოდულისთვის ასევე არსებობს ხაზოვანი გრაფიკის გრაფიკული წარმოდგენა ინდივიდუალური ცვლადების განვითარებისათვის - ტემპერატურა, ტენიანობა 24 საათში, 7 დღე. ვებ ინტერფეისი ასევე გთავაზობთ მაქსიმალური / მინიმალური, საშუალო მნიშვნელობის ნახვას 24 საათის განმავლობაში, 7 დღის განმავლობაში თითოეული თერმომეტრის / ჰიგირომეტრისთვის. 1 მოდულში, თავდაპირველად განიხილებოდა წყვილი SHT21 სენსორი, მაგრამ რადგან მათ არ აქვთ შესაძლებლობა შეცვალონ I2C მისამართი, საჭირო იქნება მულტიპლექსერის გამოყენება ერთი ავტობუსის კომუნიკაციისთვის ორი სენსორისგან, ერთი და იგივე I2C მისამართით. სენსორის მონაცემების გაუმართაობის შემთხვევაში, სენსორის სახელი ინახება ჟურნალში, რომელიც სისტემის ადმინისტრატორს შეუძლია ნებისმიერ დროს გახსნას OneWire ავტობუსის მომსახურებისთვის და, მაგალითად, გაუმართავი სენსორი შეცვალოს.

Watchdog განხორციელდა Arduino– ს პროგრამებში, რომელიც გაუმართავი ინიციალიზაციის, „გაყინვის“შემთხვევაში, სხვა შეცდომა უსაფრთხოდ იტვირთება და პროგრამის დასაწყისში გამორთავს ყველა გამოსავალს, სანამ არ შეიქმნება კავშირი ვებ ინტერფეისთან, სადაც ის სრულად იქნება სინქრონიზებული გამომავალი პირობები, რომელიც შემდგომში გამოიყენება.

სხვა პროექტების ნახვა შეგიძლიათ: https://arduino.php5.sk?lang=en შემოწირეთ მეტი მაგალითი:

გირჩევთ: