Სარჩევი:

ჟოლოს პი ბარომეტრი ამინდის საათი: 9 ნაბიჯი (სურათებით)
ჟოლოს პი ბარომეტრი ამინდის საათი: 9 ნაბიჯი (სურათებით)

ვიდეო: ჟოლოს პი ბარომეტრი ამინდის საათი: 9 ნაბიჯი (სურათებით)

ვიდეო: ჟოლოს პი ბარომეტრი ამინდის საათი: 9 ნაბიჯი (სურათებით)
ვიდეო: ჟირაფი ჟოზე - ფერები (სეზონი 1 | სერია 4) 2024, ნოემბერი
Anonim
ჟოლო პი ბარომეტრის ამინდის საათი
ჟოლო პი ბარომეტრის ამინდის საათი

ამ სასწავლო ინსტრუქციაში მე გაჩვენებთ თუ როგორ უნდა ავაშენოთ ძირითადი თერმომეტრი / ბარომეტრი საათის გამოყენებით Raspberry Pi 2 Raspberry Pi 2 -ით BMP180 I2C სენსორით ადაფრუტის 4 ციფრიანი 7 სეგმენტის I2C ეკრანზე. Pi ასევე იყენებს DS3231 რეალურ დროში I2C საათის მოდულს, რომ შეინარჩუნოს დრო, როდესაც Pi განახლდება.

საათი გადის 4 საფეხურზე თითოეული 5 წამის განმავლობაში. ჯერ აჩვენებს ტემპერატურას ცელსიუსში, შემდეგ ფარენჰეიტში, შემდეგ ბარომეტრულ წნევას kPa * - ში (ეს რიცხვი მიდის მარცხნივ ციფრების შეზღუდული რაოდენობის გამო) და ბოლოს გვიჩვენებს ბარომეტრული წნევის ცვლილების ტენდენციას ახლა და საშუალო მაჩვენებელს შორის წინა საათი.

რაც ამ საათს უმეტესობისგან განასხვავებს ის არის, რომ ის იყენებს MySQL მონაცემთა ბაზას Pi– ზე BMP180– დან მონაცემების ყოველ წუთში შესასვლელად. ვინაიდან ამჟამინდელი ბარომეტრიული წნევა არ არის ისეთი ღირებული, როგორც მისი მოძრაობა ზემოთ ან ქვემოთ მოცემულ პერიოდში, ის იყენებს ამ მონაცემთა ბაზას, რომ გამოთვალოს საშუალოდ ერთი საათის ინტერვალი 2 საათიდან 1 საათის წინ და ადარებს მას მიმდინარე წნევას. ბარომეტრული წნევის მნიშვნელოვანი ზრდა ჩვეულებრივ მიუთითებდა ამინდის პირობების გაუმჯობესებაზე, ხოლო დიდ ვარდნას შეუძლია გააფრთხილოს მოსალოდნელი ქარიშხალი.

საათი მოთავსებულია 3D დაბეჭდილ ABS კორპუსში, BMP180 ვენტილირებული თავსახურით საათის უკანა მხარეს, რათა თავიდან იქნას აცილებული Pi- ს მიერ წარმოქმნილი სითბოს გავლენა ტემპერატურის მაჩვენებლებზე. მე მოგაწვდით Autodesk 123D Design სქემატურს, თუ გსურთ თქვენი საკუთარი ბეჭდვა.

საათი იკვებება სტანდარტული USB კედლის მეჭეჭით და ჯამში იღებს დაახლოებით 450 mA- ს.

ძალიან ბევრ დეტალს არ შევაწყობ Pi და I2C– ის ძირითად დაყენებაზე, რადგან ეს უკვე ბევრ სხვა ინსტრუქციაშია გაშუქებული, რომლებთანაც მე მოგაწვდით ბმულებს.

ნაბიჯი 1: მოამზადეთ პი

მოამზადეთ პი
მოამზადეთ პი

შექმენით თქვენი Raspberry Pi - დეტალები Raspberrypi.org– ზე

  1. ჩამოტვირთეთ და დააინსტალირეთ თქვენი არჩეული Linux Distribution SD ბარათზე - მე გამოვიყენე Raspbian
  2. შეაერთეთ პი და ჩატვირთეთ
  3. მე გამოვიყენე მიკრო WiFi ადაპტერი, რომ დავუკავშირო pi ჩემს როუტერს, რადგან საათის კორპუსი ფარავს Ethernet პორტს.
  4. მე გამოვიყენე უსათაურო რეჟიმი, სადაც თქვენ უკავშირდებით pi– ს SSH– ის გამოყენებით, ასე რომ ყველაფერი რაც თქვენ გჭირდებათ ჩართული არის ძალა.
  5. I2C– ის კონფიგურაცია Pi– ზე - მე შევასრულე ეს ინსტრუქციები ადაფრუტის საიტზე.

ნაბიჯი 2: გააფორმეთ ეს ყველაფერი

Wire It All Up
Wire It All Up

ყველა მოდული, რომელსაც მე ვიყენებ ამ პროექტში არის 5V ტოლერანტული და იყენებს I2C- ს, რომელიც არის 2 მავთულის პროტოკოლი, რომელიც გამოიყენება IC– ებისთვის ერთმანეთთან კომუნიკაციისთვის, ამიტომ გაყვანილობა საკმაოდ მარტივია. შეაერთეთ ყველა VCC 5V- თან, ყველა საფუძველი ერთად და ყველა SCA და SCL ხაზი ერთად სქემატური სქემის მიხედვით. სამუშაო დასრულებულია.

ნაბიჯი 3: შეამოწმე შენი I2C

შეამოწმე შენი I2C
შეამოწმე შენი I2C

I2C ინსტალაციის ნაწილია i2cdetect– ის გაშვება, რომელიც უნდა გამოიყურებოდეს თანდართულ სურათზე, თუ ყველაფერი სწორად არის შეკრული.

ქვემოთ მოცემულია შესაბამისი მისამართები

  1. 0x70 = 7 სეგმენტის ჩვენება
  2. 0x77 = BMP180 თერმომეტრი / ბარომეტრის სენსორი
  3. 0x68 = DS3231 რეალურ დროში საათის მოდული
  4. 0x57 = DS3231 ბორტზე EEPROM განგაშის მონაცემების შესანახად.

ნაბიჯი 4: დააინსტალირეთ MySQL და PhpMyAdmin

დააინსტალირეთ MySQL და PhpMyAdmin
დააინსტალირეთ MySQL და PhpMyAdmin

MySQL– ის დაყენება საკმაოდ სწორია თუ მიჰყვებით აქ გაკვეთილს

sudo apt-get დააინსტალირეთ mysql- სერვერი

მე ასევე დავაყენე phpMyAdmin, რომელიც არის ვებ – გვერდი, რომელიც მუშაობს Apache– ზე და რომლის საშუალებითაც შეგიძლიათ შექმნათ და მართოთ mySQL მონაცემთა ბაზები. გაკვეთილი აქ

sudo apt-get დააინსტალირეთ phpmyadmin

დაინსტალირების შემდეგ მე შევქმენი მონაცემთა ბაზა სახელწოდებით BP180 phpMyAdmin– ის გამოყენებით, სურათის მიხედვით სტრუქტურით.

მე ასევე ვიყენებ პითონის მოდულს, სახელწოდებით mysqlDB, რომლის ინსტალაციაც შეგიძლიათ

sudo apt-get დააინსტალირეთ python-mysqldb

ნაბიჯი 5: დააინსტალირეთ პითონის მოდულები

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

  1. Adafruit_BMP085 მოდული
  2. SDL_DS3231 მოდული
  3. Adafruit 7 სეგმენტის მოდული

ნაბიჯი 6: კოდი მონაცემთა ბაზაში შესასვლელად

ქვემოთ მოყვანილი კოდის ფრაგმენტი გამოიყენება ტემპერატურისა და ბარომეტრული წნევის შესასვლელად და ეწოდება cron სკრიპტიდან (Linux– ის დაგეგმილი ამოცანები), რომელიც მუშაობს ყოველ 5 წუთში. იმის გასაგებად, თუ როგორ გამოიყენოთ crond, გადახედეთ ამ გაკვეთილს.

NB! ნუ შეგაწუხებთ ჩემი კოდირების უნარების გაფუჭება, მე არ ვარ დეველოპერი, ასე რომ, ალბათ, ამის გასაკეთებლად მილიონი უკეთესი, სწრაფი, რბილი, სუფთა გზა არსებობს

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

ნაბიჯი 7: კოდი ტემპერატურის ჩვენებისათვის

კოდი ტემპერატურის საჩვენებლად
კოდი ტემპერატურის საჩვენებლად
კოდი ტემპერატურის საჩვენებლად
კოდი ტემპერატურის საჩვენებლად
კოდი ტემპერატურის საჩვენებლად
კოდი ტემპერატურის საჩვენებლად
კოდი ტემპერატურის საჩვენებლად
კოდი ტემპერატურის საჩვენებლად

ამ კოდს ეწოდება შემომავალი ეკრანის მეშვეობით შესავლის მიხედვით.

კიდევ ერთხელ, მე არ ვარ დეველოპერი, ამიტომ კოდი მართლაც უხეშია, მაგრამ მუშაობს

ნაბიჯი 8: 3D ბეჭდვით დანართი

3D ბეჭდვით დანართი
3D ბეჭდვით დანართი
3D ბეჭდვით დანართი
3D ბეჭდვით დანართი
3D ბეჭდვით დანართი
3D ბეჭდვით დანართი
3D ბეჭდვით დანართი
3D ბეჭდვით დანართი

შემდეგი არის დანართის დიზაინი. ეს საკმაოდ რთული იყო, რადგან ფორმა მიდრეკილია გადახრისკენ, რადგან გარეთა გარსის ნაწილები მხოლოდ 2 მმ სისქისაა. მე ჯერ დავხატე Pi- ს და ყველა ნაწილის იმიტირებული ვერსიები და შემდეგ დავაპროექტე გარს მის გარშემო. ბეჭდვას დაახლოებით 7 საათი დასჭირდა ჩემს RapMan 3.2 -ზე (რაც საკმაოდ ნელი პრინტერია) 0.25 ფენის სიღრმეზე.

თანდართული სქემა შესრულებულია Autodesk 123D Design– ში, რაც, ჩემი აზრით, არის უფასო პროგრამული უზრუნველყოფის ფანტასტიკური ნაწილი.

გაითვალისწინეთ, რომ ზოგიერთი ხვრელი, როგორიც Pi– ს დასამაგრებლად არის საჭირო, არ არის დიზაინში, რადგან უკეთესია ამის შემდეგ გაბურღვა, თუ თქვენი ბეჭდვა ცოტა გახდება. მყარი ხელით 3 მმ საბურღი არის ყველაფერი რაც თქვენ გჭირდებათ. მონიშნეთ ბიტის სიღრმე ნიღაბიანი ლენტით, რათა შემთხვევით არ წახვიდეთ პირდაპირ თქვენს 7 -საათიან ბეჭდვაში, როგორც მე.

ნაბიჯი 9: გასაკეთებელი

გასაკეთებელი
გასაკეთებელი
  1. რეალურ დროში საათი იყო დამატება მას შემდეგ, რაც დანართი დაბეჭდილ იქნა მე -5 ჯერ, ასე რომ ის ამჟამად ცხელადაა მიმაგრებული შიგთავსის მხარეს, რომელიც არ გამოიყურება კარგად, ამიტომ მინდა ხელახლა გავაკეთო დიზაინი და დავამატო ადგილი მისთვის.
  2. 7 სეგმენტის ეკრანის სიკაშკაშე ამჟამად არის ყველაზე მსუბუქი, რაც არ არის ოპტიმალური ძლიერი განათების პირობებში. მე მინდა დავამატო ფოტო რეზისტორი შიგთავსის თავზე და შეცვალოს 7 სეგმენტის სიკაშკაშე გარემოს შუქის პირობებიდან გამომდინარე.
  3. არსებობს მცირედი დიზაინის პრობლემები ბაზის ბზარებთან დაკავშირებით, რომელიც ასევე გამოსწორდება.
  4. ნებისმიერი იდეა მისასალმებელია.

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

გირჩევთ: