Satura rādītājs:
- Piegādes
- 1. darbība. Pārskats
- 2. solis: shēmas montāža
- 3. darbība. Kā darbojas ķēde
- 4. darbība. Kā darbojas kods
- 5. solis: dziesmas programmēšana
- 6. darbība. Atsauksmes
Video: Dziesmu veidošana ar Arduino un līdzstrāvas motoru: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
Citu dienu, ritinot dažus rakstus par Arduino, es pamanīju interesantu projektu, kurā īsu melodiju radīšanai tika izmantoti Arduino kontrolēti soļu motori. Arduino izmantoja PWM (impulsa platuma modulācijas) tapu, lai darbinātu soļu motoru noteiktās frekvencēs, kas atbilst mūzikas notīm. Nosakot, kuras frekvences tiek atskaņotas, no pakāpju motora varēja dzirdēt skaidru melodiju.
Tomēr, kad es pats to izmēģināju, es atklāju, ka mans pakāpju motors nevar griezties pietiekami ātri, lai radītu signālu. Tā vietā es izmantoju līdzstrāvas motoru, kuru ir salīdzinoši vienkārši programmēt un izveidot savienojumu ar Arduino. Lai viegli vadītu motoru no Arduino PWM tapas, var izmantot parasto L293D IC, un vietējā toņa () funkcija Arduino var ģenerēt nepieciešamo frekvenci. Man par pārsteigumu, tiešsaistē neatradu nevienu piemēru vai projektu, izmantojot līdzstrāvas motoru, un tāpēc šī instrukcija ir mana atbilde, lai to novērstu. Sāksim!
P. S. Es pieņemu, ka jums jau ir zināma pieredze ar Arduino un esat iepazinies ar tā programmēšanas valodu un aparatūru. Jums vajadzētu zināt, kas ir masīvi, kas ir PWM un kā to izmantot, kā darbojas spriegums un strāva. Ja jūs vēl neesat tur vai tikko sākāt lietot Arduino, neuztraucieties: izmēģiniet šo darba sākšanas lapu no oficiālās Arduino vietnes un atgriezieties, kad esat gatavs.:)
Piegādes
- Arduino (es izmantoju UNO, bet, ja vēlaties, varat izmantot citu Arduino)
- Standarta 5V līdzstrāvas motors, vēlams tāds, kuram var pievienot ventilatoru (skat. Attēlu sadaļā "Ķēdes montāža")
- L293D IC
- Tik daudz spiedpogu, cik piezīmes dziesmā, kuru vēlaties atskaņot
- Maizes dēlis
- Jumper vadi
1. darbība. Pārskats
Projekts darbojas šādi: Arduino noteiktā frekvencē ģenerēs kvadrātveida vilni, ko tas izvada uz L293D. L293D ir pievienots ārējam barošanas avotam, ko tas izmanto, lai darbinātu motoru tādā frekvencē, kādu to nodrošina Arduino. Novēršot līdzstrāvas motora vārpstas rotāciju, var dzirdēt, ka motors izslēdzas un ieslēdzas tādā frekvencē, kas rada signālu vai piezīmi. Mēs varam ieprogrammēt Arduino atskaņot piezīmes, nospiežot pogas, vai automātiski tās atskaņot.
2. solis: shēmas montāža
Lai saliktu ķēdi, vienkārši izpildiet iepriekš norādīto Fritzing diagrammu.
Padoms. Motora piezīmi vislabāk var dzirdēt, kad vārpsta negriežas. Es uzliku motora vārpstai ventilatoru un izmantoju kādu līmlenti, lai nekustīgi turētu ventilatoru, kamēr motors darbojās (skat. Attēlu). Tas neļāva vārpstai griezties un radīja skaidru, dzirdamu signālu. Jums, iespējams, būs jāpielāgo, lai no motora iegūtu tīru signālu.
3. darbība. Kā darbojas ķēde
L293D ir IC, ko izmanto salīdzinoši augsta sprieguma, lielas strāvas ierīču, piemēram, releju un motoru, vadīšanai. Arduino nevar vadīt lielāko daļu motoru tieši no izejas (un motora aizmugures EMF var sabojāt Arduino jutīgo digitālo shēmu), tāpēc tādu IC kā L293D var izmantot ar ārēju barošanas avotu, lai viegli darbinātu līdzstrāvas motoru. Ievadot signālu L293D, tas pats signāls tiks izvadīts līdzstrāvas motoram, neriskējot sabojāt Arduino.
Augšpusē ir L293D pinout/funkcionālā shēma no tās datu lapas. Tā kā mēs braucam tikai ar 1 motoru (L293D var vadīt 2), mums ir nepieciešama tikai viena IC puse. 8. tapa ir jauda, 4. un 5. tapas ir GND, 1. tapa ir PWM izeja no Arduino, un 2. un 7. tapas kontrolē motora virzienu. Ja tapas 2 ir HIGH un 7. tapas ir LOW, motors griežas vienā virzienā, un, ja 2. tapa ir LOW un 7. tapa ir HIGH, motors griežas citā virzienā. Tā kā mums ir vienalga, kādā virzienā motors griežas, nav nozīmes tam, vai 2. un 7. tapa ir ZEMA vai AUGTA, ja vien tie atšķiras viens no otra. 3. un 6. tapas savienojas ar motoru. Ja vēlaties, varat visu savienot ar otru pusi (tapas 9-16), taču ņemiet vērā, ka strāvas un PWM tapas pārslēdzas uz vietām.
Piezīme. Ja jūs izmantojat Arduino, kuram nav pietiekami daudz tapu katrai pogai, varat izmantot rezistoru tīklu, lai visus slēdžus savienotu ar vienu analogo tapu, piemēram, šajā instrukcijā. Kā tas darbojas, šis projekts neietilpst, bet, ja kādreiz esat izmantojis R-2R DAC, jums tas ir jāatzīst. Ņemiet vērā, ka, izmantojot analogo tapu, būs jāpārraksta liela koda daļa, jo pogu bibliotēku nevar izmantot ar analogām tapām.
4. darbība. Kā darbojas kods
Lai būtu vieglāk rīkoties ar visām pogām, es izmantoju bibliotēku ar nosaukumu madleech “Poga”. Es vispirms iekļāvu bibliotēku. Tālāk 8-22 rindās es definēju frekvences piezīmēm, kas vajadzīgas, lai atskaņotu Twinkle, Twinkle, Little Star (piemēra dziesma), tapu, ko izmantošu, lai vadītu L293D, un pogas.
Iestatīšanas funkcijā es inicializēju sēriju, pogas un iestatīju L293D draivera tapu izvades režīmā.
Visbeidzot, galvenajā cilpā es pārbaudīju, vai nav nospiesta poga. Ja tā ir, Arduino atskaņo atbilstošo piezīmi un izdrukā piezīmes nosaukumu seriālajā monitorā (noder, lai zinātu, kuras piezīmes atrodas jūsu maizē). Ja piezīme tiek atbrīvota, arduino pārtrauc jebkuru skaņu ar noTone ().
Diemžēl bibliotēkas struktūras dēļ es nevarēju atrast veidu, kā pārbaudīt, vai poga ir nospiesta vai atbrīvota mazāk detalizēti, nekā izmantojot 2 nosacījumus uz piezīmi. Vēl viens šī koda trūkums ir tāds, ka, nospiežot divas pogas vienlaikus un pēc tam atlaižot vienu no tām, abas piezīmes tiks apturētas, jo noTone () pārtrauc visu piezīmju ģenerēšanu neatkarīgi no tā, kura piezīme to aktivizēja.
5. solis: dziesmas programmēšana
Tā vietā, lai izmantotu pogas piezīmju atskaņošanai, varat arī ieprogrammēt Arduino, lai tā automātiski atskaņotu melodiju. Šeit ir pirmās skices modificēta versija, kurā uz motora tiek atskaņota Twinkle, Twinkle, Little Star. Skices pirmā daļa ir vienāda - nosaka notu frekvences un toniPin. Mēs nonākam pie jaunās daļas pie bpm = "100". Es iestatīju sitienus minūtē (sitieni minūtē) un pēc tam izmantoju kādu matemātiku, lai noskaidrotu milisekundes skaitu uz sitienu, kuram bpm atbilst. Lai to izdarītu, es izmantoju paņēmienu, ko sauc par dimensiju analīzi (neuztraucieties - tas nav tik grūti, kā izklausās). Ja esat kādreiz apmeklējis vidusskolas ķīmijas kursu, jūs noteikti izmantojāt dimensiju analīzi, lai konvertētu starp vienībām. Pludiņi () ir paredzēti, lai nodrošinātu, ka nekas vienādojumā nav noapaļots līdz pašām beigām, lai iegūtu precizitāti.
Kad esam saņēmuši ms/sitienu skaitu, es to attiecīgi sadalīju vai reizināju, lai atrastu dažādu mūzikā atrasto notu ilguma milisekundes vērtības. Pēc tam es izveidoju masīvu no katras piezīmes hronoloģiskā secībā un vēl vienu ar katras piezīmes ilgumu. Ir ļoti svarīgi, lai katras nots indekss atbilstu tās ilguma indeksam, pretējā gadījumā jūsu melodija atskanēs. Šeit es ievietoju piezīmes par Twinkle, Twinkle, Little Star, bet jūs varat izmēģināt jebkuru dziesmu vai piezīmju secību, kādu vēlaties.
Īstā maģija notiek cilpas funkcijā. Katrai piezīmei es atskaņoju signālu kādu laiku, ko norādīju masīvā beat_values. Tā vietā, lai šeit izmantotu aizkavi, kas izraisītu toņa atskaņošanu, es ierakstīju laiku kopš programmas sākuma ar funkciju millis () un atņemu to no pašreizējā laika. Kad laiks pārsniedz laiku, kurā norādīju noti, lai tā paliktu beat_values masīvā, es pārtraucu piezīmi. Aizkave pēc for cikla ir paredzēta, lai pievienotu atstarpi starp piezīmēm, nodrošinot, ka nākamās piezīmes ar tādu pašu frekvenci nesajaucas kopā.
6. darbība. Atsauksmes
Tas ir šim projektam. Ja kaut ko nesaprotat vai jums ir kādi ieteikumi, lūdzu, nevilcinieties sazināties ar mani. Tā kā šī ir mana pirmā pamācība, es ļoti priecātos par komentāriem un ieteikumiem par šī satura uzlabošanu. Tiksimies nākamreiz!
Ieteicams:
Līdzstrāvas līdzstrāvas pastiprinātājs MT3608: 6 soļi
DC-DC pastiprināšanas pārveidotājs MT3608: šī apmācība parādīs, kā izmantot MT3608 pastiprinātāja pārveidotāju, lai ieslēgtu ierīces, kurām nepieciešams atšķirīgs spriegums. Mēs parādīsim, kuri ir labākie bateriju veidi, ko izmantot ar pārveidotāju, un kā iegūt vairāk nekā tikai vienu izeju no pārveidotāja
Kā kontrolēt līdzstrāvas motoru ar L298n un Arduino: 5 soļi
Kā kontrolēt līdzstrāvas motoru ar L298n un Arduino: Sveiki visiem. Iepazīstinām ar sevi. Mans vārds ir Dimitris un es esmu no Grieķijas. Es ļoti mīlu Arduino, jo tā ir gudra tāfele. Es centīšos pēc iespējas labāk aprakstīt šo pamācību, lai to padarītu ikviens. Tātad sāksim
Kontrolējiet jaudīgu elektrisko skeitborda e-velosipēdu 350 W līdzstrāvas motoru, izmantojot Arduino un BTS7960b: 9 soļi
Kontrolējiet jaudīgu elektrisko skeitborda e-velosipēdu 350 W līdzstrāvas motoru, izmantojot Arduino un BTS7960b: Šajā apmācībā mēs uzzināsim, kā kontrolēt līdzstrāvas motoru, izmantojot Arduino un DC draiveri bts7960b. Motors var būt 350 W vai tikai mazs rotaļlietu arduino līdzstrāvas motors kamēr tā jauda nepārsniedz BTS7960b draivera maksimālo strāvu. Noskatieties video
Maiņstrāvas līdz +15V, -15V 1A mainīgs un 5V 1A līdzstrāvas līdzstrāvas barošanas avots: 8 soļi
Maiņstrāvas līdz +15V, -15V 1A mainīgs un 5V 1A līdzstrāvas līdzstrāvas barošanas avots: Barošanas avots ir elektroierīce, kas piegādā elektroenerģiju elektriskai slodzei. Šim modeļa barošanas avotam ir trīs cietvielu līdzstrāvas barošanas avoti. Pirmā padeve nodrošina mainīgu pozitīvu 1,5 līdz 15 voltu jaudu līdz 1 ampēriem
Līdzstrāvas motoru vadīšana ar Arduino un L293: 5 soļi (ar attēliem)
Līdzstrāvas motoru vadīšana ar Arduino un L293: vienkāršs veids, kā vadīt līdzstrāvas motorus. Viss, kas jums nepieciešams, ir zināšanas elektronikā un programmēšanā Ja jums ir kādi jautājumi vai problēmas, varat sazināties ar mani pa manu e -pastu: [email protected] Apmeklējiet manu youtube kanālu: https : //www.youtube.com/channel/UCuS39O01OyP