Sommario:

Arduino Bascis - Riproduzione di suoni e toni: 5 passaggi
Arduino Bascis - Riproduzione di suoni e toni: 5 passaggi

Video: Arduino Bascis - Riproduzione di suoni e toni: 5 passaggi

Video: Arduino Bascis - Riproduzione di suoni e toni: 5 passaggi
Video: Arduino esempio di programmazione di un buzzer passivo e attivo 2024, Novembre
Anonim
Image
Image

Volevo riprodurre alcuni effetti sonori e mi sono reso conto che questa è una delle aree trascurate quando si tratta di tutorial. Anche su Youtube mancano buoni tutorial su Arduino e suoni, quindi, essendo un bravo ragazzo, ho deciso di condividere la mia conoscenza di Arduino.

Se non ti piace leggere, ecco il video completo con i suoni effettivi riprodotti:

Passaggio 1: in primo luogo, le basi

Collegamento degli altoparlanti all'Arudino
Collegamento degli altoparlanti all'Arudino

Se hai mai acquistato un kit Arduino Starter, di solito contiene un cicalino/altoparlante attivo e un cicalino/altoparlante passivo.

Quindi quale è quale?

Le differenze visive sono le seguenti:

- L'altoparlante attivo è solitamente più alto di quello passivo

- L'altoparlante attivo è sigillato nella parte inferiore, ma l'altoparlante passivo ha il fondo aperto.

Le differenze tecniche sono che l'altoparlante attivo ha componenti attivi integrati che gli consentono di funzionare con tensione CC.

Quindi, se applichiamo un'alimentazione a 5 V o 3 V a un altoparlante attivo, emette automaticamente un segnale acustico, mentre l'altoparlante passivo funziona con una tensione CA o un segnale PWM CC.

Ora che conosciamo le differenze, andiamo avanti e colleghiamole.

Passaggio 2: collegamento degli altoparlanti all'Arudino

I collegamenti sono semplici.

Uno dei pin PWM (da 2 a 13) è collegato al positivo dell'altoparlante e il negativo è collegato a un resistore da 100 ohm, che è collegato a terra.

Ora possiamo andare al nostro sketch/codice.

Passaggio 3: il codice

Il codice
Il codice

Il Codice è in realtà solo una riga!

Se vuoi suonare solo un singolo tono, quanto segue è tutto ciò che serve:

tono (pin, frequenza, durata)

Dove pin è il Pin a cui è collegato l'altoparlante, la frequenza è la frequenza (in Hertz) e la durata in millisecondi è facoltativa.

Semplice, vero? Facciamo qualcosa di più interessante.

Passaggio 4: suonare il tono di Supermario

Suonare il tono di Supermario
Suonare il tono di Supermario

Quanto segue può essere usato per suonare il tono di Supermario!

Basta incollare e divertiti:

Arduino Mario Bros Tunes con piezo buzzer e PWM di: Dipto Pratyaksa ultimo aggiornamento: 31/3/13 */ #include

#define melodyPin 3 //Mario main theme melody int melody = { NOTE_E7, NOTE_E7, 0, NOTE_E7, 0, NOTE_C7, NOTE_E7, 0, NOTE_G7, 0, 0, 0, NOTE_G6, 0, 0, 0, NOTE_C7, 0, 0, NOTE_G6, 0, 0, NOTE_E6, 0, 0, NOTE_A6, 0, NOTE_B6, 0, NOTE_AS6, NOTE_A6, 0, NOTA_SOL6, NOTA_MI7, NOTA_SOL7, NOTA_LA7, 0, NOTA_FA7, NOTA_SOL7, 0, NOTA_MI7, 0, NOTA_DO7, NOTA_RE7, NOTA_Si6, 0, 0, NOTE_C7, 0, 0, NOTE_G6, 0, 0, NOTE_E6, 0, 0, NOTE_A6, 0, NOTE_B6, 0, NOTE_AS6, NOTE_A6, 0, NOTA_SOL6, NOTA_MI7, NOTA_SOL7, NOTA_LA7, 0, NOTA_FA7, NOTA_SOL7, 0, NOTA_MI7, 0, NOTA_DO7, NOTA_RE7, NOTA_Si6, 0, 0 }; //Mario main them tempo int tempo = { 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 9, 9, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 9, 9, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, };

//

Passaggio 5: cosa c'è dopo?

Cosa vuoi suonare qualcosa di più complesso? Ti piace la musica o gli effetti sonori con il tuo Arduino? Bene, la memoria di Arduino è limitata, quindi non è possibile campionare i toni a una velocità maggiore. Nel caso in cui dovessi fare qualcosa di stravagante, avresti bisogno di una scheda SD collegata ad Arduino e riprodurre il suono dalla scheda. Spero che tu abbia imparato qualcosa da questo!

Considera l'iscrizione a Fungineers su Youtube; ci sono tutorial, cose fai-da-te, fanatici della stampa 3D ogni settimana!

Consigliato: