INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
'N Luidspreker werk deur 'n elektromagnet wat naby 'n' gewone 'magneet is, te aktiveer. Dit veroorsaak trillings, wat klank tot gevolg het. As ons dus in plaas daarvan om stroom aan die luidspreker te verskaf, kan ons stroom produseer (indien baie min) deur die spreker self te beweeg. Hierdie stroom kan dan deur 'n mikrobeheerder soos die Arduino opgespoor en geïnterpreteer word.
Stap 1: Soek 'n spreker
U moet 'n spreker vind wat u bereid is om op te offer vir hierdie projek. U kan een by SparkFun koop vir minder as 'n dollar, maar u het waarskynlik reeds een iewers. Ek het 'n klein luidspreker van 'n ou koptelefoon gebruik, maar jy kan dit byna oral kry - soos 'n musikale wenskaart of 'n ou wekker. Volgende:
- Sny 'n jumperdraad middeldeur
- Trek die punte daarvan af
- Soldeer dit aan die luidspreker (daar was waarskynlik al 'n paar drade daaraan - sny dit net af)
Alternatiewelik kan u krokodilleknipsels gebruik as u dit het.
Stap 2: Bou die stroombaan
Materiaal benodig:
- Arduino UNO
- Broodbord
- Springdrade
- 'N LED (enige kleur)
- Twee 220 ohm weerstande (rooi-rooi-bruin)
- 'N Spreker
Volg die bostaande diagram om dit alles aan die Arduino te koppel.
Stap 3: Laai hierdie kode op
Laai hierdie kode op in die Arduino IDE. U sal dit waarskynlik moet kalibreer, aangesien u nie dieselfde luidspreker as ek gebruik nie, so ek sal in 'n paar stappe verduidelik hoe u dit moet doen.
int shockMin = 996; // U moet dit dalk verander
int shockMax = 1010; // Miskien moet u hierdie leemte -opstelling () {pinMode (11, OUTPUT) verander; // Serial.begin (9600); // los hierdie op om te help met kalibrasie} leemte -lus () {int shock = analogRead (A0); int lightval = map (shock, shockMin, shockMax, 0, 255); as (lightval> 0) {analogWrite (11, lightval); } anders {analogWrite (11, 0); } // Serial.println (skok); // kommentaar lewer hierop om te help met kalibrasie}
Stap 4: Hoe om dit te gebruik
Druk met u vinger op die middel van die luidspreker en dit behoort die LED te laat knip. Indien nie, moet u dit in die volgende stap kalibreer. Anders kan u probeer om die luidspreker aan iets te koppel. Miskien kan u 'n trommel maak deur dit op 'n papierbord vas te plak? - Probeer potlode as drompenne gebruik.
Stap 5: Kalibreer
As u LED reeds bevredigend knipper, kan u hierdie stap oorslaan. Andersins, volg hierdie stappe:
- Verwyder die "//" op die reëls wat sê "// gee 'n opmerking om dit te help met kalibrasie"
- Laai die kode op en maak die seriële monitor oop
- Druk op die middel van die luidspreker en kyk hoe die waardes verander
- Verander die shockMin en shockMax veranderlikes na die lae en hoë waardes in die seriële monitor
int shockMin = 996;
int shockMax = 1010;
Byvoorbeeld, as die seriële monitor 700 lees as die nie-gedrukte toestand van u sensor (as dit net daar sit), en as u dit stoot, styg dit tot 860, verander die shockMax na ongeveer 900 (net 'n bietjie bo die sensorlesing) en die shockMin na ongeveer 680. Volgende:
- Maak die seriële monitor toe
- Laai die nuwe kode op
- Druk nog 'n keer op die middel van die luidspreker
As alles reg is, moet die LED slegs aanskakel as u op die sensor druk.