Arduino zenei dallamgenerátor áramkör

Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére





Használhatja ezt a kis Arduino zenei dallamgenerátort egy előnyben részesített alkalmazáshoz, például érdekes ajtócsengő készítéséhez, autó hátrameneti kürtjeként vagy zenei dobozként valakinek ajándékozáshoz vagy egyszerűen személyes szórakozáshoz.

Hardver szükséges

A projekthez szükséges hardver a következő:



  • Arduino vagy Genuino tábla
  • piezo hangjelző vagy hangszóró
  • akasztós vezetékek

Az Arduino 9 V-os, 500 mA-es tápfeszültséggel működik, amely bármilyen szokásos SMPS AC-DC adapterről származhat, vagy kipróbálhatja ugyanezt a mobiltelefon-töltővel is.

Az Arduino 8. számú csatlakozója közvetlenül konfigurálható a hangszóróval, amelynek névleges értéke nem lehet 8 ohm és 1 watt felett.



Tehát a hangszóró egyik vezetéke összekapcsolódik az Arduino tábla 8. érintkezőjével, a másik vezeték pedig a kártya negatív vonalához vagy földvezetékéhez vezet.

Az erősített kimenethez

A hangosabb vagy hatalmas hangerősítés érdekében konfigurálhatja a # 8 tűt egy tranzisztor meghajtó fokozattal, amely egy TIP31 tranzisztorból áll, amelynek alapja összeköthető a pin8-tal 1K ellenálláson keresztül, az emitter a földön, a kollektor pedig a kábel egyik vezetékén. hangszóró, a spaker másik vezetéke most csatlakozik a pozitív tápellátáshoz, amely a 9V-os táp (+).

Itt győződjön meg arról, hogy a hangszóró 8 ohmos, de jóval nagyobb teljesítmény mellett 5 watt körüli lehet egy erősített zenei dallam generálásakor.

Ez a vázlat kódolva van, és elég sok véletlenszerűt generál
dallamok egymás után pentaton skálán
/*
Musician
Plays a (fairly) random tune until the program is stopped.
8-ohm speaker on digital pin 8.
//Copyright (c) 2012 Jeremy Fonte
//This code is released under the MIT license
//https://opensource.org/licenses/MIT
*/
int randomNote = 131
int randomDuration = 2
int noteStep = 1
int notes[15]
void setup() {
pinMode(8, OUTPUT)
notes[1] = 131
notes[2] = 147
notes[3] = 165
notes[4] = 196
notes[5] = 220
notes[6] = 262
notes[7] = 294
notes[8] = 330
notes[9] = 392
notes[10] = 440
notes[11] = 523
notes[12] = 587
notes[13] = 659
notes[14] = 784
notes[15] = 880
randomNote = random(1, 15)
}
void loop() {
noteStep = random(-3, 3)
randomNote = randomNote + noteStep
if(randomNote <1) {
randomNote = random(1, 15)
}
else if(randomNote > 15) {
randomNote = random(1, 15)
}
randomDuration = random(1, 8)
// to calculate the note duration, take one second
// divided by the note type.
//e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.
int noteDuration = 1000/randomDuration
tone(8, notes[randomNote],noteDuration)
// to distinguish the notes, set a minimum time between them.
// the note's duration + 30% seems to work well:
int pauseBetweenNotes = noteDuration * 1.30
delay(pauseBetweenNotes)
// stop the tone playing:
noTone(8)
}

Az alábbiakban látható a javasolt Arduino zenei dallamgenerátor áramkörének kapcsolási rajza:

Arduino zenei dallamgenerátor áramkör

A nagy teljesítményű, erősített hallgatáshoz ugyanaz a beállítás frissíthető egy tranzisztorral, amint az az alábbi ábrán látható:




Előző: 4 egyszerű Power Bank áramkör magyarázata Következő: Arduino RGB áramló szekvenciális fényáramkör