2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Ultrasonic Theremin este un proiect Arduino care folosește un theremin ieftin pentru a preda undele sonore. Schimbând distanța mâinii mele cu dispozitivul, schimb frecvența undelor sonore. De asemenea, deplasarea unui potențiometru schimbă amplitudinea undei. Aceasta poate fi folosită ca lecție de știință despre undele sonore.
Pasul 1: Instrumente și consumabile
Provizii
- Arduino Uno cu cablu USB
- Senzor cu ultrasunete pentru a schimba frecvența (pitch)
- Piezo Buzzer pentru a reda sunetul
- Potențiometru pentru a modifica amplitudinea (volumul)
- LED cu rezistor de 220ohm (vizual pentru frecvență)
- Foamcore Board pentru caz
- Sârme jumper
NOTĂ: Majoritatea acestor piese provin dintr-un kit Arduino.
Instrumente
- Computer cu Arduino instalat
- Hot Glue Gun
- Cutter cu laser pentru incintă
- Power Bank dacă doriți să îl faceți portabil
Pasul 2: Asamblare
Electronica
Primele două imagini, în dreapta, arată componentele electronice în testare, dar în a treia, m-am deplasat în jurul componentelor pentru a găzdui carcasa. LED-ul și senzorul cu ultrasunete folosesc fire jumper de 40 cm de la mascul la feminin, care cu siguranță pot fi mai mici, dar asta am avut la îndemână. Tocmai am înfășurat excesul în jurul Arduino înainte de a-l înveli.
Cazul
Carcasa a fost realizată de MakerCase cu dimensiuni puțin mici, astfel încât prototipul meu a necesitat adeziv suplimentar pentru a-l împărți. După ce vă măsurați părțile deasupra Arduino, adăugați câțiva milimetri valorilor și introduceți-le în MakerCase pentru un fișier care poate fi tăiat cu laser pe miezul de spumă.
Pasul 3: Codul
Codul este controlat în principal de o variabilă numită pitch. Tonul folosește harta pentru a ascunde valorile de la senzorul cu ultrasunete la ceva citibil de difuzorul piezo și, în special, la frecvențele dintre A3 și C5. Constrângerea se asigură că harta nu prezice o frecvență ridicată atunci când vede o distanță mare (erau enervante). Restul codului este să citiți senzorul, să adăugați un LED și să adăugați mesaje seriale.
pitch = constrain (map (distanceCm, 1, 40, 256, 523), 220, 523);