DIY: Lichtschwert mit Ton

Bild

Hallo allerseits! Seit meiner Kindheit mag ich das Universum von Star Wars. Als ich 7 Jahre alt war, habe ich die Folgen 4-6 so oft gesehen, dass ich ihren Inhalt sehr detailliert nacherzählen konnte.

Zweifellos sind die lebendigsten Eindrücke der Filme die Lichtschwertschlachten. Vor zwei Jahren stolperte ich im Internet über einen kurzen Artikel über die Auswahl eines Lichtschwerts als Geschenk, wurde interessiert und studierte dieses Thema im Detail.

Ende des Jahres werden 8 Folgen veröffentlicht, der 4. Mai steht vor der Tür und am Vorabend des Internationalen Star Wars-Tages habe ich beschlossen, diesen Artikel zu schreiben.

Im Rahmen des Schnitts werde ich Informationen über Hersteller von Lichtschwertern austauschen und über die Erstellung eines Budget-Schwertes mit Sound sprechen, der auf Arduino basiert.

Jetzt gibt es im Internet viele kommerzielle Hersteller von Lichtschwertern, die meiner Meinung nach am bemerkenswertesten sind:

● ● ● Genesis Custom Sabres - Sehr hochwertige, maßgeschneiderte Griffe. Der Preis für ein Elite Custom Schwert mit Sound variiert zwischen 1500 und 3000 USD.

● ● ● Sabre Forge ist eine gute Wahl, die Preise sind günstiger, aber Schwerter sind nicht so authentisch wie in Genesis CS. Der Preis für ein Schwert mit einem Klang von ca. 300 USD.

● ● ● Ultrasabers ist preislich eines der humansten Geschäfte. Ein Schwert mit Grundklang kostet rund 160 USD. Sie können einzelne Komponenten für Ihr Projekt bestellen.

● ● ● Der Custom Sabre Shop - Eine Website mit einem Geschäft und einem Designer, um Ihr Schwert zu bauen.

Es gibt andere Hersteller von Lichtschwertern, zum Beispiel ● ● ● Makoto Tsai , der die hellsten Schwerter auf Basis hausgemachter LED-Streifen herstellt.

Aber was ist, wenn Sie nicht viel Geld ausgeben möchten, aber wirklich ein Lichtschwert möchten? Es gibt nur einen Ausweg - 5.000 Rubel anzusammeln und sich ein Schwert zu machen.

Zu Beginn meines Projekts hatte ich praktisch keine Programmiererfahrung, Kenntnisse in Elektronik fehlten völlig. Vielleicht habe ich etwas nicht optimal gemacht, aber ich lerne weiter und freue mich über Ihren Rat.

Bei der Beschreibung des Herstellungsprozesses eines Schwertes werde ich versuchen, alle Hauptschwierigkeiten zu beschreiben.

Also fangen wir an. Hier ist eine Liste von allem, was ich verwendet habe:

  1. Arduino Pro micro 5v ~ 250 Rubel auf Ali
  2. Soundmodul WT588D-U ~ 250 Rubel auf Ali
  3. Step-up 3-5V ~ 100 Rubel auf Ali
  4. Lautsprecher Ø28mm, 8 Ohm, 2W ~ 40 Rubel auf Ali
  5. Beschleunigungsmesser ADXL335 ~ 200 Rubel auf Ali
  6. N-MOSFET IRF530N x2 ~ 40 Rubel bei Amperka
  7. LED Luxeon Rebell 3W ~ 70 Rubel auf Ali
  8. Objektiv für LED 8 ° ~ 50 Rubel auf Ali
  9. Batterie CR123A x2 3.7V ~ 400 Rubel auf Ali
  10. Krona 9V Batterie für Arduino Power
  11. Batteriehalter ~ 15 Rubel auf Ali
  12. Anti-Vandalismus-Knopf ~ 100 Rubel auf Ali
  13. Kippschalter ~ 50 Rubel auf Ali
  14. Weiße Polycarbonatröhre 1 ”~ 800 Rubel in Moskau (es gibt viele Geschäfte, sie sind in Google)
  15. PVC-Rohr für die Griffherstellung

Sie benötigen außerdem Drähte, eine Schraube zur Befestigung des Polycarbonatrohrs im Griff und eine Kappe für das Polycarbonatrohr mit einem Reflektor.

Ich bestellte eine Kappe mit Reflektor im Custom Sabre Shop ab 7 US-Dollar, die Lieferung für kleine Gegenstände kostet 14 US-Dollar.

Sie müssen auch irgendwo Geräusche für das Schwert bekommen, normalerweise eine Reihe von Ein / Aus-Geräuschen, Betriebsgeräuschen (Brummen), Geräuschen von Schaukeln (Schwingen), Geräuschen von Kollisionen (Zusammenstoßen).

Ich habe auf der Saberfont- Website eine Reihe von Sounds für 7 US-Dollar gekauft, aber ich bin sicher, dass Sie kostenlose Sounds finden können.

Die Gesamtmenge der Komponenten beträgt etwa 5.000 Rubel, wenn Sie Sounds kaufen, wenn nicht, dann in der Region von 4.000.

Es gibt zwei Hauptbeleuchtungsarten der „Klinge“ - eine leistungsstarke LED am Boden der Polycarbonatröhre, deren Licht von einer Kappe am Ende der Röhre reflektiert wird, und die zweite Art ist ein selbst hergestellter segmentierter LED-Streifen. Segmente werden benötigt, um das Schwert reibungslos einzuschalten, wie in Filmen.

Zum Beispiel verwendet Makoto mehrere segmentierte Bänder in seinen hellsten Schwertern.

Bild

Ich empfehle die Verwendung einer leistungsstarken LED für den ersten Build, sie ist viel einfacher und recht hell.

Ich möchte gleich sagen, dass die Schwerter auf dem Video heller aussehen als im Leben, weil Die Matrix der Kamera akkumuliert im Gegensatz zu unseren Augen Licht. Erwarten Sie nicht, dass Ihr Schwert wie in Filmen leuchtet.

Ich schlage vor, die Montage des Prototyps mit den Toneinstellungen zu beginnen.

Der schwierigste Teil des Projekts war der Umgang mit Sound. Das WT588D-Modul erwies sich in meinem Fall als ideale Option Es bietet eine kontinuierliche Wiedergabe von Audiodateien und erfordert kein Flash-Laufwerk.

Bevor ich Dateien auf WT hochlud, musste ich sie etwas bearbeiten, dafür kannst du das kostenlose Programm Audacity verwenden .

Es ist notwendig, jede Datei der Reihe nach zu öffnen, den Bereich mit Ton auszuwählen (ich hatte einige Sekunden Stille am Ende jeder Datei), in der unteren linken Ecke des Bildschirms müssen Sie die Frequenz von 16000 bis 22000 kHz einstellen. Wenn die Häufigkeit mehr als 22000 beträgt, kann WT die Datei nicht herunterladen. Nächster Export ausgewählt - 16 Bit.
Um Dateien auf den WT588D herunterzuladen, benötigen Sie ein Programm zum Herunterladen von Sounds des Modulherstellers Waytronic (es funktioniert nur unter Windows, ich habe es über BootCamp auf MAC ausgeführt).

Sie müssen die Software ausführen und in den Einstellungen Englisch auswählen. Es gibt verschiedene Betriebsarten im WT588D, ich habe den Einzeilenmodus gewählt, weil Es erfordert ein Minimum an Löten, das Modul kommuniziert mit dem Arduino über einen Pin.

Das Arbeitsfeld ist in 3 Teile unterteilt. Links befindet sich eine Liste der auf das Modul hochgeladenen Dateien. In der Mitte befindet sich eine Liste der Wiedergabelisten. Rechts befindet sich eine Liste der Dateien in einer Wiedergabeliste.

Um Dateien herunterzuladen, klicken Sie mit der rechten Maustaste auf die Liste der heruntergeladenen Dateien und wählen Sie Laden - Suchen und wählen Sie die in Audacity verarbeitete Audiodatei aus. Wiederholen Sie dies für alle Dateien.

Als nächstes müssen Sie Wiedergabelisten erstellen und viele sich wiederholende Geräusche des Geräusches der Arbeit nach dem Geräusch der Aufnahme und den Geräuschen von Schaukeln / Kollisionen hinzufügen. Dies ist erforderlich, um keinen Code zu schreiben, um nach dem Einschalten / Wischen auf Rauschen umzuschalten.

Wir werden die Anzahl der Wiedergabelisten später in unserer Skizze aufrufen. Nachdem Sie Sounds heruntergeladen und Wiedergabelisten vorbereitet haben, müssen Sie den WT mit Strom versorgen, einen Lautsprecher anschließen und den Daten-Pin des WT mit Arduino verbinden. Verbinden Sie außerdem eine Taste zum Ein- und Ausschalten von Licht / Ton und eine LED über den MOSFET mit dem Arduino.

Hier ist mein Anschlussplan:

Bild

Ich speise WT von einer separaten 3,7-V-Batterie über einen MOSFET mit einer Verstärkung von bis zu 5 V ein. In diesem Fall erhalte ich das maximale Ausgangsvolumen.

Zuerst müssen Sie alles registrieren, was in der Skizze verwendet wird:

#define WT588D_SDA 8 //      WT588D //          const int xpin = A0; const int ypin = A1; const int zpin = A2; int oldtime; int newtime; int ADXL = 3; int BUTTON_PIN = 7; //     int LED_PIN = 9; //MOSFET  int WT_MOSFET = 6; //MOSFET WT588D int i = 0; byte file_count = 1; bool saberon; bool swingsound; void setup() { Serial.begin(9600); pinMode(BUTTON_PIN, INPUT_PULLUP); pinMode(LED_PIN, OUTPUT); pinMode(ADXL, OUTPUT); pinMode(WT_MOSFET, OUTPUT); pinMode(WT588D_SDA, OUTPUT); digitalWrite(ADXL, LOW); digitalWrite(LED_PIN, LOW); digitalWrite(WT588D_SDA, HIGH); digitalWrite(WT_MOSFET, LOW); saberon = false; swingsound = false; oldtime = analogRead(xpin) + analogRead(ypin) + analogRead(zpin); //    } 

Damit WT funktioniert, müssen Sie in der Skizze den Befehl WT_Send_Command (*) deklarieren. Fügen Sie dazu am Ende der Skizze den folgenden Code hinzu:

 void WT588D_Send_Command(byte addr) { digitalWrite(WT588D_SDA, LOW); delay(100); for (int i = 0; i < 9; i++) { digitalWrite(WT588D_SDA, HIGH); if (bitRead(addr, i)) { delayMicroseconds(600); digitalWrite(WT588D_SDA, LOW); delayMicroseconds(200); } else { delayMicroseconds(200); digitalWrite(WT588D_SDA, LOW); delayMicroseconds(600); } } digitalWrite(WT588D_SDA, HIGH); delay(50); } 

Der nächste Schritt besteht darin, den Code so zu schreiben, dass beim Drücken der Taste die LED aufleuchtet und die Wiedergabeliste mit eingeschaltetem Ton abgespielt wird. Wenn die Taste erneut gedrückt wurde, wurde die LED ausgeschaltet und die Wiedergabeliste ausgeschaltet.

Wenn Sie keine Programmiererfahrung haben, empfehle ich zum besseren Verständnis des Codes, die folgenden Materialien zu lesen:

Arduino If Tutorial
Arduino Boolean Tutorial
Arduino Button Tutorial

Hier ist mein Code zum Erkennen des Status einer Schaltfläche und zum Ein- und Ausschalten von Effekten:

 if (digitalRead(BUTTON_PIN) == LOW) { if (saberon) { WT588D_Send_Command(*    ); delay(700); saberon = false; { analogWrite(LED_PIN, LOW); digitalWrite(WT_MOSFET, LOW); delay(1); } } else { digitalWrite(WT_MOSFET, HIGH); delay(100); WT588D_Send_Command(*    ); { analogWrite(LED_PIN, HIGH); delay(1); } saberon = true; } } 

Wenn alles richtig gemacht ist, sollten Sie beim Drücken der Taste das Einschalten und Geräusche hören, die LED sollte sich einschalten. Beim erneuten Drücken wird der Ton ausgeschaltet und die LED sollte erlöschen.

Der Hauptteil der Skizze ist fertig, jetzt schließen wir den Beschleunigungsmesser an und lassen WT die Geräusche der Wellen spielen.

ADXL335 ist recht einfach zu bedienen, es müssen keine Bibliotheken verbunden werden. Hier ist das Anschlussdiagramm:

Damit der Beschleunigungsmesser funktioniert, nehmen wir zwei Messungen vor und spielen basierend auf einem Vergleich der Messwerte den Klang einer Welle.

Ich empfehle, den Beschleunigungsmesser so nah wie möglich an einem Ende des Griffs zu platzieren.

 newtime = analogRead(xpin) + analogRead(ypin) + analogRead(zpin); delay (100); if (newtime - oldtime >= 75 || newtime - oldtime <= -75) { if (swingsound) { swingsound = false; delay (50); } else { swingsound = true; WT588D_Send_Command(*    ); delay (150); } } Serial.print(oldtime); Serial.print("\t"); Serial.print(newtime); Serial.print("\t"); Serial.print(newtime - oldtime); Serial.println(); oldtime = newtime; 

Alles, der Prototyp ist fertig. Es ist Zeit, einen Griff zu erstellen und die gesamte Füllung hinein zu legen.

Ich habe einen Griff aus PVC-Rohren gemacht, einen Einsatz für eine Klinge mit einem Durchmesser von 28 mm.

Ich hatte Probleme mit dem Griff, daher war die erste Version zu klein, jetzt mache ich eine neue.

Bei der Herstellung von PVC-Griffen sind Sie nur durch Ihre Vorstellungskraft eingeschränkt, ich kann nur einen Rat geben - vor dem Lackieren die Oberfläche des Rohres mit feinem Sandpapier behandeln, sonst hält der Lack nicht gut.

Hier ist die erste Version meines Griffs. In der Abdeckung habe ich Löcher gebohrt und einen Lautsprecher platziert. Die Klinge ist mit vier Schrauben im Rohr befestigt:

Bild

Bild

Bild

Ich habe den Kollisionseffekt nicht in mein Schwert aufgenommen, vielleicht werde ich das nächste Mal aufholen. Wenn Sie jedoch einen Konflikt aktivieren möchten, benötigen Sie einen Vibrationssensor oder einen Beschleunigungsmesser, um kurze Beschleunigungen zu erkennen. Wenn jemand den Beschleunigungsmesser konfigurieren kann, seien Sie nicht zu faul, um den Code zu teilen. Ich werde ihn in einen Artikel aufnehmen, in dem Sie als Autor erwähnt werden.

Hier ist ein kleiner Schwerttest auf der Straße bei Nacht:



Update:
Ich habe das Handle vervollständigt und an der Synchronisation von Sounds gearbeitet. Ein Clash-Sound wurde hinzugefügt. Hier ist ein aktualisiertes Video:


Ich bin sicher, dass Geektimes eine große Anzahl sehr talentierter und qualifizierter Leute liest. Ich bitte Sie, Ihre Meinung zu teilen und Ratschläge zu geben. Es ist möglich, dass wir dank der Zusammenarbeit den Prozess noch weiter vereinfachen / optimieren können.

Teilen Sie unbedingt Ihre Ergebnisse mit. Es ist sehr interessant zu sehen, was Sie erhalten!

Vielen Dank für Ihre Aufmerksamkeit! Und möge die Macht mit dir sein!

Source: https://habr.com/ru/post/de402681/


All Articles