Სარჩევი:

IoT სამკურნალო დისპენსერი შინაური ცხოველებისთვის: 7 ნაბიჯი (სურათებით)
IoT სამკურნალო დისპენსერი შინაური ცხოველებისთვის: 7 ნაბიჯი (სურათებით)

ვიდეო: IoT სამკურნალო დისპენსერი შინაური ცხოველებისთვის: 7 ნაბიჯი (სურათებით)

ვიდეო: IoT სამკურნალო დისპენსერი შინაური ცხოველებისთვის: 7 ნაბიჯი (სურათებით)
ვიდეო: [HOTEL]♨️🛀🚿🇹🇼新北市萬里/入住在有私人海灘及溫泉湯屋的渡假村|白宮行館/W Traveler 2024, ივლისი
Anonim
Image
Image
IoT სამკურნალო დისპენსერი შინაური ცხოველებისთვის
IoT სამკურნალო დისპენსერი შინაური ცხოველებისთვის

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

DFRobot– მა დააფინანსა ეს პროექტი.

ნაწილების სია:

  • DFRobot ჟოლო Pi 3
  • DFRobot Raspberry Pi კამერის მოდული
  • DFRobot სტეპერიანი პლანეტარული გადაცემათა კოლოფი
  • I2C LCD 16x2
  • ლულის ჯეკი ტერმინალამდე
  • DRV8825 სტეპერიანი ძრავის მძღოლი
  • კონდენსატორი 100 µFF
  • Arduino UNO და Genuino UNO
  • ჯუმბერის მავთულები (ზოგადი)

ნაბიჯი 1: დიზაინის შექმნა

დიზაინის შექმნა
დიზაინის შექმნა

პირველი იყო არჩევანი როგორ გავაკონტროლო ჩემი ახლადდაფიქრებული მანქანა. Bluetooth- ს ექნებოდა ძალიან მცირე დიაპაზონი, მხოლოდ 30 ფუტის მანძილზე ყოველგვარი დაბრკოლების გარეშე. ამ ინფორმაციის წყალობით, მე ავირჩიე WiFi- ის გამოყენება. მაგრამ ახლა, როგორ გამოვიყენო WiFi მოწყობილობის გასაკონტროლებლად? Raspberry Pi 3– ს აქვს ჩაშენებული WiFi შესაძლებლობები, რაც მაძლევს საშუალებას გამოვიყენო Flask ვებ – გვერდის მასპინძლობისთვის. შემდეგი იყო თემა დანართი და როგორ გავანაწილოთ ეპყრობა. მე გადავწყვიტე მბრუნავი ბორბლის დიზაინი, სადაც ნამცხვრები იყოფა პატარა ნაწილებად, ბრუნდებოდა გარშემო, შემდეგ კი ნამცხვრები დაეშვებოდა პანდუსზე და მიემართებოდა მანქანის წინ.

ნაბიჯი 2: Fusion 360 მოდელის დამზადება

Fusion 360 მოდელის დამზადება
Fusion 360 მოდელის დამზადება
Fusion 360 მოდელის დამზადება
Fusion 360 მოდელის დამზადება
Fusion 360 მოდელის დამზადება
Fusion 360 მოდელის დამზადება

დავიწყე სამკურნალო ჭურჭლის ძირითადი მოდელის შექმნით. ეპყრობა მოხვდება მინი ჰოპერში, სადაც შემდეგ გადაჰყავთ მბრუნავ ბორბალში.

შემდეგ მე დავამატე Raspberry Pi 3 Fusion დიზაინში, სხვა ელექტრონიკასთან ერთად, მათ შორის LCD და Raspberry Pi კამერის მოდული. მე ასევე გავაკეთე ჰოპერი, რომელსაც შეეძლო დამატებითი ტკბილეულის შენახვა.

სამკურნალო დისპენსერის კედლები უნდა მოიჭრას 1/4 დიუმიანი პლაივუდიდან CNC როუტერზე. მასში არის 7 ცალი, 4 კედელი, იატაკი და ზედა და სახურავი, რომელსაც შეუძლია გახსნას და დახუროს, რათა გამოამჟღავნოს ტრაქტატები.

და ბოლოს, მე შევქმენი "ლამაზი" სახელური სახურავის გასახსნელად.

ნაბიჯი 3: Pi- ის დაყენება

DFRobot– მა გამომიგზავნა და გამომიგზავნა მათი Raspberry Pi 3 და Raspberry Pi კამერის მოდული. ასე რომ, ყუთების გახსნის შემდეგ მე მივიღე უფლება ვიმუშაო SD ბარათის შექმნით. პირველად მივედი Raspberry Pi ჩამოტვირთვების გვერდზე და გადმოვწერე Raspbian– ის უახლესი ვერსია. შემდეგ ამოვიღე ფაილი და ჩავდე მოსახერხებელ დირექტორიაში. თქვენ არ შეგიძლიათ უბრალოდ.img ფაილის SD ბარათზე კოპირება/ჩასმა, თქვენ უნდა "დაწვათ" ბარათზე. თქვენ შეგიძლიათ გადმოწეროთ დამწვარი პროგრამა, როგორიცაა Etcher.io, რომ ადვილად გადაიტანოთ OS სურათი. მას შემდეგ, რაც.img ფაილი იყო ჩემს SD ბარათზე, ჩავსვი იგი Raspberry Pi- ში და მივეცი ძალა. დაახლოებით 50 წამის შემდეგ გავთიშე კაბელი და ამოვიღე SD ბარათი. შემდეგ ჩავდე SD ბარათი ჩემს კომპიუტერში და გადავედი "ჩატვირთვის" დირექტორიაში. გავხსენი Notepad და შევინახე როგორც ცარიელი ფაილი სახელწოდებით "ssh" გაფართოების გარეშე. ასევე იყო ფაილი, რომელიც მე დავამატე სახელწოდებით "wpa_supplicant.conf" და ჩავდე ეს ტექსტი მასში: network = {ssid = psk =} შემდეგ შევინახე და ამოვიღე ბარათი და დავბრუნე იგი ჟოლოს Pi 3. ეს ახლა უნდა დაუშვას SSH– ის გამოყენება და WiFi– თან დაკავშირება.

ნაბიჯი 4: პროგრამული უზრუნველყოფის ინსტალაცია

არსებობს რამდენიმე განსხვავებული პროგრამული უზრუნველყოფა, რომელსაც შეუძლია ვიდეოს სტრიმინგი, როგორიცაა VLC და მოძრაობა, მაგრამ მე გადავწყვიტე mjpeg-streamer გამოვიყენო დაბალი შეყოვნებისა და მარტივი ინსტალაციის გამო. საიტის ინსტრუქციის თანახმად, გააკეთეთ: git clone https://github.com/jacksonliam/mjpg-streamer.git საქაღალდეში, შემდეგ ჩაწერეთ: sudo apt-get install cmake libjpeg8-dev საჭირო ბიბლიოთეკების დაყენების მიზნით. შეცვალეთ თქვენი დირექტორია გადმოწერილი საქაღალდეში და შემდეგ ჩაწერეთ: make Followed by: sudo make install პროგრამული უზრუნველყოფის შესადგენად. ბოლოს შეიყვანეთ: ექსპორტი LD_LIBRARY_PATH =. და გასაშვებად აკრიფეთ:./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" თქვენ შეგიძლიათ ნაკადი შეხვიდეთ სათაურით: https:// Pi- ს ადგილობრივი ip: 8080/ნაკადი. html ნაკადის სანახავად.

ნაბიჯი 5: ვებ სერვერის დაყენება

იმისათვის, რომ მანქანა გარედან კონტროლდებოდეს WiFi– ით მჭირდებოდა ვებ სერვერი. ვებ სერვერი ძირითადად ემსახურება ვებ გვერდებს მოთხოვნისამებრ, ჩვეულებრივ ბრაუზერის მიერ. მე მინდოდა რაიმე სწრაფი და მარტივი დაყენება და გამოყენება, Apache– ს მაგიდიდან ამოღება. მე ასევე მინდოდა ვებ სერვერის პითონთან დაკავშირება, რათა შემეძლო Arduino Uno– ს კონტროლი PySerial– ით. ამ ძიებამ საბოლოოდ მიმიყვანა Flask– ში, პითონის მშვენიერ ბიბლიოთეკაში, რომელიც მომხმარებლებს საშუალებას აძლევს სწრაფად შექმნან ვებ სერვერი. სრული კოდი თან ერთვის ამ პროექტის გვერდს. პითონის სკრიპტი ძირითადად ადგენს 2 ვებ გვერდს, ერთი, რომელიც განთავსებულია ძირეულ დირექტორიაში, '/', და მეორე, რომელიც განთავსებულია '/დისპანსზე'. ინდექსის გვერდს აქვს HTML ფორმა, რომელიც წარდგენისას აგზავნის პოსტის მოთხოვნას დარიგების გვერდზე. დარიგების გვერდი ამოწმებს, არის თუ არა პოსტის მნიშვნელობა სწორი და არის თუ არა ეს შეტყობინება 'D / n' სერიული გზით იგზავნება Arduino Uno– ში.

ნაბიჯი 6: IO– ს კონტროლი

IO კონტროლი
IO კონტროლი
IO კონტროლი
IO კონტროლი
IO კონტროლი
IO კონტროლი
IO კონტროლი
IO კონტროლი

მე გადავწყვიტე DRV8825 გამოვიყენო ჩემი სტეპერიანი ძრავის მართვისთვის, ძირითადად იმის გამო, რომ მას მხოლოდ 2 IO ქინძისთავი ჭირდება და მიმდინარე რეგულირებადი შეზღუდვა. მე შევეცადე L293D– ის გამოყენება, მაგრამ მან ვერ გაუძლო სტეპერ ძრავის დატვირთვას. DRV8825 კონტროლდება PEPM– ის მეშვეობით STEP pin– ის პულსირებით, ხოლო მიმართულება კონტროლდება DIR pin– ის მაღლა ან დაბლა დაწევით. სტეპერ ძრავას, რომელსაც მე ვიყენებ, აქვს 1.2 ამპერიანი გათამაშება, ასე რომ, მე VREF ძაბვა შევცვალე.6V. შემდეგი იყო LCD. მე მინდოდა გამოვიყენო I2C, რომ შევამცირო საჭირო IO რაოდენობა და გავამარტივო კოდი. ბიბლიოთეკის დასაყენებლად, უბრალოდ მოძებნეთ "LiquidCrystal_I2C" და დააინსტალირეთ. საბოლოოდ, Arduino Uno ამოწმებს ახალ ინფორმაციას სერიულ ბუფერში და შეესაბამება თუ არა 'D'. თუ ეს მოხდება, Uno იწვევს სტეპერის ძრავას 180 გრადუსზე გადაადგილებას და შემდეგ -72 გრადუსს, რათა თავიდან აიცილოს სამკურნალო საშუალებების მიღება.

გირჩევთ: