Ultraschall-Schwebegerät mit Arduino bauen – Akustische Levitation Schritt für Schritt
Benötigte Komponenten
- Arduino UNO / Nano (ATmega328P)
- HC-SR04 Ultraschallmodul (nur die beiden Wandler – Sender & Empfänger – werden entlötet und weiterverwendet)
- L298 Dual H-Brücke Treibermodul (oder L293D) – treibt die Wandler mit hoher Spannung/Strom an
- 7,4 V Akku / Netzteil (mind. 2 A, für Treiber & Wandler)
- Lochrasterplatine, Kabel, Lötzubehör
- Schaumstoffplatte, Muttern/Schrauben (für präzise Ausrichtung der Wandler)
Werkzeuge
- Lötkolben, bleifreies Lötzinn
- Jumper-Kabel (kurz, 5 cm)
Software
- Arduino IDE
Funktionsprinzip: Akustische Levitation
Zwei Ultraschallwandler (Sender & Empfänger aus HC-SR04) werden **gegenüberliegend, exakt fluchtend** positioniert. Der Arduino erzeugt ein **40 kHz Rechtecksignal** (Pins A0 & A1, gegenphasig), das über die H-Brücke (L298) mit ~7,4 V an die Wandler gelegt wird. Die sich überlagernden Wellen bilden eine **stehende Welle** mit **Druckknoten (Nodes)** und **Druckbäuchen (Antinodes)**. In den Knoten (minimaler Druck) können leichte Objekte (Styropor, Papier, kleine Tropfen) schweben – scheinbar „Antigravitation“.
Wichtige physikalische Punkte
- Schall = Druckwelle in Medium (Luft). Kompression & Rarefaktion.
- Reflexion an Gegenwand → Interferenz → Stehende Welle (fester Knoten/Antinode-Muster).
- Knoten = minimaler Druck → Objekt wird dort „gefangen“.
- Ausrichtung **parallel zur Schwerkraft** → aufwärts gerichteter Druck in Knoten kompensiert Gewicht.
Schritt-für-Schritt-Anleitung
Schritt 1: Wandler vorbereiten
- Sender (T) und Empfänger (R) vom HC-SR04-Modul **entlöten**.
- Schutzhauben entfernen.
- Lange Anschlussdrähte anlöten.
- Gegenüberliegend auf Schaumstoffplatte montieren (Muttern/Schrauben für Feinjustage). **Exakte Fluchtung ist kritisch!**
Schritt 2: Schaltung aufbauen
- Arduino A0 → L298 IN1, A1 → IN2 (gegenphasig).
- L298 OUT1/OUT2 → Wandler 1 (Sender).
- L298 OUT3/OUT4 → Wandler 2 (Empfänger, als 2. Sender genutzt).
- L298 VCC → 7,4 V Akku, GND → gemeinsamer GND mit Arduino.
- Arduino über USB oder separat versorgen.
Schritt 3: Arduino-Code (40 kHz Generator)
Nutzt Timer1 (16-bit) im CTC-Modus für präzise 40 kHz Toggle an zwei Pins (A0, A1) mit 180° Phasenverschiebung.
// Beispiel-Konzept (Original-Code auf Gist)
#define FREQ 40000UL
#define PRESCALER 8
#define TOP (F_CPU / (PRESCALER * 2 * FREQ)) // = 250 für 16 MHz / 8 / 2 / 40k
void setup() {
pinMode(A0, OUTPUT); pinMode(A1, OUTPUT);
// Timer1 CTC, Toggle OC1A (Pin 9) & OC1B (Pin 10) -> aber A0/A1 sind ADC-Pins!
// Original nutzt Software-Toggle im Timer-Interrupt oder Port-Manipulation auf A0/A1.
// Siehe Gist für funktionierenden Code.
}
Wichtig: Der Original-Code nutzt Timer-Interrupt + direkte Port-Manipulation auf A0/A1 (Port C), da diese keine Hardware-PWM-Pins sind. Download: Gist-Link.
Schritt 4: Inbetriebnahme & Feinjustage
- Strom an (7,4 V an L298, Arduino an).
- Kleines Styropor-Kügelchen oder Papierfitzelchen mit Pinzette **exakt in die Mitte** zwischen die Wandler setzen.
- Feinjustage: Wandler leicht drehen/verschieben, bis Objekt stabil schwebt.
- Nur **sehr leichte Objekte** (Styropor, Papier, evtl. Wassertropfen) funktionieren.
Wichtige Hinweise & Verbesserungen
- **Mindestens 2 A Stromversorgung** nötig (L298 + Wandler ziehen Strom).
- Mehr Wandler → mehr Kraft, aber **Anordnung muss gekrümmt/konkav sein** (Phasenanpassung), nicht flach nebeneinander.
- Höhere Spannung allein hilft nicht – Phasenkopplung ist entscheidend.
- Schutzbrille tragen (Ultraschall kann Hörschädigung bei Nahfeld verursachen).
Schaltplan
Zeigt Arduino A0/A1 → L298 Eingänge, L298 Ausgänge → 2 Wandler, gemeinsame GND, 7,4 V Versorging.
Herstellungsprozess
- LED-Helligkeit per PWM und Taster am Arduino Mega steuern
- FlickMote: Gestensteuerung per Ultraschall & IR für Smart Home (Arduino 101)
- Smart IoT-Glas bauen: Füllstand überwachen mit ESP8266, Arduino & Ultraschall
- Arduino Iron Man bauen: Komponenten, Sensoren & Schritt-für-Schritt-Anleitung
- Find Me: Smarter Gegenstands-Finder mit Arduino und Bluetooth
- Erdmassen-Messung mit Arduino: Schritt-für-Schritt DIY-Anleitung
- DIY Arduino Luftbefeuchter-Steuerung mit Relais – Sichere Hochspannungs-Installation
- Echtzeit-Entfernungsmessung mit Arduino Sonar & Processing-Visualisierung
- Intelligenter Parkplatzzähler: Echtzeit-Fahrzeugverfolgung mit Arduino, Processing & PHP
- Digitaler Kompass in Echtzeit mit Arduino & Processing bauen