Cuprins:

Senzor de șoc DIY cu difuzor: 5 pași (cu imagini)
Senzor de șoc DIY cu difuzor: 5 pași (cu imagini)

Video: Senzor de șoc DIY cu difuzor: 5 pași (cu imagini)

Video: Senzor de șoc DIY cu difuzor: 5 pași (cu imagini)
Video: 3 semne ca trebuie sa inlocuiesti uleiul din cutia de viteze 2024, Noiembrie
Anonim
Senzor de șoc DIY cu difuzor
Senzor de șoc DIY cu difuzor

Un difuzor funcționează activând un electromagnet aflat în apropierea unui magnet „obișnuit”. Aceasta produce vibrații, rezultând sunet. Deci, dacă în loc să furnizăm curent difuzorului, putem produce curent (dacă este foarte puțin) mutând difuzorul singur. Acest curent poate fi apoi detectat și interpretat de un microcontroler precum Arduino.

Pasul 1: Găsiți un difuzor

Găsiți un difuzor
Găsiți un difuzor
Găsiți un difuzor
Găsiți un difuzor
Găsiți un difuzor
Găsiți un difuzor
Găsiți un difuzor
Găsiți un difuzor

Va trebui să găsiți un vorbitor pe care sunteți dispus să îl sacrificați pentru acest proiect. Puteți cumpăra unul de la SparkFun cu sub un dolar, dar probabil că aveți deja unul undeva. Am folosit un difuzor mic dintr-o pereche de căști vechi, dar puteți găsi unul aproape oriunde - cum ar fi o felicitare muzicală sau un ceas cu alarmă vechi. Următorul:

  1. Tăiați un jumper de sârmă
  2. Îndepărtați capetele acestuia
  3. Lipiți-l pe difuzor (probabil că erau deja câteva fire acolo - doar tăiați-le)

Alternativ, puteți utiliza clipuri de aligator dacă le aveți.

Pasul 2: Construiți circuitul

Construiește circuitul
Construiește circuitul

Materiale necesare:

  • Arduino UNO
  • Pană de pâine
  • Sârme de jumper
  • Un led (orice culoare)
  • Două rezistențe de 220 ohmi (roșu-roșu-maro)
  • Un difuzor

Urmați diagrama de mai sus pentru a conecta totul la Arduino.

Pasul 3: Încărcați acest cod

Încărcați acest cod în IDE-ul Arduino. Probabil va trebui să-l calibrați, deoarece nu utilizați același difuzor ca mine, așa că vă voi explica cum să faceți acest lucru în câțiva pași.

int shockMin = 996; // s-ar putea să trebuiască să le schimbați

int shockMax = 1010; // s-ar putea să trebuiască să schimbați această configurare nulă () {pinMode (11, OUTPUT); // Serial.begin (9600); // decomentați acest lucru pentru a ajuta la calibrare} void loop () {int shock = analogRead (A0); int lightval = hartă (șoc, șocMin, șocMax, 0, 255); if (lightval> 0) {analogWrite (11, lightval); } else {analogWrite (11, 0); } // Serial.println (șoc); // decomentați acest lucru pentru a ajuta la calibrare}

Pasul 4: Cum să-l utilizați

Apăsați cu degetul pe centrul difuzorului și ar trebui să facă ledul să clipească. Dacă nu, va trebui să-l calibrați în pasul următor. În caz contrar, puteți încerca să atașați difuzorul la ceva. Poate ai putea face un tambur lipindu-l de o farfurie de hârtie? - Încercați să utilizați creioane ca toiaguri.

Pasul 5: Calibrați

Dacă ledul dvs. clipește deja în mod satisfăcător, puteți sări peste acest pas. În caz contrar, urmați acești pași:

  1. Ștergeți „//” de pe liniile care spun „// descomentați acest lucru pentru a ajuta la calibrare”
  2. Încărcați codul și deschideți monitorul serial
  3. Apăsați pe centrul difuzorului și urmăriți cum valorile se schimbă
  4. Schimbați variabilele shockMin și shockMax la valorile mici și mari din monitorul serial

int shockMin = 996;

int shockMax = 1010;

De exemplu, dacă monitorul serial citește 700 ca starea neimpresionată a senzorului (atunci când este doar așezat acolo), și când îl împingeți, acesta ajunge la 860, schimbați shockMax la undeva la 900 (doar puțin deasupra citirii senzorului) și shockMin la aproximativ 680. Următorul:

  1. Închideți monitorul serial
  2. Încărcați noul cod
  3. Apăsați mai mult pe centrul difuzorului

Dacă totul merge corect, ledul ar trebui să se aprindă numai atunci când apăsați senzorul.

Recomandat: