Schlagwort-Archive: LED

BitBastelei #557 – 12V/20V LED Deckenlampen-Dimmer mit ESP32

BitBastelei #557 - 12V/20V LED Deckenlampen-Dimmer mit ESP32

(2 GB) 00:23:21

2023-09-17 10:00 🛈

In einem der letzten Videos hatte ich gezeigt, wie man eine Deckenlampe an 12V oder mittels Trigger-Board an USB-C betreiben kann. Diesmal soll das Ganze dann „smart“ werden – insbesondere Dimmen wäre sehr hilfreich. Also: Step-Up mit Dimmfunktion ran, Strom richtig einstellen und ESP an – kann ja nicht so schwer sein, oder?

Inhalt

  • 00:00 Recap
  • 01:07 Der Plan
  • 02:37 HLB-A1: Stromeinstellungsraten
  • 06:25 HLB-A1: Enable-Schaltung
  • 08:46 HLB-A1: Stromeinstellung
  • 11:03 Erster PWM-Dimm-Versuch mit ON/OFF
  • 13:19 Zweiter PWM-Dimm-Versuch mit VADJ
  • 21:13 Fazit

Fehler und Ergänzungen

  • 02:09 Nicht ganz – PWM geht nicht. Später mehr.

Transparenz

Das Produkt wurde selbst gekauft und bezahlt.

BitBastelei #554 – LED-Deckenlampe an 12V oder Powerbank

BitBastelei #554 - LED-Deckenlampe an 12V oder Powerbank

(2 GB) 00:28:26

2023-08-27 10:00 🛈

Deckenlampen, auch LED Panel genannt, bringen in vielen Fällen ein gleichmäßiges und nicht blendendes Licht. Die meisten nutzen für die Versorgung einen „LED Treiber“, welcher einen konstanten Strom erzeugt und per Netzspannung versorgt wird – quasi ein Step-Down mit Gleichrichter. Aber was runter geht, geht auch hoch: Mit einem passenden Step-Up lässt sich ein solches Deckenpanel statt am Stromnetz auch mit kleineren Spannungen wie 12V betreiben. Oder mit passendem PD-Modul auch direkt an einer USB-C-Powerbank.

Inhalt

  • 00:00 Lampe und Plan
  • 01:59 Aufbau der Deckenlampe
  • 07:21 LED-Treiber
  • 12:04 CV Step-Up-Wandler
  • 18:47 CC Step-Up-Wandler
  • 23:19 Betrieb an USB-C
  • 26:57 Ausblick/Fazit

Transparenz

Das Produkt wurde selbst gekauft und bezahlt. Angesichts der Leistung würde ich vom Kauf eher abraten.

BitBastelei #530 – Siemens/Telemecanique Tür-Befehlsgerät

BitBastelei #530 - Siemens/Telemecanique Tür-Befehlsgerät

(2 GB) 00:31:21

2023-03-12 11:00 🛈

Da verleitet einen der streamende Kollege mal wieder auf der Auktionsseite der Wahl vorbei zu schauen und dann das: Ein interessant aussehende Befehlsgerät kurz vor Fristende, bei dem der Preis doch sehr günstig aussieht. Da kann man auch schon mal ohne vorgesehenes Projekt zuschlagen. Also: Schauen wir mal was ich geschossen hab, was drin steckt und was man so mit anstellen kann.

Inhalt

  • 00:00 Das Gerät
  • 02:15 Zerlegerei
  • 04:59 Modulsysteme
  • 21:11 LED-Check & Umbau
  • 27:09 Quick’n’Dirty ESP-Umrüstung
  • 29:29 Test & Fazit

Fehler und Ergänzungen

  • 18:15 Nope. Das ist eine reine Lampe. Mit Taster müsste das ZB4BW313 (9,14€; selbes IP-Rating) sein.

Transparenz

Die gezeigten Geräte wurden selbst gekauft und bezahlt.

BitBastelei #521 – Reparatur: LED Stirnampe

BitBastelei #521 - Reparatur: LED Stirnampe

(2 GB) 00:25:23

2023-01-08 11:00 🛈

LEDs sind immer Praktisch – und Stirnlampen gleich doppelt, denn so hat man Licht in dunklen Ecken und gleichzeitig die Hände noch frei. Leider heißt das nicht, dass die Dinger in jeder Situation eine gute Figur machen – wenn man beim Streichen die spritzwassergeschützte Lampe versehentlich in einem Wassereimer versenkt ist das der Lebensdauer sicher nicht sonderlich zuträglich.

Inhalt

  • 00:00 Blick auf die Lampe
  • 02:19 Zerlegerei
  • 06:57 Innereien
  • 10:20 Schaltung
  • 17:00 Funktionstest
  • 21:05 Zusammenbau
  • 23:31 Fazit

Transparenz

Die gezeigte Lampe wurde selbst gekauft und bezahlt.

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.