Სარჩევი:

ძაღლის ავტომატური დისპენსერი: 10 ნაბიჯი
ძაღლის ავტომატური დისპენსერი: 10 ნაბიჯი

ვიდეო: ძაღლის ავტომატური დისპენსერი: 10 ნაბიჯი

ვიდეო: ძაღლის ავტომატური დისპენსერი: 10 ნაბიჯი
ვიდეო: ძაღლის კვება ჩემებური მეთოდით 2024, ივლისი
Anonim
ძაღლების ავტომატური დისპენსერი
ძაღლების ავტომატური დისპენსერი
ძაღლების ავტომატური დისპენსერი
ძაღლების ავტომატური დისპენსერი
ძაღლების ავტომატური დისპენსერი
ძაღლების ავტომატური დისპენსერი

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

ავტომატური მიმწოდებელი იქნება "გატეხილი" სიმინდის ფანქრების დისპენსერიდან. დისპენსერი არის ძაღლის საკვების რეზერვუარი, ქვედა ბორბალი დაკავშირებულია სერვო ძრავასთან, რომელიც ავტომატურად უშვებს საკვებს, როდესაც საწოლი თითქმის ცარიელია და როდესაც ძაღლი საკმარისად ახლოს არის. დისპენსერის ბოლოში იქნება PVC მილი მიმაგრებული, რომელიც ძაღლის საკვებს ლამაზად ჩააგდებს საწოლში. ამ პროექტს ექნება 3 სენსორი, რომელთაგან 2 არ არის დაფარული კლასში და 1 არის აქტივატორი.

პირველი სენსორი არის RFID მკითხველი. ეს სენსორი ამოწმებს, როდესაც ძაღლი უახლოვდება საწოლს. RFID ჩაერთვება ძაღლის საყელოში. თუ ეს სენსორი შეამჩნევს, რომ ძაღლი საკმარისად ახლოს არის, ის სიგნალს გადასცემს მეორე სენსორს. მეორე სენსორი არის წონის სენსორი (არ არის დაფარული კლასში), რომელიც ზომავს საკვებს საწოლში, თუ ეს სენსორი აღმოაჩენს, რომ წონა ძალიან დაბალია, ის სიგნალს გაუგზავნის სერვო ძრავას, რომელიც საკვებს ჩააგდებს საწოლში (RFID– ის და წონის სენსორის დადასტურებით). მოკლედ, ძაღლი იღებს დამატებით საკვებს მხოლოდ მაშინ, როდესაც ის საკმარისად ახლოს არის საწოლთან და როდესაც საწოლი თითქმის ცარიელია. რასაკვირველია, არსებობს ასევე ლიმიტი, რომელიც შეგიძლიათ თავად დაადგინოთ ვებ სერვერის საშუალებით; ისე რომ ძაღლმა არ მიიღოს ძალიან ბევრი საკვები დღეში. მესამე სენსორი არის სინათლის სენსორი, რომელიც ანათებს LED შუქნიშანს, როდესაც ის ძალიან ბნელია საწოლის ირგვლივ. ამორტიზატორი იქნება სერვო ძრავა, რომელიც დაკავშირებულია დისპენსერის ბორბალთან.

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

მარაგები

ჟოლო პი 3

უჯრედის ჩატვირთვა (1 კგ)

HX711 დატვირთვის უჯრედის გამაძლიერებელი

საჭმლის თასი

მარცვლეულის დისპენსერი

ხე (+ ხრახნები და ხრახნიანი)

სინათლის სენსორი

ხელმძღვანელობდა

RFID მკითხველი rc522

ჯუმბერის მავთულები

16*2 LCD (ჩვენება)

სერვო ძრავა

5V დენის ადაპტერი

რეზისტორი 470 Ohm

PVC მილი

პურის ბორდი

პოტენომეტრი

დაინახა

მოსახვეწი ქაღალდი

სილიკონის იარაღი

