
Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02


Det tre-knappers pianoet er et prosjekt for nybegynnere med litt erfaring med å bruke Arduino.
Jeg ble utilsiktet feid opp i å prøve å lage dette mens jeg lekte med piezo -summer for første gang. Det var SÅ høyt! I forsøket på å finne ut forskjellige metoder for å gjøre summeren mer stillegående og prøve ut forskjellige frekvenser ved hjelp av tone () og noTone () funksjonen, innså jeg at det kan være morsomt å prøve å blande piezo summeren med mine andre favorittkomponenter i min Arduino sett: knapper og potensiometer.
Materialer som trengs inkluderer:
- 1 Arduino
- 1 brødbrett
- 1 USB -kabel
- Jumper Wires (forskjellige farger)
- 1 330 Kilo-ohm motstand
- 1 Piezo -summer
- 3 Trykknapper
- 1 potensiometer
Trinn 1: Piezo Buzzer

For å starte, sett opp piezo på brødbrettet til Arduino. Den ene siden (den kortere bensiden) må løpe til bakken. Den andre siden (den lengre bensiden) må kobles til en digital inngangspinne. Jeg valgte å koble den til 8.
Trinn 2: Trykknapper


Deretter er det på tide å sette opp trykknappene. I likhet med piezo må trykknappene kobles til bakken og til en digital inngangspinne.
Trinn 3: Potensiometer


Det siste trinnet i den fysiske bygningen er potensiometeret. Potensiometre kommer i noen forskjellige former. Vi bruker potensiometeret som en spenningsdeler, så alle tre bena må kobles til.
Høyre ben: Negativ stang (bakken)
Midtben: Analog pin 0
Venstre ben: Positiv bar
Trinn 4: Kode
Mens jeg skrev ut kode for dette prosjektet, refererte jeg til informasjon om noen spesifikke typer funksjoner:
tone()
noTone () (jeg endte ikke med å bruke denne. Jeg satte frekvensen til "0" i stedet.)
kart()
En annen flott referanse for førstegangsbrukere av Piezo Buzzers finner du her. Selv om ideen om å endre lyden til piezo -summer virker enkel, kan det være litt overveldende i begynnelsen!
Tone () -funksjonen kan deles inn i tre deler:
- Pin (pinnen som piezo summeren er koblet til)
- Frekvens (frekvensen av lyden i hertz)
- Varighet (varigheten av lyden gitt i millisekunder)
I utgangspunktet ser det slik ut: tone (pin, frekvens, varighet). Den tredje komponenten (varighet) er valgfri, mens de to andre er nødvendige for at summeren skal fungere. "Frekvens" -komponenten i tonefunksjonen er det som kan tenkes som "lyden" som produseres av summeren.
Du vil også legge merke til at koden inneholder to andre kodebiter. Det er satt opp noen if/else -setninger for å fortelle Arduino hva de skal gjøre hvis du trykker på forskjellige knapper, så vel som å sette den opp med "frekvens = 0" i situasjoner der ingen av knappene trykkes. Innen if/else -setningene brukes map () -funksjoner for å kartlegge skalaen til potensiometeret til et sett med frekvenser. Disse kan endres! Spill med forskjellige frekvensverdier for å se hvilke forskjellige lyder du kan få fra piezo.
Sjekk koden som jeg brukte til å lage pianoet med tre knapper her eller sjekk nedenfor.
int piezoPin = 8; // Sett opp pin som er koblet til Piezo.
int sensorPin = 0; // Sett opp pinnen som er koblet til sensoren (potensiometeret). int sensorValue = 0;
int -knapp 1 = 5; // Sett opp inngangspinnene som er koblet til knappene.
int knapp 2 = 4; int -knapp3 = 3;
int frekvens = 0;
const int delayTime = 500; // Sett opp en konstant for variabelen forsinkelsestid i tone () -funksjonen.
ugyldig oppsett () {
pinMode (knapp1, INPUT_PULLUP); pinMode (knapp 2, INPUT_PULLUP); pinMode (knapp3, INPUT_PULLUP); }
void loop () {
sensorValue = analogRead (sensorPin); // Les sensoren. // Kartlegg de forskjellige verdiene til potensiometeret til et sett med frekvenser for hver av de tre knappene. hvis (digitalRead (knapp1) == LAV) {frekvens = map (sensorValue, 0, 1023, 400, 499); } annet hvis (digitalRead (knapp2) == LAV) {frekvens = map (sensorValue, 0, 1023, 500, 599); } annet hvis (digitalRead (knapp3) == LAV) {frekvens = map (sensorValue, 0, 1023, 600, 699); } annet {frekvens = 0; } tone (piezoPin, frekvens, delayTime); // Sett opp tonefunksjonene () med variabler. }
Anbefalt:
Lett å implementere brukergrensesnitt -- OLED -skjerm med joystick og knapper: 6 trinn

Lett å implementere brukergrensesnitt || OLED-skjerm med joystick og knapper: Denne modulen har en OLED-skjerm med to knapper, 5-veis joystick og et 3-akset akselerometer. Dette er nyttig for å sette opp brukergrensesnitt for et prosjekt. Hei, hva skjer gutter? Akarsh her fra CETech. I dag skal vi ta en titt på en alt-i-ett-modul som
ESP32 kapasitiv berøringsinngang ved bruk av "metalliske hullplugger" for knapper: 5 trinn (med bilder)

ESP32 kapasitiv berøringsinngang ved bruk av "Metallic Hole Plugs" for knapper: Da jeg var i ferd med å fullføre designbeslutninger for et kommende ESP32 WiFi Kit 32 -basert prosjekt som krever inngang med tre knapper, var et merkbart problem at WiFi Kit 32 ikke har en enkelt mekanisk trykknapp, ennå alene tre mekaniske knapper, f
Two Wire (DMX) grensesnitt med skjerm og knapper: 5 trinn (med bilder)

Two Wire (DMX) grensesnitt med skjerm og knapper: DMX er en protokoll som brukes til å kontrollere scenelysarmaturer og spesialeffekter. Hver enhet har sine egne kanaler som den reagerer på. Denne kanalen kan velges av en DIP -bryter eller et display med knapper. Det er flere måter å velge en
MESH: Rangeringssystem med Internett-tilkoblede knapper: 5 trinn (med bilder)

MESH: Rangeringssystem med Internett-tilkoblede knapper: Hva om restauranter eller andre virksomheter kunne samle tilbakemeldinger fra kunder på stedet og umiddelbart synkronisere det med et regneark? Denne oppskriften er en rask og enkel måte å lage ditt eget interaktive vurderingssystem på. Bare ta et sett med internett-tilkoblet b
USB -drevet brenner! Dette prosjektet kan brenne gjennom plast / tre / papir (morsomt prosjekt må også være veldig fint tre): 3 trinn

USB -drevet brenner! Dette prosjektet kan brenne gjennom plast / tre / papir (morsomt prosjekt må også være veldig fint tre): IKKE GJØR DETTE MED USBEN !!!! Jeg fant ut at det kan skade datamaskinen din fra alle kommentarene. datamaskinen min har det bra. Bruk en 600ma 5v telefonlader. jeg brukte dette, og det fungerer fint, og ingenting kan bli skadet hvis du bruker en sikkerhetsplugg for å stoppe strømmen