Мазмуну:
Video: Ардуино - Пьезо үч баскычтуу фортепиано: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Үч баскычтуу фортепиано-бул башталгычтар үчүн Arduino колдонуу тажрыйбасы бар долбоор.
Биринчи жолу пьезо -зумер менен ойноп жатып, мен муну байкабай байкап калдым. Өтө катуу болду! Зонду басаңдатуу үчүн ар кандай ыкмаларды табууга аракет кылып, тон () жана noTone () функциясын колдонуп, ар кандай жыштыктарды сынап жатып, пьезо баззерди менин башка сүйүктүү компоненттерим менен Arduino менен аралаштыруу кызыктуу болушу мүмкүн экенин түшүндүм. комплект: баскычтар жана потенциометр.
Керектүү материалдар төмөнкүлөрдү камтыйт:
- 1 Arduino
- 1 Breadboard
- 1 USB кабели
- Jumper Wires (ар кандай түстөр)
- 1 330 Километрлик резистор
- 1 Piezo Buzzer
- 3 баскычтар
- 1 потенциометр
1 -кадам: Piezo Buzzer
Баштоо үчүн, Arduino панелине пьезону орнотуңуз. Анын бир жагы (бутунун кыска тарабы) жерге чуркашы керек. Башка жагы (бутунун узун тарабы) санарип кирүүчү пинге туташуусу керек. Мен аны 8ге туташтырууну чечтим.
2 -кадам: баскычтарды басыңыз
Андан кийин, баскычтарды орнотууга убакыт келди. Пьезо сыяктуу эле, баскычтар жерге жана санарип киргизүү пинине туташуусу керек.
3 -кадам: потенциометр
Физикалык курулуштун акыркы кадамы - потенциометр. Потенциометрлер ар кандай формада болот. Биз потенциометрди чыңалуу бөлүүчү катары колдонобуз, андыктан анын үч бутун тең туташтыруу керек.
Оң бут: Негатив тилкеси (жер)
Орто бут: Аналогдук пин 0
Сол бут: Позитивдүү тилке
4 -кадам: код
Бул проекттин кодун жазып жатып, мен бир нече конкреттүү функциялар боюнча маалыматка кайрылдым:
тон ()
noTone () (мен муну колдонуп бүткөн жокмун. Анын ордуна жыштыкты "0" кылып койгом.)
карта ()
Piezo Buzzers биринчи жолу колдонуучулар үчүн дагы бир сонун маалымдама бул жерден тапса болот. Пьезо сигналынын үнүн өзгөртүү идеясы жөнөкөй көрүнгөнү менен, башында бир аз басымдуу болушу мүмкүн!
Ton () функциясын үч бөлүккө бөлүүгө болот:
- Пин (пьезо сигналынын туташкан пин)
- Жыштык (герцтеги үндүн жыштыгы)
- Узактык (миллисекундта берилген үндүн узактыгы)
Негизинен, мындай көрүнөт: тон (пин, жыштык, узактык). Үчүнчү компонент (узактыгы) милдеттүү эмес, калган экөө коңгуроонун иштеши үчүн зарыл. Тон функциясынын "жыштык" компоненти - бул ызы -чуу чыгарган "үн" деп ойлоого болот.
Сиз коддун башка эки бит коду бар экенин байкайсыз. Кээ бир if/else билдирүүлөрү Arduinoго ар кандай баскычтар басылса, эмне кылуу керектигин, ошондой эле баскычтардын бири да басылбаган учурда аны "жыштыгы = 0" менен орнотуу үчүн орнотулган. If/else билдирүүлөрүнүн ичинде map () функциялары потенциометрдин масштабын жыштыктар топтомуна картага түшүрүү үчүн колдонулат. Буларды өзгөртсө болот! Пьезодон кандай үндөрдү алууга болорун көрүү үчүн ар кандай жыштыктагы маанилер менен ойноңуз.
Үч баскычтуу фортепианону жаратуу үчүн колдонулган кодду бул жерден текшериңиз же төмөндө текшериңиз.
int piezoPin = 8; // Piezo менен байланышкан пин орнотуу.
int sensorPin = 0; // Сенсорго туташкан пин орнотуу (потенциометр). int sensorValue = 0;
int button1 = 5; // Баскычтарга туташкан кирүү казыктарын орнотуңуз.
int button2 = 4; int button3 = 3;
int жыштыгы = 0;
const int delayTime = 500; // Tone () функциясында кечигүү убактысынын өзгөрмөсү үчүн константаны орнотуңуз.
жараксыз орнотуу () {
pinMode (button1, INPUT_PULLUP); pinMode (button2, INPUT_PULLUP); pinMode (button3, INPUT_PULLUP); }
void loop () {
sensorValue = analogRead (sensorPin); // Сенсорду окуу. // Потенциометрдин ар кандай маанилерин үч баскычтын ар бир жыштыгына картага түшүрүү. if (digitalRead (button1) == LOW) {жыштык = карта (sensorValue, 0, 1023, 400, 499); } else if (digitalRead (button2) == LOW) {жыштык = карта (sensorValue, 0, 1023, 500, 599); } else if (digitalRead (button3) == LOW) {жыштык = карта (sensorValue, 0, 1023, 600, 699); } else {жыштыгы = 0; } обон (piezoPin, жыштык, delayTime); // Tone () функцияларын өзгөрмөлөр менен орнотуңуз. }
Сунушталууда:
Эки баскычтуу релелик которуу: 3 кадам
Эки баскычтуу релелик которуу: Бул макалада баскыч баскычын кантип күйгүзүү жана өчүрүү керектиги көрсөтүлөт. Бул схеманы эки которгуч менен жасаса болот. Сиз бир которгучту бассаңыз, лампа күйөт. Сиз башка которгучту бассаңыз, лампа ӨЧӨР. Бирок, бул Инс
Ардуино менен кагаз фортепиано: 5 кадам
Ардуино менен кагаз пианино: Бул Arduino колдонулган жөнөкөй проект, коргошун карандаш, кагаз жана динамиктин жардамы менен тартылган клавиатура
Atari Punk консолу бала менен 8 баскычтуу секвенер: 7 кадам (сүрөттөр менен)
Atari Punk Console with Baby 8 Step Sequencer: Бул орто курулуш-бул Bantam Tools Desktop PCB фрезердик станогунда тегиздөөчү Atari Punk Console жана Baby 8 Step Sequencer. Ал эки схемадан турат: бири - колдонуучу интерфейси (UI), экинчиси - бул коммуналдык
Кош баскычтуу LED схемасы: 5 кадам
Кош баскычтуу LED схемасы: Мен программалоодо жана ардуино менен иштөөдө эски колго окшош болуш үчүн бүт күчүмдү жумшайм, бирок, чынын айтсам, чындыгында мен бул нерселер менен бир нече күн мурун таанышкам, демек, менин чоң кубанычым ийгиликтүү түзүү жана программалоо
Ардуино - фортепиано плиткалары: 16 кадам (сүрөттөр менен)
Arduino - Фортепиано плиткалары: Саламатсыздарбы интернет элдери, бул кантип баштоо үчүн arduino uno r3.soдогу мобилдик оюнду үзгүлтүккө учуратпоо керектиги жөнүндө болмокчу, сизге төмөнкүдөй болгон бардык бөлүктөр керек болот. ! 1x Arduino Uno r3 ($ 42) 2x LCD баскыч калканы (ар бири 19 доллар) 5