Πίνακας περιεχομένων:

Αυτόματος διανομέας σκύλων: 10 βήματα
Αυτόματος διανομέας σκύλων: 10 βήματα

Βίντεο: Αυτόματος διανομέας σκύλων: 10 βήματα

Βίντεο: Αυτόματος διανομέας σκύλων: 10 βήματα
Βίντεο: 16 τρόποι με τους οποίους πληγώνετε τον σκύλο σας χωρίς να το συνειδητοποιείτε 2024, Ιούλιος
Anonim
Αυτόματος διανομέας σκύλων
Αυτόματος διανομέας σκύλων
Αυτόματος διανομέας σκύλων
Αυτόματος διανομέας σκύλων
Αυτόματος διανομέας σκύλων
Αυτόματος διανομέας σκύλων

Με το πρότζεκτ μου διασφαλίζω ότι όταν αφήνετε τον σκύλο σας μόνο του στο σπίτι, δεν θα μείνει ποτέ χωρίς φαγητό.

Ο αυτόματος τροφοδότης θα «χακαριστεί» από έναν διανομέα κορνφλέικς. Ο διανομέας είναι η δεξαμενή για τροφή για σκύλους, ο τροχός στο κάτω μέρος θα συνδεθεί με ένα σερβοκινητήρα που ρίχνει αυτόματα το φαγητό όταν η κούνια είναι σχεδόν άδεια και όταν ο σκύλος είναι αρκετά κοντά. Στο κάτω μέρος του διανομέα θα υπάρχει ένας σωλήνας PVC προσαρτημένος που θα ρίξει την τροφή του σκύλου όμορφα στην κούνια. Αυτό το έργο θα έχει συνεπώς 3 αισθητήρες, 2 από τους οποίους δεν καλύπτονται στην τάξη και 1 από τους οποίους είναι ενεργοποιητής.

Ο πρώτος αισθητήρας είναι ο αναγνώστης RFID. Αυτός ο αισθητήρας ελέγχει πότε ο σκύλος πλησιάζει στην κούνια. Το RFID θα ενσωματωθεί στο κολάρο του σκύλου. Εάν αυτός ο αισθητήρας παρατηρήσει ότι ο σκύλος είναι αρκετά κοντά, θα μεταδώσει ένα σήμα στον δεύτερο αισθητήρα. Ο δεύτερος αισθητήρας είναι ο αισθητήρας βάρους (δεν καλύπτεται στην τάξη) που μετρά τα τρόφιμα στην κούνια, αν αυτός ο αισθητήρας διαπιστώσει ότι το βάρος είναι πολύ χαμηλό, θα στείλει ένα σήμα στον σερβοκινητήρα που θα ρίξει το φαγητό στην κούνια (με επιβεβαίωση του RFID και του αισθητήρα βάρους). Εν ολίγοις, ο σκύλος παίρνει επιπλέον τροφή μόνο όταν είναι αρκετά κοντά στην κούνια και όταν το παχνί είναι σχεδόν άδειο. Φυσικά υπάρχει επίσης ένα όριο που μπορείτε να ορίσετε μόνοι σας μέσω του διακομιστή ιστού. έτσι ώστε ο σκύλος να μην παίρνει πάρα πολύ φαγητό την ημέρα. Ο τρίτος αισθητήρας είναι ένας αισθητήρας φωτός που φωτίζει έναν προβολέα LED όταν είναι πολύ σκοτεινό γύρω από την κούνια. Ο ενεργοποιητής θα είναι επομένως ένας σερβοκινητήρας συνδεδεμένος με τον τροχό του διανομέα.

Αυτό το έργο προορίζεται για σκύλους, μπορείτε επίσης να το χρησιμοποιήσετε για άλλα μικρά κατοικίδια ζώα.

Προμήθειες

Raspberry Pi 3

Κυψέλη φόρτωσης (1KG)

HX711 ενισχυτής κυψέλης φορτίου

Μπολ φαγητού

Διανομέας δημητριακών

Ξύλο (+ βίδες και κατσαβίδι)

Φωτοανιχνευτής

Led

RFID αναγνώστη rc522

Καλώδια βραχυκυκλωτήρων

16*2 LCD (οθόνη)

Βοηθητικό μοτέρ

Προσαρμογέας ρεύματος 5V

Αντίσταση 470 Ohm

Σωλήνας PVC

Breadbord

Ποτενσιόμετρο

Είδε

Χαρτί λείανσης

Πυροβόλο πυρίτιο

Βήμα 1: Ρύθμιση Pi

Ρύθμιση Pi
Ρύθμιση Pi

Ρύθμιση

Για να ξεκινήσετε, θα πρέπει πρώτα να ρυθμίσετε το Pi σας.

Θα χρειαστείτε δύο πράγματα:

- Win32 Disk Imager από

- Εικόνα 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 από τη διεύθυνση

2. Πληκτρολογήστε 169.254.10.1 στο πλαίσιο IP.

3. Βεβαιωθείτε ότι έχει επιλεγεί το SSH και έχει συμπληρωθεί η θύρα 22.

4. Κάντε κλικ στο άνοιγμα

5. Συμπληρώστε το όνομα χρήστη: pi

6. Συμπληρώστε τον κωδικό πρόσβασης: βατόμουρο

Raspi-config

Ανοίξτε το βοηθητικό πρόγραμμα Raspi-config χρησιμοποιώντας:

sudo raspi-config

Ενεργοποιήστε τις ακόλουθες επιλογές στην κατηγορία διεπαφών

- 1-καλώδιο

- SPI

Απενεργοποιήστε τις ακόλουθες επιλογές στην κατηγορία επιλογών εκκίνησης

- Οθόνη εκτόξευσης

Τέλος, ορίστε τη ρύθμιση Desktop/CLI στην κατηγορία επιλογών εκκίνησης σε Desktop Autologin.

WiFi

Για τον τροφοδότη σκύλων πρέπει να έχουμε σύνδεση wifi, οπότε βεβαιωθείτε ότι έχετε κλείσει τα διαπιστευτήριά σας wifi.

1. Μεταβείτε στη λειτουργία ρίζας

sudo -i

2. Επικολλήστε αυτήν τη γραμμή, αλλά βεβαιωθείτε ότι το SSID και ο κωδικός πρόσβασης έχουν συμπληρωθεί

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

3. Εισαγάγετε το πρόγραμμα -πελάτη WPA.

Wpa_cli

4. Επιλέξτε τη διεπαφή

Διασύνδεση wlan0

5. Φορτώστε ξανά το config

Αναδιαμόρφωση

Βεβαιωθείτε ότι έχετε συνδεθεί σωστά πληκτρολογώντας ip a και βλέποντας εάν έχετε IP στις διεπαφές WLAN0.

Πακέτα

Τώρα που είμαστε συνδεδεμένοι στο διαδίκτυο θα πρέπει να εγκαταστήσουμε κάποια πακέτα.

Πρώτα θα χρειαστεί να ανανεώσουμε τις λίστες πακέτων για την πιο πρόσφατη.

sudo apt ενημέρωση

Πύθων

Θα αναγκάσουμε το Raspbian να χρησιμοποιήσει το Python 3

update-alternatives --install/usr/bin/python python /usr/bin/python2.7 1

εναλλακτικές λύσεις ενημέρωσης-εγκατάσταση/usr/bin/python python/usr/bin/python3 2

MariaDB

Επικολλήστε την ακόλουθη γραμμή για να εγκαταστήσετε τη βάση δεδομένων.

sudo apt install mariadb-server

Στη συνέχεια, θα πρέπει να εξασφαλίσουμε την εγκατάστασή μας.

mysql_secure_installation

Θα μας ζητήσει τον τρέχοντα κωδικό πρόσβασης ρίζας, καθώς δεν έχουμε έναν, απλά πατήστε enter.

Στη συνέχεια ρωτά εάν θέλουμε έναν κωδικό πρόσβασης ρίζας στο y αφού θέλουμε έναν.

Για τις επόμενες ερωτήσεις απλά πληκτρολογήστε Y.

Στη συνέχεια, θα δημιουργήσουμε έναν χρήστη που θα μπορούμε να χρησιμοποιήσουμε για τον καθρέφτη.

Εισαγάγετε το κέλυφος mysql κάνοντας:

- Αυξήστε τον εαυτό μας στη ρίζα

Sudo -i

- Εισαγάγετε το κέλυφος mysql

Mysql

- Αντικαταστήστε με το δικό σας όνομα χρήστη και το ίδιο με

παραχωρήστε όλα τα προνόμια στο *. * στο ''@'%' προσδιορίζεται από '';

- παραχωρήστε όλα τα προνόμια στο *. * στο ''@'%' προσδιορίζεται από το '', Στη συνέχεια θα προσθέσουμε τη βάση δεδομένων μας.

Διακομιστής ιστοσελίδων Apache

Για να εγκαταστήσετε τον διακομιστή ιστοσελίδων εκτελέστε την παρακάτω γραμμή.

sudo apt install apache2 -y

Πακέτα Python

Θα εγκαταστήσουμε αυτά τα πακέτα

- Φιάλη

- Flask-Cors

- Flask-MySQL

- Flask-SocketIO

- PyMySQL

- Γκέβεντ

- Gevent-websocket

-

- Python-socketio

- Αιτήσεων

- Wsaccel

- Ujson

Κάνοντας

pip install Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL gevent gevent-websocket httplib2 python-socketio αιτήματα wsaccel ujson mfrc522 hx711 Adafruit-CharLCD

Βήμα 2: Αισθητήρας οδήγησης και φωτός

Αισθητήρας Led και Φωτός
Αισθητήρας Led και Φωτός
Αισθητήρας Led και Φωτός
Αισθητήρας Led και Φωτός

Συνδέοντας το led

  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)

εκτός από KeyboardIntruptrupt: GPIO.cleanup ()

Βήμα 3: Servo Motor

Βοηθητικό μοτέρ
Βοηθητικό μοτέρ

Συνδέοντας τον σερβοκινητήρα

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

Τώρα μπορούμε να δοκιμάσουμε αν ο αισθητήρας led και φωτός μας λειτουργεί με αυτό το μικρό σενάριο

εισαγωγή RPi. GPIO ως GPIOimport time

GPIO.setmode (GPIO. BCM)

GPIO.setup (18, GPIO. OUT)

p = GPIO. PWM (18, 50)

σελ. εκκίνηση (12.5)

προσπαθήστε:

ενώ True:

σελ. ChangeDutyCycle (12.5)

ώρα. ύπνος (1)

σελ. ChangeDutyCycle (2.5)

ώρα. ύπνος (1)

εκτός από το KeyboardIntruptrupt:

p.stop ()

GPIO.cleanup ()

Βήμα 4: Αναγνώστης RFID RC522

RFID Reader RC522
RFID Reader 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 ()

κείμενο = εισαγωγή ('Νέα δεδομένα:')

εκτύπωση ("Τώρα τοποθετήστε την ετικέτα σας για να γράψετε")

reader.write (κείμενο)

εκτύπωση ("Γραμμένο")

Βήμα 5: Φορτώστε το κελί HX711

Φορτώστε το κελί HX711
Φορτώστε το κελί HX711

Συνδέοντας το στοιχείο φόρτωσης στην πλακέτα προγράμματος οδήγησης HX711

  1. Κόκκινο -> E+
  2. Μαύρο -> E-
  3. Πράσινο -> A+
  4. Λευκό -> Α-

Συνδέοντας το κελί φόρτωσης

  1. DT-> GPIO27
  2. SCK -> GPIO22
  3. ΚΟΚΚΙΝΟ -> 3,3V
  4. GND -> GND

Τώρα μπορούμε να δοκιμάσουμε αν το κελί φόρτωσης λειτουργεί με αυτό το μικρό σενάριο

εισαγωγή RPi. GPIO ως GPIOimport χρόνου εισαγωγής sys από klasses. HX711 εισαγωγή HX711

def cleanAndExit (): print ("Cleaning …") GPIO.cleanup () print ("Bye!") sys.exit ()

hx = HX711 (22, 27)

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

hx.set_reference_unit (2167)

hx.reset ()

hx.tare ()

ενώ True:

προσπαθήστε:

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

εκτύπωση (val)

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 -> μεσαία καρφίτσα potentio

Τώρα μπορούμε να δοκιμάσουμε αν η οθόνη LCD μας λειτουργεί με αυτό το μικρό σενάριο

εισαγωγή Adafruit_CharLCD ως LCDlcd_rs = 21

lcd_en = 20

lcd_d4 = 23

lcd_d5 = 26

lcd_d6 = 19

lcd_d7 = 13

lcd_colonns = 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 και να το ενεργοποιήσετε με αυτόν τον τρόπο

Η πρώτη σελίδα είναι η αρχική σελίδα, εδώ μπορείτε να δείτε:

  • Πληροφορίες σε πραγματικό χρόνο για το φως
  • Πληροφορίες σε πραγματικό χρόνο για το φαγητό που έχει μείνει στο μπολ
  • Μπορείτε να ρίξετε φαγητό
  • Πληροφορίες για τον σκύλο

Η δεύτερη σελίδα είναι η σελίδα επεξεργασίας, εδώ μπορείτε να επεξεργαστείτε:

  • το όνομα του κατοικίδιου σας
  • την ηλικία του κατοικίδιου σας
  • το βάρος του κατοικίδιου σας
  • η φωτογραφία του κατοικίδιου σας

Η τρίτη σελίδα είναι η σελίδα ιστορικού, εδώ μπορείτε να δείτε:

  • όταν το φως άναψε
  • όταν ο σκύλος έχει φάει
  • όταν το φαγητό έχει πέσει

Η τέταρτη σελίδα είναι η σελίδα ρυθμίσεων, εδώ μπορείτε να επεξεργαστείτε:

  • όταν πρέπει να πέσει το φαγητό
  • η ποσότητα τροφής που θα πέσει
  • μέγιστο φαγητό/ημέρα
  • το φως

Συνιστάται: