Du kan generere lyde ved hjælp af Arduino på forskellige måder. Den enkleste af dem er at forbinde en piezo-emitter (eller en piezo-lydgiver) til tavlen. Men som altid er der nogle nuancer her. Generelt lad os finde ud af det.
Nødvendig
- - Computer;
- - Arduino;
- - piezo-emitter (piezo-summer).
Instruktioner
Trin 1
En piezo-emitter eller piezoelektrisk emitter eller piezo-summer er en elektroakustisk lydgengivelsesenhed, der bruger den inverse piezoelektriske effekt. For at forklare det på en enkel måde - under påvirkning af et elektrisk felt opstår der en mekanisk bevægelse af membranen, der forårsager de lydbølger, vi hører. Typisk er sådanne lydemittere installeret i husholdningselektronisk udstyr som lydalarmer, i stationære pc'er, telefoner, legetøj, højttalere og meget mere.
Piezo-emitteren har to ledninger, og polariteten betyder noget. Derfor forbinder vi den sorte pin til jorden (GND) og den røde til enhver digital pin med PWM-funktion (PWM). I dette eksempel er emitterens positive terminal forbundet til "D3" -terminalen.
Trin 2
Piezo-summeren kan bruges på mange forskellige måder. Den enkleste er at bruge analogWrite-funktionen. Et eksempel på en skitse er vist i illustrationen. Denne skitse tænder og slukker lyden skiftevis med en frekvens på 1 gang i sekundet.
Vi indstiller pin-nummeret, definerer det som en output. AnalogWrite () -funktionen tager et pin-nummer og et niveau som argumenter, som kan være fra 0 til 255. Denne værdi vil ændre lydstyrken på piezo-tweeter inden for et lille interval. Ved at sende værdien "0" til porten skal du slukke for piezolyderen.
Desværre kan du ikke ændre lydnøglen ved hjælp af analogWrite (). Piezo-emitteren lyder altid med en frekvens på ca. 980 Hz, hvilket svarer til frekvensen af de pulsbreddemodulerede (PWM) ben på Arduino UNO-kort og lignende.
Trin 3
Lad os nu udtrække lyden fra piezo-emitteren ved hjælp af den indbyggede tone () -funktion. Et eksempel på en simpel skitse er vist i illustrationen.
Tonefunktionen tager et pin-nummer og en lydfrekvens som argumenter. Den nedre frekvensgrænse er 31 Hz, den øvre grænse er begrænset af parametrene for piezo-emitteren og menneskelig hørelse. For at slukke for lyden skal du sende kommandoen noTone () til porten.
Bemærk, at hvis flere piezo-emittere er tilsluttet Arduino, fungerer kun en ad gangen. For at tænde emitteren på en anden pin skal du afbryde lyden på den aktuelle ved at ringe til noTone () -funktionen.
Et vigtigt punkt: tone () -funktionen er overlejret på PWM-signalet på "3" og "11" -stifterne på Arduino. Husk dette, når du designer dine enheder, fordi funktionstone (), kaldet for eksempel på pin "5", kan forstyrre arbejdet med pins "3" og "11".