Nota

Ciao, benvenuto nella community SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts su Facebook! Approfondisci Raspberry Pi, Arduino ed ESP32 con altri appassionati.

Perché unirsi?

  • Supporto Esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra community e del nostro team.

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

  • Anteprime Esclusive: Ottieni l’accesso anticipato agli annunci di nuovi prodotti e anteprime esclusive.

  • Sconti Speciali: Goditi sconti esclusivi sui nostri prodotti più recenti.

  • Promozioni e Concorsi Festivi: Partecipa a concorsi e promozioni festive.

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

Benvenuto

In questo progetto, useremo un sensore PIR per rilevare la presenza umana e un altoparlante per simulare un campanello, simile ai campanelli delle porte nei negozi di convenienza. Quando un pedone appare nel raggio del sensore PIR, l’altoparlante suonerà, imitando un campanello.

Componenti Necessari

In questo progetto, abbiamo bisogno dei seguenti componenti.

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

Nome

ELEMENTI IN QUESTO KIT

LINK

Elite Explorer Kit

300+

Elite Explorer Kit

Puoi anche acquistarli separatamente dai link sottostanti.

INTRODUZIONE COMPONENTI

LINK ACQUISTO

Arduino Uno R4 WiFi

-

Breadboard

ACQUISTA

Cavi Jumper

ACQUISTA

Resistenza

ACQUISTA

Modulo Sensore di Movimento PIR

ACQUISTA

Modulo Audio e Altoparlante

-

Collegamenti

../_images/01_welcome_bb.png

Schema Elettrico

../_images/01_welcome_schematic.png

Codice

Nota

  • Puoi aprire il file 01_welcome.ino nel percorso elite-explorer-kit-main\fun_project\01_welcome direttamente.

  • Oppure copia questo codice nell’Arduino IDE.

Come funziona?

Ecco una spiegazione passo-passo del codice:

  1. Includere i File Header:

    Includi due file header, analogWave.h e pitches.h. Il file analogWave.h contiene la definizione della classe analogWave, mentre pitches.h contiene le definizioni delle note musicali.

  2. Istanziamento degli Oggetti e Definizione delle Costanti:

    Crea un oggetto wave utilizzando la classe analogWave e definisci PIR_PIN come 2, che è il pin collegato al sensore PIR.

  3. Array della Melodia:

    L’array melody definisce una melodia musicale, con ogni nota seguita da un numero che rappresenta la sua durata. I numeri negativi rappresentano note puntate (aumentando la durata del 50%).

  4. Variabili Globali:

    Definisci alcune variabili globali per la condivisione dei dati tra le funzioni.

  5. setup():

    Inizializza PIR_PIN come input e imposta la frequenza dell’onda sinusoidale a 10 Hz utilizzando wave.sine(10).

  6. loop():

    Monitora continuamente il valore del sensore PIR. Se viene rilevata la presenza umana (pirValue è HIGH), chiama la funzione playMelody() per riprodurre la melodia e attendi 10 secondi per evitare la riproduzione ripetitiva della melodia.

  7. playMelody():

    Questa funzione calcola la durata di ogni nota in base ai dati nell’array melody e riproduce la nota corrispondente. C’è una breve pausa tra le note. La funzione imposta la frequenza della forma d’onda utilizzando wave.freq() e controlla la durata delle note e delle pause tra le note utilizzando la funzione delay().

    Nota: Assicurati che il file header pitches.h esista effettivamente prima di eseguire questo codice.