ნაბიჯი 1: Pi დაყენება

პი დაყენება
პი დაყენება

Აწყობა

დასაწყებად, ჩვენ ჯერ უნდა შევქმნათ თქვენი Pi.

თქვენ დაგჭირდებათ ორი რამ:

- Win32 Disk Imager from

- Raspbian OS- ის სურათი

ჩამოტვირთეთ ZIP ფაილი და ამოიღეთ სადაც გინდათ.

ინსტალაცია

1. აირჩიეთ თქვენი სურათი საქაღალდის ხატის საშუალებით

2. აირჩიეთ თქვენი SD ბარათი ჩამოსაშლელი საშუალებით

3. დააწკაპუნეთ ჩაწერაზე

ახლა ჩვენ დაგვჭირდება დამატებითი პარამეტრების შეცვლა, რათა შევძლოთ Pi- ზე წვდომა.

1. გადადით SD ბარათის ჩატვირთვის დირექტორიაში

2. გახსენით ფაილი "cmdline.txt"

3. დაამატეთ ip = 169.254.10.1 ტექსტის გრძელი სტრიქონის ბოლოს ინტერვალით გამოყოფილი (იმავე ხაზზე).

4. შეინახეთ ფაილი.

5. შექმენით ფაილი სახელად ssh იმავე დირექტორიაში გაფართოების გარეშე

ახლა თქვენ შეგიძლიათ ამოიღოთ SD ბარათი და განათავსოთ იგი თქვენს Pi- ში.

დაკავშირება

ახლა ჩვენ დაგვჭირდება პროგრამული უზრუნველყოფის დაყენება.

პირველი შეაერთეთ LAN კაბელი, ერთი ბოლო თქვენს სამუშაო მაგიდაზე/ლეპტოპზე და მეორე თქვენს Pi- ზე.

ახლა ჩატვირთეთ Raspberry Pi.

1. დააინსტალირეთ Putty https://www.putty.org/– დან

2. IP ყუთში შეიყვანეთ 169.254.10.1.

3. დარწმუნდით, რომ SSH მონიშნულია და პორტი 22 შევსებულია.

4. დააწკაპუნეთ გახსნაზე

5. შეავსეთ მომხმარებლის სახელი: pi

6. შეავსეთ პაროლი: ჟოლო

რასპი-კონფიგურაცია

გახსენით Raspi-config კომუნალური გამოყენებით:

sudo raspi-config

ჩართეთ შემდეგი პარამეტრები ინტერფეისების კატეგორიაში

- 1-მავთული

- SPI

გამორთეთ შემდეგი პარამეტრები ჩატვირთვის პარამეტრების კატეგორიაში

- გაფრქვევის ეკრანი

ბოლოს დააყენეთ Desktop/CLI პარამეტრი ჩატვირთვის ვარიანტების კატეგორიაში Desktop Autologin.

Ვაი - ფაი

ძაღლების მიმწოდებლისთვის ჩვენ გვჭირდება wifi კავშირი, ასე რომ დარწმუნდით, რომ ახლოს გაქვთ თქვენი wi -fi სერთიფიკატები.

1. გადადით root რეჟიმში

sudo -i

2. ჩასვით ეს ხაზი, მაგრამ დარწმუნდით, რომ SSID და პაროლი ორივე შევსებულია

wpa_passphrase "SSID" "PASSWORD" >> /etc/wpa_supplicant/wpa_supplicant.conf

3. შეიყვანეთ WPA კლიენტი.

Wpa_cli

4. აირჩიეთ ინტერფეისი

ინტერფეისი wlan0

5. გადატვირთეთ კონფიგურაცია

ხელახლა კონფიგურაცია

დარწმუნდით, რომ სწორად ხართ დაკავშირებული აკრეფით ip a და დაინახავთ გაქვთ თუ არა IP WLAN0 ინტერფეისებზე.

პაკეტები

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

