Arduino Stoplight Web Server - Gunook - 2020 - How ToDo Well

Arduino Stoplight Web Server - Gunook - 2020 - How ToDo Well

Inhaltsverzeichnis:

Anonim

An meinem Arbeitsplatz überwachen wir unsere Server mit xymon. Alle überwachten Dienste sind wichtig, aber wir wollten einen separaten Indikator, der einfach den Gesamtzustand der kritischsten Systeme anzeigt. Darüber hinaus haben wir folgende Kriterien aufgestellt:
  1. Wir wollten, dass dies für alle sichtbar ist, unabhängig davon, ob sie sich in der Nähe eines Webbrowsers oder sogar eines Monitors befinden.
  2. Wir wollten, dass der Xymon-Gebrauch des Status "Rot / Gelb / Grün" erhalten bleibt.
  3. Wir wollten, dass es eigenständig ist und keinen separaten Computer benötigt (dafür haben wir bereits einen Breitbild-Monitor an anderer Stelle).
  4. Wir wollten, dass es gut aussieht und Spaß macht.
Nach einem kleinen Brainstorming beschlossen wir, dass eine mit einem Ethernet-fähigen Arduino ausgestattete Ampel den Trick machen würde, und ich machte mich daran, sie zu bauen.
Dieser Artikel ist für Sie von besonderem Interesse, wenn einer dieser Punkte zutrifft:
  • Sie haben eine Ampel, die von einem Webbrowser gesteuert werden könnte.
  • Sie möchten lernen, wie Sie 120-Volt-Lampen von einem Arduino aus sicher steuern.
  • Sie möchten lernen, wie Sie ein mit Ethernet Shield ausgestattetes Arduino in einen einfachen Webserver zur Steuerung der Ausgänge verwandeln.
  • Sie haben ein "rot-grünes" Überwachungssystem, für das Sie eine sichtbare, unterhaltsame und schwer zu übersehende physische Komponente wünschen.

Am liebsten hätte ich meinen eigenen Laserschneider. In den Anmerkungen am Ende finden Sie Überlegungen dazu, wie ich einen verwenden würde. Wenn Ihnen dieser Artikel gefällt, bewerten Sie ihn und stimmen Sie bei der Laser-Challenge ab.

Zubehör:

Schritt 1: Was Sie brauchen

Nachfolgend finden Sie eine Liste mit allem, was Sie zum Kauf benötigen, wenn Sie von Grund auf neu bauen. Lassen Sie sich nicht von der 126-Dollar-Elektronikrechnung abschrecken. Es gibt eine Reihe von Möglichkeiten zum Sparen, indem Sie auf einige kosmetische Artikel verzichten. Neben dem Stoplight sind die größten Kosten das Arduino und das Ethernet-Shield. Wenn Sie bereits über einen dieser Artikel verfügen, wird dieses Projekt deutlich weniger kosten (-$30 und -$44.44 ). Die beiden Gehäuse werden nicht unbedingt benötigt, besonders wenn Sie alles in eine Ampel stopfen wollen (-$17.46 ). Jedes 9-Volt-Netzteil, das das Arduino mit Strom versorgen kann, kann funktionieren. Es besteht keine Notwendigkeit, diese teure zu kaufen, wenn Sie eine herumliegen haben (-$16.68 ). Und schließlich das Flachbandkabel (-$3.22 ) kann durch ein beliebiges 6-adriges Kabel oder sogar nur 6 Drähte ersetzt werden und muss wahrscheinlich keine 4 Fuß betragen, je nachdem, wo Sie den Arduino und den Stromkreis anschließen.

Sie benötigen folgende Tools:

  • Lötkolben
  • Dremel oder ein anderes Werkzeug zum Schneiden und Formen der Gehäuse, falls erforderlich
  • Seitenschneider
  • Heißklebepistole (optional)
  • Schraubstock oder helfende Hände, um die Platine beim Löten zu halten (optional, aber empfohlen)
  • Multimeter (zum Testen der Schaltung vor dem Anlegen von Spannung)
  • Drahtwickelwerkzeug (optional)

Elektronik (Preise in US $ von mouser.com)
4- 1K Widerstand - 4 x $ 0,06 = $0.24
1- Arduino -- $30.00
1- Ethernet-Schild -- $44.44
1- Arduino-Gehäuse -- $13.33 (wahlweise)
4-NPN-Transistoren 2N3904 - 4 x $ 0,02 = $0.08
4-Dioden 1N4004 - 4 x $ 0,06 = $0.24
6- Brechen Sie die Header von der 32-Pin-Leiste ab -- $0.66 (Optional, und ein Streifen von 36 ist 30 mehr als für dieses Projekt benötigt)
1- 9-poliges Flachbandkabel - 4 x $ 0,64 = $2.56 (4 Fuß, 3 zusätzliche Leiter abisolieren und zuschneiden)
1- 3 x 2 Zeilen Header von 10 x 2 Streifen abbrechen -- $0.65 (7 mehr als benötigt, Pause von 3 Spalten)
1- 9 Volt Netzteil -- $14.30 (jedes 9 Volt Netzteil sollte funktionieren)
1- Netzkabel für 9V-Stromversorgung -- $2.38 (Das von mir bestellte Netzteil wurde nicht mit einem Kabel geliefert!)
1-Schraubklemme mit 6 Positionen -- $1.00
1- 2x3 Buchse für Flachbandkabel -- $0.66
1- Protoboard und Gehäuse (BusBoard KIT-1593L-BK) -- $9.13
4- 9 Volt Relais (Fujitsu lz-9HE) - 4 x $ 1,85 = $7.40
4-1 Kohm Widerstände -- 4 $0.04 = $0.24

total = $126.83

Andere Materialien:

  • Löten
  • Kabel (mindestens 22 Gauge für den 120-V-Teil des Stromkreises, 18 Gauge für die Bremslichtverkabelung)
  • Twist-on-Wire-Anschlüsse (zum Zusammenfügen von Drähten im Inneren der Leuchte)
  • Netzkabel (ich habe eines von einem PC verwendet)
  • Arbeitsstopplicht (http://www.trafficlights.com/polysigs.htm) - $199 (www.twingreenonline.com hat eine schöne Auswahl an gebrauchten Lampen für viel billiger)
  • Montageteile für Licht - (http://www.trafficlights.com/polysigs.htm#WMF) - $99
  • 5 Ampere Leistungsschalter oder Sicherung - (www.grainger.com) - $3.38

Zum Testen und Hacken kann Folgendes wünschenswert sein, ist jedoch ausschließlich optional:

  • Steckbrett
  • Widerstände (jeweils 180 Ohm)
  • Jeweils eine rote, gelbe und grüne LED

Sie können alle Artikel von bestellen diese Projektliste, oder beginnen Sie mit dieser Liste und subtrahieren Sie alles, was Sie nicht brauchen. Mouser mochte anscheinend nicht, dass der gesamte Datenverkehr direkt zu ihrer Einkaufskarte führte, und löschte dieses Projekt ohne Vorankündigung. Ich werde später mit den tatsächlichen Teilenummern aktualisieren . Wenn Sie von vorne anfangen, stellen Sie sicher, dass Sie Zubehör wie Lötzinn und Draht hinzufügen. Zum jetzigen Zeitpunkt trägt die Maus weder den Leistungsschalter noch die Bremslichter.

Ampeln können bei Ebay oder am Straßenrand nach einem richtig guten Sturm gefunden werden*.

* Nicht wirklich, aber Sie können sie bei ebay finden.

Schritt 2: Programmieren Sie Arduino und richten Sie Ethernet Shield ein

Dieser Schritt kann natürlich zu einem späteren Zeitpunkt ausgeführt werden. Wenn Sie jedoch den arduino als Webserver mit dem Steuercode eingerichtet haben, können Sie den Relay-Schaltkreis testen, sobald er bereit ist.
Sie können die Arduino-Skizze aus der angehängten Datei "stoplight.zip" oder extrahieren Laden Sie die neueste Version von http://code.google.com/p/stopduino/ herunter. Öffnen Sie die Datei stoplight.pde in der Arduino-IDE und nehmen Sie die folgenden Änderungen vor, bevor Sie sie auf Ihr Arduino hochladen:
  1. Da die Ampel als Server dient und eine sich nicht ändernde IP-Adresse haben muss, ist die IP-Adresse in der Skizze fest codiert. Sie werden die Zeile mit der Aufschrift "Byte ip = {192, 168, 119, 177}; "um der IP-Adresse zu entsprechen, die Sie der Ampel zuweisen möchten. Beachten Sie, dass die Quads, aus denen die IP-Adresse besteht, durch Kommas und nicht durch Punkte getrennt sind. Dies liegt daran, dass die IP-Adresse als Array von 4 Bytes gespeichert ist, von denen jedes eins ist der Bytes der IP-Adresse.
  2. Tun Sie das Gleiche für die "byte mac msgstr "" "ersetzt die MAC - Adresse Ihres Ethernet - Shields. Sie sollte irgendwo darauf aufgedruckt sein.
  3. Ändere das "char secret msgstr "" "Array ist das Passwort, das Sie verwenden möchten.
  4. Ändern Sie die Nummer im "EthernetServer Server (####) msgstr "" "Leitung soll der Port sein, an dem der Server empfangsbereit sein soll. Normalerweise würde dies Port 80 sein.
Programmieren Sie das Arduino mit Ihrer geänderten Skizze, befestigen Sie das Ethernet-Shield am Arduino, schließen Sie es an Ihr Netzwerk an und öffnen Sie dann ein Browserfenster, um http: //: oder nur http: // wenn Sie Port 80 als Port gewählt haben.
Idealerweise sollten Sie DNS für die Stoplight-Server-IP eingerichtet haben, damit Sie sie als so etwas wie bezeichnen können http://stoplight.example.com Aber IP-Adressen funktionieren genauso gut.
Nach dem Herstellen der Verbindung sollte eine einfache Webseite angezeigt werden, auf der der aktuelle Status der einzelnen Leuchten sowie Kontrollkästchen und ein Ort für die Eingabe des Kennworts zum Ändern der einzelnen Leuchten angegeben sind.
Wenn die Webseite überhaupt angezeigt wird, wissen Sie, dass Ihr Ethernet-Schutzschild funktioniert, und Ihr Arduino ist jetzt ein Webserver, auch wenn Sie noch keine Auswirkungen auf die Außenwelt haben.
Es ist ziemlich langweilig zu beobachten, wie sich die Kontrollkästchen ändern, ohne dass der Arduino etwas tut. Im nächsten Schritt finden Sie einen optionalen Prüfstand, den Sie für eine sofortige (oder zumindest frühzeitige) Befriedigung bauen können.

Schritt 3: Optionale Testschaltung aufbauen

Dieser Schritt ist nicht erforderlich, aber wie im vorherigen Schritt erwähnt, ist es viel einfacher, Probleme mit dem Arduino und dem Code zu beheben, wenn Sie zuerst den Webserver-Teil einrichten. Aber dann brauchen Sie einen Weg, um zu sehen, ob es funktioniert.
Ein paar LEDs, einige Widerstände, ein Steckbrett und einige Überbrückungsdrähte sind alles, was benötigt wird, um einen Prüfstand für den Webserver-Teil des Projekts einzurichten. Bald haben Sie alle wichtigen Blinklichter, die für jedes Elektronikprojekt unverzichtbar sind.
In der fertigen Schaltung wird jeder der vier Ausgänge (Rot, Gelb, Grün und der optionale Hilfsausgang) durch Steuern der Stifte 14-17 ein- und ausgeschaltet. Während es keine mit 14-17 gekennzeichneten Pins auf dem Arduino gibt, können die analogen Pins als digitale Pins verwendet werden, wobei die Nummerierung dort erfolgt, wo der digitale Pin 13 aufhört. So kann Pin A0 als Pin 14, A1 als Pin 15 usw. behandelt werden.
Um die Relais zu simulieren, die die vom Arduino eingeschalteten Lichter steuern, kann anstelle jedes Kanals eine LED verdrahtet werden. Führen Sie für jede Farbe die folgenden Schritte aus:
  1. Führen Sie ein Überbrückungskabel vom zugehörigen Pin zu einem 180-Ohm-Widerstand.
  2. Schließen Sie das andere Ende des Widerstands an die Anode (positive, lange Leitung) einer LED an.
  3. Verbinden Sie die Kathode (Minus, Kurzschluss oder flache Seite) der LED mit der Masseleitung.
  4. Verbinden Sie die Masseleitung mit einem der Arduino Ground (GND) -Pins.

Wiederholen Sie die Schritte 1-3 für jeden der anderen Steuerpins.
Sobald die Spannung an das Arduino angelegt wurde, sollten alle drei anfangen zu blinken, bis Sie ihr Verhalten mit der Webseite eingestellt haben. Dies dient zur Warnung bei einem Stromausfall.
Wenn alles in Ordnung ist, können Sie sehen, wie die Lichter ein- und ausgeschaltet werden, während Sie sie von der Webseite aus steuern, wie im vorherigen Schritt beschrieben.
Sie können hier anhalten, wenn Sie lediglich die LEDs über einen Webbrowser steuern möchten.

Schritt 4: Erstellen Sie den Relais-Steuerkreis (Theorie)

Dieser Abschnitt kann übersprungen werden, wenn es Ihnen egal ist, WARUM die Schaltung funktioniert, oder wenn Sie bereits verstehen, wie Relais und Transistoren funktionieren.
Das Arduino kann LEDs direkt mit Strom versorgen, da die Spannung, die benötigt wird, um sie zu beleuchten, geringer ist als die 5 Volt, die das Arduino abgeben kann. Aber die Lampen in einem Standard-US-Bremslicht verbrauchen 120 Volt und sind Wechselstrom. Um sie von einem Arduino aus zu steuern, sind zusätzliche Schaltkreise erforderlich, damit die 5-Volt-Steuerstifte die 120-Volt-Wechselstromlampen sicher einschalten können, ohne sie jemals direkt zu berühren.
Dies kann über Relais erfolgen. Ein Relais ist eine Kombination aus einem Magnetschalter und einem Elektromagneten. Durch die Spule des Elektromagneten fließender Strom erzeugt ein Magnetfeld, das den nahe gelegenen Schalter zum Öffnen oder Schließen zwingt. Somit können große Ströme durch kleinere Ströme, die durch einen Teil des Relais fließen, ein- und ausgeschaltet werden, ohne direkt Teil des Stromkreises für größere Ströme zu sein.
Ich war nicht in der Lage, preiswerte und dimensionierte Relais zu finden, die 120 Volt von 5 Volt regeln konnten, also verwendete ich stattdessen 9 Volt Relais. Dies führt zu einem ähnlichen Problem, da arduino STILL den 9-Volt-Teil der Schaltung nicht direkt steuern kann. Glücklicherweise ist die Lücke nicht annähernd so gefährlich, und Transistoren können verwendet werden, um die 9-Volt-Relaisströme mit 5-Volt-Arduino-Pins zu schalten. Da das Arduino in diesem Projekt von einem 9-Volt-Adapter gespeist wird, können wir die Relais mit derselben Stromquelle versorgen. Dazu können wir 9 Volt vom VIN-Pin des Arduino abziehen. Der VIN-Pin legt den Strom frei, der für die Stromversorgung des Arduino verwendet wird, im Gegensatz zu den 3,5-Volt- und 5-Volt-Pins, die die Stromversorgung darstellen, nachdem sie an die internen Anforderungen des Arduino angepasst wurden.
Die beiden folgenden Diagramme zeigen, wie die drei verschiedenen Spannungen im selben Gerät leben können. Klicken Sie oben links auf das "i", um auf die Vollversion (und nicht die Fuzzy-Version) zuzugreifen.
Jede der vier Steuerleitungen steuert eine Lampe oder Steckdose wie folgt. Ich werde das rote Licht verwenden, um Folgendes zu veranschaulichen:
  1. Wenn der Steuer-Pin eingeschaltet ist, kann Strom von RED-DC (Pin 14) durch einen Widerstand in die Basis eines Transistors fließen.
  2. Wenn der 5-Volt-Strom von der Basis über den Emitter des Transistors nach Masse fließt, wird der Transistor "eingeschaltet". Dadurch kann Strom vom 9-Volt-VIN-Pin des Arduino durch die Relaisspule in den Kollektor des Transistors fließen. evtl. über den Emitter auf Masse zu treten.
  3. Wenn Strom durch die Spule des Relais fließt, wird ein elektromagnetisches Feld erzeugt und der Schalter im Relais wird mit einem zufriedenstellenden "Klicken" geschlossen. 120 Volt fließen durch diesen Schalter und zünden die rote Lampe an.
  4. Wenn der Steuerstift ausgeschaltet wird, hört der 9-Volt-Strom auf, durch den Transistor zu fließen, das elektromagnetische Feld bricht zusammen und das Relais klickt zurück. Die Diode ist vorhanden, um den Transistor vor dem plötzlichen Stromstoß zu schützen, der über die Kontakte der Spule zurückgeschoben wird.

In den nächsten Schritten wird das Erstellen dieser Schaltung erläutert.

Schritt 5: Erstellen Sie den Relaissteuerkreis (Niederspannungshälfte)

Aus zeitlichen Gründen habe ich dies auf einem Protoboard mit verschiedenen Techniken erstellt. Das hat gut funktioniert, aber es wäre viel einfacher gewesen, wenn ich Zeit gehabt hätte, die Schaltung zu drucken. Wenn auch aus keinem anderen Grund, macht das Löten von Leiterplatten mehr Spaß.
Obwohl ich die Schaltung nicht gedruckt hatte, habe ich sie in eagleCAD angelegt, damit ich weiß, ob die Teile in das Protoboard und Gehäuse passen würden, das ich vorbereitete, um zu bestellen. Die angehängte Zip-Datei enthält den Schaltplan und das Layout der Karte. Bitte beachten Sie, dass das Platinenlayout noch nie getestet wurde. Ich glaube, es wird funktionieren, weil ich beim Prototyping dem Layout gefolgt bin, aber Sie können nie sicher sein, bis Sie das Druckergebnis eingestellt haben. Der Instructables-Benutzer nickbart hat das Board erfolgreich ausgedruckt und die Ergebnisse in seinem Blog dokumentiert, sodass Sie es sicher ausdrucken können.
Wenn Sie die Tafel drucken lassen möchten, ist dieser Schritt recht einfach. Führen Sie alle Komponenten wie im Layout gezeigt durch die Oberseite und löten Sie sie jeweils. Sie können nun mit den nächsten Schritten fortfahren.
Wenn Sie es von Hand auf einem Protoboard machen möchten, sind hier die Schritte, die ich unternommen habe, um das Layout zu gestalten.
Machen Sie all dies mit dem Schaltplan zur Hand, um Ihre Arbeit zu überprüfen.
  1. Drucken Sie das Platinenlayout mit der oberen und unteren Kupferschicht sowie den Etiketten aus.
  2. Schneiden Sie entlang der Außenlinien, bis Sie ein Layout haben, das der Größe der Tafel entspricht.
  3. Kleben Sie das Papierlayout ohne Kupfer auf das Protoboard an der Seite.
  4. Ordnen Sie die Relais und anderen Komponenten anhand des Schaltplans so an, dass Sie erkennen, welche Komponenten an welche angeschlossen werden müssen. Sie sollten die Relais, die 6-polige Steckleiste und den Leistungsblock wie im Layout gezeigt auslegen. In einigen Fällen ist es jedoch sinnvoll, die Transistoren, Widerstände und Dioden an anderen Stellen anzubringen, um in der Nähe zu sein wo sie verbinden. Das liegt daran, dass für das Layout einer Leiterplatte unterschiedliche Platzierungsbeschränkungen gelten. Auf einer Leiterplatte muss sich die Komponente normalerweise nicht in der Nähe einer anderen befinden, aber es gibt nur zwei Ebenen (oben und unten), um die Leiterbahnen auszuführen. Wenn Sie jedoch einen eigenen Draht verlegen, können Sie so viele Drähte kreuzen, wie Sie möchten. Gleichzeitig können Sie jedes Mal, wenn Sie eine Komponente direkt neben den Pads platzieren, mit denen sie verbunden werden muss, das Verlegen eines Kabels ganz überspringen.
  5. Bauteile möglichst nebeneinander platzieren. Auf diese Weise können Sie Lötbrücken zwischen den Kupferpads herstellen und sparen, indem Sie einen Draht verlegen. Beispielsweise werden der Kollektor jedes Transistors und ein Ende jeder Diode mit einem der Relais-Pins verbunden. Wenn also Platz vorhanden ist, können Sie alle nebeneinander platzieren und miteinander verlöten, wobei Sie möglicherweise die Leitungen verdrillen und abschneiden können später ab. KEINE LEITUNGEN SCHNEIDEN bis Sie alles berücksichtigt haben, um eine Verbindung zu ihnen herzustellen. Insbesondere müssen Sie Ableitungen weglassen, wenn Sie Drahtwickeltechniken verwenden möchten.
  6. Für die 5-Volt-Teile habe ich Drahtwickel verwendet, um die Leitungen der Widerstände und Transistoren zu verbinden. Wenn Sie keinen Wire-Wrap-Draht haben und diese nicht befestigen können, können Sie denselben 22-Gauge-Draht verwenden, den Sie auch für die anderen Teile des Stromkreises verwenden werden. Mit Wire Wrap können Sie einen sehr feinen Draht direkt über die Unterseite des Stromkreises verlegen. Genau genommen sollte das Umwickeln der Drähte mit speziellen Vierkantstiften anstelle der runden Zuleitungen erfolgen, die die Widerstände aufweisen. Nach dem Anbringen sollten sie daher mit einem kleinen Lötpunkt abgeschlossen werden, um sie an zu halten.
  7. Wo ein dickerer Draht verlegt werden muss (aus Gründen der Paranoia habe ich 22-Gauge-Kabel für die 9-Volt-Teile verwendet), verlegen Sie diese über die Oberseite und behandeln Sie sie wie andere Komponenten. Das heißt, stecken Sie sie durch Löcher im Protoboard in der Nähe der Stelle, an der Sie die Verbindung herstellen möchten, biegen Sie den Draht um, um ihn mit der Komponente zu verbinden, und löten Sie ihn dann.
Lassen Sie die 120-Volt-Anschlüsse bis nach den nächsten beiden Schritten nicht angeschlossen.

Schritt 6: Erstellen Sie das Verbindungskabel

Der Platz innerhalb der Ampel ist knapp bemessen. Der Relais-Steuerkreis passt wahrscheinlich nicht in dasselbe Lampengehäuse wie der Arduino, oder Sie möchten den Arduino möglicherweise außerhalb des Bremslichts lassen. In jedem Fall muss ein Kabel zum Verbinden der sechs Stifte des Relaisschaltkreises konstruiert werden.
Schneiden Sie das sechsadrige Flachbandkabel auf die gewünschte Länge ab, und lassen Sie dabei genügend Länge, um alles im Licht stehende herumzuführen, plus ein wenig mehr. Ich konnte kein 6-adriges Kabel finden, also bekam ich ein 9-adriges Kabel und zog drei Leiter ab. Stellen Sie sicher, dass Sie den farbigen Draht an Ihrem Kabel lassen, damit Sie später wissen, welche Seite welche ist.
Legen Sie das Flachbandkabel in die Buchse und drücken Sie es mit einem Schraubstock zu. Es ist möglich, es mit einer Zange zu quetschen, aber es ist auch sehr einfach, die Fassung auf diese Weise zu zerstören. Falls verfügbar, wird ein Schraubstock stark bevorzugt.
Auf der anderen Seite müssen Sie die Drähte an die Steckerstifte anlöten, um sie in die Buchsen des Arduino zu stecken. Aufgrund der Lücke zwischen den Stromanschlüssen und den analogen Anschlüssen müssen Sie einen Satz von zwei Anschlüssen und einen weiteren Satz von 4 abbrechen. Der einfachste Weg, die Drähte an den Anschlüssen anzulöten, besteht darin, zuerst die Anschlüsse in die Buchsen zu stecken auf dem Arduino. Auf diese Weise fungiert der Arduino als Halterung für die Stifte, sodass Sie nur drei Hände zum Halten von Draht, Lötzinn und Lötkolben benötigen.
Wenn Sie nicht drei Hände haben, können Sie zuerst einen Lötpunkt auf jeden Stift löten. Dann verzinnen Sie jeden der blanken Drähte mit etwas Lötzinn. Um den Draht anzuschließen, berühren Sie ihn und den Lötkolben einfach mit dem Lötpunkt auf jedem Stift.
Stellen Sie sicher, dass Sie die Stromleitung mit dem rechten Pin des Arduino verbinden, siehe Abbildung. Wenn Sie einen markierten Draht an Ihrem Kabel haben, verwenden Sie diesen. Der nächste Draht geht zu Boden, die beiden sind verdrillt. Die restlichen vier Drähte gehen zu Analog 1-4 (Pins 14-17).
Wenn Sie das Arduino / Ethernet-Gehäuse verwenden, wird das Gehäuse nicht mehr geschlossen, da das Kabel jetzt im Weg ist. Biegen Sie die Stifte vorsichtig über 45 Grad und binden Sie dann die Header ebenfalls leicht ein. Dadurch kann der Koffer passen.

Schritt 7: Verbinden Sie Arduino mit dem Relais-Schaltkreis

Stecken Sie das Flachbandkabel in die 6-polige Buchse des Relaisschaltkreises und achten Sie darauf, dass die Stromleitung mit Pin 1 verbunden ist. Pin 1 führt immer zu einem der Drähte am Rand des Flachbandes und hoffentlich zu dem farbigen, wenn Sie es tun habe es. Verwenden Sie ein Multimeter, um sicherzustellen, dass das Kabel richtig verdrahtet ist.
Stecken Sie das Netzkabel und das Ethernet-Kabel in den Arduino. Verwenden Sie zum Testen einen Webbrowser, wie in Schritt 2 beschrieben. Wenn alles richtig angeschlossen ist, hören Sie beim Ein- und Ausschalten der Relais ein Klicken.
Wenn Sie alle vier Relais ein- und ausschalten können, müssen Sie mit dem nächsten Schritt fortfahren und den Steuerkreis fertigstellen, indem Sie den 120-Volt-Teil verdrahten.

Schritt 8: Verdrahten Sie den 120-V-Teil der Schaltung

Jetzt, da Sie wissen, dass die Relais gesteuert werden können, ist es an der Zeit, den 120-Volt-Teil der Schaltung zu verdrahten. Wenn Sie die Tafel ausgedruckt haben, ist dieser Schritt bereits abgeschlossen. Wenn Sie es von Hand machen, müssen Sie noch ein paar Drähte verlegen.
Stecken Sie die Drähte, wann immer möglich, wie alle anderen Komponenten durch die Oberseite.
Aufgrund der Anordnung der Anschlüsse an den Relais und des engen Drucks ist dies nicht immer möglich. Führen Sie in diesem Fall den Draht zur nächsten Kante, bevor Sie ihn über die Oberseite verlegen. Auf diese Weise können Sie die Relais zur Zugentlastung verwenden und die Häufigkeit minimieren, mit der Sie einen Draht direkt an ein Bauteil löten müssen. Außerdem können Sie sicherstellen, dass alle Bits des 120-Volt-Teils in diesem kleinen Raum so weit wie möglich voneinander getrennt sind.
Ich habe ein anderes Farbkabel für die "heißen" und Steueranschlüsse verwendet, um sicherzustellen, dass ich die 120-Volt-Teile nicht mit den Steuerschaltkreisen vertauscht habe.
Anschließend können Sie die Konnektivität zwischen der heißen Schraube und den Schrauben für jede Lampe mit einem Multimeter testen. Es sollte keine Kontinuität bestehen, wenn die Lampen ausgeschaltet sind, und eine Verbindung, wenn sie über die zuvor getestete Webschnittstelle eingeschaltet werden. Führen Sie diese Tests gründlich durch, da ein Kurzschluss hier gefährlich sein kann.

Schritt 9: Arduino Case auf Größe zuschneiden

Das Arduino-Gehäuse bietet Platz für eine Batterie, die möglicherweise zu groß ist, um in das Bremslicht zu passen. Wenn Sie einen Koffer verwenden, müssen Sie diesen Abschnitt möglicherweise abschneiden.
Schneiden Sie das Batterieende bis zu den Stiften ab und schrauben Sie die Löcher wie in der Abbildung gezeigt.
Dieser Schritt machte mich traurig.

Schritt 10: Ampel an Relaisstromkreis anschließen

Sie sollten jetzt bereit sein, die Ampel zu verkabeln. Es gibt drei "Felder", die berücksichtigt werden müssen; den Webserver (Arduino / Ethernet Shield), die Steuerschaltung und das 9 Volt Netzteil. Mit drei Lichtern könnten Sie theoretisch alle drei in die Lichter einsetzen, aber ich habe mich dafür entschieden, das Netzteil extern zu belassen, um sicherzustellen, dass durch das mittlere Licht nichts gegen die Stromkabel stößt. Experimentieren Sie mit diesen drei, um festzustellen, welche ins Licht passen. Bei Bedarf können alle drei extern sein.
Der 22-Gauge-Draht (oder die Fettspuren auf der Leiterplatte) stellen das größte potenzielle Risiko einer Überhitzung dar. Daher ist es wichtig, die Stromstärke zu begrenzen, die je von ihnen verlangt wird. Um die Sicherheit zu erhöhen, habe ich der Schaltung eine 5-A-Sicherung hinzugefügt, die mehrere Ampere unter dem empfohlenen Maximalwert für 22-Gauge-Kabel liegt.
Bei der von mir verwendeten Leuchte waren alle Lampen bereits mit einem Block im Gehäuse für die gelbe Lampe verdrahtet, sodass ich nur noch Drähte vom Steuerkreis zu den entsprechenden Pfosten am Block verlegen musste. Wenn es nicht da gewesen wäre, hätte ich einfach jeden Draht über Twist-On-Steckverbinder angeschlossen.
Jede der Lampen schwenkt an Scharnieren nach oben und bietet Platz, in dem Kabel und andere Gegenstände verstaut werden können.
HABEN SIE DAS KABEL WÄHREND DIESER SCHRITTE NICHT ANGESTOPFT!
Bereiten Sie das Netzkabel vor:
  1. Erstellen Sie das Netzkabel: Wenn Sie kein Netzkabel mit bereits herausgebrochenen blanken Drähten haben, schneiden Sie das weibliche Ende eines PC-Netzkabels ab. Entfernen Sie die Isolierung von einigen Zentimetern des Bündels und einem halben Zentimeter von jedem der drei Kabel.
  2. Bestimmen Sie, welches Kabel die Erdung ist: Verwenden Sie ein Multimeter im Durchgangsmodus, um zu testen, welches Kabel zum Erdungsstift (der längere) führt, und notieren Sie sich diesen.
  3. Bestimmen Sie, welcher Steckplatz der Steckdose unter Spannung steht: Der Standard ist, dass der dünne Steckplatz unter Spannung steht und der breitere neutral ist. Wenn ich ihn jedoch selbst teste, kann ich mich auf die Verkabelung potenziell tödlicher Stromquellen verlassen. Nachdem Sie Ihr Multimeter auf Wechselstrom eingestellt haben, stecken Sie ein Kabel in das Erdungsloch und testen Sie die beiden Steckplätze nacheinander mit dem anderen. Welcher Steckplatz unter Spannung steht (sollte der dünne sein oder Ihre Steckdose ist falsch verdrahtet), sendet beim Anschließen 120 Volt gegen Masse. Der andere sollte null oder nur ein paar Volt anzeigen.
  4. Bestimmen Sie, welcher Draht unter Spannung steht: Nachdem Sie sicher sind, welcher Steckplatz unter Spannung steht, versetzen Sie das Multimeter wieder in den Durchgangsmodus und bestimmen Sie anhand dessen, welcher Draht dem unter Spannung stehenden Messer am Stecker entspricht. Notieren Sie sich diesen Draht als den "heißen". Der letzte Draht ist "neutral".
Verdrahten Sie die Ampel gemäß der beigefügten Abbildung:
  1. Schließen Sie das "stromführende" Kabel an die 5-A-Sicherung an. Wenn Sie es umkehren und den Neutralleiter verwenden, funktioniert die Lampe, aber es ist eine Falle, die darauf wartet, die erste Person, die eine Glühbirne wechselt, zu schockieren oder einen Stromschlag zu erleiden. Also tu es nicht.
  2. Führen Sie einen Draht vom anderen Pol der Sicherung zur "Power AC" -Schraube am Klemmenblock des Steuerkreises. Dies ist das Relais, das mit allen vier Relais verbunden ist. Das Relais ist durch eine oder mehrere nicht verwendete Schrauben von den anderen getrennt, wenn Sie die gedruckte Anleitung befolgt haben.
  3. Führen Sie einen Draht von jeder der Klemmenblockschrauben zur entsprechenden Lampe oder Steckdose. Wenn Sie die optionale Steckdose verkabeln, schließen Sie sie an den "Live" -Anschluss der Steckdose an*.
  4. Schließen Sie jedes der verbleibenden Lampenkabel an (und das Neutralkabel der optionalen Steckdose, falls verwendet).* an den Neutralleiter des Netzkabels. Bei der von mir verwendeten Leuchte waren alle Neutralleiter bereits miteinander verbunden, so dass ich nur einen anschließen musste.
  5. Schließen Sie das Erdungskabel an ein vom Licht bereitgestelltes Erdungskabel an.
* Siehe Hinweise zur optionalen Steckdose
Test und Einschalten:
  1. Testen Sie alle Verbindungen mit dem Multimeter, um sicherzustellen, dass keine Kurzschlüsse vorliegen. Wenn nichts eingesteckt ist, darf KEIN Durchgang zwischen der Sicherung und den Lampen- oder Ausgangskabeln bestehen.
  2. Stecken Sie die Stromversorgung und das Ethernet in den Arduino, aber stecken Sie das Licht nicht ein. Mit dem Multimeter sollten Sie nur dann in der Lage sein, einen Durchgang zwischen der Sicherung und den Neutralleitern jeder Lampe herzustellen, wenn diese Lampe über die Webseite eingeschaltet wird. In ähnlicher Weise sollten Sie einen Durchgang zwischen den Klingen des Steckers erhalten, wenn eine der Lampen eingeschaltet ist, aber nicht, wenn alle ausgeschaltet sind.
  3. Treten Sie zurück und schließen Sie das Licht an. Sie sollten nun in der Lage sein, jede Lampe über die Webseite ein- und auszuschalten.

Herzlichen Glückwunsch, Sie haben jetzt einen Stoplight-Webserver!

Schritt 11: Bremslicht montieren

Wenn Sie es noch nicht getan haben, finden Sie heraus, welche der Komponenten in Ihr Licht passen, und entscheiden Sie, welche extern sein sollen. Bei dieser Leuchte haben wir beschlossen, das 9-Volt-Netzteil außen (oben in der Decke) und die anderen Teile in der Leuchte zu belassen. Dies erleichtert die Fehlersuche, da auf alle benutzerdefinierten Komponenten einfach zugegriffen werden kann, indem das Licht geöffnet und die Lampe an einem Scharnier herausgeschwenkt wird.
Um zu verhindern, dass Teile im Licht herumrasseln, sollten Sie sie so befestigen, wie es für Ihr Licht sinnvoll ist. Ich habe eine Heißklebepistole verwendet, um die Rückseiten der Projektboxen an die Innenseiten des Gehäuses zu kleben.
Wenn das Licht nur auf Ihrem Schreibtisch steht, sind Sie so ziemlich fertig.
Für die Montage der Leuchte gibt es mehrere Möglichkeiten. Oben und unten befinden sich Löcher, an denen Rohre befestigt und Drähte verlegt werden können. Wir hatten überlegt, die Leuchte an einem Mast zu befestigen, entschieden uns aber stattdessen für ein Wandmontageset. Dieser Bausatz bestand aus zwei Rohren mit rechtwinkligen, zur Leuchte passenden Anschlüssen und Halterungen am anderen Ende zur Befestigung an der Wand.
Ich war nicht anwesend, als ein Kollege das Licht anbrachte, aber ich verstehe, dass die Schritte ungefähr so ​​waren:
  1. Befestigen Sie die Rohre an der Leuchte.
  2. Finden Sie heraus, wo das Licht hängen wird und wo die Halterungen anschließend die Wand berühren.
  3. Befestigen Sie die Halterungen mit robusten Trockenbau-Dübeln an der Wand.
  4. Bohren Sie ein Loch in die Trockenbauwand durch das Loch in der Mitte der oberen Halterung.
  5. Befestigen Sie das Licht an den Halterungen.
  6. Fischen Sie die Stromkabel durch das obere Rohr und in die Wand.
  7. Führen Sie das Ethernet-Kabel durch das obere Rohr in das Licht.
  8. Stecken Sie die Netzkabel in die in der Decke montierte Steckdosenleiste.

Schritt 12: Mit der Ampel sprechen

Die von der Ampel präsentierte Webseite dient eigentlich nur zum Testen. Wenn Sie die Ampel an reale Ereignisse binden möchten, benötigen Sie Skript-Webaufrufe, um das Licht für den gewünschten Auslöser zu ändern.
Dazu müssen Sie Webaufrufe an die extrem einfache "API" formulieren, auf die das Licht reagiert. Mit anderen Worten, Sie müssen von Ihrem Skript eine URL erstellen lassen, die wie eine http GET-Anforderung aussieht.
Diese URL sieht folgendermaßen aus:

http: //:/ b? &

Die Argumente sind jeweils durch ein & getrennt und sollten eines oder mehrere der folgenden sein:

  • a = Das "geheime" Passwort. Dies ist in keiner Weise verschlüsselt, um zu verhindern, dass gelegentliche Browser Ihr Licht zurücksetzen. Wenn dies nicht der Fall ist, ändert sich das Licht nicht. Es wird lediglich eine Webseite zurückgegeben, auf der angegeben ist, wie es geändert worden wäre, wenn das Passwort korrekt gewesen wäre. Das Passwort sollte keines der anderen Wörter oder Teilmengen davon sein. d.h. "Yell" wäre schlecht, weil es eine Teilzeichenfolge von "gelb" ist
  • c = Eine der folgenden Optionen: "rot", "gelb", "grün" oder "leuchtfeuer", um die entsprechende Lampe oder die Zusatzsteckdose einzuschalten.
  • "error = 1", um das Blinken des gelben Lichts zu starten
  • "error = 2", um das rote Blinken zu starten (Wir verwenden dies, wenn wir wirklich auf etwas aufmerksam machen wollen)
  • "Fehler" (ohne a = 1 oder = 2), um alle drei Lichter zweimal so schnell zu blinken, wie sie beim ersten Einschalten blinken.
Wenn Ihr Skript also die roten und grünen Lichter einschalten muss und Ihr Licht "stoplight.example.com" heißt, müssen Sie es anrufen "http://stoplight.example.com/b?a=secret&c=red&c=green".
Außer in der Realität sucht der Server nur nach bestimmten Schlüsselwörtern und ignoriert alle anderen Zeichen. So könnte dieses Beispiel auch sein "http://stoplight.example.com/bsecretredgreen" und arbeiten genauso gut.
Wir verwenden es in Verbindung mit einem Serverüberwachungspaket. Während des Tages prüft ein Skript alle fünf Minuten die Gesamtergebnisse der Dinge, die uns am wichtigsten sind, und entscheidet, in welchen Zustand das Ampellicht versetzt werden soll. Nach Stunden schaltet ein einziger Anruf alle Lichter aus, um Strom zu sparen.

Schritt 13: Notizen

Laser Herausforderung

Wie im Intro angegeben, würde ich meinen eigenen Laserschneider WIRKLICH mögen. In diesem speziellen Projekt hätte es wahrscheinlich nicht viel Sinn gemacht, obwohl ich gerne mit einem Laserschneider mit selbstgeätzten Leiterplatten experimentieren würde. Es gibt jedoch Unmengen anderer Projekte, die ich mir vorstelle* zu tun, wenn ich eine hatte. Nur ein paar:
  • Randbeleuchtete Weihnachtskarten. Letztes Jahr habe ich diese Karten gemacht und sie wurden gut angenommen. Mit einem Laserschneider würde ich viel schicker mit dem Fenster. Noch wichtiger ist, dass ich experimentieren möchte, um den Kunststoff selbst mit dem Cutter zu ätzen, was erheblich kompliziertere Designs (und einen weniger schmerzenden Daumen) ermöglicht als mit einem Druckstift.
  • Personalisierte Weihnachtsverzierungskarten. Eine andere Kartenidee sind personalisierte Balsaholzkarten, bei denen Komponenten ausgestanzt und zu Ornamenten zusammengesetzt werden müssen. Vor ungefähr einem Jahrzehnt habe ich Weihnachtskarten verschickt, die einen Origami-Kranich als Ornament enthielten. Ein Bild davon auf dem Baum eines Freundes ist letztes Jahr auf Facebook aufgetaucht, daher weiß ich, dass solche Karten geschätzt und aufbewahrt werden.
  • Personalisierte hölzerne Flugzeuge für jedes Kind, das ich kenne.
  • Jede benutzerdefinierte Unterlegscheibe, Klammer, Füllung oder jedes dekorative Teil, das ich für ein kleines Projekt schneiden muss.
  • Gravieren Sie jedes Telefon oder anderes elektronisches Gerät mit wichtigen Informationen und alberner Kunst.
  • Teile für ein CNC-Gerät herstellen.
  • Führen Sie einige und viele der Hunderte von Projekten auf Instructables und anderen Sites durch, die "Schneiden Sie diese Stücke mit einem Laserschneider aus" enthalten.
  • Stellen Sie meine eigenen Gehäuse für meine Projekte her, die genau die richtige Größe haben.
  • Mach schöne und nützliche Dinge.
  • Mach schöne und nutzlose Dinge.
*oft, wenn ich wahrscheinlich schlafen sollte

Lampenhelligkeit

Die ursprüngliche Auswahl des Ampelherstellers waren 60-Watt-Lampen und 40-Watt-Lampen, wobei letztere für die Verwendung in Innenräumen empfohlen wurden. Die Menschen, die in der Nähe des Lichts saßen, stellten schnell fest, dass selbst 40 Watt unerträglich hell waren. Die Reflektoren lenken das Licht SEHR effizient nach außen. Am Ende haben wir die Glühbirnen durch 20-Watt-Glühbirnen ersetzt, und die Ergebnisse sind viel besser. Das Licht ist immer noch von überall gut zu sehen, und die Leute in den Würfeln müssen keine Schirme mehr mitbringen, um Schatten zu spenden.

PCB gegen Protoboard

Wenn Sie Zeit haben, empfehle ich dringend, eine Leiterplatte zu drucken, mit dem bereits erwähnten Vorbehalt, dass dieses Layout nicht getestet wurde. Die Verkabelung zum Protoboard ist mühsam. Wenn Sie es gedruckt bekommen, lassen Sie es mich bitte wissen, wenn es irgendwelche Probleme mit dem Board-Layout in der Zip-Datei gibt. (Es wurde seitdem erfolgreich von einem instructables-Benutzer gedruckt.)

Optionale Steckdose

Der ursprüngliche Plan sah eine vierte Ausgabe an eine Wandsteckdose vor. Wir hatten geplant, damit ein Beacon oder Noise Maker für "besonders dringende, alle lassen alles fallen, die Welt geht zu Ende" -Veranstaltungen anzuschließen. Am Ende wollten wir das Licht nicht durch Bohren von Löchern beschädigen und entschieden, dass es ausreicht, das rote Licht während eines solchen Ereignisses blinken zu lassen. Der vierte Ausgang ist in unserem Licht vorhanden und kann ausgelöst werden, um ein "Klick" -Geräusch zu erzeugen. Wenn Sie diese Funktion jedoch nicht planen, können Sie sie einfach weglassen und sich die Kosten für ein Relais sparen.
Wenn Sie eine Steckdose als vierten Ausgang verwenden, sollten Sie beachten, dass Sie keine Geräte anschließen dürfen, die mehr als 430 Watt (3,9 Ampere) verbrauchen. Dies liegt daran, dass die Gesamtaufnahme (einschließlich aller drei eingeschalteten Lampen) 5 Ampere nicht überschreiten darf, da sonst die Sicherung ausfällt und Sie das Licht öffnen müssen, um es zurückzusetzen. UNTERLASSEN SIE Lassen Sie die Sicherung weg, da die Relais nicht für mehr als 5 Ampere ausgelegt sind. Mehr zu zeichnen wäre eine Brandgefahr.

Andere Lichter

Es gibt noch ein paar ähnliche Projekte, die ich gefunden habe:
  • Ich habe http://rockwellschrock.com/projects/traffic-light/ (das ich gefunden habe, nachdem ich geglaubt hatte, ich hätte es mir ausgedacht) für eine Überprüfung der geistigen Gesundheit verwendet. Diese Leuchte erfordert einen Computer, der direkt über USB angeschlossen ist, um sie zu steuern, verfügt jedoch über ein flexibleres Steuerprotokoll. Jemand, der mit den Optionen zur Steuerung des Lichts (die alle unsere spezifischen Anforderungen erfüllen) unzufrieden ist, könnte in Betracht ziehen, Teile seines Codes zu nehmen und mit meinem Code zu verschmelzen. Sein Design verzichtet auf ein komplettes Arduino und verwendet nur den Atmega-Chip, der es kleiner und billiger macht. Ich habe ein vollwertiges Arduino verwendet, weil ich mich in das Ethernet-Shield integrieren musste.
  • Anscheinend hat Github ein Licht, um den Build-Status anzuzeigen. Ich habe diese Seite entdeckt, nachdem ich das Projekt beendet habe. Diese Implementierung verwendet eine separate Karte für jedes Relais über drei Sparkfun-Relaiskarten. Dieser Ansatz erhöht die Kosten und möglicherweise die Größe, erfordert jedoch keine zusätzliche Schaltungsanordnung. Da jedes der Relais separat ist, ist die Platzierung im Licht wahrscheinlich flexibler, da die Relais überall dort verteilt werden können, wo Platz ist. Dieses Projekt zeichnet sich auch dadurch aus, dass es nicht von einem externen Dienst darüber informiert wird, in welchem ​​Zustand es sein soll, sondern als Client fungiert und einen Webserver abfragt, um festzustellen, welche Farbe es haben soll. Seine Kommentare darüber, dass sich das Arduino von Zeit zu Zeit selbst zurücksetzen muss, um einem durch DHCP verursachten Speicherverlust entgegenzuwirken, machen mich froh, dass ich mich für die Verwendung einer statischen IP-Adresse entschieden habe.

Finalist in der
4. Epilog Challenge