Inhoudsopgave:

DIY-schoksensor met een luidspreker - Ajarnpa
DIY-schoksensor met een luidspreker - Ajarnpa

Video: DIY-schoksensor met een luidspreker - Ajarnpa

Video: DIY-schoksensor met een luidspreker - Ajarnpa
Video: ZigBee schok- en kantelsensor TUYA - bescherming en slimme domotica 2024, Juli-
Anonim
DIY-schoksensor met een luidspreker
DIY-schoksensor met een luidspreker

Een luidspreker werkt door een elektromagneet te activeren die zich in de buurt van een "gewone" magneet bevindt. Dit produceert trillingen, wat resulteert in geluid. Dus als we in plaats van stroom aan de luidspreker te leveren, stroom kunnen produceren (als heel weinig) door de luidspreker zelf te verplaatsen. Deze stroom kan vervolgens worden gedetecteerd en geïnterpreteerd door een microcontroller zoals de Arduino.

Stap 1: Zoek een spreker

Zoek een spreker
Zoek een spreker
Zoek een spreker
Zoek een spreker
Zoek een spreker
Zoek een spreker
Zoek een spreker
Zoek een spreker

Je zult een spreker moeten vinden die je bereid bent op te offeren voor dit project. Je kunt er bij SparkFun een kopen voor minder dan een dollar, maar waarschijnlijk heb je er al een ergens. Ik gebruikte een kleine luidspreker van een oude koptelefoon, maar je kunt er bijna overal een vinden - zoals een muzikale wenskaart of een oude wekker. Volgende:

  1. Knip een jumperdraad doormidden
  2. Strip de uiteinden ervan
  3. Soldeer het op de luidspreker (er zaten waarschijnlijk al wat draden op - knip ze gewoon af)

Als alternatief kunt u krokodillenklemmen gebruiken als u die heeft.

Stap 2: Bouw het circuit

Bouw het circuit
Bouw het circuit

Benodigde materialen:

  • Arduino UNO
  • Breadboard
  • Doorverbindingsdraden
  • Een led (elke kleur)
  • Twee 220 ohm weerstanden (rood-rood-bruin)
  • Een luidspreker

Volg het bovenstaande diagram om alles op de Arduino aan te sluiten.

Stap 3: Upload deze code

Upload deze code in de Arduino IDE. Je zult het waarschijnlijk moeten kalibreren omdat je niet dezelfde luidspreker gebruikt als ik, dus ik zal in een paar stappen uitleggen hoe je dat doet.

int schokMin = 996; // misschien moet je deze wijzigen

int schok Max = 1010; // misschien moet u deze void setup () { pinMode (11, OUTPUT); // Serieel.begin (9600); // verwijder dit commentaar om te helpen bij kalibratie} void loop () {int shock = analogRead (A0); int lightval = map (shock, shockMin, shockMax, 0, 255); if (lightval > 0) { analogWrite(11, lightval); } else { analogWrite(11, 0); } // Serial.println (schok); // verwijder dit commentaar om te helpen met kalibratie}

Stap 4: Hoe het te gebruiken?

Druk met uw vinger op het midden van de luidspreker en de led zou moeten gaan knipperen. Als dit niet het geval is, moet u het in de volgende stap kalibreren. Anders kunt u proberen de luidspreker ergens aan te bevestigen. Misschien kun je een trommel maken door hem op een papieren bord te plakken? - Probeer potloden als drumsticks te gebruiken.

Stap 5: Kalibreren

Als uw led al naar tevredenheid knippert, kunt u deze stap overslaan. Volg anders deze stappen:

  1. Verwijder de "//" op de regels die zeggen "//uncomment this to help with Calibration"
  2. Upload de code en open de seriële monitor
  3. Druk op het midden van de luidspreker en kijk hoe de waarden veranderen
  4. Wijzig de variabelen shockMin en shockMax in de lage en hoge waarden in de seriële monitor

int schokMin = 996;

int schok Max = 1010;

Als de seriële monitor bijvoorbeeld 700 leest als de niet-geduwde status van uw sensor (wanneer hij daar gewoon zit), en als je erop drukt, gaat het naar 860, verander de shockMax naar ergens rond de 900 (net iets boven de sensorwaarde) en de shockMin naar ongeveer 680. Volgende:

  1. Sluit de seriële monitor
  2. Upload de nieuwe code
  3. Druk nog wat meer op het midden van de luidspreker

Als het allemaal goed gaat, moet de led alleen gaan branden als je op de sensor drukt.

Aanbevolen: