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

Pumpkin Pi Digital Decoration Controller: 5 βήματα (με εικόνες)
Pumpkin Pi Digital Decoration Controller: 5 βήματα (με εικόνες)

Βίντεο: Pumpkin Pi Digital Decoration Controller: 5 βήματα (με εικόνες)

Βίντεο: Pumpkin Pi Digital Decoration Controller: 5 βήματα (με εικόνες)
Βίντεο: PIXEL GUN 3D LIVE 2024, Ιούλιος
Anonim
Pumpkin Pi Digital Decoration Controller
Pumpkin Pi Digital Decoration Controller
Pumpkin Pi Digital Decoration Controller
Pumpkin Pi Digital Decoration Controller

Γεια σας, επιτρέψτε μου να σας παρουσιάσω το Pumpkin Pi. Με απλά λόγια, είναι ένας ελεγκτής εισόδου/εξόδου για το Raspberry Pi με δώδεκα προγραμματιζόμενες εξόδους, αλλά με λίγο hocus-pocus (ή κώδικα Python σε εσάς και εμένα) γίνεται ελεγκτής ψηφιακής διακόσμησης που προσφέρει δύο εξόδους βίντεο με ήχο και φωτισμό FX συγχρονίστηκε με βίντεο.

Το BackgroundLast Halloween αποφάσισα να δημιουργήσω μια οθόνη παραθύρων με θέμα Witching, έχοντας ανακαλύψει πρόσφατα τις ψηφιακές διακοσμήσεις της AtmosFX και ένιωσα έμπνευση να τις χρησιμοποιήσω σωστά και να τις ενσωματώσω στην οθόνη μου.

Χρειαζόμουν έναν τρόπο αναπαραγωγής δύο λιστών αναπαραγωγής βίντεο εναλλάξ σε δύο διαφορετικές οθόνες (τηλεόραση και βιντεοπροβολέας) χωρίς τα βίντεο να επικαλύπτονται κατά λάθος μεταξύ τους. Wantedθελα επίσης να ενσωματώσω τον φωτισμό FX για να προσθέσω στα ατμοσφαιρικά.

Περισσότερα για το ControllerAs ήταν εμπνευσμένο από ένα έργο αποκριών, ένιωσα ότι το όνομα Pumpkin Pi ήταν πολύ κατάλληλο. Προορίζεται να κάνει τα εξής:

  • Ελέγξτε έως και 12x μεμονωμένες λυχνίες LED (ή 4x ταινίες RGB) μέσω προγραμματιζόμενων εξόδων 12x
  • Λειτουργεί στα 12v μέσω της δικής του εξωτερικής τροφοδοσίας
  • 3x τετραπλές συστοιχίες τρανζίστορ NPN για υποστήριξη ρεύματος εξόδου 1 Amp ανά σύνδεση
  • Συμπεριλάβετε την επιλογή PIR / αισθητήρα κίνησης που ενεργοποιεί την αναπαραγωγή και τις ενέργειες
  • Αναπαραγωγή βίντεο και ήχου χρησιμοποιώντας τις δυνατότητες βίντεο του Raspberry Pi
  • Δύο βίντεο μπορούν να αναπαραχθούν ταυτόχρονα ή εναλλάξ χάρη στο ότι τα δύο Pis συνδέονται μέσω των GPIO τους για να ενεργοποιήσουν προγραμματιζόμενες ενέργειες και να αποτρέψουν την ανεπιθύμητη επικάλυψη βίντεο
  • Συγχρονισμός φωτισμού FX στην αναπαραγωγή βίντεο
  • Ενσωματωμένες λυχνίες LED για ένδειξη μεμονωμένης κατάστασης εξόδου

Μπορείτε επίσης να χρησιμοποιήσετε το Pumpkin Pi ως πίνακα ξεμπλοκαρίσματος με ένα μόνο Raspberry Pi και να έχετε ακόμα 12x προγραμματιζόμενες εξόδους για τον έλεγχο των LED, των κινητήρων, των ρελέ κ.λπ.

Σημείωση: Θέλετε να δείτε πώς χρησιμοποίησα το Pumpkin Pi στην αποκριάτικη οθόνη μου; Ρίξτε μια ματιά στο Witching Hour Halloween Display Instructable.

Βήμα 1: Πράγματα που θα χρειαστείτε

Πράγματα που θα χρειαστείτε
Πράγματα που θα χρειαστείτε

Για να δημιουργήσετε ξανά το Pumpkin Pi θα χρειαστείτε τα ακόλουθα εργαλεία και στοιχεία:

Εργαλεία

  • Συγκολλητικό σίδερο
  • Πολύμετρο
  • Συρματοκόπτης
  • Κατσαβίδι (χρησιμοποίησα μια μικρή επίπεδη λεπίδα με τους ακροδέκτες μου)
  • Τρυπάνια και τρυπάνια (χρησιμοποίησα κομμάτια καρβιδίου 0,7mm και 1,0mm)
  • Σετ χάραξης PCB

Συστατικά

  • 1x Χαλκού PCB (102mm X 70mm περίπου)
  • Αντιστάσεις 14x 1kΩ
  • 2x Αντίσταση 10kΩ
  • Αντίσταση 1x 4k7Ω
  • 1x πυκνωτής (προαιρετικό)
  • 1x κόκκινο LED 5mm και κατάλληλη αντίσταση περιορισμού ρεύματος
  • 12x κίτρινα LED 5mm με ενσωματωμένη αντίσταση για τροφοδοσία 12v
  • 3x ULN2074B Quad NPN Darlington Pair Transistor Arrays
  • 3x Υποδοχή IC 16 δρόμων
  • 1x DC Jack
  • 1x κεφαλίδα 2 κατευθύνσεων
  • Ανδρική κεφαλίδα 2x 40-pin 2x20
  • Τερματικό μπλοκ 7x 3-way 5mm κάθετης βίδας στήριξης PCB
  • 1x αισθητήρας PIR (προαιρετικό)

Το Raspberry Pi

Θα χρειαστείτε επίσης ένα Raspberry Pi (ή δύο) με όλα όσα είναι απαραίτητα για να χρησιμοποιήσετε το Pi. Αυτό περιλαμβάνει το τροφοδοτικό Pi, την κάρτα MicroSD και το λογισμικό Raspbian. Για καλύτερη απόδοση βίντεο, θα συνιστούσα το Raspberry Pi 3.

Για αναπαραγωγή βίντεο θα χρησιμοποιούμε το OMXPlayer με το OMXPlayer-Wrapper (αλλά περισσότερα για αυτό αργότερα!).

Σημείωση: Αυτό το Instructable προϋποθέτει ότι έχετε κάποια εμπειρία ή εργασιακή γνώση σε Ηλεκτρονικά, Συγκόλληση, κατασκευή PCB και το Raspberry Pi. Εάν δοκιμάζετε κάποια από αυτές τις δεξιότητες για πρώτη φορά, θα σας συνιστούσα να ρίξετε μια ματιά σε μερικούς από τους ακόλουθους πόρους:

  • Τάξη Ηλεκτρονικών. Περιλαμβάνει έναν οδηγό έναρξης και καλύπτει πράγματα όπως συγκόλληση και βασικά εξαρτήματα.
  • PCB Making Instructable by ASCAS. Καλύπτει την τεχνική κατασκευής μεταφοράς γραφίτη που χρησιμοποιείται εδώ.
  • Αν θέλετε να προχωρήσετε περαιτέρω με τους πίνακες κυκλωμάτων, ελέγξτε την τάξη σχεδίασης κυκλωμάτων.
  • Raspberry Pi Class. Μάθετε για το Raspberry Pi, μάθετε πώς να ρυθμίσετε και πώς να το χρησιμοποιήσετε.

Βήμα 2: Τα Ηλεκτρονικά

Τα Ηλεκτρονικά
Τα Ηλεκτρονικά
Τα Ηλεκτρονικά
Τα Ηλεκτρονικά
Τα Ηλεκτρονικά
Τα Ηλεκτρονικά

Δημιουργία κυκλώματος

Το πρώτο πράγμα που πρέπει να κάνετε είναι να δημιουργήσετε το κύκλωμά σας. Ο ευκολότερος τρόπος για την εκ νέου παραγωγή του είναι η κατασκευή του PCB χρησιμοποιώντας τη μέθοδο μεταφοράς γραφίτη με το συνημμένο εκτυπώσιμο κύκλωμα PDF. Αν δεν το έχετε δοκιμάσει στο παρελθόν είναι πολύ πιο εύκολο από όσο νομίζετε και χρειάζεστε μόνο μερικά στοιχεία για να ξεκινήσετε. Προτείνω πάντα το DIY Customized Circuit Board (PCB Making) Instructable by ASCAS.

Σημείωση: Έχω συμπεριλάβει επίσης το αρχείο σχεδίασης PCB που δημιούργησα χρησιμοποιώντας το DesignSpark.

Θα χρειαστείτε ένα συγκολλητικό σίδερο και κάποιες βασικές δεξιότητες συγκόλλησης για να συναρμολογήσετε τα πάντα στο PCB, υπάρχουν πολλές οδηγίες για τη συγκόλληση σε περίπτωση που είστε νέοι σε αυτό, υπάρχει επίσης μια καλή κατηγορία ηλεκτρονικών οδηγιών!

Εάν η διαδικασία κατασκευής PCB δεν είναι για εσάς, μπορείτε επίσης να το δημιουργήσετε ξανά σε λωρίδα (vero) ή σε σανίδα ψωμιού (έβαλα το πρωτότυπό μου στο breadboard, όπως φαίνεται στην παραπάνω εικόνα). Στο πρωτότυπό μου χρησιμοποίησα μεμονωμένα τρανζίστορ ζεύγους NPN darlington σε αντίθεση με τις συστοιχίες τρανζίστορ σε ένα I. C. (ενσωματωμένο κύκλωμα).

Πως δουλεύει

Είναι βασικά ένας πίνακας ανάρτησης για το Pi που συνδέει δώδεκα από τις καρφίτσες GPIO του Pi με τρανζίστορ ζεύγους NPN darlington (με τη μορφή τριών συστοιχιών τρανζίστορ). Όταν η σχετική έξοδος Pi ανεβαίνει ψηλά, αλλάζει το τρανζίστορ για να ολοκληρώσει το κύκλωμα.

Υπάρχουν επίσης δύο ακόμη καρφίτσες GPIO που «συνδέουν» τα δύο Pis μεταξύ τους μέσω πτυσσόμενων αντιστάσεων που λειτουργούν ως ενεργοποιητές (περισσότερα για αυτό στο βήμα «Προγραμματισμός του Pi» αργότερα).

Πώς τροφοδοτείται

Το Pumpkin Pi τροφοδοτείται από το εξωτερικό του τροφοδοτικό 12v. Με τη χρήση των τρανζίστορ που επέλεξα είναι ικανό έως 1,75 Amp ρεύμα ανά έξοδο (ή 1 Amp σε αυτή την περίπτωση λόγω της επιλογής μου βιδωτών ακροδεκτών). Τα Pis τροφοδοτούνται από τα δικά τους τροφοδοτικά Pi, το Pumpkin Pi θέτει πολύ μικρή ζήτηση στις δυνατότητες ισχύος του Pi καθώς χρησιμοποιείται μόνο για την αλλαγή τρανζίστορ. Το κύκλωμα περιλαμβάνει την επιλογή ενός πυκνωτή εξομάλυνσης, αλλά δεν είναι απαραίτητο. Χρησιμοποίησα ένα 2200uF με 16v (το οποίο είναι υπερβολικό, αλλά τα είχα στο χέρι).

Ενδεικτικές λυχνίες LED και αντιστάσεις

Υπάρχουν δώδεκα κίτρινες ενδεικτικές λυχνίες LED εξόδου και μία κόκκινη LED κατάστασης ισχύος. Βεβαιωθείτε ότι χρησιμοποιείτε το σωστό LED περιορισμού ρεύματος με το κόκκινο LED κατάστασής σας, το δικό μου έχει τάση 3.2v προς τα εμπρός και ρεύμα 20mA, οπότε επέλεξα αντίσταση 470Ω (με βάση το ρεύμα εισόδου 12v). Εάν δεν είστε σίγουροι για το πώς να επιλέξετε τη σωστή αντίσταση για το LED σας, ελέγξτε αυτόν τον οδηγό αριθμομηχανής.

Mayσως έχετε παρατηρήσει ότι δεν υπάρχουν αντιστάσεις στο κύκλωμα για καθένα από τα δώδεκα κίτρινα LED. Καθώς ήθελα να εξοικονομήσω χώρο στο PCB, έκανα μια σχεδιαστική επιλογή να χρησιμοποιήσω LED με ενσωματωμένες αντιστάσεις για παροχή 12v.

Motion Trigger (PIR Sensor) και Override

Το κύκλωμα περιλαμβάνει την επιλογή σκανδάλης κίνησης. Χρησιμοποιεί αντίσταση έλξης, οπότε κάθε φορά που ο πείρος συναγερμού (επισημαίνεται ως AL στο PCB) χαμηλώνει ενεργοποιεί μια ενέργεια. Αυτό είναι χρήσιμο εάν θέλετε να ενεργοποιηθεί η αναπαραγωγή ψηφιακής διακόσμησης.

Το κύκλωμα περιλαμβάνει επίσης παράκαμψη σκανδάλης. Όταν η παράκαμψη είναι σε κλειστή κατάσταση, συνδέει την είσοδο με τη γείωση, επιτρέποντάς σας να ενεργοποιήσετε χειροκίνητα τη δράση. Χρησιμοποιήστε την κεφαλίδα παράκαμψης δύο ακίδων με έναν διακόπτη ή έναν "βραχυκυκλωτήρα".

Βήμα 3: Ρύθμιση του Raspberry Pi

Ρύθμιση του Raspberry Pi
Ρύθμιση του Raspberry Pi

Εγκατάσταση του Raspbian

Για να ξεκινήσετε τη ρύθμιση του Raspberry Pi, πρέπει να προετοιμάσετε την κάρτα MicroSD με την εικόνα Raspbian. Κατεβάστε την πιο πρόσφατη εικόνα εδώ (το Raspbian Stretch ήταν η πιο πρόσφατη έκδοση κατά τη σύνταξη).

Με την κάρτα MicroSD έτοιμη, τοποθετήστε την στο Pi και ενεργοποιήστε την. Πιθανότατα θα θέλετε μια τηλεόραση, πληκτρολόγιο και ποντίκι συνδεδεμένα σε αυτό το σημείο. Από προεπιλογή, το Pi πρέπει να εκκινήσει στο λειτουργικό σύστημα GUI, σας συνιστώ να ορίσετε τη σωστή ζώνη ημερομηνίας και ώρας στο Pi σας και ίσως να συνδεθείτε στο WiFi σας.

Σε αυτό το σημείο, συνήθως βεβαιώνομαι ότι η συνδεσιμότητα SSH είναι ενεργοποιημένη, ώστε να έχω πρόσβαση στο τερματικό Pi μέσω του δικτύου μέσω του PuTTy και, στη συνέχεια, ορίζω το Pi να εκκινείται στο CLI (διεπαφή γραμμής εντολών) από προεπιλογή αντί για την επιφάνεια εργασίας GUI, αλλά αυτό είναι στο χέρι σου.

Σημείωση: Αυτό το Instructable προϋποθέτει ότι είστε ήδη εξοικειωμένοι με το Raspberry Pi, αν όχι, μπορείτε να ακολουθήσετε τον επίσημο οδηγό Raspberry Pi για την εγκατάσταση εικόνων λειτουργικού συστήματος στο περιβάλλον σας εδώ: Windows, MacOS, Linux.

Συμβουλή: Εάν είστε εντελώς νέοι στο Raspberry Pi, σας συνιστώ να ρίξετε μια ματιά σε αυτήν την κατηγορία Instructables.

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

OMXPlayer-Wrapper για Python

Για την αναπαραγωγή των βίντεο ψηφιακής διακόσμησης θα χρησιμοποιούμε το OMXPlayer. Αυτό υποστηρίζει βίντεο υψηλής ανάλυσης (συμπεριλαμβανομένου του HD) σε πολλές κοινές μορφές βίντεο. Παρόλο που το OMXPlayer περιλαμβάνεται στο Raspbian "out-of-the-box", για να το κάνετε να παίζει όμορφα με τα προσαρμοσμένα σενάρια Python που θα δημιουργήσουμε, θα χρειαστεί να εγκαταστήσετε το OMXPlayer-Wrapper.

Πριν από την εγκατάσταση του περιτυλίγματος προτείνω την ενημέρωση των πακέτων του συστήματος. Εκτελέστε τις ακόλουθες εντολές από ένα τερματικό CLI (το Pi πρέπει να είναι συνδεδεμένο στο διαδίκτυο για να λειτουργήσει αυτό):

Ενημερώστε τη λίστα πακέτων του συστήματος:

sudo apt-get ενημέρωση

Αναβαθμίστε όλα τα εγκατεστημένα πακέτα σας στις πιο πρόσφατες εκδόσεις:

sudo apt-get dist-upgrade

Εκκαθάριση του χώρου που χρησιμοποιείται για τη λήψη πακέτων ενημέρωσης:

sudo apt-get clean

Στη συνέχεια, θα θέλετε να κάνετε λήψη του ίδιου του OMXPlayer-Wrapper. Για να το κάνετε αυτό, εκτελέστε την ακόλουθη εντολή, ξανά από τερματικό CLI με το Pi συνδεδεμένο στο διαδίκτυο:

Εγκαταστήστε το OMXPlayer-Wrapper:

sudo python3 -m pip install omxplayer -wrapper

Για περισσότερες πληροφορίες σχετικά με το περιτύλιγμα omxplayer, δείτε τα έγγραφα εδώ.

Συμβουλή: Αν αντιμετωπίσετε σφάλματα σύνδεσης DBUS κατά την αναπαραγωγή βίντεο χρησιμοποιώντας το OMXPlayer-Wrapper, δοκιμάστε να εγκαταστήσετε το python3-dbus με την ακόλουθη εντολή:

sudo apt-get install python3-dbus

Άλλες ρυθμίσεις και τροποποιήσεις

Προεπιλεγμένη έξοδος ήχου

Το Raspberry Pi υποστηρίζει αναπαραγωγή ήχου μέσω HDMI ή υποδοχής 3,5 mm. Ωστόσο, εάν το Pi εντοπίσει ότι η συνδεδεμένη συσκευή HDMI υποστηρίζει ήχο, θα είναι προεπιλεγμένη στη συσκευή HDMI. Αν έχετε, όπως εγώ, μια συσκευή HDMI με δυνατότητα ήχου, αλλά θέλετε η έξοδος ήχου σας να είναι προεπιλεγμένη στην υποδοχή 3,5 mm, μπορείτε να το αναγκάσετε να το κάνει προσθέτοντας την ακόλουθη γραμμή στο αρχείο config.txt στο Pi:

hdmi_ignore_edid_audio = 1

Ορισμός εξόδου κονσόλας σε κενό

Εάν δεν θέλετε η έξοδος βίντεο του Pi να εμφανίζει την οθόνη της κονσόλας μετά την εκκίνηση, μπορείτε να ορίσετε την κονσόλα σε κενή, προσθέτοντας τα ακόλουθα στο τέλος του αρχείου /boot/cmdline.txt στο Pi. Σημειώστε ότι είναι μια παράμετρος εντολής πυρήνα και πρέπει να βρίσκεται σε μία μόνο γραμμή κειμένου:

κονσόλα = 0

Συνιστάται: