Satura rādītājs:
Video: Arduino Soundlab: 3 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Ir neticami, cik plašu apbrīnojamo skaņu spektru var radīt, izmantojot FM sintēzes tehniku, pat izmantojot vienkāršu Arduino. Iepriekšējā pamācībā tas tika ilustrēts ar sintezatoru, kuram bija 12 iepriekš ieprogrammētas skaņas, taču skatītājs ieteica, ka būtu daudz vēsāk pilnībā kontrolēt skaņas parametrus ar potenciometriem, un tā tas ir!
Šajā skaņas laboratorijā toņus var kontrolēt ar 8 parametriem: 4 ADSR skaļuma aploksnei un 4 frekvences modulācijai, kas nosaka tekstūru.
8 potenciometru pievienošana nenotika par atslēgu skaitu: trīs astoņu atslēgu komplekti tiek nolasīti dažas mikrosekundes viens pēc otra, kopā 24 atslēgas, kas atbilst divām pilnām oktāvām. Faktiski divas Arduino tapas nav izmantotas, un būtu iespējams paplašināt līdz 40 taustiņiem.
Skatiet videoklipu, lai uzzinātu savvaļas skaņas, šeit ir īss pārskats:
* A = uzbrukums: laiks signālam sasniegt maksimālo skaļumu (diapazons 8ms-2s)
* D = sabrukšana: laiks, lai tonis nokristu līdz vienmērīgam skaļuma līmenim (diapazons 8ms-2s)
* S = uzturēt: vienmērīgs skaļuma līmenis (diapazons 0–100%)
* R = atbrīvošana: laiks, lai tonis izzustu (diapazons 8ms-2s)
* f_m: modulācijas frekvences un nesējfrekvences (diapazons 0,06-16) vērtību attiecība zem 1 rada apakštoņus, augstākas vērtības virstoņos
* beta1: FM modulācijas amplitūda notas sākumā (diapazons 0,06-16), nelielas vērtības rada nelielas skaņas faktūras variācijas. lielas vērtības rada trakas skaņas
* beta2: FM modulācijas amplitūda notas beigās (diapazons 0,06-16) Piešķiriet beta2 atšķirīgu vērtību nekā beta1, lai skaņas tekstūra attīstītos laikā.
* tau: ātrums, ar kādu FM amplitūda mainās no beta1 uz beta 2 (diapazons 8ms-2s).
1. solis: būvniecība
Skaidrs, ka tas joprojām ir prototips, es ceru, ka kādu dienu es vai kāds cits uzbūvēšu šo lielo, spēcīgo un skaisto ar lielām atslēgām un reāliem ciparnīcām potenciometriem lieliskā korpusā….
Nepieciešamās sastāvdaļas:
1 Arduino Nano (tas nedarbosies ar Uno, kuram ir tikai 6 analogās ieejas)
24 spiedpogas
8 potenciometri diapazonā no 1kOhm līdz 100kOhm
1 potenciometrs 10 kOhm skaļuma kontrolei
1 kondensators - 10 mikrofaradu elektrolīts
1 3,5 mm austiņu ligzda
1 LM386 audio pastiprinātāja mikroshēma
2 1000 mikrofaradu elektrolītiskais kondensators
1 keramikas 1 mikrofarada kondensators
1 mikroslēdzis
1 8 omi 2 vatu skaļrunis
1 10x15cm prototipa dēlis
Pārliecinieties, ka saprotat pievienotās shēmas. 24 pogas tiek savienotas 3 grupās pa 8, nolasāmas D0-D7 un jāaktivizē D8, D10 un D11. Katliem ir +5V un zemējums uz gala krāniem, un centrālie krāni tiek padoti uz analogo ieeju A0-A7. D9 ir audio izeja, un tas tiek pievienots maiņstrāvas savienojumam ar 10 kOhm potenciometru skaļuma kontrolei. Skaņu var klausīties tieši ar austiņām vai pastiprināt ar LM386 audio pastiprinātāja mikroshēmu.
Tas viss ir piemērots 10x15 cm prototipa plāksnei, taču pogas ir pārāk tuvu, lai tās varētu labi atskaņot, tāpēc labāk būtu izveidot lielāku tastatūru.
Ķēdi var darbināt, izmantojot Arduino Nano USB savienojumu, vai ar ārēju 5 V barošanas avotu. 2xAA bateriju kārba, kam seko pastiprinātājs, ir ideāls barošanas risinājums.
2. darbība: programmatūra
Augšupielādējiet pievienoto skici Arduino Nano, un visiem vajadzētu darboties.
Kods ir vienkāršs un viegli modificējams, nav mašīnas koda un nav pārtraukumu, bet ir pāris tiešas mijiedarbības ar reģistriem, lai mijiedarbotos ar taimeri, lai paātrinātu pogu nolasīšanu un kontrolētu ADC darbību potenciometra nolasīšanai
3. darbība. Turpmākie uzlabojumi
Idejas no sabiedrības vienmēr ir laipni gaidītas!
Mani visvairāk uztrauc pogas: tās ir niecīgas un spiežot spēcīgi noklikšķina. Būtu patiešām jauki, ja būtu lielākas pogas, kuras būtu ērtāk nospiest. Arī spēka vai ātruma jutības pogas ļautu kontrolēt notu skaļumu. Varbūt varētu darboties 3 virzienu pogas vai skārienjutīgas pogas?
Citas jaukas lietas būtu skaņas iestatījumu saglabāšana EEPROM, īsu melodiju saglabāšana EEPROM ļautu arī veidot daudz interesantāku mūziku. Visbeidzot, varētu radīt sarežģītākas skaņas, ja kāds zina, kā skaitļošanas ziņā efektīvi ģenerēt perkusijas skaņas, tas būtu lieliski…
Ieteicams:
Arduino brīdinājuma sistēma par automašīnas novietošanu atpakaļgaitā Soli pa solim: 4 soļi
Arduino brīdinājuma sistēma par automašīnas novietošanu atpakaļgaitā Soli pa solim: Šajā projektā es izveidošu vienkāršu Arduino automašīnas atpakaļgaitas stāvvietas sensora shēmu, izmantojot Arduino UNO un ultraskaņas sensoru HC-SR04. Šo uz Arduino bāzēto automašīnas reverso brīdinājuma sistēmu var izmantot autonomai navigācijai, robotu diapazonam un citiem diapazoniem
Arduino Halloween Edition - zombiju uznirstošais ekrāns (soļi ar attēliem): 6 soļi
Arduino Helovīna izdevums - zombiju uznirstošais ekrāns (soļi ar attēliem): Vai vēlaties Helovīnā nobiedēt savus draugus un radīt kliedzošu troksni? Vai arī vienkārši gribi uztaisīt labu palaidnību? Šis zombiju uznirstošais ekrāns to var izdarīt! Šajā pamācībā es iemācīšu jums, kā viegli izveidot izlecošus zombijus, izmantojot Arduino. HC-SR0
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): 8 soļi
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): ultraskaņas skaņas pārveidotāji L298N līdzstrāvas adaptera strāvas padeve ar vīriešu līdzstrāvas tapu Arduino UNOBreadboard un analogie porti koda konvertēšanai (C ++)
RC izsekots robots, izmantojot Arduino - soli pa solim: 3 soļi
RC izsekots robots, izmantojot Arduino - Soli pa solim: Sveiki, puiši, esmu atpakaļ ar vēl vienu atdzist robota šasiju no BangGood. Ceru, ka esat izgājis cauri mūsu iepriekšējiem projektiem - Spinel Crux V1 - Žestu kontrolētais robots, Spinel Crux L2 - Arduino Pick and Place Robot with Robotic Arms un The Badland Braw
DIY Arduino robotu roka, soli pa solim: 9 soļi
DIY Arduino robotu roka, soli pa solim: Šī apmācība māca jums pašam izveidot robota roku