Πίνακας περιεχομένων:
- Βήμα 1: Τι θα χρειαστείτε
- Βήμα 2: Σύνδεση της μονάδας κάμερας
- Βήμα 3: Ρύθμιση της κάμερας
- Βήμα 4: Δοκιμή της μονάδας κάμερας
- Βήμα 5: Δημιουργία κυκλώματος με κώδικα
Βίντεο: Raspberry Pi Photobooth: 5 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
Ο σκοπός:
- Μάθετε πώς μπορείτε να κωδικοποιήσετε και να εγκαταστήσετε μια κάμερα Pi
- Χρησιμοποιώντας προτάσεις ορισμού και εάν στην κωδικοποίηση
- Μάθετε να χρησιμοποιείτε νέα τεχνολογία όπως τα LED RGB
Βήμα 1: Τι θα χρειαστείτε
- 1 Raspberry Pi 3
- Breadboard
- Άλτες
- 1 Αντίσταση εξαρτώμενη από το φως
- 1 πυκνωτής
- 1 κουμπί
- 6 αντιστάσεις 220 Ohm
- 2 LED RGB
- 1 κάμερα Raspberry Pi
Βήμα 2: Σύνδεση της μονάδας κάμερας
Πρώτα απ 'όλα, με το Pi απενεργοποιημένο, θα πρέπει να συνδέσετε τη μονάδα κάμερας στη θύρα κάμερας του Raspberry Pi, στη συνέχεια να ξεκινήσετε το Pi και να βεβαιωθείτε ότι το λογισμικό είναι ενεργοποιημένο.
- Εντοπίστε τη θύρα της κάμερας που βρίσκεται ανάμεσα στη θύρα HDMI και 3,5 mm
- Τραβήξτε προς τα πάνω το κλιπ της κάμερας από τις πλαστικές άκρες μέχρι το κλιπ να είναι διαγώνιο
- Τώρα τοποθετήστε το καλώδιο της κάμερας με το μπλε να βλέπει στη θύρα 3,5 mm
Βήμα 3: Ρύθμιση της κάμερας
Ανοίξτε το εργαλείο διαμόρφωσης Raspberry Pi από το κύριο μενού και απενεργοποιήστε και ενεργοποιήστε όλες τις παραπάνω διεπαφές
Από το κύριο μενού ανοίξτε το τερματικό και πληκτρολογήστε τις ακόλουθες γραμμές κώδικα:
Sudo Raspi-config
Τώρα από εδώ χρησιμοποιήστε τα βέλη για να λειτουργήσετε μέσω του συστήματος και κάντε κλικ στην επιλογή Περιφερειακή σύνδεση και, στη συνέχεια, κάντε κλικ στην κάμερα P1 και ενεργοποιήστε την κάμερα και, στη συνέχεια, επιλέξτε τερματισμός. Επιστρέφοντας στον τύπο τερματικού στις ακόλουθες γραμμές κώδικα:
pip εγκατάσταση picamera
ή Sudo pip εγκατάσταση Picamera
Βήμα 4: Δοκιμή της μονάδας κάμερας
Από εδώ μπορούμε να δοκιμάσουμε αν η κάμερα λειτουργεί ή όχι επειδή έχουμε όλο το λογισμικό και το υλικό ενεργοποιημένο.
Ανοίξτε το Python 3 από το μενού
Από εκεί ανοίξτε ένα νέο αρχείο από το κέλυφος και αποθηκεύστε το στο cameratest.py.
Εισαγάγετε τον ακόλουθο κωδικό:
απ
camera.start_preview ()#ξεκινά την κάμερα και σας δείχνει πώς είναι η έξοδος της κάμερας
sleep (10)#αφήνει ενεργοποιημένη την προεπισκόπηση για 10 δευτερόλεπτα
camera.stop_preview ()#κλείνει τελικά την προεπισκόπηση
Εκτελέστε τον κωδικό μέσω F5
Εάν λάβετε αυτό το σφάλμα κατά την εκτέλεση του κωδικού:
(mmal: mmal_vc_component_create: απέτυχε η δημιουργία του στοιχείου 'vc.ril.camera' (1: ENOMEM)
mmal: mmal_component_create_core: δεν μπόρεσα να δημιουργήσω το στοιχείο 'vc.ril.camera' (1) Traceback (τελευταία κλήση τελευταία): Αρχείο "", γραμμή 1, στο Αρχείο "/usr/lib/python2.7/dist-packages/picamera /camera.py ", γραμμή 257, στο _init_ self._init_camera () Αρχείο" /usr/lib/python2.7/dist-packages/picamera/camera.py ", γραμμή 288, στο πρόθεμα _init_camera =" Αποτυχία δημιουργίας κάμερας στοιχείο ") Αρχείο" /usr/lib/python2.7/dist-packages/picamera/exc.py ", γραμμή 112, στο mmal_check raise PiCameraMMALError (status, prefix) picamera.exc. PiCameraMMALError: Αποτυχία δημιουργίας στοιχείου κάμερας: Out της μνήμης)
Πηγαίνετε στη διαμόρφωση Raspberry Pi, μεταβείτε στη στήλη επιδόσεων και ενισχύστε τη μνήμη της GPU σας μέχρι να εξαφανιστεί το σφάλμα (πρέπει να κάνετε επανεκκίνηση).
Τώρα, για να δημιουργήσουμε μια φωτογραφία που θα αποθηκευτεί στην επιφάνεια εργασίας, θα χρησιμοποιήσουμε τον ακόλουθο κώδικα:
απ
κάμερα = PiCamera () #Ρύθμιση για την κάμερα
camera.start_preview () #Ξεκινά την προεπισκόπηση ύπνου (5) #Αφήνει ενεργοποιημένη την προεπισκόπηση για 5 δευτερόλεπτα
camera.capture ('/home/pi/Desktop/image.jpg')# Από το
camera.stop_preview ()#Διακόπτει την προεπισκόπηση
Βήμα 5: Δημιουργία κυκλώματος με κώδικα
Όπως φαίνεται παραπάνω από τα διαγράμματα κυκλώματος, πρέπει να ρυθμίσουμε ένα κουμπί, ένα LDR και τέλος δύο LED RGB. Αρχικά θα ρυθμίσουμε το κουμπί στην κάτω αριστερή πλευρά του breadboard. Κατά τη ρύθμισή σας για το κουμπί θα χρησιμοποιήσουμε τις κοινές σιδηροδρομικές γραμμές που σημαίνει ότι θα συνδέσουμε το 3.3V στο θετικό και το έδαφος για αρνητικό. Αφού ολοκληρώσετε τη ρύθμιση του κυκλώματος μόνο για το κουμπί.
Θα δοκιμάσουμε το κύκλωμά μας για να δούμε αν μπορούμε να το κάνουμε έτσι ώστε αν πατηθεί το κουμπί να ενεργοποιήσουμε το led χρησιμοποιώντας τον ακόλουθο κώδικα:
#Εισαγόμενες ενότητεςαπό το κουμπί εισαγωγής gpiozero από την εισαγωγή PiCamera της picamera από τον χρόνο εισαγωγής ύπνου
#Εγκατάσταση
Κάμερα = PiCamera () Κουμπί = Κουμπί (22)
#Λήψη φωτογραφίας, αποφάσισα να την θέσω σε μια λειτουργία καθορισμού καθώς μας βοηθά να καθαρίσουμε τον κύριο κώδικα
def photocap ():
Camera.start_preview ()
ύπνος (5) Εκτύπωση Camera.capture ('/home/pi/Desktop/image.jpg') ("Η φωτογραφία τραβήχτηκε") Camera.stop_preview ()
#Κύριος κώδικας:
while True: if Button.is_pressed: print ("Button was pressed") photocap ()
#Γιατί λειτουργεί αυτό: Ο κύριος κώδικας λειτουργεί καθώς το μόνο που κάνουμε είναι να χρησιμοποιούμε την εντολή if button.εκφράζεται σε λίγο true statement έτσι ενημερώνεται συνεχώς όταν πατάτε το κουμπί για να τραβήξετε τη φωτογραφία
Τώρα θα ρυθμίσουμε 2 LED RGB μέχρι την κορυφή του κυκλώματος και θα τα χωρίσουμε στη μέση του ψωμιού και θα κάνουμε το συμμετρικό. Εάν δεν έχετε αντιστάσεις 220 ohm για αυτό το έργο, μπορείτε να τις ρυθμίσετε παράλληλα ανάλογα με την αντίστασή σας για τις αντιστάσεις που έχετε. Ο δεύτερος πείρος του LED RGB 4 ακίδων (ο μακρύτερος πρέπει να συνδεθεί στη γείωση μέσω του σιδηροδρόμου. Οι άλλοι πείροι θα πρέπει να είναι όλοι συνδεδεμένοι με τους δικούς τους ακροδέκτες GPIO. (Πρώτη καρφίτσα = κόκκινη, Δεύτερη καρφίτσα = γείωση, Τρίτη καρφίτσα = πράσινη, Τέταρτη καρφίτσα = μπλε).
Θα δοκιμάσουμε μία από τις λυχνίες LED RGB στο κύκλωμα κουμπιών μας με τον παρακάτω κωδικό:
#Εισαγόμενες ενότητες από το κουμπί εισαγωγής gpiozero από την εισαγωγή PiCamera της picamera
από gpiozero import RGBLED
από τον χρόνο εισαγωγής ύπνου
#Εγκατάσταση
Κάμερα = PiCamera () Κουμπί = Κουμπί (22)
TimedLED = RGBLED (κόκκινο = 21, πράσινο = 20, μπλε = 16)
#Λήψη φωτογραφίας με LED RGB, αποφάσισα να το θέσω σε μια καθορισμένη λειτουργία καθώς μας βοηθά να καθαρίσουμε τον κύριο κώδικα
def photocap (): Camera.start_preview () sleep (4)
timedled.color (1, 0, 0)
ύπνος (2)
timedled.color (0, 1, 0)
ύπνος (1)
Εκτύπωση Camera.capture ('/home/pi/Desktop/image.jpg') ("Η φωτογραφία ελήφθη") Camera.stop_preview ()
#Κύριος κώδικας:
ενώ True:
εάν το Button.is_pressed:
εκτύπωση ("Το κουμπί πιέστηκε") φωτοτυπικό ()
#Γιατί λειτουργεί αυτό: Ο λόγος για τον οποίο λειτουργεί αυτός ο κώδικας είναι επειδή τώρα κάναμε το RGBLED να λειτουργεί ως χρονόμετρο για το πότε πρόκειται να τραβηχτεί η φωτογραφία
Τώρα ρυθμίστε την αντίσταση που εξαρτάται από το φως στην κάτω δεξιά πλευρά του ψωμιού χρησιμοποιώντας το διάγραμμα μέχρι το πάνω μέρος και τους κοινούς σιδηροδρόμους που συζητήθηκαν προηγουμένως. Να θυμάστε ότι και τα δύο μακριά πόδια του LDR και το capicitator πρέπει να συνδεθούν με τον ακροδέκτη GPIO.
Αφού συνδέσουμε το LDR, θα χρησιμοποιήσουμε τον ακόλουθο κώδικα:
#Εισαγόμενες ενότητες
από το κουμπί εισαγωγής gpiozero
από την εισαγωγή picamera PiCamera από την εισαγωγή gpiozero RGBLED
από gpiozero import LightSensor
από τον χρόνο εισαγωγής ύπνου
#Εγκατάσταση
Κάμερα = PiCamera () Button = Button (22) TimedLED = RGBLED (κόκκινο = 21, πράσινο = 20, μπλε = 16)
LightSensor = LightSensor (23)
#Λήψη φωτογραφίας με LED RGB, αποφάσισα να το θέσω σε μια καθορισμένη λειτουργία καθώς μας βοηθά να καθαρίσουμε τον κύριο κώδικα
def photocap (): Camera.start_preview () sleep (4) timedled.color (1, 0, 0) sleep (2) timedled.color (0, 1, 0) sleep (1) Camera.capture ('/home/ pi/Desktop/image-j.webp
#Κύριος κώδικας:
ενώ True:
εάν Button.is_pressed: εκτύπωση ("Το κουμπί πιέστηκε") φωτοτυπία ()
εάν Button.is_pressed και Lightsensor.when_dark:
εκτύπωση ("Πατήθηκε το κουμπί")
εκτύπωση ("Είναι σκοτεινό")
photocap ()
#Γιατί λειτουργεί αυτό: Ο τρόπος με τον οποίο έχω προσθέσει τον αισθητήρα φωτός στον κωδικό μου είναι μέσω μιας άλλης δήλωσης if που περιέχει την εισαγόμενη λειτουργία του αισθητήρα φωτός. Όταν το σκοτάδι μας ρυθμίζει τέλεια για το επόμενο βήμα μας
Τώρα το τελευταίο βήμα σε αυτό το έργο θα ήταν να ενεργοποιήσετε το άλλο συμμετρικό RGBLED με το άλλο για να λειτουργήσει ως φως φλας, Ο τελικός κωδικός:
από το κουμπί εισαγωγής gpiozero
από την εισαγωγή picamera PiCamera
από gpiozero import RGBLED
από gpiozero import LightSensor
από τον χρόνο εισαγωγής ύπνου
#Εγκατάσταση
Κάμερα = PiCamera ()
Κουμπί = Κουμπί (22)
TimedLED = RGBLED (κόκκινο = 21, πράσινο = 20, μπλε = 16)
FlashLED = RGBLED (κόκκινο = 19, πράσινο = 13, μπλε = 6)
LightSensor = LightSensor (23)
#Λήψη φωτογραφίας με LED RGB, αποφάσισα να το θέσω σε μια καθορισμένη λειτουργία καθώς μας βοηθά να καθαρίσουμε τον κύριο κωδικό def photocap (): Camera.start_preview () sleep (4) timedled.color (1, 0, 0) sleep (2) timedled.color (0, 1, 0) sleep (1) Camera.capture ('/home/pi/Desktop/image.jpg') print ("Η φωτογραφία ελήφθη") Camera.stop_preview () # Κύριος κώδικας: while True: if Button.is_pressed:
εκτύπωση ("Πιέστηκε το κουμπί")
photocap ()
εάν Button.is_pressed και Lightsensor.when_dark:
εκτύπωση ("Πατήθηκε το κουμπί") εκτύπωση ("Είναι σκοτεινό")
FlashLED.color (1, 1, 1)
photocap ()
#Γιατί λειτουργεί αυτό: Ο τρόπος με τον οποίο πρόσθεσα τον φακό μου είναι χρησιμοποιώντας το RGB οδήγησε στην έξοδο του λευκού χρώματος που είναι 1, 1, 1 και το κάνει μόνο αν η δήλωση if είναι αληθής.
Συνιστάται:
Εγκατάσταση του Raspbian στο Raspberry Pi 3 B χωρίς HDMI - Ξεκινώντας με το Raspberry Pi 3B - Ρύθμιση του Raspberry Pi σας 3: 6 βήματα
Εγκατάσταση του Raspbian στο Raspberry Pi 3 B χωρίς HDMI | Ξεκινώντας με το Raspberry Pi 3B | Ρύθμιση του Raspberry Pi 3: Όπως γνωρίζετε μερικοί από εσάς, οι υπολογιστές Raspberry Pi είναι φοβεροί και μπορείτε να αποκτήσετε ολόκληρο τον υπολογιστή μόνο σε έναν μικρό πίνακα. Το Raspberry Pi 3 Model B διαθέτει τετραπύρηνο 64-bit ARM Cortex A53 χρονισμένο στα 1,2 GHz. Αυτό θέτει το Pi 3 περίπου 50
Raspberry Pi PhotoBooth: HTML5 & NodeJS: 4 βήματα
Raspberry Pi PhotoBooth: HTML5 & NodeJS: Ένα photobooth HTML5 και NodeJS με ζωντανή προεπισκόπηση και προσαρμοσμένα περιγράμματα. Αυτό το έργο ξεκίνησε ως κάτι που έφτιαξα για το σχολικό χορό της κόρης μου. Wantedθελα κάτι διασκεδαστικό για εκείνη και τους φίλους της για να θυμούνται το γεγονός (που ήταν η τελευταία φορά που θα
Γάμος / Εκδήλωση Photobooth: 6 βήματα (με εικόνες)
Γάμος / Εκδήλωση Photobooth: Γεια σε όλους, παντρεύτηκα πέρυσι, όταν ψάχνουμε για προετοιμασία της ημέρας D, πήγαμε σε πολλές συμβάσεις γάμου. Σε κάθε συνέλευση υπάρχει ένας ενοικιαστής Photobooth, νόμιζα ότι είναι ένα photobooth ήταν μια μεγάλη ιδέα για γάμο, κάθε καλεσμένος γ
Αυτόματο Photobooth: 4 βήματα (με εικόνες)
Αυτόματο Photobooth: Αυτό θα σας δείξει πώς να φτιάξετε έναν αυτοματοποιημένο φωτογραφικό θάλαμο χρησιμοποιώντας το βατόμουρο pi, έναν υπερηχητικό αισθητήρα απόστασης και μερικά άλλα αξεσουάρ. Iθελα να κάνω ένα έργο που χρησιμοποιεί τόσο εξελιγμένο υλικό όσο και ένα πρόγραμμα εκλεπτυσμένο. Ερευνώ
DIY Photobooth: 7 βήματα (με εικόνες)
DIY Photobooth: Αυτό είναι ένα σεμινάριο για το πώς να φτιάξετε το δικό σας photobooth όπως τα παραδοσιακά που βλέπετε σε εμπορικά κέντρα, λούνα παρκ και εμπορικά κέντρα σε όλο τον κόσμο. Ωστόσο, αυτό το περίπτερο είναι εντελώς ψηφιακό και είναι πολύ φθηνότερο/ευκολότερο να το κάνετε στο σπίτι. Στριμώχτηκα