Table des matières:

Photobooth Raspberry Pi : 5 étapes
Photobooth Raspberry Pi : 5 étapes

Vidéo: Photobooth Raspberry Pi : 5 étapes

Vidéo: Photobooth Raspberry Pi : 5 étapes
Vidéo: Weekend Project: Raspberry Pi Photo Booth 2024, Novembre
Anonim
Photobooth Raspberry Pi
Photobooth Raspberry Pi

Le but:

  • Apprenez à coder et installer une caméra Pi
  • Utilisation des instructions define et if dans le codage
  • Apprendre à utiliser les nouvelles technologies comme les LED RGB

Étape 1: ce dont vous aurez besoin

Ce dont vous aurez besoin
Ce dont vous aurez besoin
Ce dont vous aurez besoin
Ce dont vous aurez besoin
Ce dont vous aurez besoin
Ce dont vous aurez besoin
  • 1 Framboise Pi 3
  • Planche à pain
  • Pulls
  • 1 résistance dépendante de la lumière
  • 1 condensateur
  • 1 bouton poussoir
  • 6 résistances 220 Ohms
  • 2 LED RVB
  • 1 caméra Raspberry Pi

Étape 2: connexion du module de caméra

Connexion du module de caméra
Connexion du module de caméra

Tout d'abord, avec le Pi éteint, vous devrez connecter le module de caméra au port de caméra du Raspberry Pi, puis démarrer le Pi et vous assurer que le logiciel est activé.

  1. Localisez le port de la caméra qui se trouve entre le port HDMI et le port 3,5 mm
  2. Tirez le clip de l'appareil photo par les bords en plastique jusqu'à ce que le clip soit en diagonale
  3. Insérez maintenant le câble de la caméra avec le bleu face au port 3,5 mm

Étape 3: Configuration de la caméra

Configuration de la caméra
Configuration de la caméra
Configuration de la caméra
Configuration de la caméra

Ouvrir l'outil de configuration Raspberry Pi à partir du menu principal et désactiver et activer toutes les interfaces ci-dessus

Dans le menu principal, ouvrez le terminal et tapez les lignes de code suivantes:

Sudo Raspi-config

Maintenant, à partir de là, utilisez vos touches fléchées pour opérer à travers le système et cliquez sur l'option de connexion périphérique et à partir de leur clic sur la caméra P1 et activez la caméra, puis sélectionnez Terminer. Pour revenir au terminal, tapez les lignes de code suivantes:

pip installer picamera

ou Sudo pip installer Picamera

Étape 4: Test du module de caméra

Test du module de caméra
Test du module de caméra

À partir de là, nous pouvons tester si la caméra fonctionne ou non, car nous avons tous les logiciels et le matériel activés.

Ouvrez Python 3 à partir du menu

À partir de là, ouvrez un nouveau fichier à partir du shell et enregistrez-le dans un cameratest.py.

Saisissez le code suivant:

à partir de picamera import PiCamera #module importé créé à partir de la commande pip install pi camerafrom time import sleep #imported sleep afin de s'assurer que notre caméra reste allumée = PiCamera() #Setup for the camera

camera.start_preview()#démarre la caméra et vous montre à quoi ressemble la sortie de la caméra

sleep(10)#laisse l'aperçu pendant 10 secondes

camera.stop_preview()#quitte enfin l'aperçu

Exécutez le code par F5

Si vous recevez cette erreur lors de l'exécution du code:

(mmal: mmal_vc_component_create: échec de la création du composant 'vc.ril.camera' (1:ENOMEM)

mmal: mmal_component_create_core: impossible de créer le composant 'vc.ril.camera' (1) Traceback (appel le plus récent en dernier): Fichier "", ligne 1, dans Fichier "/usr/lib/python2.7/dist-packages/picamera /camera.py", ligne 257, dans _init_ self._init_camera() Fichier "/usr/lib/python2.7/dist-packages/picamera/camera.py", ligne 288, dans _init_camera prefix="Impossible de créer la caméra component") Fichier "/usr/lib/python2.7/dist-packages/picamera/exc.py", ligne 112, dans mmal_check raise PiCameraMMALError(status, prefix) picamera.exc. PiCameraMMALError: Impossible de créer le composant de caméra: Out de mémoire)

Veuillez vous rendre dans la configuration du Raspberry Pi, allez dans la colonne performances et augmentez la mémoire de votre GPU jusqu'à ce que l'erreur disparaisse (il faut redémarrer).

Maintenant, afin de créer une photo qui sera enregistrée sur le bureau, nous utiliserons le code suivant:

depuis picamera import PiCamera #Module importé créé à partir de la commande pip install pi camerafrom time import sleep #Imported sleep afin de s'assurer que notre caméra reste allumée

camera = PiCamera() #Configuration de la caméra

camera.start_preview() #Démarre l'aperçusleep(5)#Laisse l'aperçu pendant 5 secondes

camera.capture('/home/pi/Desktop/image.jpg')# De la

camera.stop_preview()# Arrête l'aperçu

Étape 5: Création du circuit avec code

Créer le circuit avec le code !
Créer le circuit avec le code !
Créer le circuit avec le code !
Créer le circuit avec le code !
Créer le circuit avec le code !
Créer le circuit avec le code !

Comme on le voit ci-dessus à partir des schémas de circuit, nous devons configurer un bouton, un LDR et enfin deux LED RVB. Tout d'abord, nous allons configurer le bouton en bas à gauche de la planche à pain. Lors de votre configuration pour le bouton, nous utiliserons les lignes de chemin de fer communes, ce qui signifie que nous brancherons notre 3,3 V sur le positif et la terre pour le négatif. Après avoir terminé la configuration du circuit pour le bouton uniquement.

Nous allons tester notre circuit pour voir si nous pouvons faire en sorte que si le bouton est enfoncé, nous allumons la led en utilisant le code suivant:

#Modules importés de gpiozero import Bouton de picamera import PiCamera from time import sleep

#Installer

Caméra = PiCamera() Bouton = Bouton(22)

#Fonction de prise de photo, j'ai décidé de la mettre dans une fonction de définition car elle nous aide à nettoyer le code principal

def photocap():

Camera.start_preview()

sleep(5) Camera.capture('/home/pi/Desktop/image.jpg') print ("La photo a été prise") Camera.stop_preview()

#Code principal:

while True: if Button.is_pressed: print ("Le bouton a été enfoncé") photocap()

#Pourquoi cela fonctionne: le code principal fonctionne car tout ce que nous faisons est d'utiliser la commande if button.is_pressed in a while true donc il est constamment mis à jour lorsque le bouton est enfoncé pour prendre la photo

Maintenant, nous allons configurer 2 LED RVB jusqu'en haut du circuit et les séparer au milieu de la planche à pain et rendre le symétrique. Si vous n'avez pas de résistances de 220 ohms pour ce projet, vous pouvez les mettre en parallèle en fonction de votre résistance pour les résistances dont vous disposez. La deuxième broche de la LED RVB à 4 broches (la plus longue doit être connectée à la terre via le chemin de fer. Les autres broches doivent toutes être connectées à leurs propres broches GPIO. (Première broche = rouge, deuxième broche = terre, troisième broche = vert, Quatrième broche = bleu).

Nous allons tester une de nos LED RGB dans notre circuit de boutons avec le code ci-dessous:

#Modules importés de gpiozero import Bouton de picamera import PiCamera

de gpiozero importer RGBLED

du temps importer le sommeil

#Installer

Caméra = PiCamera() Bouton = Bouton(22)

Temporisé LED=RVBLED(rouge=21, vert=20, bleu=16)

#Fonction de prise de photo avec LED RVB, j'ai décidé de la mettre dans une fonction de définition car elle nous aide à nettoyer le code principal

def photocap(): Camera.start_preview() sleep(4)

timedled.color(1, 0, 0)

dormir(2)

timedled.color(0, 1, 0)

dormir(1)

Camera.capture('/home/pi/Desktop/image.jpg') print ("La photo a été prise") Camera.stop_preview()

#Code principal:

tant que vrai:

si Button.is_pressed:

print ("Le bouton a été enfoncé") photocap()

#Pourquoi cela fonctionne: la raison pour laquelle ce code fonctionne est que maintenant nous avons le RGBLED pour fonctionner comme une minuterie pour quand la photo va être prise

Configurez maintenant la résistance dépendante de la lumière sur le côté inférieur droit de la planche à pain en utilisant le diagramme tout en haut et les chemins de fer communs discutés précédemment. N'oubliez pas que les deux longues jambes du LDR et le condensateur doivent être connectés à la broche GPIO.

Après avoir connecté le LDR, nous allons utiliser le code suivant:

#Modules importés

à partir du bouton d'importation gpiozero

depuis picamera importer PiCamera depuis gpiozero importer RGBLED

de gpiozero importer LightSensor

du temps importer le sommeil

#Installer

Caméra = PiCamera() Bouton = Bouton(22) TimedLED=RGBLED (rouge=21, vert=20, bleu=16)

Capteur de lumière=Capteur de lumière(23)

#Fonction de prise de photo avec LED RVB, j'ai décidé de la mettre dans une fonction de définition car elle nous aide à nettoyer le code principal

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 ("La photo a été prise") Camera.stop_preview()

#Code principal:

tant que vrai:

if Button.is_pressed: print ("Le bouton a été enfoncé") photocap()

if Button.is_pressed et Lightsensor.when_dark:

imprimer ("Le bouton a été enfoncé")

print("Il fait noir")

photocap()

#Pourquoi cela fonctionne: la façon dont j'ai ajouté le capteur de lumière à mon code consiste à utiliser une autre instruction if qui contient la fonction importée du capteur de lumière.

Maintenant, la dernière étape de ce projet serait d'activer l'autre RGBLED symétrique à l'autre pour fonctionner comme une lampe de poche, Le code final:

à partir du bouton d'importation gpiozero

depuis picamera importer PiCamera

de gpiozero importer RGBLED

de gpiozero importer LightSensor

du temps importer le sommeil

#Installer

Caméra = PiCamera()

Bouton = Bouton (22)

Temporisé LED=RVBLED(rouge=21, vert=20, bleu=16)

FlashLED=RVBLED(rouge=19, vert=13, bleu=6)

Capteur de lumière=Capteur de lumière(23)

#Fonction de prise de photo avec LED RVB, j'ai décidé de la mettre dans une fonction de définition car elle nous aide à nettoyer le code principal 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 ("La photo a été prise") Camera.stop_preview() # Code principal: while True: if Button.is_pressed:

imprimer ("Le bouton a été enfoncé")

photocap()

if Button.is_pressed et Lightsensor.when_dark:

print ("Le bouton a été enfoncé") print("Il fait sombre")

FlashLED.color(1, 1, 1)

photocap()

#Pourquoi cela fonctionne: La façon dont j'ai ajouté ma lampe de poche consiste à utiliser la LED RVB pour afficher la couleur blanche qui est 1, 1, 1 et elle ne le fait que si la déclaration if est vraie.

Conseillé: