Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Bir dövrə simulyasiyası və bir video görmək üçün bu layihəni veb saytımda izləyin!
Akustik levitasiya, səsin dalğa kimi davranması sayəsində mümkün olur. İki səs dalğası bir -birini kəsəndə ya konstruktiv, ya da dağıdıcı şəkildə bir -birinə müdaxilə edə bilər. (Səs-küy ləğv edən qulaqlıqlar belə işləyir)
Bu layihə, bir levitasiya effekti yaratmaq üçün ultrasəs məsafə sensoru istifadə edir. Bu, iki əks səs dalğasının bir -birinə müdaxilə etdiyi "ciblər" yaratmaqla işləyir. Cibə bir əşya qoyulduqda, orada qalacaq, sanki yerində gəzir.
Lazım olan materiallar:
- Arduino lövhəsi:
- H körpüsü:
- Məsafə sensoru:
- Çörək paneli:
- Jumper telləri:
- Diyot:
- Kondansatörler (Bəlkə):
Ulrich Schmerold tərəfindən Make Magazine -dən orijinal layihə.
Addım 1: Ultrasonik Transmitterlər alın
Bu addım üçün bir məsafə sensoru qurban verməlisiniz (narahat olmayın, nisbətən ucuzdur):
- Hər iki ötürücüyü lövhədən çıxarın və çıxarın
- Mesh ekranını birindən çıxarın və saxlayın
- Hər iki ötürücüyə lehim telləri
Addım 2: Dövrə yaradın
Yuxarıdakı dövrəni yaradın və aşağıdakıları qeyd edin:
- İki 100nF kondansatörü daxil etməyinizə ehtiyac olmayacaq. (yalnız lövhəniz nədənsə dövrəni idarə edə bilmirsə və özünü bağlayırsa)
- 9v batareya, hər hansı bir DC enerji təchizatı üçün dayaqdır - 7.5V LiPo batareyası ilə yaxşı işləyir
Addım 3: Kod
Bu kodu Arduino -ya yükləyin:
// orijinal kod:
bayt TP = 0b10101010; // Hər digər port ters çevrilmiş siqnal boşluğu quruluşunu alır () {DDRC = 0b11111111; // Bütün analoq limanları çıxışlara təyin edin // Timer1 noInterrupts () başlatın; // Kesintiləri deaktiv edin TCCR1A = 0; TCCR1B = 0; TCNT1 = 0; OCR1A = 200; // Müqayisə reyestrini təyin edin (16MHz / 200 = 80kHz kvadrat dalğası -> 40kHz tam dalğa) TCCR1B | = (1 << WGM12); // CTC rejimi TCCR1B | = (1 <əvvəlcədən ölçmə yoxdur TIMSK1 | = (1 << OCIE1A); // Müqayisə zamanlayıcı kəsilmə kəsilmələrini aktivləşdir (); // Aralıqları aktiv et} ISR (TIMER1_COMPA_vect) {PORTC = TP; // TP -nin çıxış dəyərləri TP = ~ TP; // Növbəti iş üçün TP -ni ters çevirin} void loop () {// Burada heç bir iş qalmadı:)}
Addım 4: Vericiləri quraşdırın və kalibr edin
Bunu etmək üçün həqiqətən hər şeydən istifadə edə bilərsiniz, amma bir dəstə kömək əlini istifadə edərək sona çatdım (bir az buradan alın:
- Transmitterləri təxminən 3/4 "aralığında yerləşdirərək başlayın
- Noxudun yarısı qədər kiçik bir köpük parçası alın (yuvarlaq olması lazım deyil)
- Styrofoam'ı 1 -ci addımdan mesh ekranına yerləşdirin
- Cımbız və ya kəlbətin istifadə edərək, onu iki ötürücü arasına yerləşdirin (yaxınlaşanda çırpınmağa başlamalıdır)
- Styrofoam hərəkətsiz qalana qədər ötürücüləri ətrafa (daha yaxın və bir qədər uzaq) hərəkət etdirin
Addım 5: Problemlərin aradan qaldırılması
İlk dəfə işə salmağım təxminən on beş dəqiqə çəkdi, amma bundan sonra yenidən işə salmaq olduqca asan oldu. Əvvəlcə işləmirsə cəhd edə biləcəyiniz bəzi şeylər:
- Hər şeyi düzgün bir şəkildə bağladığınızdan əmin olun
- H körpüsündəki gərginliyi artırın (fərqli batareya)
- Daha kiçik bir köpük parçası alın
- Vericilər üçün fərqli bir mövqe sınayın
- Kondansatörləri əlavə etməyə çalışın (hələ etməmisinizsə)
- Hələ də işləmirsə, bəlkə bir şey pozulub: fərqli bir ötürücü dəsti və ya yeni bir batareya sınayın.