Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
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
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:
- Tăiați un jumper de sârmă
- Îndepărtați capetele acestuia
- 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
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:
- Ștergeți „//” de pe liniile care spun „// descomentați acest lucru pentru a ajuta la calibrare”
- Încărcați codul și deschideți monitorul serial
- Apăsați pe centrul difuzorului și urmăriți cum valorile se schimbă
- 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:
- Închideți monitorul serial
- Încărcați noul cod
- 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.