Arduino Piezo Buzzer Klavier: 5 stappe
Arduino Piezo Buzzer Klavier: 5 stappe

Video: Arduino Piezo Buzzer Klavier: 5 stappe

Video: Arduino Piezo Buzzer Klavier: 5 stappe
Video: Piezo Buzzer Piano by Arduino: Buzzer ep2 2025, Januarie
Anonim
Arduino Piezo Buzzer Klavier
Arduino Piezo Buzzer Klavier
Arduino Piezo Buzzer Klavier
Arduino Piezo Buzzer Klavier

Hier maak ons 'n Arduino -klavier wat 'n piëzo -gonser as luidspreker gebruik. Hierdie projek is maklik skaalbaar en kan met min of meer notas werk, afhangende van u! Ons bou dit met slegs vier knoppies/sleutels vir die eenvoud. Dit is 'n prettige en maklike projek wat min vaardigheid verg, maar wat in iets meer ingewikkelder of groter gemaak kan word.

Benodighede:

  • 1x Arduino Uno (ander Arduino -borde behoort goed te wees, maar is nie getoets nie)
  • 1x Halfrond of groter broodbord
  • 1x Aktiewe piezo -zoemer
  • 4x kort drukknop
  • 11x brooddraaddraaddrade (6 swart vir negatief en 5 kleurvol vir knoppies en zoemer

Stap 1: Bedrading

Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
Bedrading

Om mee te begin, plaas ons 4 knoppies naby mekaar en die piëzo -zoemer aan die ander kant van die broodbord, soos op die eerste prentjie getoon. Vervolgens verbind ons die negatiewe drade. Eerstens verbind ons die negatiewe reling op die broodbord met 'n negatiewe pen met die naam "GND" op die Arduino. Dan verbind ons een been van elke knoppie met die negatiewe reling. Die piezo -zoemer het een been korter, wat die negatiewe is. Ons sal dit ook koppel aan die negatiewe spoor.

Nou is dit tyd om die res van die drade aan te sluit. Ons verbind die ander bene van die knoppies met penne 2-5, soos op die foto getoon. Laastens verbind ons die positiewe been van die piëzo -zoemer (die langer een) aan pen 10. Die pennommers kan later maklik in die kode verander word. Gaan die beelde na vir duideliker bedrading.

Stap 2: Programmering

Programmering
Programmering

Die kode is redelik eenvoudig en selfverduidelikend. Bo -aan ken ons speldnommers toe aan die veranderlikes. Dan verklaar ons elkeen as 'n inset of uitset. Laastens sê ons wat u moet doen as u op 'n sekere knoppie druk. Die knoppies gemerk but1-but4 stem elk ooreen met 'n frekwensie wat gespeel moet word wanneer hulle gedruk word. But1 is die laagste frekwensie van 100hz, terwyl 4 die hoogste frekwensie van 400hz het. Ons gebruik die toon () -funksie om die toon in Hertz te speel. Dit is so gestruktureer:

toon (buzzerPin, [frekwensie in hertz], [duur]);

As u meer knoppies wil byvoeg, moet u 'n nuwe veranderlike en 'n 'as' -verklaring skep wanneer dit ingedruk word. Dit is baie maklik om te dupliseer.

Hou egter in gedagte dat die Arduino slegs een toon op 'n slag kan speel. As u op verskeie knoppies gelyktydig druk, is die geluid nie korrek nie, want Arduino skakel vinnig tussen verskillende frekwensies.

Stap 3: Bekyk die toon op 'n ossilloskoop

Kyk na die klanke op 'n ossilloskoop
Kyk na die klanke op 'n ossilloskoop
Kyk na die klanke op 'n ossilloskoop
Kyk na die klanke op 'n ossilloskoop
Kyk na die klanke op 'n ossilloskoop
Kyk na die klanke op 'n ossilloskoop
Kyk na die klanke op 'n ossilloskoop
Kyk na die klanke op 'n ossilloskoop

As ons 'n ossilloskoop aan die negatiewe spoor en die gonspen koppel, kry ons 'n paar verskillende vierkantige golwe. Hoe hoër die frekwensie, hoe nader aan mekaar is die spykers. Die eerste foto toon die hoogste frekwensie in ons program (400hz), en die laaste foto die laagste frekwensie (100hz). Die vierkantgolwe kom al hoe verder uitmekaar wanneer die frekwensie laer word. Kyk na die prente om die effek te sien.

Van links na regs:

400hz, 300hz, 200hz en 100hz

Stap 4: Werklike klaviersleutels?

Eintlik klaviersleutels?
Eintlik klaviersleutels?

As u toegang tot 'n 3D -drukker het, is u moontlik geïnteresseerd in die maak van 'n paar sleutels vir u Arduino piëzo -zoemer -sleutelbord. Dit gee die klein drukknoppies 'n beter gevoel. U kan dit hier vind op prusaprinters.org.

Stap 5: Gevolgtrekking

Afsluiting
Afsluiting

Ek hoop dat u dit geniet het om 'n Arduino piezo -zoem -sleutelbord te skep, en ek moedig u ook aan om die kode aan te pas. As u van hierdie projek gehou het, plaas dit dan hieronder of lewer 'n opmerking. Dankie!: D