RandomMachine “RAMA”

Zufallsmaschine

RAMA ist ein Device, das Uraniumglass und einen Geigerzaehler nutzt, um einen wahren Zufallsgenerator zu erzeugen. Die Idee stammt von Jayson , einem Studienfreund von mir. Ich habe diese Idee in kompakter Form mit erweiterter Verwendung für FoxDot (Musical Live-Coding Environment) neu erstellt. Der Arduino sendet Zeitverzögerungen zwischen jedem gemessenen abgeschlagenen Elektron (Ionisation). Diese Verzögerung kann z.B. als Dauer einer Note, die von einem Synthesizer in FoxDot gespielt wird.



RandomMachine used with FoxDot



1. Komponente
1 x Arduino Micro
1 x MAX9814 Mikrofon Schallsensor
1 x DIY Geiger Counter Parts Kit Modul Nuclear Radiation Detector F3K3
1 x An/Aus Schalter
Drähte
1 x Uraniumglass
2. Gehäuseteile drucken (Teile um 2 % skalieren, um die Schrumpfungsrate einzubeziehen)
3. Zusammenbau
1. Baue den D.I.Y. Bausatz Geigerzähler zusammen
Audio-Klinkenbuchse, Piezo-Summer und D23-LED nicht auf Platine löten!
Optional: Ersetze den Schalter des Kits durch eine größere Version. Löte in diesem Fall den Schalter auch nicht auf die Platine
2. Verwende Drähte zwischen dem Piezo-Summer und klebe das Mikrofonmodul und den Piezo-Summer zusammen
3. Löcher bohren, um Kabel anzuschließen
4. Verwende Drähte zwischen Geiger Board (D 23) und LED-Leuchte, die in das Gehäuse eingeklebt ist
5. Geiger Counter Breakout connector +/- >> Arduino 5V/GND
6. Sound Sensor AUD >> Arduino A2
7. Sound Sensor + >> Arduino 5V
8. Sound Sensor - >> Arduino GND
9. Verbinde den Arduino mit dem Computer und lade randomMachine.ino hoch

Wie funktioniert es?

  • Verbinde das Gerät mit Deinem Laptop/PC und schalte es ein

  • Use case 1: Just run RandomMachine.py from your terminal >> This will print duration into your console

  • Anwendungsfall 2: Importiere die Klasse aus RandomMachine.py in Dein Programm und verwende die Funktion read() als Wert

  • Use case 3: Install the RandomMachine.py in your FoxDot installation to use it for music making (Video above). Follow instruction at same place on GitLab

Project on GitLab

Teilen