უპირველეს ყოვლისა, ჩვენ დაგჭირდებათ პაკეტების სიის განახლება.

sudo apt განახლება

პითონი

ჩვენ ვაიძულებთ Raspbian– ს გამოიყენოს Python 3

განახლება-ალტერნატივები-დააინსტალირეთ/usr/bin/python python /usr/bin/python2.7 1

განახლება-ალტერნატივები-დააინსტალირეთ/usr/bin/python python/usr/bin/python3 2

მარია დბ

ჩასვით შემდეგი ხაზი მონაცემთა ბაზის ინსტალაციისთვის.

sudo apt დააინსტალირეთ mariadb-server

შემდეგ ჩვენ უნდა დავიცვათ ჩვენი ინსტალაცია.

mysql_secure_installation

ის მოგვთხოვს მიმდინარე ძირითად პაროლს, რადგან ჩვენ არ გვაქვს ერთი, უბრალოდ დააჭირეთ Enter.

შემდეგ ის გვეკითხება, გვინდა თუ არა ძირეული პაროლის ტიპი y– ში, რადგან ჩვენ გვინდა ერთი.

შემდეგი კითხვებისთვის უბრალოდ ჩაწერეთ Y.

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

შეიყვანეთ mysql shell შემდეგნაირად:

- ავამაღლოთ თავი დასაფესვიანებლად

სუდო -ი

- შეიყვანეთ mysql ჭურვი

Mysql

- შეცვალეთ თქვენი საკუთარი მომხმარებლის სახელით და იგივე

მიანიჭეთ ყველა პრივილეგიას *. * - ზე ''@'%' მიერ განსაზღვრული '';

- მიანიჭეთ ყველა პრივილეგიას *. * - ზე ''@'%' მიერ განსაზღვრული '';

შემდეგ ჩვენ დავამატებთ ჩვენს მონაცემთა ბაზას.

ვებ Apache სერვერი

ვებ სერვერის დასაყენებლად გაუშვით ქვემოთ მოცემული ხაზი.

sudo apt დააინსტალირეთ apache2 -y

პითონის პაკეტები

ჩვენ ვაპირებთ ამ პაკეტების დაყენებას

- კოლბა

- Flask-Cors

- Flask-MySQL

- Flask-SocketIO

- PyMySQL

- გევენტ

- Gevent-websocket

-

- პითონ-სოკეტიო

- ითხოვს

- ვსაცელ

- უმსონი

კეთებით

pip დააინსტალირეთ Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL gevent gevent-websocket httplib2 python-socketio მოითხოვს wsaccel ujson mfrc522 hx711 Adafruit-CharLCD

ნაბიჯი 2: Led და Light Sensor

Led და Light სენსორი
Led და Light სენსორი
Led და Light სენსორი
Led და Light სენსორი

ლიდერის მიერთება

  1. S -> GPIO15 (rxd0)
  2. + -> 5V
  3. G -> რეზისტორი 470 ohm და GND

სინათლის სენსორის მიერთება

  1. OUT -> GPIO17
  2. VCC -> 3.3V
  3. GND -> GND

ახლა ჩვენ შეგვიძლია შევამოწმოთ მუშაობს თუ არა ჩვენი led და სინათლის სენსორი ამ პატარა სკრიპტით

იმპორტი RPi. GPIO როგორც GPIO GPIO.setmode (GPIO. BCM)

GPIO.setup (15, GPIO. OUT)

GPIO.setup (17, GPIO. IN)

სცადეთ: while True:

თუ GPIO.input (17) == 0:

GPIO.output (15, GPIO. HIGHT)

თუ GPIO.input (17) == 1:

GPIO.output (15, GPIO. LOW)

კლავიატურის გარდა უწყვეტი: GPIO.cleanup ()

ნაბიჯი 3: სერვო ძრავა

სერვო მოტორი
სერვო მოტორი

სერვო ძრავის მიერთება

  1. OUT -> GPIO18
  2. VCC -> 5V
  3. GND -> GND

ახლა ჩვენ შეგვიძლია შევამოწმოთ მუშაობს თუ არა ჩვენი led და სინათლის სენსორი ამ პატარა სკრიპტით

იმპორტი RPi. GPIO როგორც GPIOimport დრო

GPIO.setmode (GPIO. BCM)

GPIO.setup (18, GPIO. OUT)

p = GPIO. PWM (18, 50)

გვ. დაწყება (12.5)

სცადე:

მართალია:

გვ. ChangeDutyCycle (12.5)

დრო. ძილი (1)

გვ. ChangeDutyCycle (2.5)

დრო. ძილი (1)

გარდა კლავიატურის უწყვეტი:

გვ. გაჩერება ()

GPIO.cleanup ()

ნაბიჯი 4: RFID Reader RC522

RFID მკითხველი RC522
RFID მკითხველი RC522

RFID– ის დაკავშირება

  1. RST -> GPIO6
  2. MISO -> GPIO9 (MISO)
  3. MOSI -> GPIO10 (MOSI)
  4. SCK -> GPIO11 (SPISCLK)
  5. SDA -> GPIO8 (SPICS0)
  6. 3.3V -> 3.3V
  7. GND -> GND

ახლა ჩვენ შეგვიძლია შევამოწმოთ მუშაობს თუ არა ჩვენი RFID მკითხველი ამ პატარა სკრიპტით

იმპორტი RPi. GPIO როგორც GPIO

mfrc522 იმპორტი SimpleMFRC522

მკითხველი = SimpleMFRC522 ()

ტექსტი = შეყვანა ('ახალი მონაცემები:')

ბეჭდვა ("ახლა განათავსე შენი ტეგი დასაწერად")

მკითხველი. დაწერე (ტექსტი)

ბეჭდვა ("დაწერილი")

ნაბიჯი 5: ჩატვირთეთ უჯრედი HX711

დატვირთეთ უჯრედი HX711
დატვირთეთ უჯრედი HX711

ჩატვირთვა საკანში HX711 დრაივერის დაფაზე

  1. წითელი -> E+
  2. შავი -> E-
  3. მწვანე -> A+
  4. თეთრი -> A-

ჩატვირთვა საკანში

  1. DT-> GPIO27
  2. SCK -> GPIO22
  3. წითელი -> 3.3V
  4. GND -> GND

ახლა ჩვენ შეგვიძლია შევამოწმოთ მუშაობს თუ არა ჩვენი ჩატვირთვის უჯრედი ამ პატარა სკრიპტით

იმპორტი RPi. GPIO როგორც GPIOimport დრო იმპორტი sys კლასებიდან. HX711 იმპორტი HX711

def cleanAndExit (): print ("გაწმენდა …") GPIO.cleanup () print ("მშვიდობით!") sys.exit ()

hx = HX711 (22, 27)

hx.set_reading_format ("LSB", "MSB")

hx.set_reference_unit (2167)

hx. გადატვირთვა ()

hx.tare ()

მართალია:

სცადე:

val = max (0, int (hx.get_weight (5)))

ბეჭდვა (ვალუტა)

hx.power_down ()

hx.power_up ()

დრო. ძილი (0.5)

გარდა (KeyboardInterrupt, SystemExit): cleanAndExit ()

ნაბიჯი 6: LCD (16*2)

LCD (16*2)
LCD (16*2)

LCD– ის დაკავშირება

  1. RS -> GPIO21
  2. RW -> GND
  3. E-> GPIO20
  4. D0 -> GPIO16
  5. D1 -> GPIO12
  6. D2 -> GPIO6
  7. D3 -> GPIO24
  8. D4 -> GPIO23
  9. D5 -> GPIO26
  10. D6 -> GPIO19
  11. D7 -> GPIO13
  12. VSS -> GND
  13. VDD -> 5V
  14. A -> 5V
  15. K -> GND
  16. V0 -> შუა პოტენციური პინი

