
Სარჩევი:
- მარაგები
- ნაბიჯი 1: შექმენით თქვენი RPi
- ნაბიჯი 2: MCP3008 + TMP36
- ნაბიჯი 3: მონაცემთა ბაზა
- ნაბიჯი 4: HNT11, ნამდვილი ბიჭებისთვის
- ნაბიჯი 5: გაზის სენსორები (მხოლოდ ლეგენდები)
- ნაბიჯი 6: Shiftregister, 74HC595AG
- ნაბიჯი 7: Frontend, ღირებული გაკვეთილი
- ნაბიჯი 8: უკანა მხარე
- ნაბიჯი 9: საქმის დამზადება
- ნაბიჯი 10: შეფასება და დასკვნა
2025 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2025-01-23 14:50



გამარჯობა, მე ვარ სტუდენტი ბელგიიდან და ეს არის ჩემი პირველი დიდი პროექტი ბაკალავრის ხარისხზე! ეს ინსტრუქცია ეხება იმას, თუ როგორ უნდა გააკეთოთ ჰაერის გამტარი მეტრი დახურული ოთახებისთვის, განსაკუთრებით საკლასო ოთახებისთვის!
მესმის თქვენ ფიქრობთ რატომ ეს პროექტი? ისე, ყველაფერი დაიწყო, როდესაც საშუალო სკოლაში დავდიოდი. დღის მეორე ნახევარში კარგი სადილისა და შესვენების შემდეგ, გაკვეთილები კვლავ იწყება. მაგრამ არის პრობლემა, მასწავლებელს დაავიწყდა ფანჯრის გაღება მაშინ, როდესაც ჩვენ ვისადილეთ, ასე რომ ცხელა, ოფლიანდება და კონცენტრაციას ვერ ახერხებთ, რადგან გძინავთ. ეს იმიტომ ხდება, რომ ჰაერში ბევრი CO2 არის.
ჩემი პროექტი მოაგვარებს ამას და ყველა მოსწავლე გახდის უფრო კონცენტრირებულს გაკვეთილებზე.
მარაგები
1 x ჟოლოს პი 4 (55 ევრო)
1 x სტეპენმოტორი მძღოლთან ერთად (5 ევრო)
2 x 12v 6800 mAh ბატარეები (2x € 20)
2 x გადადგმის მოდული (2x 5 ევრო)
1 x 16x2 LCD (1.5 ევრო)
სენსორები: 1x MQ8, 1x MQ4, 1x MQ7, 1x MQ135, 1x HNT11, 1x TMP36 (1 x 23 ევრო)
IC: 1x MCP3008, 2x 74hc595AG (1x € 2.30, 2x € 0.40)
LED- ები: 2x მწვანე, 2x წითელი, 3x ყვითელი (ნაპოვნია ძველ ტექნიკაში, ჩვეულებრივ 0.01 ევრო თითოეულში)
ბატარეის კონექტორი (2 x 0.35 ევრო)
40 f-to-f კონექტორი კაბელი (1,80 ევრო)
40 f-to-m კონექტორი კაბელი (1,80 ევრო)
20 მ-მ კონექტორის კაბელები (1.80 ევრო)
2 x PCB შესაერთებლად (2x 0,70 ევრო)
ინსტრუმენტები:
შედუღების რკინა (სასურველია 60 ვატი)
კალის შესადუღებლად
ალუმინის ფურცელი 50x20
გარსაცმები (მე გამოვიყენე ძველი მინი კომპიუტერის ქეისი)
ეს ადვილად შეიძლება იყოს MDF ან საკუთარი იდეები.
ნაბიჯი 1: შექმენით თქვენი RPi

ასე რომ, ჩვენი გული ჩვენი ტვინი და ჩვენი სული ამ პროდუქტშია. დაემუქრეთ მას კარგად, რადგან ამან შეიძლება ზიანი მოგაყენოთ ამა თუ იმ გზით. მე ვიყენებ RPi 4B 4 გბ -ს, სხვა მოდელები კარგად უნდა მუშაობდნენ. თქვენ შეიძლება ველოდოთ უფრო ჩამორჩენას ძველ მოდელებზე.
ჩვენ მივიღეთ OS ჩვენი სკოლიდან ზოგიერთი წინასწარ დაინსტალირებული პროგრამული უზრუნველყოფით, როგორიცაა phpMyAdmin.
უპირველეს ყოვლისა დარწმუნდით, რომ თქვენ შეგიძლიათ დაუკავშირდეთ თქვენს Raspberry Pi– ს ssh– ის საშუალებით, ჩვენ დაგვჭირდება ბევრი დრო.
ასე რომ, პირველ რიგში, ჩვენ უნდა გავააქტიუროთ SPI ავტობუსი, GPIO- ქინძისთავები და გავთიშოთ სხვა ავტობუსები, ჩვენ არ გვჭირდება ისინი.
ამის გაკეთება შეგიძლიათ raspi-config მენიუში. ნავიგაცია ინტერფეისებზე და ჩართეთ GPIO და SPI ჩვეულებრივ არ იქნება საჭირო იმისათვის, რომ სანამ აქ ხართ, გააფართოვეთ თქვენი მეხსიერება გაფართოებულზე გადასვლით და შემდეგ დააჭირეთ შეყვანის გაფართოების შესანახად.
ახლა გადატვირთეთ. ჩვენ დაგვჭირდება რამდენიმე გაფართოება, რომ გამოვიყენოთ VS კოდი ჩვენს pi- ზე, გავუშვათ ჩვენი სერვერი და მონაცემთა ბაზა.
VS კოდის გაფართოების ინსტალაციის პროცესი შეგიძლიათ იხილოთ აქ.
ახლა ჩვენ დავაყენებთ გაფართოებებს ჩვენი სერვერისა და მონაცემთა ბაზისთვის. გამოიყენეთ ტერმინალი და ჩაწერეთ "პითონის ინსტალაციის კოლბა, კოლბა-კორსი, mysql-python-connector, eventlet" დაელოდეთ დასრულებამდე.
ახლა ჩვენ შეგვიძლია დავიწყოთ პროექტის შემუშავება.
ნაბიჯი 2: MCP3008 + TMP36



ასე რომ, ჩვენ გვაქვს 6 სენსორი: 4 გაზი, 1 ტენიანობა + ტემპერატურა და 1 ტემპერატურის სენსორი. რეალური ამოცანაა მათი მუშაობა. ყველა სენსორი არის ანალოგური სენსორი, ამიტომ ჩვენ გვჭირდება ანალოგური სიგნალის ციფრულ სიგნალად გადაყვანა. ეს იმიტომ ხდება, რომ RPi (Rasberry Pi) - ს შეუძლია მხოლოდ "გაიგოს" ციფრული სიგნალები. დამატებითი ინფორმაციისთვის დააწკაპუნეთ აქ.
ამ ამოცანის შესასრულებლად დაგჭირდებათ MCP3008, ეს მშვენივრად შეასრულებს საქმეს!
მას აქვს 16 პორტი, ითვლის ზემოდან (პატარა ბუშტი) მარცხნივ, ქვემოთ, მეორე მხარეს და ზევით. Pin1-8 არის ანალოგი სიგნალი ჩვენი სენსორებისგან. პინი 9 მეორე მხარეს არის GND, რომელიც უნდა იყოს დაკავშირებული სრული წრის GND– სთან, წინააღმდეგ შემთხვევაში ეს არ იმუშავებს. პინ 10-13 უფრო ფრთხილად უნდა იყოს დაკავშირებული, ეს გადასცემს მონაცემებს RPi– დან და მისგან. პინი 14 არის კიდევ ერთი GND, ხოლო პინები 15 და 16 არის VCC, ეს უნდა იყოს დაკავშირებული წრის დადებით მხარესთან.
ეს არის გაყვანილობის განლაგება:
- MCP3008 VDD გარე 3.3V MCP3008 VREF გარე 3.3V
- MCP3008 AGND გარე GND
- MCP3008 DGND გარე GND
- MCP3008 CLK to Raspberry Pi pin 18
- MCP3008 DOUT to Raspberry Pi pin 23
- MCP3008 DIN to Raspberry Pi pin 24
- MCP3008 CS/SHDN to Raspberry Pi pin 25
ეს ასევე კარგი დროა GND– დან RPI– დან გარე GND– ს დასაკავშირებლად. ეს გახდის ელექტრული დონეს RPi– დან.
აქ მოცემულია, თუ როგორ უნდა დააკავშიროთ იგი სწორად.
დარწმუნდით, რომ დააკავშირეთ სწორი გზა, წინააღმდეგ შემთხვევაში თქვენ შეგიძლიათ მოკლედ შეაერთოთ ყველაფერი!
პირველი კოდი შედის აქ.
თქვენ შეგიძლიათ დააკოპიროთ ჩემი კოდი ჩემი პროექტის github მოდელებით. Analog_Digital.
გვერდის ბოლოში ნახავთ წყაროს კოდს, რომ ის იმუშაოს.
მაგრამ ჩვენ გვჭირდება ჩვენი პირველი სენსორი, ასე რომ ჩვენ შეგვიძლია შევამოწმოთ.
ჩვენ უნდა შევამოწმოთ ჩვენი სენსორი, თუ ის მუშაობს. შეაერთეთ 3.3V ან 5V კვების წყარო TMP36– ის დადებით მხარეს. არ დაგავიწყდეთ მისი დაკავშირება GND– თანაც, ეს შეიძლება რაღაც სულელური იყოს, მაგრამ დამიჯერეთ. ეგ რეალობაა;) თქვენ შეგიძლიათ თქვენი მულტიმეტრით შეამოწმოთ სენსორის გამომავალი ეს არის შუა პინი. ამ მარტივი განტოლებით შეგიძლიათ შეამოწმოთ ტემპერატურა ° C- ში. ((მილივოლტი*შეყვანის ძაბვა) -500)/10 და voila donne! Ნახვამდის! არა ჰაჰაჰ ჩვენ გვჭირდება MCP3008. შეაერთეთ თქვენი TMP36– ის ანალოგიური პინი MCP3008– ის პირველ შეყვანის პინთან. ეს არის pin 0.
თქვენ შეგიძლიათ გამოიყენოთ მაგალითი კოდი ბოლოში ამ MCP კლასისთვის. ან რამე, რასაც ინტერნეტში ნახავთ, საქმეს კარგად გააკეთებს.
ნაბიჯი 3: მონაცემთა ბაზა
ასე რომ, ახლა ჩვენ, რაც შეგვიძლია წავიკითხოთ ჩვენს პირველ სენსორში, გვჭირდება შესვლა მონაცემთა ბაზაში. ეს არის ჩვენი ტვინის მეხსიერება. მე შევქმენი ეს მონაცემთა ბაზა გაფართოებადი და ადვილად მოდიფიცირებადი მომავალი ცვლილებებისთვის.
ასე რომ, პირველ რიგში, ჩვენ უნდა ვიფიქროთ, რას მივიღებთ შეყვანის სახით და თუ გვჭირდება კონკრეტული საგნების შესვლა, როგორიცაა გარკვეული ობიექტების სტატუსი.
ჩემი პასუხი იქნება: შეყვანა 6 სენსორიდან, ასე რომ ჩვენ გვჭირდება სენსორული ცხრილის გაკეთება, ამ სენსორებით ჩვენ გავაკეთებთ მნიშვნელობებს. რა არის დაკავშირებული ღირებულებასთან? ჩემთვის ეს არის ფანჯრის სტატუსი, ღიაა თუ დახურულია, სანამ სენსორი გაზომავს მნიშვნელობას. მაგრამ ადგილმდებარეობა ასევე არის ფაქტორი ჩემი ღირებულებისთვის, ასე რომ ჩვენ ამას დავამატებთ. მნიშვნელობის დრო და თარიღი ასევე მნიშვნელოვანია, ამიტომ ამას დავამატებ.
მომავალი გაფართოებისთვის დავამატე მომხმარებლის ცხრილი.
რა არის ჩემი იდეა მაგიდებთან დაკავშირებით: ცხრილის მნიშვნელობა, მაგიდის მისამართი (ოთახთან დაკავშირებული), მაგიდის ოთახი (ღირებულებასთან დაკავშირებული), ცხრილის ფანჯარა (ღირებულებასთან დაკავშირებული), მაგიდის სენსორი (ღირებულებასთან დაკავშირებული) და ცხრილი ველურ ბუნებაში მომხმარებლებს.
რაც შეეხება ცხრილების ერთმანეთთან დაკავშირებას. თითოეულ მნიშვნელობას სჭირდება ერთი სენსორი, ერთი ფანჯარა, მნიშვნელობა სენსორისთვის, პირადობის მოწმობა, ასე რომ ჩვენ შეგვიძლია გავხადოთ მნიშვნელობა უნიკალური, დროის ნიშნული, როდესაც მნიშვნელობა გაკეთდა და ბოლოს ჩვენ არ გვჭირდება ოთახი, როგორც არჩევითი, მაგრამ შეიძლება იყოს დაემატა.
ასე რომ, ეს ასე გამოიყურება ახლა. ეს არის ის, რასაც მე ვიყენებ ჩემი დანარჩენი პროექტისთვის.
ნაბიჯი 4: HNT11, ნამდვილი ბიჭებისთვის
ასე რომ, ჩვენ არ გვეძლეოდა რაიმე სახის ბიბლიოთეკების გამოყენების უფლება. ჩვენ თვითონ უნდა დავგეგმოთ ყველაფერი.
HNT11 არის ერთი მავთულის სისტემა, ასე რომ ეს ნიშნავს, რომ თქვენ გაქვთ GND და VCC, როგორიცაა ნებისმიერი სხვა ელექტრონული მოწყობილობა, მაგრამ 3 პინი არის შესასვლელი და გამომავალი პინი. ასე რომ, ეს უცნაურია, მაგრამ მე ბევრი რამ ვისწავლე მისგან.
შეაერთეთ VCC გარე 3.3V– თან და GND გარე GND– თან.
DHT11– ის მონაცემთა ცხრილი შეიცავს ყველაფერს ამ სენსორების გამოსაყენებლად.
ჩვენ შეგვიძლია დავადგინოთ, რომ მაღალი ბიტი შეიცავს დაბალ და მაღალ ბიტს. მაგრამ მაღალი ნაწილის ხანგრძლივობა განსაზღვრავს ბიტს რეალურად. თუ მაღალი ნაწილი გამოიყოფა 100 µs– ზე მეტჯერ (ჩვეულებრივ 127 µs) ბიტი მაღალია. ცოტა უფრო მოკლეა ვიდრე 100µs (ნორმალურად დაახლოებით 78μs) ბიტი დაბალია.
როდესაც HNT11 გააქტიურებულია, ის დაიწყებს სიგნალების გამოცემას. ეს ყოველთვის არის 41 ბიტი. ის იწყება დასაწყისით, ეს არაფერს ნიშნავს, ასე რომ ჩვენ შეგვიძლია გამოვტოვოთ ეს. პირველი 16 ბიტი/ 2 ბაიტი არის მთლიანი და მცურავი ნაწილი ტენიანობისთვის. ეს იგივეა ბოლო 2 ბაიტისთვის, მაგრამ ახლა ეს არის ტემპერატურისთვის.
ასე რომ, ჩვენ მხოლოდ უნდა გამოვთვალოთ თითოეული ბიტის ხანგრძლივობა და შემდეგ დავასრულოთ.
წყაროს კოდში DHT11 თქვენ ნახავთ ჩემს მეთოდს ამ პრობლემის გადაჭრაში.
ნაბიჯი 5: გაზის სენსორები (მხოლოდ ლეგენდები)


ასე რომ, პროექტის დაწყებისას ვფიქრობდი, რომ კარგი იდეა იქნებოდა მრავალი სენსორის გამოყენება. სანამ იმოქმედებთ და იყიდეთ ადგილობრივად, ეს დაზოგავს ბევრ ძილს! იმის გამო, რომ თქვენ შეგიძლიათ დაიწყოთ ადრე და ეს გახდება უფრო ნებით ამისთვის.
მე მაქვს 4 გაზის სენსორი. MQ135, MQ8, MQ4 და MQ7 ყველა ამ სენსორს აქვს სპეციფიკური აირები, რომლებსაც ისინი საუკეთესოდ ზომავს. მაგრამ ეს ყველაფერი განსხვავებულია მათი კონფიგურაციით.
ასე რომ, პირველად გამოვიყენე მონაცემთა ფურცელი, ამან არ გამხადა სურვილი. შემდეგ ვეძებდი კოდის მაგალითებს. რაც აღმოვაჩინე იყო ერთი ბიბლიოთეკა ადაფრუტიდან. შევეცადე გამემეორებინა რაც შეიძლება კარგად. ის მუშაობდა ოთხი სენსორიდან ერთ -ერთთან.
ცოტა ხანი დავისვენე და დავბრუნდი.
რა გავაკეთე იმისათვის, რომ ეს ერთი სენსორი მუშაობდეს, არის:
- მე გამოვიყენე მონაცემთა ცხრილი იმ გაზების წერტილების აღსანიშნავად, რომელთა გაზომვაც მინდოდა. ასე რომ, 1 დღე/rs 400ppm, 1.2 დან 600ppm…
- შემდეგ ყველა ეს წერტილი აღმატებულში ჩავდე და ამოვიღე მრუდის ფორმულა. ეს შევინახე ჩემს მონაცემთა ბაზაში.
- მონაცემთა ცხრილიდან ასევე წავიკითხე ნორმალური წინააღმდეგობა და სუფთა ჰაერის წინააღმდეგობა. ეს მნიშვნელობები ასევე ინახება მონაცემთა ბაზაში.
ეს ყველაფერი ჩავწერე რაღაც კოდში, თქვენ შეგიძლიათ ნახოთ ეს როგორც ბოლო სამი ფუნქცია MCP3008 კლასში. მაგრამ ეს ჯერ არ დასრულებულა, სამწუხაროდ მე არ მქონდა საკმარისი დრო.
ნაბიჯი 6: Shiftregister, 74HC595AG




ეს არის IC. ის აკეთებს რაღაც განსაკუთრებულს, ამ მოწყობილობით შესაძლებელია გამოვიყენოთ ნაკლები GPIO შედეგები ერთი და იგივე გამომავალი სიგნალისთვის. მე გამოვიყენე ეს LCD (თხევადი ბროლის ეკრანი) და ჩემი LED- ებისთვის. მე ვაჩვენებ IP მისამართს LCD– ზე, რათა ყველას შეეძლოს საიტზე შესვლა.
LED- ები არის გონივრულად 2 წითელი, 3 ყვითელი და 2 მწვანე. ეს ნებისმიერ დროს აჩვენებს ოთახში ჰაერის ხარისხს.
Shiftregister არის პარალელური გამომავალი მოწყობილობა, ასე რომ შეუძლებელია დროის განმავლობაში სხვადასხვა სიგნალის გამოშვება. ეს შესაძლებელი იქნება, თუ გარედან არის დაპროგრამებული, მაგრამ არ არის მხარდაჭერილი.
როგორ გამოვიყენოთ IC? თქვენ გაქვთ 5 შეყვანა და 9 გამომავალი. 8 ლოგიკური გამოსავალი 8 ქინძისთავისთვის და შემდეგ მე -9 პინი, რომ დარჩენილი მონაცემები სხვა ცვლის რეგისტრში გაგზავნოს.
ასე რომ, ჩვენ ვუკავშირდებით პინ 16 -ს გარე VCC– ს, შემდეგი პინი არის პირველი გამომავალი, ასე რომ LCD– ისთვის დაგვჭირდება იგი. მე -13 პინი არის ჩართვის გადამრთველი, დაბალი სიგნალი საშუალებას აძლევს IC- ს, მაღალი სიგნალია საჭირო მისი გამორთვისთვის. პინ 12 არის პინი, სადაც შეგვიძლია განვსაზღვროთ, როდის გაგზავნილია ბიტი, როდის ჩამოაგდებთ ამ პინს ისე მაღლიდან დაბლა, რომ ის კითხულობს სიგნალის სტატუსს პინ 13 -ს და შეინახავთ მის 8 ბიტიან მეხსიერებაში. პინ 11 მსგავსია, როდესაც ეს პინი მაღლაა დაყენებული და დაბალზე გამოაქვს 8 ბიტი მის პორტში. და ბოლო pin, pin 10 არის სამაგისტრო გადატვირთვა, ეს pin უნდა დარჩეს მაღალი ან ის არ იმუშავებს. ბოლო კავშირი არის GND pin 8, ჩვენ უნდა დავუკავშიროთ იგი გარე GND– ს.
ასე რომ, ახლა დააკავშირეთ ქინძისთავები, როგორ მოგწონთ ჟოლოს პი. მე ისე მოვიქეცი, რომ რაც შეიძლება ახლოს დავუკავშირე ისინი ერთმანეთს, რათა დავრწმუნებულიყავი, სად იყვნენ.
როდესაც მიიღებთ სწორ გამომავალს. თქვენ შეგიძლიათ შეაერთოთ ეს PCB- ზე LED- ებით. და 220 Ohm რეზისტორები. Sold გამომავალი IC შესაბამისი led. თქვენ ახლა უნდა გქონდეთ მსგავსი რამ.
თქვენ შეგიძლიათ იპოვოთ ჩემი ტესტის კოდი აქ Shiftregister– ში. როდესაც მუშაობთ 74HC595N– ით, თქვენ არ გჭირდებათ MR, ასე რომ თქვენ შეგიძლიათ დატოვოთ ის დაუკავშირებელი.
LCD თითქმის იგივეა. საკმაოდ ადვილია მისი გამოყენება shiftregister– თან, რადგან LCD– ის შეყვანა ზუსტად არის shiftregister– ის შეყვანა.
LCD– ისთვის არსებობს სხვა კოდი, რომ ის იმუშაოს, მაგრამ ის საკმაოდ იგივეა, რაც მხოლოდ shifregister. თქვენ შეგიძლიათ იპოვოთ ტესტის კოდი აქ LCD– ის ქვეშ.
ნაბიჯი 7: Frontend, ღირებული გაკვეთილი
ასე რომ აქ მე wander off, ეს ნაწილი, თუ როგორ უნდა გავაკეთოთ ეს. ეს არის რაღაც ძალიან ძვირფასი, რაც ვისწავლეთ.
ჩადება frontend სანამ backend !!!!
მე პირიქით გავაკეთე. მე გამოვიყენე უსარგებლო ზარები ჩემი მონაცემთა ბაზისთვის, ამაზე დიდ დროს ვხარჯავ.
სადესანტო გვერდზე მჭირდებოდა მიმდინარე ტემპერატურა და ტენიანობა და ყველა გაზის სენსორის მნიშვნელობები ლამაზ სქემაში. მე ასევე უნდა ვაჩვენო RPi– ს ip მისამართი.
სენსორების გვერდზე მჭირდება ერთი სენსორის შერჩევა და შერჩევის დრო. მე ავირჩიე ერთი დღის შერჩევა და შემდეგ პერიოდი იმ დღიდან. ამან ძალიან გამიადვილა, რადგან მე უფრო მეტად ვაკონტროლებდი.
ბოლო გვერდზე, პარამეტრების გვერდზე შესაძლებელია გარკვეული მნიშვნელობების მართვა, როგორიცაა ჯანსაღი საშიში ან საშიში გაზი და ტემპერატურის დონე. თქვენ ასევე შეგიძლიათ გააკეთოთ RPi გადატვირთვა, თუკი ამას საჭიროდ ჩათვლით.
ასე რომ, პირველად მე გავაკეთე დიზაინი, ასე რომ ადვილად შემეძლო დავიწყო კოდირების ნაწილზე მუშაობა. თანდათანობით პროგრესს მივაღწიე ერთდროულად. დავალება ჯერ მობილური იყო, ამიტომ პირველ რიგში ამაზე გავამახვილებ ყურადღებას. შემდეგ უფრო დიდ ეკრანებთან მივდივარ.
თქვენ შეგიძლიათ ნახოთ ჩემი გვერდები, css და js ჩემს Github– ში.
ნაბიჯი 8: უკანა მხარე
ეს ნაწილი არის ნაწილი, რომელიც მე შერეული frontend. როდესაც მე რაღაც გავაკეთე ფრონტონდისთვის, მე ის ვიმუშავე უკანა მხარეს. ასე რომ, ამას მოგვიანებით არ დასჭირდება გადახედვა. ეს იყო ის, რაც მე ჯერ არ გამიკეთებია და ამის გამო, რა თქმა უნდა, 2 კვირა დავკარგე. Დებილი მე! მაგრამ გაკვეთილი მე სიამოვნებით ვიღებ სხვა პროექტებს.
ასე რომ, როდესაც თქვენ აკეთებთ უკანა მხარეს, გააკეთეთ ის, რასაც თქვენ გამოიყენებთ. მაგრამ გახადე ეს მომავალი მტკიცებულება მისი ხელახალი გამოყენების და არა მყარი კოდირებით. ასე რომ, როდესაც მჭირდება DHT11– ის ბოლო 50 მნიშვნელობა, შევამოწმებ, რომ ხდება მნიშვნელობები? დიახ, როგორ მოვათავსო ისინი მონაცემთა ბაზაში. როგორ ამოვიღო ისინი მონაცემთა ბაზიდან. როგორ ვაჩვენო? დიაგრამა, გრაფიკი, თუ უბრალო მონაცემები? შემდეგ მე ვაკეთებ ახალ მარშრუტს სხვადასხვა პარამეტრებით და თვისებებით, როგორიცაა თარიღები, კონკრეტული სენსორული სახელები ან რასაც მე ვიძახი. ვგულისხმობ, რომ მე ვიძახებ ყველა მნიშვნელობას MQ სენსორებიდან თუ ყველა სენსორს, რომელსაც აქვს MQ მისი სახელი. შემდეგ ჩავდე შეცდომების მართვა. როდესაც ზარის მოთხოვნა სწორი მეთოდია მხოლოდ მაშინ შეიძლება გაგრძელდეს წინააღმდეგ შემთხვევაში ის მიიღებს სასიამოვნო შეცდომას.
ასევე აქ არის განლაგებული ძაფები, ეს არის პროგრამული უზრუნველყოფის ნაწილები, რომლებიც საშუალებას გაძლევთ გაუშვათ პარალელური კოდი. თქვენ შეგიძლიათ გაუშვათ ვებსაიტების ზარები, ღირებულების შექმნის ფუნქცია და led+shiftregister. ეს ფუნქციები ერთმანეთისგან სრულიად დამოუკიდებელია.
ასე რომ, ლიდერებისთვის. მე გავაკეთე ქვედა/ ჯანსაღი მნიშვნელობა CO2– ისთვის. ეს ღირებულება მოვიდა მრავალჯერადი მთავრობის წყაროებიდან. საკლასო ოთახების ჯანსაღი ღირებულებაა 600 ppm CO2 კუბურ მეტრზე. არაჯანსაღი ღირებულება არის ყველაფერი, რაც აღემატება 2000 ppm- ს. ასე რომ, LED- ები ქმნიან ხიდს. თუ MQ4 სენსორის ღირებულებაა 1400, ის ავტომატურად გამოითვლება საფრთხის რომელ დონეზეა. 2000 - 600 = 1400, ასე რომ, მთლიანი დიაპაზონი არის 1400 /7 = 200. ასე რომ, როდესაც მნიშვნელობა აღწევს 550 -ს, აჩვენებს მწვანე led- ს. 750 აჩვენებს 2 მწვანე ლიდერს, 950 1 ყვითელს 2 მწვანე ლიდერს. Და ასე შემდეგ.
როდესაც მნიშვნელობა აღწევს შუაგულს, ფანჯარა იხსნება. მე გამოვიყენე სტეპენმოტორი მაღალი ბრუნვისა და სიზუსტის გამო. და როდესაც ღირებულება აღემატება 2000 წელს, მცირე სიგნალიზაცია ჩნდება. ეს უნდა გააფრთხილოს ოთახის შიგნით მყოფი ხალხი.
ჩვენ ასევე შეგვიძლია გამოვავლინოთ კვამლის აირები, როდესაც ხანძარია. ის ასევე აღრიცხავს ამას. როდესაც ის აღემატება გარკვეულ მნიშვნელობას მაღვიძარა მიდის და LED ციმციმებს.
LCD არის ძირითადად იქ, რომ აჩვენოს IP მისამართი, ასე რომ თქვენ შეგიძლიათ დაათვალიეროთ საიტი.
თქვენ შეგიძლიათ იპოვოთ ყველაფერი + კოდი ჩემი Githubin app.py– ს შიგნით
ნაბიჯი 9: საქმის დამზადება



ვიპოვე პატარა კომპიუტერის კეისი ჩემი ყველა კომპონენტისთვის.
მე დავჭრა ალუმინის ფურცელი ზომით. და გაბურღეს რამდენიმე ხვრელი, სადაც ფურცელი დაისვენებდა. ეს შეესაბამება დედაპლატის ხვრელებს.
შემდეგ შევხედე როგორ მოერგებოდა ყველაფერს საქმის შიგნით. ყველაფერი დავდე და დავიწყე მოძრაობა.
როდესაც კმაყოფილი ვიყავი იმით, თუ როგორ იმუშავებდა, დავიწყე სენსორების, RPi, PCB- ის, ძაბვის მოდულებისა და სტეპენმოტორული მოდულის ხვრელების აღნიშვნა. ხვრელები განკუთვნილია PCB ჩამორჩენისთვის, ეს გახდის ადგილს ისე, რომ ლითონის ნაწილები არ შევიდეს ალუმინის ფურცელთან. ის ასევე აძლევს სასიამოვნო იერს.
მე ავიღე თითოეული IC ან სხვა მოწყობილობიდან კაბელები და ერთმანეთთან მიბმული. ეს იმიტომ ხდება, რომ მე ვნახე რა კაბელები რისთვის არის. მე ყველაფერი მშვენივრად მოვათავსე ზოგიერთ შეფერხებაზე და გამოვიყენე თხილი და ხრახნები, რომ ყველაფერი ლამაზად დამეწყო.
ამ ყველაფრის დასაძლევად მე გამოვიყენე 2 ბატარეა. ეს უზრუნველყოფს უამრავ ენერგიას, მაგრამ ეს ჯერ კიდევ არის ბატარეები, ასე რომ ისინი დროთა განმავლობაში ამოიწურება. მე დავამატე ეს რაღაც velcro. მე გამოვიყენე velcro, რადგან მაშინ მარტივად შემეძლო ბატარეების გამოცვლა ან მოშორება.
სტეპენმოტორი, LCD და LED- ები გამოვა ქეისის ზედა ნაწილიდან. ასე რომ, მე ფრთხილად დავაფარე საქმის საფარი თავზე და აღვნიშნე ხვრელები და გაბურღე ისინი საბურღით. ასე რომ, ჩვენ ადვილად ვხედავთ ყველაფერს.
როგორც საქმე დასრულებულია, ჩვენ გვჭირდება ყველაფრის მავთული, აქ თქვენ შეგიძლიათ იპოვოთ გაყვანილობის სქემა.
ნაბიჯი 10: შეფასება და დასკვნა

ეს არის/იყო ჩემი პირველი პროექტი.
კარგად ჩანს მგონი.
მე ვისწავლე ბევრი ახალი რამ, ვისწავლე პროექტის მენეჯმენტის დიდი და ცუდი მხარე. ეს მართლაც ღირებული გაკვეთილი იყო. მე ვიხარე, რომ თქვენ ვერ დაელოდებით, თქვენ ნამდვილად უნდა გააგრძელოთ გაცემა. თქვენ უნდა დაარეგისტრიროთ ყველა ნაბიჯი (თითქმის ძალიან გადაადგილება) და ეს უნდა გააკეთოთ მაშინ, როდესაც ეს უბრალოდ გააკეთეთ.
ფოკუსირება ერთ რამეზე ერთდროულად. გსურთ ტემპერატურა თქვენს ეკრანზე? გააკეთე ეს, ეს და ეს. ნუ დაელოდებით და ნუ ეცდებით მის გაშვებას. არ შველის. და დაგაკარგვინებთ ასე ძვირფას დროს.
ასევე 4 კვირა, როგორც ჩანს, ბევრი დროა. მაგრამ ნაკლები სიმართლეა. ეს უბრალოდ არ არის სწორი. თქვენ გაქვთ მხოლოდ 4 კვირა. პირველი 2 კვირა ნამდვილად არ არის ამდენი წნევა. დამთავრებული 3 კვირა და მეოთხე კვირა უძილო ღამე. აი ასე არ უნდა გააკეთო.
მე ალბათ ცოტა ამბიციური ვიყავი: მე სუპერ პატარა საქმე, სენსორების, ბატარეების გამოსაყენებლად ადვილი არ არის … გავამარტივოთ და გავამძაფროთ თანდათანობით, მხოლოდ მაშინ მივიღებ კარგ პროტოტიპს/ პროდუქტს.
გირჩევთ:
მიმდინარე რეჟიმზე დაფუძნებული ოსცილატორის დიზაინი D კლასის აუდიო სიმძლავრის გამაძლიერებლებისთვის: 6 ნაბიჯი

მიმდინარე რეჟიმზე დაფუძნებული ოსცილატორის დიზაინი D კლასის აუდიო სიმძლავრის გამაძლიერებლებისთვის: ბოლო წლებში, კლასი D აუდიო სიმძლავრის გამაძლიერებლები იქცა სასურველ გადაწყვეტად პორტატული აუდიო სისტემებისთვის, როგორიცაა MP3 და მობილური ტელეფონები მაღალი ეფექტურობისა და დაბალი ენერგომოხმარების გამო. ოსცილატორი არის მნიშვნელოვანი კლასი D au
Otto DIY კლასის ფინალი: 4 ნაბიჯი

Otto DIY კლასის ფინალი: ეს პროექტი შესაძლებელი გახდა ოტოს და ათენის ტექნიკური კოლეჯის მიერ. დასაწყებად, თქვენ ჯერ უნდა შეიძინოთ ნაკრები: https://www.ottodiy.com/store/products/49452 შემდეგ მიჰყევით ნაბიჯებს: https: //wikifactory.com/+OttoDIY/otto-diy
HiFi დინამიკები - სახელმძღვანელო პირველი კლასის ასაწყობად: 8 ნაბიჯი (სურათებით)

HiFi დინამიკები - სახელმძღვანელო პირველი კლასის მშენებლობისთვის: მე გადავწყვიტე დამეწერა ეს ინსტრუქცია მას შემდეგ, რაც ძალიან ბევრი დრო დახარჯა, რათა მეპოვა კარგი ხარისხის, სრული ინფორმაცია HiFi სპიკერის კაბინეტების შესაქმნელად, რომელიც არ ითვალისწინებდა დიდ გამოცდილებას ან გამოცდილებას. არსებობს დიდი ინსტრუქციის ალერეა
წვრილმანი ბარიერის სიგნალიზაციის სისტემა სამრეწველო კლასის PLC (Controllino): 5 ნაბიჯი

DIY მსუბუქი ბარიერის სიგნალიზაციის სისტემა სამრეწველო კლასის PLC (Controllino): ამ პროექტში მე გაჩვენებთ თუ როგორ გავაერთიანე PLC (Controllino) მსუბუქი ბარიერით, სირენა, ლერწმის გადამრთველი და სტრობოსკოპის შუქი შესაქმნელად მართლაც ძლიერი სამუშაო სიგნალიზაციის/უსაფრთხოების სისტემა, რომელიც ადვილად შეაშინებს შეჭრილებს. ლ
ღია (ველოსიპედის) კლასის სიმულატორი - OpenGradeSIM: 6 ნაბიჯი

ღია (ველოსიპედის) კლასის სიმულატორი - OpenGradeSIM: შესავალი აშშ – ის ცნობილმა ფიტნეს კომპანიამ (Wahoo) ცოტა ხნის წინ გამოუშვა დიდი შიდა სავარჯიშო დახმარება, რომელიც აამაღლებს და ამცირებს ველოსიპედის წინა ნაწილს ტურბო ტრენერზე გორაკის იმიტირებული ხარისხის მიხედვით მომხმარებელი მიჯაჭვულია (ე