Beweglichen Licht-up Bat Signal

7 Schritt:Schritt 1: Komponenten Gebraucht Schritt 2: 3D Gedruckt Parts Schritt 3: Elektrische Komponenten Schritt 4: Arduino-Code Schritt 5: RGB-Streifen Schritt 6: Assembly Schritt 7: Projektabschluss und Video Demonstration

Beweglichen Licht-up Bat Signal

Diese instructable wurde in Erfüllung der Projektanforderung des MAKEcourse an der University of South Florida (erstellt makecourse.com ).
Batman - die meisten von uns sollte die ikonische Signal (wenn auch leicht modifiziert) als einer der beliebten Superhelden DC Comics 'und Justice League Mitglied erkennen. Für diejenigen von euch, die Fans sind, wie ich, werden Sie erhalten, Ihre ganz eigene bat Signal zu erzeugen, so dass Sie die Caped Kreuzfahrer eine unmittelbar drohende Gefahr aufmerksam zu machen. Dieses Projekt kann Spaß für jeden Comic-Fan sein.
Das Projekt wird angetrieben mit einem Arduino Uno R3 und nutzt eine RGB-Streifen-und 3D-Teile unter anderem.

Schritt 1: Komponenten Gebraucht


  1. 3D gedruckte Teile:
    1 Batman logo 1 Lampe 1 Gehäuse (Boden und Deckel) (DC-47P Magnetisch Gehäuse) ( http://www.polycase.com/dc-47p ) 1 Lampenhals 1 Lamp Base 1 Bolt
    Hardware:

    1 Arduino Kit ( Finden Sie es hier ), die Teile für das Projekt beinhaltet:
    1 Arduino Uno R3
    1 USB-Kabel
    bunten Schaltdrähte (17 Notwendigkeit für dieses Projekt)
    1 Minibrotschneidebrett
    1 IR-Fernbedienung (YK-001) (brauchen eine CR2025 Batterie, die nicht im Lieferumfang enthalten ist) ( Bestellung hier )
    1 IR-Empfänger
    1 Servomotor (9 g)
    Zusätzliche Hardware:
    1 AA 12V Akku-Pack - ( superbrightleds.com )
    8 AA-Batterien
    1 Plexiglas oval (oder deaktivieren bedruckten Teil, welches Sie bevorzugen)
    3 Adafruit TIP120 Darlington-Transistoren ( http://www.adafruit.com/product/976 )
    1 Adafruit RGB LED wetterFlexis - 30 m (Senkung um 6 LEDs) ( http://www.adafruit.com/product/285 )
    1 Adafruit 4-pin JST SM Stecker + Buchse Cable Set ( http://www.adafruit.com/product/578 )
    Sonstiges:
    Kreuzschlitzschraubendreher Acrylfarbe - Schwarz Abisolierzange oder Schere Solder kit w / Lot und farbigen Drähte Laserschneider (optional) Dremel Kit schwarzem Isolierband Sand paper - grober Körnung Arduino IDE - frei, Autodesk Inventor (oder je nachdem, welche CAD-Software Sie bevorzugen) downloaden 3D-Drucker

Schritt 2: 3D Gedruckt Parts


  1. Dieses Projekt stützt sich schwer auf einem 3D-Drucker. Ich benutzte Drucker auf dem Campus zur Verfügung für eine geringe Gebühr. Für die MAKEcourse, war ich ein Gehäuse gegeben, aber es hatte auch in .stl-Dateien und so konnten wir Modifikationen, um es hinzuzufügen. Dies ist, was ich getan habe. Ich habe ein Loch in der Front, so dass die IR-Fernbedienung kann mit dem IR-Empfänger zu kommunizieren. Ich habe auch einen dünnen Streifen auf der Rückseite, so dass die Stromversorgung und / oder USB-Kabel an das Arduino, ohne zu viel Aufwand verbunden sein. Ich habe auch ein Loch in der Oberseite des Gehäuses, so dass die Leitungen vom RGB Streifen und Servomotor können die Steckbrett und Arduino zu erreichen. Alternativ können Sie einen Bohrer zu verwenden, um die Löcher, die Sie benötigen.
    Die quadratische Öffnung im Lampensockel, wo der Servomotor sitzt kann durch Verwendung eines Dremel mit einem aufsetzbaren Schleifgerät geändert werden. Verwenden Sie Schleifpapier zu glätten keine raue Stellen, die Sie sehen können.
    Die Lampe des Bat Signal kann ein wenig tiefer und breiter gemacht werden, so dass die RGBs besser passen, aber ansonsten ist eine ideale Größe.
    Die Oberseite des Gehäuses wurden Lampenhals und Lamp Base separat gedruckt und Warmzusammengeklebt. Dies war, um Fehler aus den 3D-Drucker, die passieren, wenn Sie einen großen Teil der Regel gemacht zu verhindern.
    Der Batman-Logo ist heiß auf die Plexiglas oval, die eng in die Lampe passt und kann, wenn der Zugriff benötigt wird, entfernt werden geklebt. Die ovale Teil wurde mit einem Laserschneider auf dem Campus gemacht und wurde abgeschliffen, so dass es problemlos in Position passen.
    Früher habe ich die Farbe, um den Heißkleber zu decken und es zu mischen. Der Bolzen wurde in einer anderen Farbe, so dass ich gemalt, um das Projekt entsprechen.
    Das Plexiglas oval wurde mit einem Laserschneider geschnitten. Die Abmessungen wurden mit den Lampendimensionen im Hinterkopf entwickelt. Ich war in der Lage, einen etwas größeren Oval, das in der Lage, einrasten war, als über mit Schleifpapier geglättet erstellen. Um die Abmessungen der Lampe zu überprüfen, können Sie einen Messschieber zu verwenden. Ich verwendete Plexiglas, die zur Verfügung im Labor war, aber man kann ein Blatt bei Ihrem örtlichen Home Depot oder Kaufhaus zu bekommen. (Auch, wie in Schritt 1 erwähnt, können Sie ein klares 3D gedruckt Stück zu drucken, wenn ein Laserschneider nicht ohne weiteres verfügbar.)
    Die Zip-Datei enthalten alle die .stl-Dateien für den 3D-Drucker.

Schritt 3: Elektrische Komponenten

  1. Beweglichen Licht-up Bat Signal

    Beweglichen Licht-up Bat Signal

    Beweglichen Licht-up Bat Signal

    Beweglichen Licht-up Bat Signal

    Können die Bilder schwer zu folgen, so werde ich zu erklären. Oben links ist die Verdrahtung für den Servo und rechts ist die Verdrahtung der RGB-Streifen. Für das Projekt, müssen Sie einfach, um sie auf einem Steckbrett zusammen.
    Der IR-Empfänger hat eine bezeichnete Pin 11 (orange Kabel). Die blauen und schwarzen Kabel an die Strom (rot) und Erde (blau) des Steckbrett verbunden. Bei der Betrachtung der Empfänger mit der Blase zu Ihnen zeigt, ist die am weitesten links stehende Stift für den orangefarbenen Stift, der Mitte ist für die Erde und das Recht ist für die Macht.
    Der Servomotor kann durch Verbinden der Enden der drei Schaltdrähte in das Ende des dreifarbigen Draht an den Servo befestigt verbunden werden. Tipp: Schwarz ist in der Regel verwendet, um Boden zu vertreten; die nächste Farbe zu, dass ist braun, so dass wird gemahlen und mit der Masse des Steckbrett verbunden ist, ist der mittlere Leiter rot und ist das Stromkabel, das mit dem roten Streifen des Steckbrett verbindet, ist das gelbe Kabel der Draht, die verbindet auf den Arduino. In diesem Fall ist, dass der Stift 6.
    Von dem Steckbrett sind die Masse und Macht durch zwei zusätzliche Drähte, schwarz und rot, und auf den Boden und 5V Pins verbunden, ausgerichtet.
    Die Transistoren werden verwendet, um die Leistung zwischen der RGB-Streifen so zu regulieren, dass sie nicht zu kurz macht. Beim Blick auf die Transistoren von der Metallseite, wird die Verdrahtung einfach. Der linke Stift ist für Boden bezeichnet, ist die mittlere Leistung und diese Drähte zu verbinden, um die Drähte für den Streifen. Die am weitesten rechts Stifte verbinden, um die Pins auf der Arduino. Auf dem Bild von links nach rechts: rotes Kabel ist an Pin 2, ist grüne Ader auf Pin 3 und blaue Ader ist mit Pin 5. (Dies wird in der Arduino-Code erläutert.)
    Beim Blick auf die Stecker der RGB-Streifen mit den Metallschlitze zu Ihnen, von rechts nach links: blau Draht, rote Kabel, grünen Draht geht orange Kabel an den Pin auf der Arduino Fahrgestellnummer.
    Schließlich ist der Boden von den Transistoren richten Sie mit einer Bodenüberbrückungskabel (schwarz) und eine Verbindung zu einem anderen auf dem Arduino Erdungsstift.

Schritt 4: Arduino-Code


  1. Für die Fernbedienung, um zu arbeiten, müssen Sie die C2025 Akku einlegen.
    Fun Fact: Infrarot-Licht kann nicht vom menschlichen Auge gesehen werden und ist direkt unterhalb des sichtbaren Lichtspektrums liegt. Um zu überprüfen, ob Ihre Fernbedienung funktioniert, schalten Sie die Kamera des Telefons Halten Sie das Telefon mit der IR-Lampe vor der Kamera und drücken Sie eine beliebige Taste. Sie sollten sehen, ein blinkendes Licht von der Lampe kommen. Dies sagt Ihnen, dass es funktioniert und man kann sagen, dass man Infrarotlicht erfolgreich gesehen haben und Ihren Freunden zeigen!
      //-Code für Movable Bat Signal
     // Geschrieben von Rachel Porter Frühling 2015 
      # include 
     # include 
     Servo myservo;
     int IR_PIN = 11;
     int SERV_PIN = 6;
     int P_RED = 2;
     int P_GREEN = 3;
     int P_BLUE = 5;
     unsigned long lastresult = 0; // die letzte Code von Remote - hält letzten Wert, so dass das letzte, was Sie getan haben kann wiederholt werden,
     IRrecv irrecv (IR_PIN); // IR-Empfänger ist mit dem Stift 11
     int pos = 0; // die anfängliche Position des Servoarmes ist bei 0 Grad
     decode_results Ergebnisse; // Decoder für die Ergebnisse.  Die 8 Zahlenfolgen mit den Tasten auf der Fernbedienung zugeordnet sind, festgelegt und angesichts bestimmter Aktionen. 
      struct color {// Schaffung einer neuen Art von Variable "byte", die Lage, die drei Variablen unten in verschiedenen Farben zu manipulieren ist, indem die Zahlen 0 bis 255
      Byte-r; 
      Byte g;
      byte b;
     }; 
      Farbe c_blue = {255, 0, 0}; // r kann G und B manipuliert werden entweder einzeln oder gleichzeitig, so dass sie in verschiedenen Farben machen
     Farbe c_red = {0, 255, 0};
     Farb c_green = {0, 0, 255};
     Farbe c_orange = {0, 255, 65};
     Farbe c_purple = {255, 255, 0};
     Farb c_none = {0, 0, 0};
     Farbe c_white = {255, 255, 255};
     Farbe c_yellow = {0, 255, 80}; 
      nichtig Change (struct color rgb, float Helligkeit) {// Änderung der Helligkeit der RGB-Farben
       if (Helligkeit> = 0,0 && Helligkeit <= 1,0) {
         analogWrite (P_RED, rgb.r * Helligkeit); 
         analogWrite (P_GREEN, rgb.g * Helligkeit);
         analogWrite (P_BLUE, rgb.b * Helligkeit); 
       }
     } 
      nichtig Change (struct color rgb) {// rgb Streifen ist analog im Gegensatz zu digital
         analogWrite (P_RED, rgb.r); 
         analogWrite (P_GREEN, rgb.g);
         analogWrite (P_BLUE, rgb.b); 
     } 
      Leere setup ()
     {
       Serial.begin (9600); // standardmäßig für die Arduino.  Initialisiert serielle Verbindung
       myservo.attach (SERV_PIN); // the Servo auf den Servostift befestigt vorstehend definiert (pin 6)
       irrecv.enableIRIn (); // Starten Sie den Empfänger
       myservo.write (0); // bei 0 Grad Startposition
       pinMode (2, OUTPUT); // Pins 2, 3, 5 sendet Informationen statt Empfangen von Informationen
       pinMode (3, Ausgang); 
       pinMode (5, Ausgang); 
     } 
      Leere Schleife () {
       if (irrecv.decode (& Ergebnisse)) {// dekodieren die 8-stellige Ziffernfolge, die von der Fernbedienungstasten, um ihre entsprechenden Befehle
       if (results.value == 4294967295) {// passiert, wenn bei gedrückter Taste positive
         results.value = lastresult;
       }
         Schalter (results.value) {
          Fall 16754775: // die Schaltfläche bewegt positive Lampe bis
            if (pos <90) {// postion geht nicht höher als 90 Grad
             pos + = 5;  // Die Servohebel bewegt sich in Schritten von 5 Grad
            }
           Unterbrechung;
          Fall 16769055: // die negativen Taste bewegt Lampe nach unten
           if (pos> 0) {// Stellung größer als 0, aber weniger als 90
             pos - = 5;  // Servoarm bewegt sich in Schritten von 5 Grad
            }
            Unterbrechung;
          Fall 16756815: // letzten Kanaltaste macht keinen Farb
            Change (c_none);
            Unterbrechung;
          Fall 16736925: // Modus-Taste macht die Farbe Blau
            Change (c_blue);
            Unterbrechung;
          Fall 16753245: // Power-Taste macht die Farbe Weiß
            Change (c_white);
            Unterbrechung;
          Fall 16761405: // Wiedergabe / Pause-Taste macht die Farbe Grün
            Change (c_green);
            Unterbrechung;
          Fall 16769565: // Mute-Taste macht die Farbe Rot
            Change (c_red);
            Unterbrechung;
          Fall 16750695: // 100 + Taste macht die Farbe Lila
            Change (c_purple);
            Unterbrechung;
          Fall 16720605: // vorherige Taste macht die Farbe Orange
            Change (c_orange);
            Unterbrechung;
          Fall 16712445: // Schaltfläche Weiter macht die Farbe Gelb
            Change (c_yellow);
            Unterbrechung;
          Fall 16748655: // EQ-Taste macht die Regenbogen
            Change (c_white);
            Verzögerung (1000);
            Change (c_red);
            Verzögerung (1000);
            Change (c_orange);
            Verzögerung (1000);
            Change (c_yellow);
            Verzögerung (1000);
            Change (c_green);
            Verzögerung (1000);
            Change (c_blue);
            Verzögerung (1000);
            Change (c_purple);
            Verzögerung (1000);
            Change (c_white);
            Verzögerung (1000);
            Change (c_none);
            Unterbrechung;   
         
      Fall 16738455: // 0-Taste verwendet weiß Blitzlicht - 6 mal blinkt
            Change (c_white);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_white);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_white);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_white);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_white);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_white);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Unterbrechung;    
          Fall 16724175: // 1-Taste funktioniert die roten Blitzlicht - 6 mal blinkt
            Change (c_red);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_red);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_red);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_red);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_red);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_red);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Unterbrechung;
          Fall 16718055: // 2-Taste verwendet Orange Blitzlicht - 6 mal blinkt
            Change (c_orange);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_orange);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_orange);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_orange);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_orange);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_orange);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Unterbrechung;
          Fall 16743045: // 3-Taste verwendet gelben Blitzleuchte - blinkt 6 mal
            Change (c_yellow);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_yellow);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_yellow);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_yellow);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_yellow);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_yellow);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Unterbrechung;
          Fall 16716015: // 4-Taste verwendet grünen Blitzlicht - 6 mal blinkt
            Change (c_green);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_green);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_green);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_green);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_green);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_green);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Unterbrechung;
          Fall 16726215: // 5-Taste verwendet blauen Blitzlicht - 6 mal blinkt
            Change (c_blue);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_blue);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_blue);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_blue);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_blue);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_blue);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Unterbrechung;
          Fall 16734885: // 6-Taste verwendet lila Blitzlicht - 6 mal blinkt
            Change (c_purple);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_purple);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_purple);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_purple);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_purple);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Change (c_purple);
            Verzögerung (100);
            Change (c_none);
            Verzögerung (100);
            Unterbrechung; 
      } <br> Myservo.write (pos); // schreibt die Position des Servo.  
         if (results.value! = 4294967295) {// Dies geschieht, wenn bei gedrückter Taste negativ.  Kehrt in Ausgangslage bringen. 
      lastresult = results.value; 
         }
         irrecv.resume ();  // Den nächsten Wert Erhalten
       }
     } 

Schritt 5: RGB-Streifen

  1. Beweglichen Licht-up Bat Signal

    Beweglichen Licht-up Bat Signal

    Beweglichen Licht-up Bat Signal

    Die RGB-Streifen verwendet 12V Leistung, weshalb die 12 V Batterie verwendet wird. Sie können für die AA-Version oder der D-Version zu gehen, wenn Sie möchten, aber bedenken Sie die D-Version ist größer als es braucht auch 8 Batterien. Oder Sie haben einen 12V-Netzteil, das in eine Steckdose Stecker, aber es gibt keine Garantie für Sie in der Nähe einer Steckdose, und der Akku-Pack macht es tragbare verwenden können.
    Ein Freund von mir war so freundlich, mich zu seinem Lötkolben leihen. Zusammen mit ihm, hatte er 4 Spulen von Drähten, die ich auf dem Band verwendet. Dann zog ich nach unten die Drähte auf der 4-poliger JST SM Cable Set mit Schere und verdreht die Drähte an ihren entsprechenden RGB-Draht, dann mit Klebeband über sie individuell, wie oben gezeigt. Ich habe dann mit Klebeband unten den Draht, bis das Teil, das aus der Lampe (im nächsten Schritt sehen) klebt, ist eine solide Farbe und Drähte sind nicht überall kleben.

Schritt 6: Assembly

  1. Beweglichen Licht-up Bat Signal

    Beweglichen Licht-up Bat Signal

    Beweglichen Licht-up Bat Signal

    Beweglichen Licht-up Bat Signal

    Beweglichen Licht-up Bat Signal

    Beweglichen Licht-up Bat Signal

    Alle 10 Artikel anzeigen

    1. Hot geklebt Basis bat Signal zusammen
    2. Nach dem Trocknen, malen Sie über den Kleber der Teil Look homogener zu machen und besser gemischt.
    3. Heißklebe das Logo auf die Plexiglas oval
    4. Richten Sie die RGB-Streifen in der Lampe setzen und dann den Plexiglas hinein. (Anmerkung: wenn Bedarf entfernt werden, verwenden Sie einen Stift oder einen kleinen Schraubenzieher, um es indem Sie es durch das Loch in der Rückseite herauszudrücken)
    5. Stellen Sie den Servo auf dem Platz ohne Arm Set.
    6. Bringen Sie die Lampen zu seiner Basis, indem Sie die Schraube und Anbringen der Servohebel so, dass er die Lampe einzuschalten. (Vergewissern Sie sich, wie Sie das Servo mit seinem Arm, dass, wenn seine eingeschaltet, und der Arm Sätze auf 0 Grad ausgerichtet sind, ihre in die richtige Position.)
    7. Setzen Sie die Steckbrett und Arduino in den Strafraum. Entfernen Sie das Schutzpapier von der Steckbrett und sicherstellen, dass der IR-Sensor ist mit dem Loch in der Vorderseite der Box ausgerichtet sind. Sichern Sie die Steckbrett am Platz, so gibt es nicht so viel bewegen.
    8. Schließen Sie alles zusammen mit Drahtbrücken.
    9. Stecken Sie das 12V-Netzteil
    10. Testen Sie die Fledermaus-Signal zu sehen, ob alles richtig funktioniert.
    11. Wenn nur testen Sie es aus, Sie brauchen nicht zu verschrauben die Box, aber wenn Sie es auf lange Sicht wäre es ideal.
    12. Du bist fertig !!!!!!!! Genießen Sie Ihren eigenen Schläger-Signal, dass Sie machte sich !!!!!!!!

Schritt 7: Projektabschluss und Video Demonstration

  1. Beweglichen Licht-up Bat Signal

    Ich möchte den folgenden Personen bedanken:
    Francarlos Fernandez für die Hilfe mit dem Code und erklären mir, dass Sie mich und seinen Lötkolben leihen.
    Der AVC-Team für Ihre Geduld mit mir, wenn ich gebeten Teile. Auch für den Druck meiner Teile so rechtzeitig.
    Mr. Schlaf für Sein ein A für Awesome Lehrer.
    Und der A für Awesome TAs, Patrick Curran, Rebecca Ellis, Laurel Smith und Scott Enzinna, zusammen mit Co - Lehrer Eric Tridas für die Beantwortung all meiner Fragen.
    Danke noch einmal,
    Ich hatte eine wirklich erstaunliche Jahr und ich habe so viel gelernt.