ახლა ჩვენ შეგვიძლია შევამოწმოთ მუშაობს თუ არა ჩვენი LCD ეკრანი ამ პატარა სკრიპტით

იმპორტი Adafruit_CharLCD როგორც LCDlcd_rs = 21

lcd_en = 20

lcd_d4 = 23

lcd_d5 = 26

lcd_d6 = 19

lcd_d7 = 13

lcd_columns = 16

lcd_rows = 2

LCD = LCD. Adafruit_CharLCD (lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows)

lcd. შეტყობინება ('169.254.10.1')

ნაბიჯი 7: სრული წრე

სრული წრე
სრული წრე

აქ თქვენ შეგიძლიათ კიდევ ერთხელ შეამოწმოთ თუ არა მთელი წრე სწორი

ნაბიჯი 8: საქმის დაწყება

საქმის დასაწყისი
საქმის დასაწყისი
საქმის დასაწყისი
საქმის დასაწყისი
საქმის დასაწყისი
საქმის დასაწყისი
საქმის დასაწყისი
საქმის დასაწყისი

მე გამოვიყენე სიმინდის ფანქრის დისპენსერი, როგორც რეზერვუარი ძაღლის საკვებისთვის

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

ახლა მე შემიძლია გავაკონტროლო საჭე ჩემი სერვო ძრავით და საჭმელი გადმოვიღო წყალსაცავიდან

რეზერვუარის ბოლოს არის PVC მილაკი, რომელიც საკვებს ლამაზად ჩადის საწოლში

ხეს ვიყენებ გარსაცმის სახით

ნაბიჯი 9: ერთად აწყობა

ერთად აყენებს მას
ერთად აყენებს მას
ერთად აყენებს მას
ერთად აყენებს მას
ერთად აყენებს მას
ერთად აყენებს მას

ნაბიჯი 10: ვებ გვერდი

Ვებ გვერდი
Ვებ გვერდი
Ვებ გვერდი
Ვებ გვერდი
Ვებ გვერდი
Ვებ გვერდი
Ვებ გვერდი
Ვებ გვერდი

ახლა ჩვენი მანქანა მუშაობს, ჩვენ გვჭირდება ვებ – გვერდის გადატანა pi– ზე. ახლა ყველაფერი მუშავდება და მუშაობს რამდენიმე ინსტრუქცია, თუ როგორ მუშაობს საიტი.

თქვენ შეგიძლიათ დააკავშიროთ თქვენი pi wifi– ს HDMI კაბელის ჩართვით და გაააქტიუროთ ამ გზით

პირველი გვერდი არის საწყისი გვერდი, აქ შეგიძლიათ ნახოთ:

  • დროული ინფორმაცია სინათლის შესახებ
  • რეალურ დროში ინფორმაცია ჭურჭელში დარჩენილი საკვების შესახებ
  • შეგიძლია საჭმლის ჩაშვება
  • ინფორმაცია ძაღლის შესახებ

მეორე გვერდი არის რედაქტირების გვერდი, აქ შეგიძლიათ შეცვალოთ:

  • თქვენი შინაური ცხოველის სახელი
  • თქვენი შინაური ცხოველის ასაკი
  • თქვენი შინაური ცხოველის წონა
  • თქვენი შინაური ცხოველის ფოტო

მესამე გვერდი არის ისტორიის გვერდი, აქ შეგიძლიათ ნახოთ:

  • როდესაც შუქი აანთო
  • როდესაც ძაღლმა შეჭამა
  • როდესაც საკვები დაეცა

მეოთხე გვერდი არის პარამეტრების გვერდი, აქ შეგიძლიათ შეცვალოთ:

  • როდესაც საკვები უნდა დაიწიოს
  • საკვების რაოდენობა უნდა შემცირდეს
  • მაქსიმალური კვება/დღე
  • შუქი

გირჩევთ: