Schlagwort-Archive: LED

BitBastelei #511 – LED-Signalsäule für OctoPrint mit ESP8266/Arduino

BitBastelei #511 - LED-Signalsäule für OctoPrint mit ESP8266/Arduino

(2 GB) 00:18:21

2022-10-30 11:00 🛈

An professionellen Anlagen finden man häufig Signalsäulen um auch aus der Ferne den aktuellen Betriebszustand schnell erkennen zu können. Solche Signalsäulen hatte ich in Folge #433 bereits gezeigt, bis auf eine kleine “Mute/Unmute-Anzeige” für Videokonferenzen (#438) aber nicht weiter genutzt. Dabei habe ich auch eine Anlage, die lange Zeit läuft und besser im Blick gehalten werden sollte: Der 3D-Drucker. Dank OctoPrint ist dieser auch im Netz verfügbar und der Status dank offener API einfach abzufragen. Also kombinieren wir mal Ampel und OctoPrint um den aktuellen Zustand des 3D-Druckers immer im Auge behalten zu können.

Inhalt

  • 00:00 Rückblick: Signalsäulen + Ansteuerung
  • 03:46 Plan
  • 06:07 Testaufbau
  • 08:01 Anzeigen
  • 11:20 ESP12 statt NodeMCU?
  • 14:18 Software: Konfiguration und API-Keys
  • 15:39 Software: Interne Funktion
  • 17:46 Fazit

Links zum Thema:

Transparenz

Die gezeigten Geräte wurden selbst gekauft und bezahlt.

BitBastelei #466 – Quick’n’Dirty LED Dimmer

BitBastelei #466 - Quick'n'Dirty LED Dimmer

(915 MB) 00:15:59

2021-12-05 11:00 🛈

Wenn die Nachbarn plötzlich weihnachtsbedingt mehr LEDs als ich an ihren Häusern zur Schau stellen, dann kann ich das so nicht stehen lassen. Also raus mit der LED-Strippe und Licht an. Oder auch nicht. Einzig freie Outdoor-LED ist ein 230V-Streifen, dem ich zuletzt ein “meh” gegeben hab. Etwas wenig Isolation für meinen Geschmack. Aber was für gleichgerichtetes AC gedacht war funktioniert auch mit stromlimitiertem DC. Wenn man jetzt bloß noch eine Steuerung oder einen Dimmer hätte um das Konstrukt zeitgesteuert schalten zu können.

Inhalt

  • 00:00 Streifenplan
  • 00:44 DC-Versorgung
  • 02:04 Transistorforderung
  • 02:34 Transistorwünsche
  • 04:31 Transistorsuche
  • 08:44 Transistorketten
  • 10:04 Transistorlöterei
  • 10:58 Controllersuche
  • 12:05 Software
  • 13:38 Anschluss
  • 14:33 Ende

Code

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>

#include <uri/UriBraces.h>
#include <uri/UriRegex.h>

#ifndef STASSID
#define STASSID ""
#define STAPSK  ""
#endif

#define PWMSTEPS 256
#define LED D1

const char *ssid = STASSID;
const char *password = STAPSK;

//https://gist.github.com/mathiasvr/19ce1d7b6caeab230934080ae1f1380e
const uint16_t CIE[256] = {
    0,    0,    1,    1,    2,    2,    3,    3,    4,    4,    4,    5,    5,    6,    6,    7,
    7,    8,    8,    8,    9,    9,   10,   10,   11,   11,   12,   12,   13,   13,   14,   15,
   15,   16,   17,   17,   18,   19,   19,   20,   21,   22,   22,   23,   24,   25,   26,   27,
   28,   29,   30,   31,   32,   33,   34,   35,   36,   37,   38,   39,   40,   42,   43,   44,
   45,   47,   48,   50,   51,   52,   54,   55,   57,   58,   60,   61,   63,   65,   66,   68,
   70,   71,   73,   75,   77,   79,   81,   83,   84,   86,   88,   90,   93,   95,   97,   99,
  101,  103,  106,  108,  110,  113,  115,  118,  120,  123,  125,  128,  130,  133,  136,  138,
  141,  144,  147,  149,  152,  155,  158,  161,  164,  167,  171,  174,  177,  180,  183,  187,
  190,  194,  197,  200,  204,  208,  211,  215,  218,  222,  226,  230,  234,  237,  241,  245,
  249,  254,  258,  262,  266,  270,  275,  279,  283,  288,  292,  297,  301,  306,  311,  315,
  320,  325,  330,  335,  340,  345,  350,  355,  360,  365,  370,  376,  381,  386,  392,  397,
  403,  408,  414,  420,  425,  431,  437,  443,  449,  455,  461,  467,  473,  480,  486,  492,
  499,  505,  512,  518,  525,  532,  538,  545,  552,  559,  566,  573,  580,  587,  594,  601,
  609,  616,  624,  631,  639,  646,  654,  662,  669,  677,  685,  693,  701,  709,  717,  726,
  734,  742,  751,  759,  768,  776,  785,  794,  802,  811,  820,  829,  838,  847,  857,  866,
  875,  885,  894,  903,  913,  923,  932,  942,  952,  962,  972,  982,  992, 1002, 1013, 1023,
};

bool changed = false;
uint16_t fadeTime = 100;
uint32_t delayTime = 0;
uint16_t target = 0;
uint16_t current = 0;

uint32_t systick = 0;

ESP8266WebServer server(80);

void setup(void) {
  pinMode(LED, OUTPUT);
  digitalWrite(LED, HIGH);
  delay(250);
  
  Serial.begin(115200);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  Serial.print("\n\n\nConnecting.");

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("OK");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());

  if (MDNS.begin("esp8266")) {
    Serial.println("MDNS responder started");
  }

  server.on(F("/"), []() {
    String state = "<h1>Status</h1><br>";
    state += "<b>Current</b>: "+String(current)+"<br>";
    state += "<b>Target</b>: "+String(target)+"<br>";
    state += "<b>FadeTime</b>: "+String(fadeTime)+"<br>";
    state += "<b>DelaydTime</b>: "+String(delayTime)+"<br>";
    state += "<b>Changed</b>: "+String(changed)+"<br>";
    state += "<b>Systick</b>: "+String(systick)+"<br>";
    state += "<b>Uptime</b>: "+String(millis())+"<br>";
    server.send(200, "text/html", state);
    Serial.println("Index");
  });

  server.on(UriBraces("/fadeTime/{}"), []() {
    String data = server.pathArg(0);
    fadeTime = data.toInt();
    server.send(200, "text/plain", String("FadeTime: '") + fadeTime + "'");
    Serial.println(String("FadeTime: '") + fadeTime + "'");
  });

  server.on(UriBraces("/fade/{}"), []() {
    String data = server.pathArg(0);
    target = data.toInt();
    delayTime = fadeTime * 1000 / PWMSTEPS;
    server.send(200, "text/plain", String("Fade: '") + target + "'");
    Serial.println(String("Fade: '") + target + "'");
  });

  server.on(UriBraces("/set/{}"), []() {
    String data = server.pathArg(0);
    target = data.toInt();
    current = target;
    changed = true;
    server.send(200, "text/plain", String("Set: '") + target + "'");
    Serial.println(String("Set: '") + target + "'");
  });

  server.begin();
  Serial.println("HTTP server started");
}

void loop(void) {
  server.handleClient();

  if(delayTime > 0) {
    uint32_t cmicros = micros();
    uint32_t cmp = systick;
    if(2^32 - systick >= delayTime) {
      cmp = 2^32 - systick - delayTime;
    }
  
    if(cmp >= delayTime) {
      if(target > current) current++;
      if(target < current) current--;
      if(target == current) delayTime = 0;
      changed = true;
      systick = cmicros;
    }
  }

  if(changed) {
    Serial.print("\nChanged");
    Serial.print(" - Current: ");
    Serial.print(current);
    uint16_t pwmt=PWMSTEPS-current;
    Serial.print(" - PWM: ");
    Serial.print(pwmt);
    pwmt = CIE[pwmt];
    Serial.print(" - CPWM: ");
    Serial.println(pwmt);
    analogWrite(LED, pwmt);
    changed = false;
  }
}

Transparenz

LED-Streifen, ESP und DC-DC-Wandler wurde selbst gekauft und bezahlt. Das Spenderboard wurde mir vor längerem als E-Schrott geschenkt.

BitBastelei #464 – Andoer Fotolicht: Besser als erwartet

BitBastelei #464 - Andoer Fotolicht: Besser als erwartet

(2 GB) 00:28:52

2021-11-21 11:00 🛈

Beim Shopping von Videomaterial ist mir eine günstige Videoleuchte entgegen gefallen. Da ich ohnehin Ersatz für meine aktuelle “Lampe”, welche eigentlich eine Powerbank ist, suchte wanderte Sie also gleich mit in den Warenkorb. Also werfen wir mal einen Blick auf und natürlich auch in die Lampe und schauen.

Inhalt

  • 00:00 Aktuelle Lichtsituation
  • 02:25 Produkt und erster Test
  • 05:19 Strommessung
  • 07:30 Flackertest
  • 08:35 Innenleben
  • 10:32 Board
  • 16:16 Anleitung
  • 17:43 Farbtreue
  • 22:03 Spannungstests: LiFePO4 statt Alkaline

Links zum Thema

Transparenz

Das Gerät wurde selbst gekauft und bezahlt. Ich bin Teilnehmer bei den Partnerprogrammen von amazon.de und aliexpress.com. Durch Nutzung der mit Stern (*) gekennzeichneten Links im Video oder auf meiner Webseite erkennt der Anbieter, dass Ihr über meine Seite zu ihnen gefunden habt. Ich werde prozentual an hierüber erzielten Umsätzen beteiligt, die Preise ändern sich hierdurch für Käufer*innen nicht.

BitBastelei #449 – Leuchtkäfer-Bausatz

BitBastelei #449 - Leuchtkäfer-Bausatz

(1 GB) 00:12:54

2021-08-08 10:00 🛈

Bei meinen Einkäufen bin ich über ein Lötset für Einsteiger gestolpert, welches einen Käfer mit LEDs als Augen darstellt. Da ist selbst mit der Haxko-Eule eine ähnliche Platine entworfen hatte wollte ich sehen, was man hier an Schaltung gebastelt hat. Also bauen wir das Ding doch mal zusammen und werfen einen Blick auf das Design.

Inhalt

  • 00:00 Warum überhaupt den Bausatz?
  • 01:38 Packungsinhalt
  • 05:46 Schaltung: Reverse Engineering
  • 07:30 Zusammenbau
  • 07:50 Funktionstest
  • 10:33 Fazit

Fehler und Ergänzungen

  • 07:39 Jajaja, offiziell soll man nicht nach dem Löten noch abschneiden. Es ist ein Lötkit und kein ESA-Projekt.

Transparenz

Die gezeigten Geräte wurden selbst gekauft und bezahlt.

BitBastelei #446 – LED-Treiber Reparatur

BitBastelei #446 - LED-Treiber Reparatur

(2 GB) 00:15:26

2021-07-18 10:00 🛈

Eine gut angesteuerte LED hält quasi ewig – es sei denn sie bekommt mechanisch etwas ab. In diesen fall wurde der Treiber bei Bauarbeiten beschädigt: Die Anschlussklemme wurde vom Board gerissen. Sollte schnell zu beheben sein, also schauen wir uns das doch gleich mal an.

Inhalt

  • 00:00 Fehleranalyse
  • 01:06 Innenleben
  • 09:34 Reparatur
  • 13:23 Funktionstest

Transparenz

Die gezeigten Geräte wurden selbst gekauft.

BitBastelei #442 – 230V LED-Streifen

BitBastelei #442 - 230V LED-Streifen

(2 GB) 00:19:03

2021-06-20 10:00 🛈

LED-Streifen kommen bei mir sehr häufig zur Beleuchtung zum Einsatz – allerdings üblicherweise mit 5V, 12V oder 24V Gleichstrom. Wer jedoch kein separates Netzteil haben möchte kann auch Modelle nutzen, die direkt an der Steckdose, also mit 230V Wechselstrom, betrieben werden. Ein solcher Streifen ist mir auf den Tisch gefallen, also schauen wir mal wie diese Streifen aufgebaut sind, wie sie funktionieren und welche Vor- und Nachteile sich daraus ergeben.

Inhalt

  • 00:00 Übliche LED-Streifen vs. 230V
  • 03:00 Aufbau des 230V-Modells
  • 07:48 Messgeräteballett
  • 13:32 Genauer Blick ins Innere
  • 15:57 Strom und Flackern
  • 16:42 Sicherheitsbedenken
  • 18:05 Fazit

Transparenz

Die gezeigten Geräte wurden selbst gekauft und bezahlt.

BitBastelei #437 – Deckenlampe mit einstellbarer Farbtemperatur

BitBastelei #437 - Deckenlampe mit einstellbarer Farbtemperatur

(2 GB) 00:37:35

2021-05-16 10:00 🛈

LED-Lampen sind eigentlich ja eine tolle Sache – Hell und hohe Effizienz. Nur was die Definition von “Weiß” angeht – da scheiden sich die Gesiter. Diese Lampe hier verspricht, dass sie sich per Schalter zwischen dem helleren “Kaltweiß” (eher Blau), dem gewohnten Warmweiß (eher Orange) und einem Zwischending (“Neutralweiß”) umschalten ließe. Klingt interessant, also schauen wir mal in’s Innere um zu erfahren, wie man diesen Farbwechsel so umgesetzt hat.

Inhalt

  • 00:00 Funktionen laut Verpackung / Unboxing
  • 04:10 Zerlegerei
  • 06:30 Testlauf
  • 09:27 Leistung
  • 10:32 Schaltungsanalyse – LED-Leisten
  • 15:43 Schaltungsanalyse – Treiber
  • 32:47 Farbtest
  • 33:11 Erdung
  • 34:19 Flackern
  • 34:39 Fazit

Transparenz

Die gezeigten Geräte wurden selbst gekauft und bezahlt.

BitBastelei #433 – LED Signalsäule

BitBastelei #433 - LED Signalsäule

(2 GB) 00:21:49

2021-04-18 10:00 🛈

In der Industrie finden sich an großen Anlagen oft “Ampeln”, welche den Betriebszustand optisch anzeigen und somit auch in lauten und weitläufigen Umgebungen einfach ersichtlich machen. Für ein anstehendes Projekt habe ich mich mal nach diesen umgesehen und festgestellt dass diese mit ?10€ aus China günstiger sind als gedacht. Kein Wunder, denn eigentich sind es ja nur ein paar LEDs und etwas Plastik. Sollte man meinen, doch im Inneren ist irgendwie deutlich mehr als erwartet.

Inhalt

  • 00:00 Unboxing
  • 02:37 Erster Test
  • 04:39 Zerlegen
  • 07:05 Boardaufbau
  • 09:50 Schaltung
  • 20:02 Fazit

Links zum Produkt

Transparenz

Die gezeigten Geräte wurden selbst gekauft und bezahlt. Die mit Stern (*) gekennzeichneten Links sind Affiliate-Links. Durch Nutzung dieser erkennt der Anbieter, dass Ihr über meine Seite zu ihnen gefunden habt. Ich werde bei Käufen dann prozentual an euren Umsätzen beteiligt. Für euch bleiben die Preise natürlich gleich. Ich empfehle prinzipiell vor einem Kauf die Preise auch mit anderen Händlern und Plattformen zu vergleichen.

BitBastelei #416 – RGB-LED-Matrix-Adapter; TTL vs. 3.3V

BitBastelei #416 - RGB-LED-Matrix-Adapter; TTL vs. 3.3V

(1 GB) 00:15:51

2020-12-20 11:00 🛈

Vor einiger Zeit hatte ich gezeigt wie man eine RGB-LED-Matrix zusammen mit einem Raspberry Pi nutzen kann. Ein PCB soll nun den Kabelwust ersetzen und möglichen Problemen beim Mix von 5V und 3.3V vorbeugen.

Inhalt

  • 00:00 RGB LED Rückblick
  • 01:47 TTL vs 3.3V
  • 07:51 Adapter-PCB
  • 13:04 Weitere Bild-Ideen / Fazit

Links zum Thema

BitBastelei #364 – T8-Leuchtstofflampe auf LED umrüsten

BitBastelei #364 - T8-Leuchtstofflampe auf LED umrüsten

(2 GB) 00:28:15

2019-12-22 11:00 🛈

Eigentlich sind die guten, alten Leuchtstoffröhren gar nicht so verkehrt: Recht hohe Effizienz, gleichmäßige Beleuchtung und lange Lebensdauer machen einen Austausch funktionierender Lampen meist weder ökologisch noch ökonomisch sinnvoll. Lediglich die Verwendung von Giftstoffen (Quecksilber), schlechte Farbwiedergabe und die Einschaltverzögerung sprechen dagegen. Letztere war mein Auslöser eine solche Lampe zu ersetzen: In einem nicht gedämmten Raum gelegen benötigt die Lampe durch winterliche Temperaturen länger als mein Fuß es schafft die nächste Kante zu finden. Als Ersatz soll eine LED-Röhre her, doch hier gibt es einige Tücken. Schauen wir uns mal die Funktionsweise einer Leuchtstofflampe sowie die Umrüstung auf LED an.

Achtung: Netzspannung ist Lebensgefährlich. Ohne entsprechende Kenntnisse sollte man diese einem Fachmann überlassen.