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!
Piano di Frutta
Questo progetto è un semplice piano di frutta che legge gli input da un sensore touch MPR121 e riproduce musica tramite un DAC. In altre parole, abbiamo trasformato la frutta in una tastiera, permettendoti di suonare musica semplicemente toccandola.
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
Schema Elettrico
Codice
Nota
Puoi aprire il file
02_fruit_piano.ino
nel percorsoelite-explorer-kit-main\fun_project\02_fruit_piano
direttamente.Oppure copia questo codice nell’Arduino IDE.
Nota
Per installare la libreria, usa l’Arduino Library Manager, cerca «Adafruit MPR121» e installala.
Come funziona?
Ecco una spiegazione passo-passo del codice:
Inizializzazione delle Librerie e degli Oggetti:
Importa le librerie necessarie: la libreria
Wire
(per la comunicazione I2C), la libreriaAdafruit_MPR121
(per controllare l’MPR121), la libreriaanalogWave
(per generare forme d’onda analogiche) epitches.h
(che definisce le frequenze delle note). Crea istanze degli oggettiAdafruit_MPR121
eanalogWave
. Definisci un array di note per memorizzare la nota corrispondente a ciascun canale touch.setup()
:Inizializza la comunicazione Serial e attendi che inizi. Controlla e inizializza l’MPR121; se non trovato, stampa un messaggio di errore sul monitor seriale e interrompi l’esecuzione. Inizializza l’oggetto
analogWave
e imposta la frequenza iniziale dell’onda sinusoidale a 10Hz.loop()
:Leggi i canali attualmente toccati dell’MPR121. Itera attraverso tutti i canali, controlla quale è toccato e riproduci la nota corrispondente. Aggiungi un piccolo ritardo tra ogni iterazione.
Riproduci Nota
playNote()
:La funzione
playNote
prende un parametronote
e imposta la frequenza del DAC per riprodurre la nota corrispondente. Ritarda per un periodo per riprodurre la nota. Interrompi la riproduzione della nota.