Intelligente Lampe mit Arduino. Nachtlicht aus einer alten Glühbirne, basierend auf Arduino und WS2812

Lichtsensoren (Beleuchtung), die auf der Basis von Fotowiderständen aufgebaut sind, werden in echten Arduino-Projekten häufig verwendet. Sie sind relativ einfach, nicht teuer und in jedem Online-Shop leicht zu finden und zu kaufen. Mit dem Arduino-Fotowiderstand können Sie die Lichtstärke steuern und auf Änderungen reagieren. In diesem Artikel schauen wir uns an, was ein Fotowiderstand ist, wie ein darauf basierender Lichtsensor funktioniert und wie man den Sensor richtig an Arduino-Boards anschließt.

Ein Fotowiderstand steht, wie der Name schon sagt, in direktem Zusammenhang mit Widerständen, die häufig in fast allen elektronischen Schaltkreisen zu finden sind. Das Hauptmerkmal eines herkömmlichen Widerstands ist sein Widerstandswert. Spannung und Strom hängen davon ab; mithilfe eines Widerstands stellen wir ihn ein erforderlichen Modi Betrieb anderer Komponenten. In der Regel ändert sich der Widerstandswert eines Widerstands bei gleichen Betriebsbedingungen praktisch nicht.

Im Gegensatz zu einem herkömmlichen Widerstand Fotowiderstand kann seinen Widerstand je nach Umgebungslichtstärke ändern. Das bedeutet, dass in elektronische Schaltung Die Parameter werden sich ständig ändern; zunächst interessiert uns die am Fotowiderstand abfallende Spannung. Indem wir diese Spannungsänderungen an den analogen Pins des Arduino aufzeichnen, können wir die Logik der Schaltung ändern und so Geräte schaffen, die sich an äußere Bedingungen anpassen.

Fotowiderstände werden in einer Vielzahl von Systemen recht aktiv eingesetzt. Die häufigste Anwendung ist die Straßenbeleuchtung. Wenn die Nacht über die Stadt hereinbricht oder es bewölkt wird, gehen die Lichter automatisch an. Aus einem Fotowiderstand, der sich nicht nach einem Zeitplan, sondern abhängig von der Beleuchtung einschaltet, können Sie eine sparsame Glühbirne für Ihr Zuhause herstellen. Sie können sogar ein Sicherheitssystem basierend auf einem Lichtsensor erstellen, der sofort ausgelöst wird, nachdem ein geschlossener Schrank oder Safe geöffnet und beleuchtet wird. Wie immer ist der Anwendungsbereich aller Arduino-Sensoren nur durch unsere Vorstellungskraft begrenzt.

Welche Fotowiderstände können in Online-Shops gekauft werden?

Die beliebteste und kostengünstigste Sensoroption auf dem Markt sind Massenmodelle chinesischer Unternehmen, Klone von Produkten des Herstellers VT. Es ist nicht immer möglich herauszufinden, wer und was genau dieser oder jener Lieferant herstellt, aber um mit Fotowiderständen zu beginnen, ist die einfachste Option durchaus geeignet.

Einem unerfahrenen Arduino-Benutzer kann empfohlen werden, ein fertiges Fotomodul zu kaufen, das so aussieht:


Dieses Modul enthält bereits alle notwendigen Elemente dafür einfache Verbindung Fotowiderstand zum Arduino-Board. Einige Module implementieren eine Komparatorschaltung und bieten einen digitalen Ausgang und einen Trimmwiderstand zur Steuerung.

Einem russischen Funkamateur kann empfohlen werden, sich an den russischen PA-Sensor zu wenden. Im Angebot sind FR1-3, FR1-4 usw. - wurden bereits zu Sowjetzeiten hergestellt. Trotzdem ist FR1-3 ein genaueres Detail. Daraus ergibt sich der Preisunterschied. Für FR verlangen sie nicht mehr als 400 Rubel. FR1-3 kostet mehr als tausend Rubel pro Stück.

Fotowiderstandsmarkierung

Die moderne Kennzeichnung von in Russland hergestellten Modellen ist recht einfach. Die ersten beiden Buchstaben stehen für PhotoResistor, die Zahlen nach dem Bindestrich geben die Entwicklungsnummer an. FR -765 – Fotowiderstand, Entwicklung 765. Normalerweise direkt auf dem Körper des Teils markiert

Der VT-Sensor hat einen Widerstandsbereich, der im Markierungsdiagramm angegeben ist. Zum Beispiel:

  • VT83N1 – 12–100 kOhm (12 K – beleuchtet, 100 K – im Dunkeln)
  • VT93N2 – 48–500 kOhm (48 K – beleuchtet, 100 K – im Dunkeln).

Manchmal stellt der Verkäufer zur Klärung von Modellinformationen ein spezielles Dokument des Herstellers zur Verfügung. Neben den Betriebsparametern wird dort auch die Genauigkeit des Teils angezeigt. Alle Modelle verfügen über einen Empfindlichkeitsbereich im sichtbaren Teil des Spektrums. Sammeln Lichtsensor Sie müssen verstehen, dass die Genauigkeit der Bedienung ein relatives Konzept ist. Selbst bei Modellen desselben Herstellers, derselben Charge oder desselben Kaufs kann es zu Abweichungen von 50 % und mehr kommen.

Im Werk sind die Teile auf Wellenlängen von rotem bis grünem Licht abgestimmt. Die meisten Menschen „sehen“ auch Infrarotstrahlung. Besonders präzise Teile können sogar ultraviolettes Licht erkennen.

Vor- und Nachteile des Sensors

Der Hauptnachteil von Fotowiderständen ist die Spektrumsempfindlichkeit. Abhängig von der Art des einfallenden Lichts kann der Widerstand um mehrere Größenordnungen variieren. Zu den Nachteilen zählen auch niedrige Geschwindigkeit Reaktionen auf Veränderungen der Beleuchtung. Wenn das Licht blinkt, hat der Sensor keine Zeit zu reagieren. Wenn die Änderungsfrequenz recht hoch ist, „erkennt“ der Widerstand im Allgemeinen nicht mehr, dass sich die Beleuchtung ändert.

Zu den Vorteilen gehören Einfachheit und Zugänglichkeit. Durch die direkte Widerstandsänderung in Abhängigkeit vom einfallenden Licht können Sie den elektrischen Anschlusskreis vereinfachen. Der Fotowiderstand selbst ist sehr günstig, er ist in zahlreichen Arduino-Bausätzen und -Konstruktoren enthalten und steht daher fast jedem unerfahrenen Arduino-Hersteller zur Verfügung.

Anschließen eines Fotowiderstands an Arduino

Bei Projekten Arduino Der Fotowiderstand wird als Lichtsensor verwendet. Durch den Empfang von Informationen kann die Platine Relais ein- oder ausschalten, Motoren starten und Nachrichten senden. Natürlich müssen wir den Sensor richtig anschließen.

Der Anschlussplan für den Lichtsensor an den Arduino ist recht einfach. Wenn wir einen Fotowiderstand verwenden, ist der Sensor im Anschlussplan als Spannungsteiler implementiert. Ein Arm verändert sich je nach Beleuchtungsstärke, der zweite versorgt den Analogeingang mit Spannung. Im Controller-Chip wird diese Spannung über einen ADC in digitale Daten umgewandelt. Weil Wenn sich der Widerstand des Sensors verringert, wenn Licht auf ihn trifft, verringert sich auch der Wert der an ihm abfallenden Spannung.

Abhängig davon, in welchem ​​Zweig des Teilers wir den Fotowiderstand platziert haben, wird dem Analogeingang entweder eine erhöhte oder eine verringerte Spannung zugeführt. Wenn ein Zweig des Fotowiderstands mit Masse verbunden ist, entspricht der maximale Spannungswert der Dunkelheit (der Widerstand des Fotowiderstands ist maximal, fast die gesamte Spannung fällt an ihm ab), und der minimale Wert entspricht guter Beleuchtung (Widerstand ist). nahe Null, Spannung ist minimal). Wenn wir den Fotowiderstandsarm an die Stromversorgung anschließen, ist das Verhalten umgekehrt.

Der Einbau der Platine selbst sollte keine Schwierigkeiten bereiten. Da der Fotowiderstand keine Polarität hat, kann er von beiden Seiten angeschlossen werden; er kann an die Platine angelötet, mit Drähten über eine Leiterplatte verbunden oder mit normalen Klemmen (Krokodilklemmen) zum Anschluss verwendet werden. Die Stromquelle in der Schaltung ist der Arduino selbst. Fotowiderstand Ein Bein ist mit der Erde verbunden, das andere mit der ADC-Platine (in unserem Beispiel - AO). Wir schließen einen 10-kOhm-Widerstand an denselben Zweig an. Natürlich können Sie einen Fotowiderstand nicht nur an den analogen Pin A0 anschließen, sondern auch an jeden anderen.

Ein paar Worte zum zusätzlichen 10-K-Widerstand. Er hat in unserer Schaltung zwei Funktionen: den Strom im Stromkreis zu begrenzen und mit einem Teiler die erforderliche Spannung im Stromkreis zu erzeugen. Eine Strombegrenzung ist in einer Situation erforderlich, in der ein vollständig beleuchteter Fotowiderstand seinen Widerstand stark verringert. Und die Spannungserzeugung erfolgt für vorhersehbare Werte am analogen Port. Tatsächlich reicht für den normalen Betrieb mit unseren Fotowiderständen ein Widerstand von 1K aus.

Durch Ändern des Widerstandswerts können wir die Empfindlichkeitsstufe auf die „dunkle“ und „helle“ Seite „verschieben“. Bei 10 K erfolgt also ein schneller Wechsel des Lichteinbruchs. Bei 1K wird der Lichtsensor genauer bestimmen hohes Niveau Beleuchtung

Wenn Sie ein vorgefertigtes Lichtsensormodul verwenden, wird der Anschluss noch einfacher. Wir verbinden den Ausgang des VCC-Moduls mit dem 5V-Anschluss auf der Platine, GND mit Masse. Die restlichen Pins verbinden wir mit den Arduino-Anschlüssen.

Wenn die Platine über einen digitalen Ausgang verfügt, senden wir ihn an digitale Pins. Wenn es analog ist, dann gehen Sie zu analog. Im ersten Fall erhalten wir ein Triggersignal – die Beleuchtungsstärke wurde überschritten (die Triggerschwelle kann über einen Einstellwiderstand angepasst werden). Von den analogen Pins können wir einen Spannungswert erhalten, der proportional zur tatsächlichen Beleuchtungsstärke ist.

Eine Beispielskizze eines Lichtsensors auf einem Fotowiderstand

Wir haben die Schaltung mit dem Fotowiderstand an den Arduino angeschlossen und sichergestellt, dass alles richtig gemacht wurde. Jetzt muss nur noch die Steuerung programmiert werden.

Eine Skizze für einen Lichtsensor zu schreiben ist ganz einfach. Wir müssen lediglich den aktuellen Spannungswert vom analogen Pin entfernen, an den der Sensor angeschlossen ist. Dies geschieht mit der uns allen bekannten analogRead()-Funktion. Abhängig von der Lichtstärke können wir dann einige Aktionen ausführen.

Schreiben wir eine Skizze für einen Lichtsensor, der eine nach der folgenden Schaltung angeschlossene LED ein- oder ausschaltet.

Der Betriebsalgorithmus ist wie folgt:

  • Bestimmen Sie den Signalpegel vom analogen Pin.
  • Wir vergleichen den Pegel mit dem Schwellenwert. Der Maximalwert entspricht der Dunkelheit, der Minimalwert entspricht der maximalen Beleuchtung. Wählen wir einen Schwellenwert von 300.
  • Wenn der Pegel unter dem Schwellenwert liegt, ist es dunkel und Sie müssen die LED einschalten.
  • Andernfalls schalten Sie die LED aus.
#define PIN_LED 13 #define PIN_PHOTO_SENSOR A0 void setup() ( Serial.begin(9600); pinMode(PIN_LED, OUTPUT); ) void loop() ( int val = analogRead(PIN_PHOTO_SENSOR); Serial.println(val); if ( val< 300) { digitalWrite(PIN_LED, LOW); } else { digitalWrite(PIN_LED, HIGH); } }

Indem wir den Fotowiderstand abdecken (mit den Händen oder einem lichtundurchlässigen Gegenstand), können wir das Ein- und Ausschalten der LED beobachten. Durch Ändern des Schwellenwertparameters im Code können wir das Ein-/Ausschalten der Glühbirne bei unterschiedlichen Beleuchtungsstärken erzwingen.

Versuchen Sie bei der Installation, Fotowiderstand und LED möglichst weit voneinander entfernt zu platzieren, damit weniger Licht der hellen LED auf den Lichtsensor fällt.

Lichtsensor und sanfte Änderung der Helligkeit der Hintergrundbeleuchtung

Sie können das Projekt so modifizieren, dass sich die Helligkeit der LED je nach Beleuchtungsstärke ändert. Wir werden dem Algorithmus folgende Änderungen hinzufügen:

  • Wir ändern die Helligkeit der Glühbirne per PWM und senden mit analogWrite() Werte von 0 bis 255 an den Pin mit der LED.
  • Um den digitalen Wert der Lichtstärke vom Lichtsensor (von 0 bis 1023) in den PWM-Bereich der LED-Helligkeit (von 0 bis 255) umzuwandeln, verwenden wir die Funktion map().

Skizzenbeispiel:

#define PIN_LED 10 #define PIN_PHOTO_SENSOR A0 void setup() ( Serial.begin(9600); pinMode(PIN_LED, OUTPUT); ) void loop() ( int val = analogRead(PIN_PHOTO_SENSOR); Serial.println(val); int ledPower = map(val, 0, 1023, 0, 255); // Konvertieren Sie den resultierenden Wert in den PWM-Signalpegel, desto weniger Strom müssen wir der LED über PWM zuführen.

Bei einer anderen Anschlussart, bei der das Signal vom Analoganschluss proportional zum Beleuchtungsgrad ist, müssen Sie den Wert zusätzlich „umkehren“, indem Sie ihn vom Maximum subtrahieren:

Int val = 1023 – analogRead(PIN_PHOTO_RESISTOR);

Lichtsensorschaltung mit Fotowiderstand und Relais

Beispiele für Skizzen zum Arbeiten mit Relais finden Sie im Artikel zur Programmierung von Relais in Arduino. In diesem Fall müssen wir keine komplexen Bewegungen ausführen: Nachdem wir die „Dunkelheit“ ermittelt haben, schalten wir einfach das Relais ein und legen den entsprechenden Wert an seinen Pin an.

#define PIN_RELAY 10 #define PIN_PHOTO_SENSOR A0 void setup() ( pinMode(PIN_RELAY, OUTPUT); digitalWrite(PIN_RELAY, HIGH); ) void loop() ( int val = analogRead(PIN_PHOTO_SENSOR); if (val< 300) { // Светло, выключаем реле digitalWrite(PIN_RELAY, HIGH); } else { // Темновато, включаем лампочку digitalWrite(PIN_RELAY, LOW); } }

Abschluss

Projekte mit einem Lichtsensor auf Basis eines Fotowiderstands sind recht einfach und effektiv. Sie können viele interessante Projekte umsetzen, und die Kosten für die Ausrüstung werden nicht hoch sein. Der Fotowiderstand wird über eine Spannungsteilerschaltung mit zusätzlichem Widerstand angeschlossen. Der Sensor wird an einen analogen Anschluss angeschlossen, um verschiedene Lichtstärken zu messen, oder an einen digitalen, wenn uns nur die Tatsache der Dunkelheit interessiert. Im Sketch lesen wir einfach Daten von einem analogen (oder digitalen) Port aus und entscheiden, wie wir auf die Änderungen reagieren. Hoffen wir, dass jetzt in Ihren Projekten so einfache „Augen“ auftauchen.

Wahrscheinlich hatte jeder in seiner Kindheit einen Traum (und mehr als einen). Sie können sogar versuchen, sich an das Gefühl zu erinnern, das die Seele eines Kindes erfüllt, wenn sein Traum wahr wird, oder an das ferne, vertraute Funkeln in seinen Augen ... Als Kind träumte ich davon, ein eigenes Nachtlicht zu haben.

Jetzt studiere ich im vierten Jahr an der BSUIR, und als uns gesagt wurde, dass ein Kursprojekt zum Thema Schaltungsdesign nicht auf Papier, sondern auf einem Stück Hardware durchgeführt werden kann, dämmerte es mir: das Nachtlicht, das ich mir so sehr gewünscht hatte Ein Kind kann von mir selbst gemacht werden. Darüber hinaus schaffen Sie nicht nur ein Objekt, das den Raum im Dunkeln erhellt, sondern ein Gerät, das sich leicht an jede Stimmung anpassen lässt. Warum nicht? Ich habe beschlossen, die Möglichkeit hinzuzufügen, die Farben mit meinen Händen zu ändern: Je näher meine Hand am Nachtlicht ist, desto heller leuchtet eine der Farben (RGB). Ich möchte das Nachtlicht auch über die Fernbedienung steuern.

Ich gebe gleich zu, dass ich die Idee auf der Website cxem.net entdeckt habe. Kurz gesagt, in diesem Beispiel wurde eine RGB-Matrix verwendet, die mithilfe von Schieberegistern und Ultraschall-Abstandssensoren gesteuert wurde. Ich dachte aber, dass die Matrix nur in eine Richtung leuchtet, ich wollte aber, dass das Nachtlicht an den Seiten scheint.

Begründung der Schaltungselemente


Ich habe meine Aufmerksamkeit auf Arduino-Mikrocontroller gerichtet. UNO ist für meine Idee eine durchaus passende Option, erstens, weil es die beliebteste Plattform ist und die Anzahl der Pins im Gegensatz zu Mega nicht zu groß ist, und zweitens, weil man daran eine externe Stromquelle anschließen kann, in meinem Fall sind es 12V , im Gegensatz zu Nano, drittens... nun, ich denke, wir können bei diesen beiden Punkten aufhören. Aufgrund der Bequemlichkeit und Einfachheit der Programmiersprache sowie der offenen Architektur und des Programmcodes erfreut sich die Plattform weltweit großer Beliebtheit.

Mehr detaillierte Informationen Informationen zu diesem Forum finden Sie leicht im Internet, sodass ich den Artikel nicht überladen möchte.

Also die Grundvoraussetzungen für das System. Erforderlich:
– Sensoren, die den Abstand zu einem Hindernis verfolgen, um das System zu steuern;
– Sensor zum Auslesen der Signale der Fernbedienung Fernbedienung;
– LEDs, die für die erforderliche Beleuchtungsfunktion sorgen;
– eine Steuereinheit, die das gesamte System steuert.

Das Projekt erfordert Entfernungsmesser als Abstandssensoren, die jeweils einer bestimmten Farbe entsprechen: Rot, Grün, Blau. Abstandssensoren überwachen den Abstand der Hand zum Nachtlicht und je näher die Hand an einen bestimmten Sensor gebracht wird, desto stärker leuchtet die diesem Entfernungsmesser entsprechende Farbe auf. Umgekehrt gilt: Je weiter die Hand entfernt ist, desto weniger Spannung liegt an der Farbe an, die dem Sensor entspricht.

Die beliebtesten Entfernungsmesser auf im Moment Dies sind Sharp GP2Y0A21YK und HC-SR04. Sharp GP2Y0A21YK ist ein Infrarot-Entfernungsmesser. Es ist mit einem IR-Sender und einem IR-Empfänger ausgestattet: Der erste dient als Quelle des Strahls, dessen Reflexion vom zweiten aufgefangen wird. Gleichzeitig sind die IR-Strahlen des Sensors für das menschliche Auge unsichtbar und in dieser Intensität ungefährlich.

Im Vergleich zum Ultraschallsensor HC-SR04 hat dieser Sensor sowohl Vor- als auch Nachteile. Zu den Vorteilen zählen Neutralität und Unbedenklichkeit. Die Nachteile sind eine geringere Reichweite und die Abhängigkeit von externen Störungen, einschließlich einiger Beleuchtungsarten.

Als Abstandssensoren für das Projekt eingesetzt: Ultraschall-Entfernungsmesser HC-SR04.
Das Funktionsprinzip des HC-SR04 basiert auf dem bekannten Phänomen der Echoortung. Beim Einsatz erzeugt der Sender ein akustisches Signal, das vom Hindernis reflektiert zum Sensor zurückkehrt und vom Empfänger registriert wird. Wenn man die Ausbreitungsgeschwindigkeit des Ultraschalls in der Luft (ca. 340 m/s) und die Verzögerungszeit zwischen dem ausgesendeten und dem empfangenen Signal kennt, lässt sich die Entfernung zur akustischen Barriere leicht berechnen.

Der TRIG-Eingang wird mit einem beliebigen Pin des Mikrocontrollers verbunden. An diesen Pin muss ein Impuls-Digitalsignal mit einer Dauer von 10 μs angelegt werden. Basierend auf dem Signal am TRIG-Eingang sendet der Sensor ein Paket von Ultraschallimpulsen. Nach Empfang des reflektierten Signals erzeugt der Sensor am ECHO-Pin ein Impulssignal, dessen Dauer proportional zur Entfernung zum Hindernis ist.

IR-Sensor. Selbstverständlich wird das für die Fernbedienung benötigte Signal von diesem Sensor ausgelesen und dekodiert. TSOP18 unterscheiden sich nur in der Häufigkeit voneinander. Für das Projekt wurde der Sensor VS1838B TSOP1838 ausgewählt.

Das Projekt basierte auf der Idee, den Raum in jeder Farbe zu beleuchten, was bedeutet, dass Sie drei Grundfarben benötigen, aus denen die Beleuchtung gewonnen wird: Rot, Grün, Blau. Daher wurde das Modell ausgewählt SMD-LEDs 5050RGB, das wird den Job perfekt machen.

Abhängig von der an jede LED angelegten Spannung ändert sich die Intensität dieser Beleuchtung. Die LED muss über einen Widerstand angeschlossen werden, sonst riskieren wir, nicht nur sie, sondern auch den Arduino zu zerstören. Der Widerstand wird benötigt, um den Strom an der LED auf einen akzeptablen Wert zu begrenzen. Tatsache ist, dass der Innenwiderstand der LED sehr niedrig ist und wenn Sie keinen Widerstand verwenden, fließt ein solcher Strom durch die LED, dass sowohl die LED als auch der Controller einfach durchbrennen.

Die im Projekt verwendeten LED-Streifen werden mit 12V betrieben.

Aufgrund der Tatsache, dass die Spannung an den LEDs im ausgeschalteten Zustand 6 V beträgt und die Stromversorgung, die 5 V übersteigt, reguliert werden muss, ist es erforderlich, im Schaltmodus Transistoren zum Schaltkreis hinzuzufügen. Meine Wahl fiel auf das Modell BC547c.

Betrachten wir kurz das Prinzip, für diejenigen, die es vergessen haben Arbeit n-p-n Transistor. Wenn Sie überhaupt keine Spannung anlegen, sondern einfach die Basis- und Emitteranschlüsse kurzschließen, auch wenn es sich nicht um einen Kurzschluss handelt, sondern über einen Widerstand von mehreren Ohm, stellt sich heraus, dass die Basis-Emitter-Spannung Null ist. Folglich gibt es keinen Basisstrom. Der Transistor ist geschlossen, der Kollektorstrom ist vernachlässigbar klein, genau der gleiche Anfangsstrom. In diesem Fall befindet sich der Transistor im ausgeschalteten Zustand. Der entgegengesetzte Zustand wird als Sättigung bezeichnet: wenn der Transistor vollständig geöffnet ist, so dass es keine Möglichkeit mehr gibt, ihn weiter zu öffnen. Bei diesem Öffnungsgrad ist der Widerstand des Kollektor-Emitter-Abschnitts so niedrig, dass es einfach unmöglich ist, den Transistor ohne eine Last im Kollektorkreis einzuschalten; In diesem Fall darf die Restspannung am Kollektor nur 0,3...0,5V betragen.

Diese beiden Zustände, Sättigung und Abschaltung, werden verwendet, wenn der Transistor in einem Schaltmodus arbeitet, wie ein normaler Relaiskontakt. Die Hauptbedeutung dieses Modus besteht darin, dass ein kleiner Basisstrom einen großen Kollektorstrom steuert, der mehrere zehnmal größer ist als der Basisstrom. Dadurch wird ein großer Kollektorstrom erhalten externe Quelle Energie, aber dennoch ist der aktuelle Gewinn, wie man sagt, offensichtlich. In unserem Fall umfasst die Mikroschaltung, deren Betriebsspannung 5 V beträgt, 3 Streifen mit LEDs, die mit 12 V betrieben werden.

Berechnen wir die Betriebsart der Tastenkaskade. Damit die LEDs mit voller Leistung brennen, muss der Wert des Widerstands im Basiskreis berechnet werden. Eine notwendige Bedingung bei der Berechnung ist, dass die Stromverstärkung größer oder gleich dem Quotienten aus maximal möglichem Kollektorstrom und minimal möglichem Basisstrom ist:

Daher können die Streifen eine Betriebsspannung von 220 V haben und der Basisstromkreis kann von einer Mikroschaltung mit einer Spannung von 5 V gesteuert werden. Wenn der Transistor für den Betrieb mit einer solchen Spannung am Kollektor ausgelegt ist, leuchten die LEDs problemlos.
Der Spannungsabfall am Basis-Emitter-Übergang beträgt 0,77 V, vorausgesetzt, der Basisstrom beträgt 5 mA und der Kollektorstrom 0,1 A.
Die Spannung am Basiswiderstand beträgt:

Nach dem Ohmschen Gesetz:

Aus dem Standard-Widerstandsbereich wählen wir einen 8,2-kOhm-Widerstand aus. Damit ist die Berechnung abgeschlossen.

Ich möchte Sie auf ein Problem aufmerksam machen, auf das ich gestoßen bin. Bei Verwendung der IRremote-Bibliothek fror der Arduino beim Anpassen der blauen Farbe ein. Nach einer langen und gründlichen Suche im Internet stellte sich heraus, dass diese Bibliothek für dieses Arduino-Modell standardmäßig Timer 2 verwendet. Timer werden zur Steuerung von PWM-Ausgängen verwendet.

Timer 0 (Systemzeit, PWM 5 und 6);
Timer 1 (PWM 9 und 10);
Timer 2 (PWM 3 und 11).

Zunächst habe ich PWM 11 verwendet, um die blaue Farbe zu regulieren. Seien Sie daher vorsichtig, wenn Sie mit PWM, Timern und Bibliotheken von Drittanbietern arbeiten, die diese möglicherweise verwenden. Das ist seltsam Homepage Zu dieser Nuance wurde auf Github nichts gesagt. Wenn Sie möchten, können Sie die Zeile mit Timer 1 auskommentieren und mit Timer 2 auskommentieren.

Verbindungselemente zu Steckbrett sieht so aus:

Nach dem Testen auf dem Steckbrett begannen die Phasen „Elemente auf der Platine platzieren“ und „Arbeiten mit einem Lötkolben“. Nach dem ersten Testen des fertigen Boards schleicht sich ein Gedanke in meinen Kopf: Da ist etwas schief gelaufen. Und hier beginnt die für viele bekannte Phase der „mühevollen Arbeit mit dem Tester“. Die Probleme (mehrere benachbarte Kontakte wurden versehentlich zusammengelötet) waren jedoch schnell behoben und hier kommt das lang ersehnte, schelmische Licht der LEDs.

Dann ging es nur noch um den Körper. Aus diesem Grund wurde Sperrholz mit Löchern für unsere Sensoren geschnitten. Rückseite Es wurde extra abnehmbar gemacht, damit man den Ausblick von innen genießen und auf Wunsch etwas fertigstellen oder neu machen kann. Es verfügt außerdem über 2 Löcher zum Neuprogrammieren der Platine und des Netzteils.

Die Karosserie wurde mit Zweikomponenten-Epoxidkleber verklebt. Für diejenigen, die ihn noch nie kennengelernt haben, ist die Besonderheit dieses Klebers erwähnenswert. Dieses Produkt wird in zwei separaten Behältern geliefert und beim Mischen des Inhalts kommt es sofort zu einer chemischen Reaktion. Nach dem Mischen müssen Sie schnell handeln, innerhalb von 3-4 Minuten. Zur weiteren Verwendung müssen Sie eine neue Portion anrühren. Wenn Sie also versuchen, dies zu wiederholen, rate ich Ihnen, kleine Portionen zu mischen und sehr schnell zu handeln, da Ihnen nicht viel Zeit zum Nachdenken bleibt. Daher lohnt es sich, im Vorfeld darüber nachzudenken, wie und wo der Körper verklebt werden soll. Darüber hinaus ist dies nicht in einer Sitzung möglich.

Um die Streifen mit LEDs zu befestigen, wurde in die obere Abdeckung ein Rohr eingesetzt, durch das alle Drähte perfekt geführt wurden.

Als das Problem mit dem Lampenschirm auftauchte, erinnerte ich mich daran, wie ich als Kind Kunsthandwerk aus einfachem Faden, Kleber und einem Ballon gemacht hatte, der als Basis diente. Das Prinzip für den Lampenschirm ist das gleiche, aber das Einwickeln eines Polyeders erwies sich als schwieriger als das Einwickeln einer Kugel. Durch den Druck, den die Fäden auf die Struktur ausübten, begann sich diese nach oben hin zu verengen und die Fäden begannen abzufallen. Da meine Hände mit Klebstoff bedeckt waren, wurde dringend beschlossen, die Struktur von oben zu verstärken. Und dann kam die CD zur Rettung. Das Endergebnis ist dieses Nachtlicht:

Was möchtest du am Ende sagen?

Was soll ich im Projekt ändern? Um das TRIG-Signal an die Abstandssensoren zu liefern, könnte man statt drei einen Arduino-Ausgang verwenden. Ich würde auch ein Loch für den IR-Sensor vorsehen (den ich vergessen habe), der leider immer noch in dem Gehäuse versteckt ist, von dem aus er natürlich keine Signale von der Fernbedienung lesen kann. Aber wer hat gesagt, dass man nichts löten oder bohren kann?

Ich möchte anmerken, dass dies ein interessantes Semester war und eine großartige Gelegenheit, etwas zu versuchen, das nicht auf dem Papier steht, wodurch ich neben dem Punkt „Kindheitstraum“ ein weiteres Häkchen setzen kann. Und wenn Sie denken, dass es schwierig ist, etwas Neues auszuprobieren, und Sie nicht wissen, was Sie zuerst tun sollen, machen Sie sich keine Sorgen. Vielen Menschen geht ein Gedanke durch den Kopf: Wo soll man anfangen und wie kann das überhaupt umgesetzt werden? Es gibt viele Aufgaben im Leben, bei denen man verwirrt sein kann, aber wenn man es einmal versucht, wird man mit einem Augenzwinkern merken, dass man mit einem Augenzwinkern Berge versetzen kann, auch wenn man sich dafür ein wenig anstrengen muss.

In diesem Experiment sollte die LED aufleuchten, wenn die Lichtstärke unter einen mit einem Potentiometer eingestellten Schwellenwert fällt.

LISTE DER TEILE FÜR DAS EXPERIMENT

- 1 Arduino Uno-Board;

- 1 lötfreies Steckbrett;

- 1 LED;

- 1 Fotowiderstand;

- 1 Widerstand mit einem Nennwert von 220 Ohm, 1 Widerstand mit einem Nennwert von 10 kOhm;

- 1 variabler Widerstand (Potentiometer);

- 10 Stecker-Stecker-Drähte.

DETAILS FÜR ZUSÄTZLICHE AUFGABEN

1 weitere LED;

Ein weiterer Widerstand mit einem Nennwert von 220 Ohm;

2 weitere Drähte.

SCHALTBILD

Diagramm auf dem Steckbrett

SKIZZIEREN

Laden Sie die Skizze für die Arduino IDE herunter
#define LED_PIN 13 #define LDR_PIN A0 #define POT_PIN A1 void setup() ( pinMode(LED_PIN, OUTPUT); ) void loop() ( // den Lichtpegel lesen. Du kannst übrigens // eine Variable deklarieren und zuweisen einen Wert dazu sofort int lightness = analogRead(LDR_PIN); // den Wert vom Potentiometer lesen, mit dem wir // den Schwellenwert zwischen bedingter Dunkelheit und Licht einstellen int limits = analogRead(POT_PIN); Logische Variable und weisen Sie ihr den Wert // „Ist es jetzt dunkel“ zu. Boolesche Variablen können im Gegensatz zu // ganzen Zahlen nur einen von zwei Werten enthalten: // wahr oder falsch tooDark =).< threshold); // используем ветвление программы: процессор исполнит один из // двух блоков кода в зависимости от исполнения условия. // Если (англ. «if») слишком темно... if (tooDark) { // ...включаем освещение digitalWrite(LED_PIN, HIGH); } else { // ...иначе свет не нужен — выключаем его digitalWrite(LED_PIN, LOW); } }

ERLÄUTERUNGEN ZUM CODE

  • Wir verwenden einen neuen Typ von Variablen − Boolescher Wert, die nur Werte speichern WAHR (wahr, 1) oder FALSCH (falsch, 0). Diese Werte sind das Ergebnis der Auswertung boolescher Ausdrücke. IN in diesem Beispiel logischer Ausdruck- Das Leichtigkeit< threshold . In der menschlichen Sprache klingt das so: „Beleuchtungsstärke unterhalb des Schwellenwerts.“ Eine solche Aussage ist wahr, wenn die Beleuchtung unter dem Schwellenwert liegt. Der Mikrocontroller kann die Werte von Variablen vergleichen Leichtigkeit Und Schwelle, die wiederum die Messergebnisse sind, und berechnen die Wahrheit des logischen Ausdrucks.
  • Wir haben diesen logischen Ausdruck nur der Übersichtlichkeit halber in Klammern gesetzt. Es ist immer besser, lesbaren Code zu schreiben. In anderen Fällen können Klammern die Reihenfolge der Operationen beeinflussen, wie in der gewöhnlichen Arithmetik.
  • In unserem Experiment ist ein boolescher Ausdruck wahr, wenn der Wert Leichtigkeit geringer als der Wert Schwelle weil wir den Operator verwendet haben < . Wir können Operatoren verwenden > , <= , >= , = = , != , was jeweils „größer als“, „kleiner als oder gleich“, „größer als oder gleich“, „gleich“ und „ungleich“ bedeutet.
  • Seien Sie besonders vorsichtig mit logischer Operator = = und verwechseln Sie es nicht mit dem Zuweisungsoperator = . Im ersten Fall vergleichen wir die Werte von Ausdrücken und erhalten einen logischen Wert (wahr oder falsch), und im zweiten Fall weisen wir den Wert des rechten Operanden dem linken Operanden zu. Der Compiler kennt unsere Absichten nicht und gibt keinen Fehler aus, aber wir können versehentlich den Wert einer Variablen ändern und dann lange nach einem Fehler suchen.
  • Bedingter Operator WennWenn") ist einer der Schlüsselbegriffe in den meisten Programmiersprachen. Mit seiner Hilfe können wir nicht nur eine genau definierte Abfolge von Aktionen ausführen, sondern abhängig von bestimmten Bedingungen auch Entscheidungen darüber treffen, welchem ​​Zweig des Algorithmus wir folgen.
  • Für einen logischen Ausdruck Leichtigkeit< threshold es gibt eine Bedeutung: WAHR oder FALSCH. Wir haben es berechnet und in eine boolesche Variable eingegeben tooDark(„zu dunkel“) Wir scheinen also zu sagen: „Wenn es zu dunkel ist, dann schalte die LED ein.“
  • Mit dem gleichen Erfolg könnten wir sagen: „Wenn die Beleuchtung unter dem Schwellenwert liegt, schalten Sie die LED ein“, d. h. übertragen auf Wenn alles logischer Ausdruck:
wenn (Leichtigkeit< threshold) { // ... }
  • Hinter der bedingten Anweisung Wenn Es muss ein Codeblock vorhanden sein, der ausgeführt wird, wenn der logische Ausdruck wahr ist. Vergessen Sie nicht die beiden geschweiften Klammern {} !
  • Wenn der Ausdruck wahr ist, müssen wir ihn nur ausführen eins Anweisungen, es kann sofort danach geschrieben werden Wenn (…) ohne geschweifte Klammern:
wenn (Leichtigkeit< threshold) digitalWrite(LED_PIN, HIGH);
  • Operator Wenn konstruktionsbedingt erweiterbar anders("ansonsten"). Ein Codeblock oder eine einzelne darauf folgende Anweisung wird nur ausgeführt, wenn der logische Ausdruck in Wenn Angelegenheiten FALSCH , « Lüge" Die Regeln für geschweifte Klammern sind dieselben. In unserem Experiment haben wir geschrieben: „Wenn es zu dunkel ist, schalten Sie die LED ein, andernfalls schalten Sie die LED aus.“

FRAGEN ZUM SELBSTTEST

  1. Wenn wir zwischen dem Analogeingang und Masse einen Fotowiderstand installieren, funktioniert unser Gerät umgekehrt: Die LED schaltet sich ein, wenn die Lichtmenge zunimmt. Warum?
  2. Welches Betriebsergebnis erhalten wir, wenn das Licht der LED auf den Fotowiderstand fällt?
  3. Wenn wir den Fotowiderstand wie in der vorherigen Frage beschrieben installieren, wie müssen wir dann das Programm ändern, damit das Gerät ordnungsgemäß funktioniert?
  4. Nehmen wir an, wir haben den Code if (Bedingung) (Aktion;). In welchen Fällen wird es durchgeführt? Aktion ?
  5. Bei welchen Werten j Ausdruck x + y > 0 wird wahr sein, wenn x > 0 ?
  6. Ist es notwendig anzugeben, welche Anweisungen ausgeführt werden sollen, wenn die Bedingung in der Anweisung enthalten ist? Wenn FALSCH?
  7. Was ist der Unterschied zwischen dem Betreiber = = vom Betreiber = ?
  8. Wenn wir die Konstruktion nutzen if (Bedingung) action1; sonst action2;, könnte es eine Situation geben, in der keine der Aktionen ausgeführt wird? Warum?

AUFGABEN ZUR UNABHÄNGIGEN LÖSUNG

  1. Schreiben Sie das Programm neu, ohne die Variable zu verwenden tooDark unter Beibehaltung der Funktionalität des Gerätes.
  2. Fügen Sie dem Stromkreis eine weitere LED hinzu. Vervollständigen Sie das Programm so, dass bei Unterschreitung des Schwellenwerts eine LED aufleuchtet und bei Unterschreitung des halben Schwellenwerts beide LEDs aufleuchten.
  3. Ändern Sie die Schaltung und programmieren Sie sie so, dass die LEDs nach dem gleichen Prinzip leuchten, jedoch umso intensiver leuchten, je weniger Licht auf den Fotowiderstand fällt.

Hallo zusammen! Ich bin Artem Luzhetsky und werde eine Artikelserie zum Thema „ Intelligentes Zuhause" und IoT (englisch - Internet der Dinge, Internet der Dinge). Wir werden erstaunliche Möglichkeiten zum Schaffen kennenlernen Heimnetzwerk aus einer Vielzahl von Geräten, die entweder autonom oder mit menschlicher Unterstützung arbeiten. Also? Fangen wir an!

Der erste Artikel dient der Einführung. Ich möchte, dass Sie verstehen, dass ich mit den gängigsten Platinen und Modulen arbeiten werde, damit sich die meisten Menschen an der IoT-Entwicklung versuchen können.

Zunächst benötigen wir also zwei Mikrocontroller, die wir verwenden werden: und .

Arduino UNO

Ich denke, es ist nicht nötig, Ihnen dieses Board vorzustellen; es ist bei Anfängern und Heimwerkern sehr beliebt. Ich möchte nur sagen, dass die Fähigkeiten dieses Boards begrenzt sind und UNO nicht mit dem https-Protokoll arbeiten kann, der ATmega328P-Mikrocontroller nicht über genügend Rechenleistung verfügt. Wenn wir also mit dem Mikrocontroller und dem https-Protokoll arbeiten müssen, werden wir den ESP8266 programmieren .

ESP8266

Ich werde mit dem Troyka ESP8266-Modul der Firma Amperka arbeiten, aber Sie können bedenkenlos ein normales ESP 8266-Modul verwenden, es gibt praktisch keine Unterschiede, die Hauptsache beim Anschließen ist, auf die Bedeutung der Pins zu achten und sich daran zu erinnern, dass das ESP funktioniert auf 3,3-Volt-Logik, Sie müssen also entweder über 5 Volt anschließen, aber einen Spannungsstabilisator an die Schaltung anschließen, oder einfach einen Pin mit einer Spannungsversorgung von 3,3 Volt verwenden.

Dieser Mikrocontroller ist nicht der leistungsstärkste der Espressif-Serie auf dem allgemeinen Markt, aber einer der günstigsten und gebräuchlichsten. Es wird die Grundlage unserer IoT-Entwicklungen sein.

Weitere Details

Wir müssen auch alle Experimente erstellen:

  1. LEDs
  2. Fotowiderstand
  3. Thermistor
  4. Ultraschall-Entfernungsmesser
  5. Piezodynamisch
  6. Mini-Servo
  7. IR-Sensor
  8. IR-Fernbedienung

Wir müssen nicht alle diese Module haben, um mit IoT zu arbeiten, aber um alle zukünftigen Projekte durchführen zu können, müssen wir sie irgendwann alle kaufen.

Programme und Bibliotheken

Laden Sie zunächst die Bibliothek herunter, die Ihnen die Arbeit in der Arduino IDE erheblich erleichtert, wenn Sie einen ESP8266 verwenden – http://wiki.amperka.ru/_media/iot-m:iot-m-libs.zip

Zweitens benötigen wir Websites, die uns die Möglichkeit geben, Daten an sie zu senden, um das Internet der Dinge besser zu verstehen.

  1. www.dweet.io
  2. www.maker.ifttt.com
  3. narodmon.ru
  4. usw.

Drittens werden sie auch für uns nützlich sein verschiedene Anwendungen auf Android, damit wir ein Smart Home über unser Telefon steuern können.

  1. OpenHab
  2. Blinken
  3. usw.

Alle Methoden, Programme und Standorte werden wir in den kommenden Projekten im Detail kennenlernen.

2. Eine „intelligente Lampe“ herstellen

Habe ich dich schon gelangweilt? Lassen Sie uns die einfachste intelligente Lampe herstellen, die sich einschaltet, wenn der Raum dunkel ist.

Tatsächlich brauchen Sie dafür nicht einmal ein UNO, Sie können einen digitalen, benutzerdefinierten Fotosensor verwenden, aber in Zukunft werden wir dieses Projekt bis zur Unkenntlichkeit verändern, also müssen wir irgendwo anfangen.

Wenn Sie nicht sicher sind, ob Sie bereit sind, mit Strom bei 220 Volt zu arbeiten, verwenden Sie stattdessen eine Taschenlampe normale LED. Zu Beginn habe ich meine alte TLI-204-Lampe mitgenommen, diese gibt es in fast jedem Laden (ich habe sie vorher ausgesteckt).

Die Lampe verfügt über zwei Betriebsarten (leuchtet/leuchtet nicht). Was ich tun möchte, ist, ihre Funktionalität zu erhöhen, die Möglichkeit zu lassen, die Lampe vollständig einzuschalten und vollständig auszuschalten.

Es wird nicht möglich sein, einen Fotowiderstand mit einem Relais parallel zu einem Stromkreis anzuschließen, ohne einen anderen Schalter zu verwenden, daher habe ich beschlossen, einen Kippschalter mit drei Positionen anstelle eines Schalters mit zwei Positionen zu installieren.

Allgemein Elektrischer Schaltplan sollte so aussehen:

Wenn alles richtig gemacht ist, können Sie in der dritten Position des Schalters die Lampe einschalten, indem Sie das Relais vom Mikrocontroller mit Strom versorgen.

Schließen wir einen Fotowiderstand an den Arduino an. Das Diagramm sieht so aus:

3. Code für „Smart Lamp“

Schreiben wir nun einen Code, der Strom an das Relais überträgt, wenn der Raum dunkel ist.

#define SHINE 5 //PIN AUF DEM FOTORESISTOR #define REL 13 //PIN AUF DEM RELAIS void setup())( pinMode(SHINE, INPUT); pinMode(REL, OUTPUT); Serial.begin(9600); ) void loop ())( if (analogRead(SHINE)<600) // Если света в комнате мало, то включаем лампу { digitalWrite(REL, HIGH) } else // если много, то выключаем { digitalWrite(REL, LOW); } Serial.printIn(analogRead(SHINE)); selay(500); }

Denken Sie beim Anschließen daran, den Fotosensor vom Lama zu entfernen, da Sie sonst mit einer Lichtshow verwöhnt werden. Alles sollte funktionieren.

Beim nächsten Mal werden wir versuchen, den Code zu komplizieren und ein paar weitere Funktionen hinzuzufügen. Bis bald!

Guten Tag oder gute Nacht, je nachdem, wer Sie sind. Heute werde ich Anleitungen für die Herstellung eines kleinen Nachtlichts geben. Die Basis bildet ein mattierter Diffusor aus einer durchgebrannten LED-Glühbirne. Und im Inneren werden wir Arduino Pro Mini- und SW2812-LEDs platzieren. Ich werde nur eine Skizze veröffentlichen, aber es kann viele Optionen für Farben oder Schillern geben. Beginnen wir wie immer mit einer Liste dessen, was Sie benötigen:

Diffusor aus LED-Lampe, Sockel E27
- 5V-Stromversorgung
- Arduino Pro Mini 5V
- USB-TTL (zum Hochladen einer Skizze auf Arduino)
- LEDs WS2812
- Dünner Kunststoff
- Doppelseitiges Klebeband
- Das Aufladen über das Telefon ist nicht erforderlich, funktioniert aber
- Lötkolben
- Drähte
- Lot, Kolophonium
- Heißklebepistole

Schritt 1. Den Körper herstellen.
Zuerst müssen wir einen Diffusor besorgen. Wir nehmen eine LED-Glühbirne mit E27-Fassung. Besser ist es natürlich, eine gebrauchte Glühbirne zu nehmen:

Mit einer Hand halten wir die Glühbirne am Sockel und Kunststoffkörper fest, mit der anderen Hand fassen wir sie am Diffusor und zerbrechen die Glühbirne. Der Diffusor sollte sich leicht vom Gehäuse lösen lassen, da er nur durch das Dichtmittel an Ort und Stelle gehalten wird:

Jetzt müssen wir eine Basis herstellen, auf die wir die LEDs kleben. Dazu nehmen wir dünnes Plastik, eine Hülle aus einer Plastikmappe reicht aus. Jetzt messen wir den Innendurchmesser des Befestigungslochs des Diffusors und müssen auch die Tiefe des Diffusors messen. Fahren wir mit der Herstellung der Basis fort. Es hat die Form eines Zylinders, dessen Durchmesser 5 mm kleiner sein sollte als der Innendurchmesser des Diffusor-Montagelochs. Und die Höhe ist 7 mm geringer als die Tiefe des Diffusors. Es sollte ungefähr so ​​aussehen:

Belassen wir es erst einmal dabei.

Schritt 2. Elektrik.
Wie ich bereits sagte, wird der Controller ein Arduino Pro Mini sein, eine Version, die mit 5 Volt betrieben wird. Der Anschluss des LED-Streifens ist ganz einfach; dazu müssen Sie den +5V-Kontakt mit dem Plus des 5-Volt-Netzteils und GND mit dem Minus verbinden. Verbinden Sie den DIN-Pin (Eingang) mit Pin 6 des Arduino. Der Bandverbindungsanschluss kann in der Skizze durch einen beliebigen geeigneten Anschluss geändert werden. Wir werden den Arduino über dasselbe Netzteil mit Strom versorgen. Da wir ein stabilisiertes Netzteil verwenden werden, verbinden wir das Plus vom Netzteil mit dem 5V-Pin des Arduino. Der Minuspol des Netzteils muss mit GND des Arduino verbunden werden. Das Schema sieht so aus:

Eine LED verbraucht also bei maximaler Helligkeit aller drei Farben 60 mA. Ich passe 25, also stellt sich heraus:

25 x 60 mA = 1500 mA = 1,5 A

Das heißt, ich benötige eine Stromversorgung von 5 V, 1,5 A. Dies ist die maximale Stromanzeige, die angezeigt wird, wenn alle LEDs im maximalen Helligkeitsmodus aller drei Farben eingeschaltet sind.

Verwenden wir ein altes Telefonladegerät als Stromversorgung. Das Netzteil sollte für 5 Volt gewählt werden und in Bezug auf die Leistung berechnen Sie, wie viele LEDs Sie unterbringen können:

Wir schneiden den Stecker davon ab und löten die Drähte direkt an das Band. Vergessen Sie nicht, die Polarität mit einem Tester oder Multimeter zu überprüfen. Sie sollten auch Kabel für die Stromversorgung des Arduino herstellen. Und ein Signalkabel vom Band zum Arduino.

Wir machen im unteren Teil des Zylinders einen Schlitz, um die Kontakte des Bandes mit den darin verlöteten Drähten hindurchzuführen:

Führen Sie das Ende des Bandes mit den Drähten in den Schlitz ein und fixieren Sie es mit Heißkleber. Als nächstes kleben wir das Klebeband kreisförmig auf und heben es leicht an, sodass eine Spirale aus Klebeband entsteht. Wir kleben auch Klebeband auf die Oberseite des Zylinders, die Anzahl der Dioden hängt vom Durchmesser ab, ich hatte höchstens zwei LEDs auf der Oberseite diagonal und sogar so, dass die Kontakte herunterhingen:

Wenn Sie das gleiche Ergebnis erhalten, lassen Sie sich nicht entmutigen, schneiden Sie einfach das über die Kanten hängende Klebeband ab und löten Sie die Drähte direkt an die LEDs. WS2812-Kontakte:

Bitte beachten Sie, dass der LED-Streifen am WS2812B auf einer Seite (Anfang oder Eingang) über DIN-, +5V- und GND-Kontakte verfügt. Und auf der anderen Seite (Ende oder Ausgang) DO, +5V, GND. Wenn Sie direkt an die LEDs löten, achten Sie auf die Position der Kontakte und konzentrieren Sie sich dabei auf den Schlüssel (abgeschnittene Ecke). Um die Installation zu vereinfachen, sind auf dem Band Pfeile eingezeichnet, die die Richtung angeben. Achten Sie besonders auf den Übergang nach oben, da es sich um eine sehr scharfe Biegung handelt und die Wahrscheinlichkeit eines Bandrisses hoch ist. Ich habe es so hinbekommen:


Von oben direkt an die LEDs angelötet:

Und in der Mitte, auf der zweiten Ebene, gibt es noch ein paar LEDs:

Und aus Gründen der Zuverlässigkeit füllen Sie die Drähte mit Heißkleber:

Jetzt stecken wir unseren Zylinder mit LEDs in die Kugel der Glühbirne. Mit Heißkleber fixieren wir den Zylinder im Inneren der Kugel kreisförmig:

Vergessen Sie nicht, einen Schlitz für den Ausgang des Stromkabels zu schaffen:

Schritt 3. Vorbereiten der Umgebung und Firmware.
Um die Skizze (oder Firmware) herunterzuladen, verwenden wir die Arduino IDE. Laden Sie die neueste Version von der offiziellen herunter und installieren Sie sie.

Laden Sie dazu zunächst das Archiv herunter. Dann entpacken Sie dieses Archiv. Und verschieben Sie die entpackten Dateien in den Ordner „libraries“, der sich in dem Ordner befindet, in dem die Arduino IDE installiert ist. Es kann einfacher gemacht werden. Starten Sie die Arduino IDE. Wir entpacken das heruntergeladene Archiv nicht. Wählen Sie direkt in der Arduino IDE den Menüpunkt Sketch – Connect Library. Wählen Sie ganz oben in der Dropdown-Liste „Add.Zip-Bibliothek“ aus. Es sollte ein Dialogfeld erscheinen. Wählen Sie als Nächstes unsere Bibliothek Adafruit_NeoPixel-master aus. Es lohnt sich, ein wenig zu warten. Öffnen Sie erneut den Menüpunkt Skizze – Bibliothek verbinden. Jetzt sehen Sie ganz unten in der Dropdown-Liste die neue Bibliothek. Nach einem Neustart der Arduino IDE kann die Bibliothek genutzt werden.

Laden Sie meine Skizze herunter:

Jetzt muss nur noch die Skizze auf Arduino hochgeladen werden. Wir verwenden Arduino Pro Mini. Bei dieser Version des beliebten Arduino ist kein USB-TTL-Chip auf der Platine verlötet. Um mit einem Computer zu kommunizieren und eine Skizze hochzuladen, müssen Sie daher einen separaten USB-TTL verwenden. Anschluss gemäß folgendem Diagramm:

Arduino - USB-TTL
RX (P0) – TX
TX (P1) – RX
GND - GND

Die USB-TTL-Stromversorgung erfolgt über den USB-Anschluss des Computers. Der Arduino kann über einen USB-TLL mit Strom versorgt werden oder ein externes Netzteil verwenden. Hauptsache, der GND-Pin von USB-TTL und Arduino sind verbunden. Am häufigsten stößt man auf USB-TTL ohne DTR-Pin-Ausgang. Der DTR-Pin muss mit dem Reset Arduino verbunden sein, um vor dem Hochladen der Skizze einen automatischen Reset durchzuführen. Wenn Sie wie ich nicht über diese Ausgabe verfügen, müssen Sie vor dem Hochladen der Skizze einen manuellen Neustart durchführen. Wir gehen so vor: Wir verbinden alle nach dem oben beschriebenen Schema, öffnen die Arduino IDE, öffnen die heruntergeladene Skizze, klicken auf die Schaltfläche „Herunterladen“ und schauen uns an, was unten geschrieben steht. Während die „Kompilierung“ läuft, machen wir nichts, wir warten nur darauf, dass das Wort „Download“ erscheint, wir müssen die Reset-Taste auf dem Arduino drücken. Wenn es nicht bequem ist, eine Taste auf der Platine zu drücken, können Sie eine mit GND und Reset verbundene Taste anzeigen. Oder führen Sie die Drähte einfach an die gleichen Klemmen und schließen Sie sie zum richtigen Zeitpunkt.

Ich möchte sagen, dass es viele Möglichkeiten gibt, ein Nachtlicht anzuzünden; ich habe in der Skizze nur einige aufgeschrieben, die mir gefallen haben. Sie können die Skizze nach Belieben bearbeiten. Experimentieren Sie und wählen Sie, was Ihnen am besten gefällt.