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+ |
Puoi anche acquistarli separatamente dai link sottostanti.
INTRODUZIONE COMPONENTI |
LINK ACQUISTO |
---|---|
- |
|
- |
Collegamenti
![../_images/01_welcome_bb.png](../_images/01_welcome_bb.png)
Schema Elettrico
![../_images/01_welcome_schematic.png](../_images/01_welcome_schematic.png)
Codice
Nota
Puoi aprire il file
01_welcome.ino
nel percorsoelite-explorer-kit-main\fun_project\01_welcome
direttamente.Oppure copia questo codice nell’Arduino IDE.
Come funziona?
Ecco una spiegazione passo-passo del codice:
Includere i File Header:
Includi due file header,
analogWave.h
epitches.h
. Il fileanalogWave.h
contiene la definizione della classeanalogWave
, mentrepitches.h
contiene le definizioni delle note musicali.Istanziamento degli Oggetti e Definizione delle Costanti:
Crea un oggetto
wave
utilizzando la classeanalogWave
e definisciPIR_PIN
come 2, che è il pin collegato al sensore PIR.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%).Variabili Globali:
Definisci alcune variabili globali per la condivisione dei dati tra le funzioni.
setup()
:Inizializza
PIR_PIN
come input e imposta la frequenza dell’onda sinusoidale a 10 Hz utilizzandowave.sine(10)
.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.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 utilizzandowave.freq()
e controlla la durata delle note e delle pause tra le note utilizzando la funzionedelay()
.Nota: Assicurati che il file header
pitches.h
esista effettivamente prima di eseguire questo codice.