INHOUDSOPGAWE:

DIY skok sensor met 'n luidspreker: 5 stappe (met foto's)
DIY skok sensor met 'n luidspreker: 5 stappe (met foto's)

Video: DIY skok sensor met 'n luidspreker: 5 stappe (met foto's)

Video: DIY skok sensor met 'n luidspreker: 5 stappe (met foto's)
Video: A Show of Scrutiny | Critical Role: THE MIGHTY NEIN | Episode 2 2024, Julie
Anonim
DIY skok sensor met 'n luidspreker
DIY skok sensor met 'n luidspreker

'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

Soek 'n spreker
Soek 'n spreker
Soek 'n spreker
Soek 'n spreker
Soek 'n spreker
Soek 'n spreker
Soek 'n spreker
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:

  1. Sny 'n jumperdraad middeldeur
  2. Trek die punte daarvan af
  3. 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

Bou die stroombaan
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:

  1. Verwyder die "//" op die reëls wat sê "// gee 'n opmerking om dit te help met kalibrasie"
  2. Laai die kode op en maak die seriële monitor oop
  3. Druk op die middel van die luidspreker en kyk hoe die waardes verander
  4. 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:

  1. Maak die seriële monitor toe
  2. Laai die nuwe kode op
  3. 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.

Aanbeveel: