Indholdsfortegnelse:

Mini akustisk levitation: 5 trin (med billeder)
Mini akustisk levitation: 5 trin (med billeder)

Video: Mini akustisk levitation: 5 trin (med billeder)

Video: Mini akustisk levitation: 5 trin (med billeder)
Video: От Тадж-Махала до замка Шенонсо | Чудеса света 2024, November
Anonim
Mini akustisk levitation
Mini akustisk levitation

Se dette projekt på mit websted for at se en kredsløbssimulering og en video!

Akustisk levitation gøres mulig ved, at lyd opfører sig som en bølge. Når to lydbølger skærer hinanden, kan de enten konstruktivt eller destruktivt forstyrre hinanden. (Sådan fungerer støjreducerende hovedtelefoner)

Dette projekt bruger en ultralydsafstandssensor til at skabe en levitationseffekt. Dette virker ved at skabe "lommer", hvor to modstående lydbølger forstyrrer hinanden. Når et objekt placeres i lommen, vil det blive der og tilsyneladende svæve på plads.

Nødvendige materialer:

  • Arduino bord:
  • H-bridge:
  • Afstandssensor:
  • Breadboard:
  • Jumper -ledninger:
  • Diode:
  • Kondensatorer (måske):

Originalt projekt fra Make Magazine af Ulrich Schmerold.

Trin 1: Få ultralydssendere

Få ultralydssendere
Få ultralydssendere
Få ultralydssendere
Få ultralydssendere
Få ultralydssendere
Få ultralydssendere

Du bliver nødt til at ofre en afstandssensor til dette trin (bare rolig, de er relativt billige):

  • Desolder og fjern begge sendere fra kortet
  • Fjern og gem maskeskærmen fra en
  • Loddekabler til begge sendere

Trin 2: Opret kredsløb

Opret kredsløb
Opret kredsløb

Opret ovenstående kredsløb og bemærk følgende:

  • Du behøver muligvis ikke nødvendigvis at inkludere de to 100nF kondensatorer. (kun hvis dit bord af en eller anden grund ikke er i stand til at håndtere kredsløbet, og det bliver ved med at lukke sig selv)
  • 9v batteriet er et stand -in for enhver DC strømforsyning - min fungerede fint med et 7,5v LiPo batteri

Trin 3: Kode

Upload denne kode til din Arduino:

// original kode fra:

byte TP = 0b10101010; // Hver anden port modtager opsætningen af det inverterede signalhulrum () {DDRC = 0b11111111; // Indstil alle analoge porte til at være output // Initialize Timer1 noInterrupts (); // Deaktiver afbrydelser TCCR1A = 0; TCCR1B = 0; TCNT1 = 0; OCR1A = 200; // Indstil sammenligningsregister (16MHz / 200 = 80kHz firkantbølge -> 40kHz fuldbølge) TCCR1B | = (1 << WGM12); // CTC -tilstand TCCR1B | = (1 <ingen forudskalering TIMSK1 | = (1 << OCIE1A); // Aktiver sammenligning af timer -afbrydelser (); // Aktiver afbrydelser} ISR (TIMER1_COMPA_vect) {PORTC = TP; // Send værdien af TP til udgangene TP = ~ TP; // Inverter TP for det næste løb} void loop () {// Intet tilbage at gøre her:)}

Trin 4: Monter sendere og kalibrer

Monter sendere og kalibrer
Monter sendere og kalibrer
Monter sendere og kalibrer
Monter sendere og kalibrer
Monter sendere og kalibrer
Monter sendere og kalibrer

Du kan virkelig bruge alt til at gøre dette, men jeg endte med at bruge et sæt hjælpende hænder (køb nogle her:

  • Start med at placere transmitterne cirka 3/4 "fra hinanden
  • Få et lille stykke isopor omkring halvdelen af størrelsen på en ært (det behøver ikke at være rundt)
  • Placer frigolit på maskeskærmen fra trin 1
  • Brug en pincet eller en tang til at placere den mellem de to sendere (den skal begynde at vrikke, når du kommer tæt på)
  • Flyt transmitterne rundt (tættere og længere fra hinanden), indtil frigolit forbliver stille

Trin 5: Fejlfinding

Det tog mig cirka femten minutter at få det til at fungere første gang, men efter det var det ret let at få det til at køre igen. Her er nogle ting, du kan prøve, hvis det ikke virker i starten:

  • Sørg for, at alt er forbundet korrekt
  • Forøg spændingen til H-broen (andet batteri)
  • Få et mindre stykke isopor
  • Prøv en anden position for transmitterne
  • Prøv at tilføje kondensatorer (hvis du ikke allerede gjorde det)
  • Hvis det stadig ikke virker, er der måske noget, der er gået i stykker: Prøv et andet sæt sendere eller et nyt batteri.

Anbefalede: