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

Διανομέας θεραπείας IoT για κατοικίδια: 7 βήματα (με εικόνες)
Διανομέας θεραπείας IoT για κατοικίδια: 7 βήματα (με εικόνες)

Βίντεο: Διανομέας θεραπείας IoT για κατοικίδια: 7 βήματα (με εικόνες)

Βίντεο: Διανομέας θεραπείας IoT για κατοικίδια: 7 βήματα (με εικόνες)
Βίντεο: Part 1 - Babbitt Audiobook by Sinclair Lewis (Chs 01-05) 2024, Ιούλιος
Anonim
Image
Image
Διανομέας θεραπείας IoT για κατοικίδια
Διανομέας θεραπείας IoT για κατοικίδια

Έχω δύο γάτες και το να τους δίνω λιχουδιές περίπου 3 φορές την ημέρα έγινε ενόχληση. Με κοιτούσαν ψηλά με τα χαριτωμένα πρόσωπά τους και τα έντονα βλέμματα, έπειτα έτρεχαν σε ένα κουτί γεμάτο πράσινες γάτες, νιαουρίζοντας και ζητιανώντας για αυτούς. Είχα αποφασίσει ότι αρκετά ήταν αρκετά. Δεν χρειάζεται πλέον να σηκώνεστε για να δώσετε στη γάτα μερικές λιχουδιές. Τώρα ήταν η ώρα για ένα μηχάνημα διανομής περιποιήσεων, γιατί όπως λέει και η παροιμία: "Οι προγραμματιστές υπάρχουν για να φτιάχνουν περίπλοκα πράγματα για να κάνουν λιγότερα απλά πράγματα".

Η DFRobot χρηματοδότησε αυτό το έργο.

Λίστα μερών:

  • DFRobot Raspberry Pi 3
  • Μονάδα κάμερας DFRobot Raspberry Pi
  • DFRobot Stepper Motor με Planetary Gear
  • I2C LCD 16x2
  • Barrel Jack στο τερματικό
  • DRV8825 Stepper Motor Driver
  • Πυκνωτής 100 μF
  • 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 Camera Module. Έτσι, αφού άνοιξα τα κουτιά, πήρα το δικαίωμα να δουλέψω με τη ρύθμιση της κάρτας SD. Πρώτα πήγα στη σελίδα Λήψεις Raspberry Pi και κατέβασα την πιο πρόσφατη έκδοση του Raspbian. Στη συνέχεια έβγαλα το αρχείο και το έβαλα σε έναν βολικό κατάλογο. Δεν μπορείτε απλώς να αντιγράψετε/επικολλήσετε ένα αρχείο.img σε μια κάρτα SD, πρέπει να το "κάψετε" στην κάρτα. Μπορείτε να κατεβάσετε ένα βοηθητικό πρόγραμμα όπως το Etcher.io για να μεταφέρετε εύκολα την εικόνα του λειτουργικού συστήματος. Αφού το αρχείο.img ήταν στην κάρτα SD μου, το έβαλα στο Raspberry Pi και του έδωσα ισχύ. Μετά από περίπου 50 δευτερόλεπτα, αποσύνδεσα το καλώδιο και αφαίρεσα την κάρτα SD. Στη συνέχεια, έβαλα ξανά την κάρτα SD στον υπολογιστή μου και πήγα στον κατάλογο "εκκίνησης". Άνοιξα το Σημειωματάριο και το αποθήκευσα ως κενό αρχείο με το όνομα "ssh" χωρίς επέκταση ΟΧΙ. Υπήρχε επίσης ένα αρχείο που πρόσθεσα με το όνομα "wpa_supplicant.conf" και έβαλα αυτό το κείμενο σε αυτό: network = {ssid = psk =} Στη συνέχεια, αποθηκεύσα και έβγαλα την κάρτα και την έβαλα ξανά στο Raspberry 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 Ακολουθείται από: sudo make install Για να μεταγλωττίσετε το λογισμικό. Τέλος εισάγετε: εξαγωγή LD_LIBRARY_PATH =. Και για να το εκτελέσετε πληκτρολογήστε:./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Μπορείτε να αποκτήσετε πρόσβαση στη ροή με τίτλο: https:// Το τοπικό ip: 8080/stream του pi. html Για προβολή της ροής.

Βήμα 5: Ρύθμιση διακομιστή ιστοσελίδων

Για να ελέγξω το μηχάνημα εξωτερικά μέσω WiFi, χρειαζόμουν έναν διακομιστή ιστού. Ένας διακομιστής ιστού παρέχει ουσιαστικά ιστοσελίδες όταν ζητηθεί, συνήθως από ένα πρόγραμμα περιήγησης. Iθελα κάτι γρήγορο και απλό για εγκατάσταση και χρήση, βγάζοντας το Apache από το τραπέζι. Wantedθελα επίσης να διασυνδέσω τον διακομιστή ιστού με την Python, ώστε να μπορώ να ελέγξω το Arduino Uno με το PySerial. Αυτή η αναζήτηση με οδήγησε τελικά στο Flask, μια ωραία βιβλιοθήκη Python που επιτρέπει στους χρήστες να δημιουργήσουν γρήγορα έναν διακομιστή ιστού. Ο πλήρης κωδικός επισυνάπτεται σε αυτήν τη σελίδα έργου. Το σενάριο python δημιουργεί βασικά 2 ιστοσελίδες, μία που φιλοξενείται στον ριζικό κατάλογο, '/' και μια άλλη που φιλοξενείται στο '/dispense'. Η σελίδα ευρετηρίου έχει μια φόρμα HTML που όταν υποβάλλεται στέλνει ένα αίτημα ανάρτησης στη σελίδα διανομής. Στη συνέχεια, η σελίδα διανομής ελέγχει αν η τιμή της ανάρτησης είναι σωστή και αν είναι το μήνυμα "D / n" αποστέλλεται μέσω σειριακής στο Arduino Uno.

Βήμα 6: Έλεγχος IO

Έλεγχος IO
Έλεγχος IO
Έλεγχος IO
Έλεγχος IO
Έλεγχος IO
Έλεγχος IO
Έλεγχος IO
Έλεγχος IO

Αποφάσισα να χρησιμοποιήσω το DRV8825 για να οδηγήσω το βηματικό μοτέρ μου, κυρίως επειδή χρειάζεται μόνο 2 ακίδες IO μαζί με ρυθμιζόμενο περιορισμό ρεύματος. Προσπάθησα να χρησιμοποιήσω ένα L293D αλλά δεν μπόρεσε να χειριστεί το φορτίο του βηματικού κινητήρα. Ο DRV8825 ελέγχεται με παλμό του πείρου STEP μέσω PWM και η κατεύθυνση ελέγχεται τραβώντας τον πείρο DIR ψηλά ή χαμηλά. Ο βηματικός κινητήρας που χρησιμοποιώ έχει κλήρωση 1,2 amp, οπότε ρύθμισα την τάση VREF στα.6V. Επόμενο ήταν το LCD. Wantedθελα να χρησιμοποιήσω το I2C για να μειώσω την απαιτούμενη ποσότητα IO και να απλοποιήσω τον κώδικα. Για να εγκαταστήσετε τη βιβλιοθήκη, απλώς αναζητήστε το "LiquidCrystal_I2C" και εγκαταστήστε το. Τέλος, το Arduino Uno ελέγχει για νέες πληροφορίες στο σειριακό buffer και αν ταιριάζει με το 'D'. Εάν συμβεί, το Uno προκαλεί το βηματικό μοτέρ να μετακινηθεί 180 μοίρες και στη συνέχεια -72 μοίρες για να αποτρέψει την απόθεση λιχουδιών.

Συνιστάται: