Cuprins:

Arduino Bascis - Redarea sunetelor și tonurilor: 5 pași
Arduino Bascis - Redarea sunetelor și tonurilor: 5 pași

Video: Arduino Bascis - Redarea sunetelor și tonurilor: 5 pași

Video: Arduino Bascis - Redarea sunetelor și tonurilor: 5 pași
Video: Arduino curs în limba română. [13] PWM. 2024, Noiembrie
Anonim
Image
Image

Am vrut să redau câteva efecte sonore și mi-am dat seama că acesta este unul dintre domeniile neglijate când vine vorba de tutoriale. Chiar și pe Youtube, există o lipsă de tutoriale bune despre Arduinos și sunete, așa că, fiind tipul drăguț, am decis să împărtășesc cunoștințele mele despre Arduinos.

Dacă nu vă place să citiți, iată videoclipul complet cu sunetele reale redate:

Pasul 1: În primul rând, elementele de bază

Conectarea difuzoarelor la Arudino
Conectarea difuzoarelor la Arudino

Dacă ați cumpărat vreodată un kit Arduino Starter, acestea conțin de obicei un buzzer activ / difuzor și un buzzer / difuzor pasiv.

Deci care este care?

Diferențele vizuale sunt următoarele:

- Difuzorul activ este de obicei mai înalt decât cel pasiv

- Difuzorul activ este sigilat în partea de jos, dar difuzorul pasiv are fundul deschis.

Diferențele tehnice constau în faptul că difuzorul Active a încorporat componente active care îi permit să funcționeze cu tensiune continuă.

Deci, dacă aplicăm o sursă de 5V sau 3V la un difuzor activ, acesta emite un sunet automat, în timp ce difuzorul pasiv funcționează cu o tensiune alternativă sau un semnal DC PWM.

Acum, că știm diferențele, să mergem mai departe și să le conectăm.

Pasul 2: Conectarea difuzoarelor la Arudino

Conexiunile sunt simple.

Unul dintre pinii PWM (PIns 2 până la 13) este conectat la pozitivul difuzorului, iar negativul este conectat la rezistența de 100 ohmi, care este conectată la masă.

Acum, putem merge la schița / codul nostru.

Pasul 3: Codul

Codul
Codul

Codul este de fapt doar o singură linie!

Dacă doriți doar să redați un singur ton, este nevoie doar de următoarele:

ton (pin, frecvență, durată)

Unde pin este pinul la care este conectat difuzorul, frecvența este frecvența (în Hz) și durata în milisecunde este opțională.

Simplu, nu? Să facem ceva mai interesant.

Pasul 4: Redarea tonului Supermario

Redarea tonului Supermario
Redarea tonului Supermario

Următoarele pot fi folosite pentru a reda tonul Supermario!

Pur și simplu lipiți și bucurați-vă de:

Arduino Mario Bros Tunes With Piezo Buzzer și PWM de: Dipto Pratyaksa Ultima actualizare: 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, NOTE_G6, NOTE_E7, NOTE_G7, NOTE_A7, 0, NOTE_F7, NOTE_G7, 0, NOTE_E7, 0, NOTE_C7, NOTE_D7, NOTE_B6, 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, NOTE_G6, NOTE_E7, NOTE_G7, NOTE_A7, 0, NOTE_F7, NOTE_G7, 0, NOTE_E7, 0, NOTE_C7, NOTE_D7, NOTE_B6, 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, };

//

Pasul 5: Ce urmează?

Ce vrei să joci ceva mai complex? Îți place muzica sau efectele sonore cu Arduino? Ei bine, memoria Arduino este limitată, deci nu este posibil să se probeze tonuri la o rată mai mare. În cazul în care trebuie să faceți ceva fantezist, veți avea nevoie de un card SD conectat la Arduino și să redați sunetul de pe card. Sper că ați învățat ceva din asta!

Luați în considerare abonarea la Fungineers pe Youtube; există tutoriale, lucruri de bricolaj, tipărire 3D geek-ery în fiecare săptămână!

Recomandat: