Taula de continguts:
2025 Autora: John Day | [email protected]. Última modificació: 2025-01-13 06:57
Mireu aquest projecte al meu lloc web per veure una simulació de circuits i un vídeo.
La levitació acústica és possible gràcies al fet que el so es comporta com una ona. Quan dues ones sonores es creuen, poden interferir constructivament o destructivament. (Així funcionen els auriculars que cancel·len el soroll)
Aquest projecte utilitza un sensor de distància per ultrasons per crear un efecte de levitació. Això funciona creant "butxaques" on dues ones de so oposades interfereixen entre elles. Quan es col·loca un objecte a la butxaca, es quedarà allà, aparentment al seu lloc.
Materials necessaris:
- Taula Arduino:
- Pont H:
- Sensor de distància:
- Taula de pa:
- Cables de pont:
- Diode:
- Condensadors (potser):
Projecte original de la revista Make d’Ulrich Schmerold.
Pas 1: Obteniu transmissors d'ultrasons
Haureu de sacrificar un sensor de distància per a aquest pas (no us preocupeu, són relativament barats):
- Desoldeu i traieu els dos transmissors de la placa
- Traieu i deseu la pantalla de malla d'una
- Cables de soldar als dos transmissors
Pas 2: Creeu un circuit
Creeu el circuit anterior i observeu el següent:
- Potser no cal que inclogueu necessàriament els dos condensadors de 100 nF. (només si per alguna raó la vostra placa no pot gestionar el circuit i es continua apagant)
- La bateria de 9 v és una substitució per a qualsevol font d'alimentació de CC: la meva va funcionar bé amb una bateria LiPo de 7,5 v
Pas 3: Codi
Pengeu aquest codi al vostre Arduino:
// codi original de:
byte TP = 0b10101010; // Tots els altres ports reben la configuració del buit del senyal invertit () {DDRC = 0b11111111; // Estableix tots els ports analògics com a sortides // Initialize Timer1 noInterrupts (); // Desactiva les interrupcions TCCR1A = 0; TCCR1B = 0; TCNT1 = 0; OCR1A = 200; // Establir registre de comparació (16 MHz / 200 = ona quadrada de 80 kHz -> ona completa de 40 kHz) TCCR1B | = (1 << WGM12); // Mode CTC TCCR1B | = (1 <sense prescripció TIMSK1 | = (1 << OCIE1A); // Activa la comparació de les interrupcions d’interrupció del temporitzador (); // Activa les interrupcions} ISR (TIMER1_COMPA_vect) {PORTC = TP; // Envia el valor de TP a les sortides TP = ~ TP; // Inverteix TP per a la següent execució} void loop () {// No queda res per fer aquí:)}
Pas 4: munteu els transmissors i calibreu-los
Realment podeu utilitzar qualsevol cosa per fer-ho, però he acabat fent servir un conjunt de mans amigues (compreu-ne algunes aquí:
- Comenceu posicionant els transmissors a uns 3/4 "de distància
- Obteniu un tros petit d’espuma de poliestirens aproximadament la meitat de la mida d’un pèsol (no cal que sigui rodó)
- Col·loqueu el poliestireno a la pantalla de malla des del pas 1
- Amb pinces o alicates, col·loqueu-lo entre els dos transmissors (hauria de començar a balancejar-se quan us acosteu)
- Mou els transmissors (més a prop i més allunyats) fins que l’espuma de poliestirè quedi quieta
Pas 5: resolució de problemes
Vaig trigar uns quinze minuts a funcionar la primera vegada, però després d’això va ser bastant fàcil tornar a començar. Aquí teniu algunes coses que podeu provar si al principi no funciona:
- Assegureu-vos que heu connectat tot correctament
- Augmenteu la tensió al pont H (bateria diferent)
- Aconseguiu un tros més petit d’espuma de poliestirè
- Proveu una posició diferent per als transmissors
- Proveu d'afegir condensadors (si encara no ho heu fet)
- Si encara no funciona, potser alguna cosa no funciona: proveu un conjunt diferent de transmissors o una bateria nova.