
Სარჩევი:
2025 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2025-01-23 14:50



ამ პროექტის მიზანია შეიმუშაოს, შეაკეთოს და გამოსცადოს დაბალი ღირებულების გაზომვის სისტემა შენობა-ნაგებობების შეფასების კვლევებისათვის, რომელიც მოიცავს მინიმუმ ტემპერატურას, ფარდობით ტენიანობას, განათებას და ვრცელდება დამატებით სენსორებზე და ამ მოწყობილობების პროტოტიპის შემუშავებას. რა
ეს იწვევს მორგებულ და ხელმისაწვდომ სისტემას, რომელიც საშუალებას აძლევს დაინტერესებულ მხარეებს განახორციელონ გაზომვები, რომლებიც საჭიროა შენობის მუშაობის შესაფასებლად ეფექტური და ხელმისაწვდომი გზით, ერთდროულად მრავალი გარემოსდაცვითი პარამეტრის ჩაწერით. ღია კოდის მონაცემთა ჩამწერი (OPENSDL) შეადარეს HOBO U12-012 მონაცემების ჩამწერთან. ეს კომერციულად ხელმისაწვდომი ანალოგი სისტემა, შეუძლია გაზომოს 3 პარამეტრი, კერძოდ- ტემპერატურა, RH და განათება და ერთი გარე არხი სხვა ტიპის სენსორებისთვის. სხვა სენსორული მოწყობილობა საჭირო იქნება ნებისმიერი სხვა პარამეტრის გასაზომად. გასაზომი პარამეტრების მახასიათებლები შემოიფარგლება მხოლოდ საკუთარი ტექნიკითა და პროგრამული უზრუნველყოფით, რაც ზღუდავს სისტემას გარკვეული პარამეტრების გაზომვით კონკრეტული სიზუსტით. HOBO U12-012 ღირს დაახლოებით 13 000 ფუნტი (185 აშშ დოლარი), ხოლო OPENSDL ღირს 4 605 ფუნტი (66 აშშ დოლარი), რაც კომერციული კოლეგის თითქმის მესამედს შეადგენს.
ღია წყაროს მონაცემთა ლოგერი ტემპერატურის, RH და სინათლის დონის მონიტორინგისთვის Arduino Uno დახმარებით ეს არის წვრილმანი OPENSDL მონაცემთა ჩამწერი პროგრამის შემუშავებისთვის.
საჭირო დრო: 2-3 საათი შედუღებისთვის, 5 საათი შეფუთვაზე (4 საათი - 3D ბეჭდვა და 1 საათი ლაზერული ჭრისთვის) საჭირო უნარ -ჩვევები: შედუღება, პროგრამირებისა და ელექტრონიკის მცირე ცოდნა ან არანაირი ცოდნა
საჭირო ნაწილები:
- Arduino Uno კაბელით
- მონაცემთა შემქმნელის ფარი
- CR1220 მონეტის უჯრედის ბატარეა
- BME280 ტემპერატურის ტენიანობის წნევის სენსორის გარღვევის დაფა
- TSL2561 სინათლის სენსორის გარღვევის დაფა
- ESP01-8266 Wi-Fi მოდული
- RJ-9 მამრობითი და მდედრობითი კონექტორი
- ფარი დაწყობილი თავებით არდუინოსთვის
- SD მეხსიერების ბარათი (ნებისმიერი ტევადობით)
- ვექტორული დაფა (26 x 18 ხვრელი)
- 8 AA ბატარეა ბატარეის დამჭერი
საჭირო ინსტრუმენტები:
- შედუღების რკინა (35W)
- შედუღების მავთული
- მავთულის საჭრელი
- Crimper ინსტრუმენტი
- მულტიმეტრი
საჭირო პროგრამული უზრუნველყოფა: Arduino IDE (1.0.5 ან უფრო მაღალი)
არდუინოს ბიბლიოთეკები გამოიყენება:
- მავთულის ბიბლიოთეკა
- SparkFun TSL2561 ბიბლიოთეკა
- Cactus BME280 მრავალმგრძნობიარე ბიბლიოთეკა
- SD ბარათის ბიბლიოთეკა
- SPI ბიბლიოთეკა
- RTC ბიბლიოთეკა
შენიშვნა: BME280 სენსორი არის Bosch– ის ძალიან ზუსტი, ტემპერატურის, ფარდობითი ტენიანობის და წნევის სენსორი. ანალოგიურად, DS1307 არის ზუსტი რეალურ დროში Maxim– დან და TSL2561 არის ზუსტი სინათლის სენსორი. არსებობს უფრო ძვირი და ნაკლებად ზუსტი ალტერნატივა ამ პროდუქტებისთვის, მაგრამ ეს სახელმძღვანელო მიმართული იყო იმ ადამიანებზე, რომლებიც დაინტერესებულნი იყვნენ მონაცემების შეგროვებით შენობების მუშაობის შეფასებისა და შენობის მონიტორინგის პროგრამებისთვის, რომლებიც საჭიროებენ მაღალ სიზუსტეს და სიზუსტეს. ეს ნიშნავს, რომ ნებისმიერი კონკრეტული აპარატურის დაყენება და პროგრამული უზრუნველყოფის დაყენება (ბიბლიოთეკები, პროგრამის კოდი) მკაცრად განკუთვნილი იყო მხოლოდ მითითებული პროდუქტებისთვის.
ნაბიჯი 1: შეკრება




მონაცემთა მრიცხველის ფარი ადვილად შეიძლება იყოს დაწყობილი Arduino Uno დაფაზე. ეს ფარი უზრუნველყოფს მონაცემთა შეყვანის შესაძლებლობებს (დროის შენახვა და მონაცემების შენახვა). ფარი უნდა დაეწყო. CR1220 მონეტის უჯრედის ბატარეა უნდა ჩასვათ მრგვალ სლოტში, რომელიც უზრუნველყოფს საათის მუშაობას მაშინაც კი, როდესაც არდუინო გამორთულია. SD მეხსიერების ბარათი უნდა იყოს ჩასმული გათვალისწინებული ბორტის ბარათში. უნიკალური მორგებული ფარი შემუშავდა RJ-9 კონექტორის მდედრობითი ქინძისთავების და Arduino ფარის დაწყობის გამოყენებით. შესაბამისი სათაურები იყო ჩასმული შესაბამის ადგილას ისე, რომ ფარი მშვენივრად ჯდება არდუინოს დაფაზე. Arduino– ს აქვს 18 ქინძისთავი ერთ მხარეს და 14 ქინძისთავი მეორე მხარეს. სათაურები იგივე რაოდენობის ქინძისთავებით იყო გამოყენებული იმავე მანძილზე (18 ქინძისთავით დაშორებით) როგორც არდუინოზე. სათაურების გვერდით დარჩენილი დამატებითი სივრცე გამოყენებული იყო RJ-9 კონექტორის განთავსებისთვის.
სათაურები იყო საუკეთესო საშუალება საჭირო ქინძისთავების გამოსაყენებლად, ხოლო ისინი კვლავ ხელმისაწვდომი იყო სხვა კომპონენტებისთვის გამოსაყენებლად. გამოყენებული სენსორები მიჰყვებიან I2C საკომუნიკაციო პროტოკოლს, რომელიც მოითხოვს Arduino– სგან 4 ქინძისთავს, კერძოდ: SDA (ასევე ხელმისაწვდომია როგორც A4), SCL (ასევე ხელმისაწვდომია როგორც A5), 3.3V & GND. RJ-9 კონექტორიდან გამომავალი ოთხი მავთული გაერთიანდა ამ ოთხ სათაურში. RJ-9 კონექტორების რაოდენობა დამოკიდებულია სენსორების რაოდენობაზე. ამ პროექტში გამოყენებულია 3 RJ-9 კონექტორი (ორი BME280 და ერთი TSL2561). RJ-9 კონექტორიდან გამომავალი ოთხი მავთული იყო ფერადი კოდირებული და თითოეული ფერის მავთული იყო მითითებული სპეციალურ პინზე ყველა RJ-9 კონექტორისთვის. უნდა აღინიშნოს, რომ ფერის კოდი შეიძლება განსხვავდებოდეს სხვადასხვა RJ-9 ცალი. ასეთ შემთხვევაში, კონექტორზე მავთულის მდებარეობა უნდა აღინიშნოს. RJ-9 კონექტორი, შედუღების შემდეგ, გაკეთდა გამყარებული ვექტორულ დაფაზე Feviqwik– ის გამოყენებით, ისე რომ იგი ზედაპირზე დაფიქსირდეს. ამ კავშირების გადამოწმება შესაძლებელია მულტიმეტრზე უწყვეტობის რეჟიმის გამოყენებით. როდესაც უწყვეტობის რეჟიმშია, მულტიმეტრმა უნდა აჩვენოს ნულოვანი წინააღმდეგობა. შეაერთეთ მულტიმეტრის ერთ-ერთი ზონდი შედუღებულ ქინძისთავთან, ხოლო მეორე ზონდი RJ-9 კონექტორის შიგნით. მულტიმეტრი უნდა გამოსცემდეს ტონს, რაც იმას ნიშნავს, რომ შედუღების სახსრები სათანადოა და კავშირები სწორად არის გაკეთებული. თუ ტონი არ არის გამოსხივებული, შეამოწმეთ შედუღების სახსრები. ანალოგიურად, შეაერთეთ RJ-9 კონექტორი იმავე მავთულხლართებით, რომელიც აკავშირებს ერთსა და იმავე ხვრელებს სენსორის გარღვევის დაფებზე, ანუ A4, A5, 3.3V & GND. BME280 სენსორი მხარს უჭერს ორ I2C მისამართს, რაც იმას ნიშნავს, რომ ორი BME280 სენსორი შეიძლება ერთდროულად იყოს დაკავშირებული ერთსა და იმავე კონტროლერთან. ამის გაკეთებისას, ერთ -ერთი სენსორის მისამართი უნდა შეიცვალოს სენსორზე შედუღების ბალიშების გადაკვეთით. ESP-01 უკაბელო კავშირის ჩიპი მოითხოვდა შემდეგ კავშირებს Arduino– სთან.
ESP-01 --------- არდუინო უნო
10 -------------------- TX
11 -------------------- RX
Vcc ---------------- CH_PD
Vcc ------------------- Vcc
GND ----------------- GND
შენიშვნა:- Arduino Uno– ს მრავალჯერადი LED- ები ამოღებულია ბატარეის მუშაობის გასაუმჯობესებლად. სიმძლავრის ინდიკატორი LED, RX და TX LED- ები ამოღებულ იქნა შედუღების სახსრების გათბობით და LED- ის ბიძგით.
ნაბიჯი 2: დააყენეთ IDE და ბიბლიოთეკები
ნებისმიერი პროგრამირების გაკეთებამდე უნდა ჩამოტვირთოთ Arduino IDE (ინტეგრირებული განვითარების გარემო). პროგრამირება გაკეთდა ამ პლატფორმაზე. განსხვავებული ბიბლიოთეკები იყო საჭირო OPENSDL- ის სხვადასხვა კომპონენტებთან ურთიერთობისათვის. მოცემული კომპონენტებისათვის გამოიყენებოდა შემდეგი ბიბლიოთეკები.
Კომპონენტი ------------------------------------------------- -------------- ბიბლიოთეკა
BME280 ტემპერატურისა და RH სენსორი --------------------------------- Cactus_io_BME280_I2C.h
სინათლის სენსორი ---------------------------------------------------- ---------------- SparkFun TSL2561.h
რეალურ დროში საათი -------------------------------------------------- ------------- RTClib.h
SD ბარათის ბუდე -------------------------------------------------- ------------- SD.h
I2C კავშირი ---------------------------------------------------- ------------- მავთული. თ
ESP01– თან კომუნიკაციის ცალკე ბიბლიოთეკა არ არის საჭირო, რადგან Arduino– ში ატვირთულ კოდს აქვს AT ბრძანებები, რომლებიც იგზავნება სერიულ მონიტორზე, საიდანაც ESP-01 იღებს მითითებებს. ასე რომ, ძირითადად, AT ბრძანებები, რომლითაც ESP01 მუშაობს, იბეჭდება სერიულ მონიტორში, რომლებიც მიიღება როგორც შეყვანის ბრძანება ESP-01- ის მიერ. ამ ბიბლიოთეკების დაყენების მიზნით, მათი გადმოტვირთვის შემდეგ გახსენით Arduino IDE, გადადით Sketch -> Include Library -> Add. Zip ბიბლიოთეკა და შეარჩიეთ გადმოწერილი ბიბლიოთეკები.
ნაბიჯი 3: სისტემის დაპროგრამება

OPENSDL– ის პროგრამირებამდე დაუკავშირეთ Arduino ლეპტოპს. დაკავშირების შემდეგ გადადით Tools -> Port და შეარჩიეთ COM პორტი, რომელშიც OPENSDL არის დაკავშირებული. ასევე, დარწმუნდით, რომ ინსტრუმენტები -> დაფები არჩეული Arduino Uno.
OPENSDL შეიქმნა 2 რეჟიმში მუშაობისთვის. პირველ რეჟიმში, იგი ინახავს მონაცემებს SD ბარათზე მონაცემთა ჩამწერი ფარის თავზე. მეორე რეჟიმში, ის მონაცემებს ინტერნეტით აგზავნის ვებგვერდზე ESP-01 Wi-Fi ჩიპის გამოყენებით. ორივე რეჟიმის პროგრამა განსხვავებულია. კოდის ამ ხაზების პირდაპირ კოპირება და ჩასმა შესაძლებელია Arduino IDE რედაქტორში და პირდაპირ გამოყენება. კოდში შესვლისთანავე, ჩვენ უნდა გავაკეთოთ რამდენიმე პერსონალიზაცია ჩვენი საჭიროებების შესაბამისად:
- კოდის ბოლოს ხელით შეცვალეთ შეფერხების მნიშვნელობა (1000), რომ შეცვალოთ ხეების ინტერვალი. მნიშვნელობა 1000 წარმოადგენს ინტერვალს მილიწამებში.
- შეცვალეთ კოდის ხაზი, რომელშიც ნათქვამია: mySensorData = SD.open ("Logged01.csv", FILE_WRITE); და შეცვალეთ Logged01 სასურველი ფაილის სახელის ფაილის სახელით. ფაილის გაფართოება ასევე შეიძლება შეიცვალოს.csv გაფართოების შეცვლით მხოლოდ ფაილის სახელის შემდეგ.
- კალიბრაციის განტოლება, რომელიც მიიღწევა კორელაციის მასტერ/საცნობარო სენსორსა და BME280– ს შორის, განსხვავდება თითოეული სენსორის მიხედვით. შეცვალეთ კოდის ეს ხაზი სენსორების დაკალიბრების განტოლებით: Serial.print ((1.0533*t2) -2.2374)-ნაგულისხმევი მისამართის მქონე სენსორისთვის (0x77), სადაც t2 არის ტემპერატურის სენსორიდან წაკითხული მნიშვნელობა.
ცალკე პროგრამაა გათვალისწინებული OPENSDL– ის მეორე ხელმისაწვდომი რეჟიმის დასაპროგრამებლად, რომელიც უკაბელო სისტემაა. ESP-01 უნდა იყოს დაკავშირებული OPENSDL– თან კავშირების შესაბამისად, როგორც ეს განმარტებულია ნაბიჯი #2 – ში. კავშირების დასრულების შემდეგ, დაუკავშირეთ Arduino ლეპტოპს და ატვირთეთ ცარიელი ესკიზი Arduino– ში. განათავსეთ ESP-01 განახლების რეჟიმში და განაახლეთ firmware უახლესი ხელმისაწვდომი განახლებით. განახლების შემდეგ, დარწმუნდით, რომ დაუკავშირეთ Arduino– ს გადატვირთვის პინი 3.3V პინს, რომელიც გვერდს უვლის Arduino ჩამტვირთველს
ნაბიჯი 4: დამზადება



OPENSDL– ის დანართი შეიქმნა დაცვისა და ესთეტიკის გასაუმჯობესებლად. გარსაცმები შემუშავებულია 3D ბეჭდვით PLA მასალის გამოყენებით, ხოლო მიკროკონტროლის გარსაცმები შემუშავებულია MDF ფურცლის ლაზერული მოჭრით და ნაჭრების ერთმანეთზე წებებით. 3D დაბეჭდილი მოდელები შემუშავდა SketchUp პროგრამული უზრუნველყოფის გამოყენებით, ხოლო ლაზერული ჭრის 2D dxf ნახატები შეიქმნა AutoCAD– ის გამოყენებით.
3D ბეჭდვისთვის, SketchUp– ის გამოყენებით წარმოებული STL ფაილები გაიხსნა და შემოწმდა Ultimaker Cura 3.2.1 პროგრამულ უზრუნველყოფაში. დარწმუნდით, რომ გამოიყენება PLA მასალა, ხოლო გამოყენებული პრინტერის საქშენები არის 0,4 მმ დასაბეჭდად. 3D პრინტერის სამშენებლო ფირფიტა შეიძლება მოითხოვდეს წებოს, რათა დაიბეჭდოს 3D დაბეჭდილი ობიექტი. როდესაც დაბეჭდვა დასრულებულია, წებო ქმნის ძლიერ გადაბმას დაბეჭდილ ობიექტსა და ასაშენებელ ფირფიტას შორის.
ნაბიჯი 5: კოდი
კოდი (.ino ფაილები) შექმნილია Arduino IDE პროგრამულ უზრუნველყოფაზე სამუშაოდ. აქ არის ბმული ჩემს Github გვერდზე კოდისა და სხვა დეტალებისთვის.
github.com/arihant93/OPENSDL
გთხოვთ, ნუ მოგერიდებათ დაუსვათ შეკითხვები პროექტის შესახებ.
მადლობა
გირჩევთ:
OpenLogger: მაღალი გარჩევადობა, Wi-Fi ჩართულია, ღია წყარო, პორტატული მონაცემების ჩამწერი: 7 ნაბიჯი

OpenLogger: მაღალი რეზოლუციის, Wi-Fi ჩართულია, ღია წყარო, პორტატული მონაცემების ჩამწერი: OpenLogger არის პორტატული, ღია კოდის, დაბალი ღირებულების, მაღალი გარჩევადობის მონაცემების ჩამწერი, რომელიც შექმნილია მაღალი ხარისხის გაზომვებისათვის, ძვირადღირებული პროგრამული უზრუნველყოფის ან პროგრამული უზრუნველყოფის წერის გარეშე. ნულიდან. თუ თქვენ ხართ ინჟინერი, მეცნიერი ან ენთუზიასტი, რომელიც არ
სიხარული რობოტი (Robô Da Alegria) - ღია კოდის 3D ბეჭდვით, Arduino– ით აღჭურვილი რობოტი !: 18 ნაბიჯი (სურათებით)

Joy Robot (Robô Da Alegria) - ღია კოდის 3D ბეჭდვით, Arduino– ით აღჭურვილი რობოტი! მადლობა ყველას ვინც ხმა მოგვცა !!! რობოტები ყველგან მოდიან. სამრეწველო პროგრამებიდან დაწყებული თქვენ
წვრილმანი პროფესიონალური ღია კოდის ღამის ხედვის უსაფრთხოების კამერა: 10 ნაბიჯი (სურათებით)

DIY პროფესიონალური ღია კოდის ღამის ხედვის უსაფრთხოების კამერა: ამ ახალ გაკვეთილში ჩვენ ერთად გავაკეთებთ ჩვენი Raspberry Pi ღია კოდის ვიდეო სათვალთვალო კამერა. დიახ, ჩვენ აქ ვსაუბრობთ ნამდვილ ღია კოდზე გარე სათვალთვალო კამერაზე, რომელსაც შეუძლია ღამის ხედვისა და მოძრაობის გამოვლენა, ყველაფერი დაკავშირებულია ჩვენს ჯიდთან
Arduino Glass - ღია კოდის დამატებული რეალობის ყურსასმენი: 9 ნაბიჯი (სურათებით)

Arduino Glass - ღია წყაროს დამატებული რეალობის ყურსასმენი: ოდესმე გიფიქრიათ დამატებული რეალობის ყურსასმენის მიღებაზე? თქვენც გაგიკვირდათ გაძლიერებული რეალობის შესაძლებლობა და ფასს დაათვალიერეთ გატეხილი გულით? დიახ, მეც! მაგრამ ამან არ შემიჩერა იქ. მე განვმტკიცე ჩემი გამბედაობა და სამაგიეროდ
ინტერაქტიული, ღია კოდის განწყობა: 9 ნაბიჯი (სურათებით)

ინტერაქტიული, ღია კოდის განწყობა: ეს ინსტრუქცია გაივლის თუ როგორ უნდა შექმნათ ინტერაქტიული, მრავალფუნქციური განწყობის შუქი. ამ პროექტის ბირთვი არის BlinkM I2C RGB LED. ერთ დღეს ვსეირნობდი ინტერნეტში, BlinkM– მა მიიქცია ჩემი ყურადღება და მე უბრალოდ მეგონა, რომ ეს ძალიან მაგარი იყო