Nota

Ciao, benvenuto nella SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community su Facebook! Approfondisci l’esplorazione del Raspberry Pi, Arduino ed ESP32 con altri appassionati.

Perché unirti a noi?

  • Supporto esperto: Risolvi i problemi post-vendita e le sfide tecniche con l’aiuto della nostra comunità e del nostro team.

  • Impara e condividi: Scambia consigli e tutorial per migliorare le tue competenze.

  • Anteprime esclusive: Accedi in anteprima agli annunci di nuovi prodotti e alle anticipazioni esclusive.

  • Sconti speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.

  • Promozioni e omaggi festivi: Partecipa a omaggi e promozioni speciali durante le festività.

👉 Sei pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti oggi stesso!

4.1.4 Fotocamera automatica di cattura

Introduzione

Quando sei fuori, gli scoiattoli del bosco potrebbero visitare il tuo davanzale. Creiamo una fotocamera automatica di cattura per immortalare queste piccole creature!

Componenti necessari

In questo progetto, avremo bisogno dei seguenti componenti.

../_images/3.1.18components.png

È sicuramente conveniente acquistare un kit completo, ecco il link:

Nome

ELEMENTI IN QUESTO KIT

LINK

Kit Raphael

337

Raphael Kit

Puoi anche acquistarli separatamente dai link sottostanti.

INTRODUZIONE AI COMPONENTI

LINK PER L’ACQUISTO

Scheda di estensione GPIO

ACQUISTA

Breadboard

ACQUISTA

Cavi Jumper

ACQUISTA

Resistore

ACQUISTA

Modulo Fotocamera

ACQUISTA

Modulo Sensore di Movimento PIR

-

Schema elettrico

T-Board Name

physical

wiringPi

BCM

GPIO17

Pin 11

0

17

../_images/1.1.18_schematic.png

Procedura sperimentale

Prima di iniziare questo progetto, assicurati di aver completato 3.1.1 Modulo Fotografico.

Passo 1: Costruisci il circuito.

../_images/3.1.18fritzing.png

Passo 2: Per collegare il modulo fotocamera e completare la configurazione, fai riferimento a: Modulo Fotocamera.

Passo 3: Accedi al Desktop del Raspberry Pi. Potresti aver bisogno di uno schermo per un’esperienza migliore, fai riferimento a: Connetti il tuo Raspberry Pi. Oppure accedi al desktop del Raspberry Pi da remoto, per un tutorial dettagliato fai riferimento a: Accesso Desktop Remoto per Raspberry Pi.

Passo 4: Apri un Terminale ed entra nella cartella del codice.

cd ~/raphael-kit/python/

Passo 5: Esegui.

sudo python3 4.1.4_AutomaticCaptureCamera.py

Dopo l’esecuzione del codice, il PIR rileverà l’ambiente circostante e, se percepisce lo scoiattolo, la fotocamera scatterà una foto. L’intervallo tra le foto è di 3 secondi e il numero totale di foto scattate verrà mostrato nella finestra di stampa.

Ci sono due potenziometri sul modulo PIR: uno per regolare la sensibilità e l’altro per regolare la distanza di rilevamento. Per far funzionare meglio il modulo PIR, è necessario girarli entrambi completamente in senso antiorario.

../_images/PIR_TTE.png

Nota

Puoi anche aprire 4.1.4_AutomaticCaptureCamera.py nel percorso ~/raphael-kit/python/ utilizzando un IDE Python, clicca sul pulsante Esegui per eseguire e interrompi il codice con il pulsante Stop.

Codice

Nota

Puoi Modificare/Resettare/Copiare/Eseguire/Fermare il codice qui sotto. Ma prima di farlo, devi andare nel percorso del codice sorgente come raphael-kit/python. Dopo aver modificato il codice, puoi eseguirlo direttamente per vedere l’effetto.

#!/usr/bin/env python3

from picamera import PiCamera
import RPi.GPIO as GPIO
import time
import os
user = os.getlogin()
user_home = os.path.expanduser(f'~{user}')


camera = PiCamera()

pirPin = 17    # il PIR è collegato al pin17

def setup():
   GPIO.setmode(GPIO.BCM)
   GPIO.setup(pirPin, GPIO.IN)
   camera.start_preview(alpha=200)

def main():
   i = 1
   while True:
      pirVal = GPIO.input(pirPin)
      if pirVal==GPIO.HIGH:
            camera.capture(f'{user_home}/capture%s.jpg' % i)
            print('The number is %s' % i)
            time.sleep(3)
            i = i + 1

def destroy():
   GPIO.cleanup()
   camera.stop_preview()

if __name__ == '__main__':
   setup()
   try:
      main()
   except KeyboardInterrupt:
      destroy()

Spiegazione del Codice

pirVal = GPIO.input(pirPin)
if pirVal==GPIO.HIGH:
      camera.capture(f'{user_home}/capture%s.jpg' % i)
      print('The number is %s' % i)
      time.sleep(3)
      i = i + 1

Ogni volta che lo scoiattolo viene rilevato dal modulo PIR, il Raspberry Pi scatterà una foto e ti dirà attraverso la finestra di stampa quante foto sono state scattate. L’intervallo tra ogni foto è di 3 secondi.

Immagine del fenomeno

../_images/4.1.4spycamera.JPG