Zonsopgang met LED-paneel

Hallo en welkom op onze post van vandaag.

 

Een lid van de Gemeenschap heeft van onze bijdragen, inspiratie en een radio gestuurde klok met alarm klok ingebouwd. In de ochtend de Wekker met een U-64 RGB-Panel zou moeten simuleren het licht van een zonsopgang, teneinde een soepeler Wakker.

Mijn voorkeur bibliotheek FastLED biedt de mogelijkheid om uw eigen verlopen.

Elke LED intern is samengesteld uit een zeer kleine rode, groene en blauwe LEDs, maar ook een zeer kleine controle-chip, die hiermee regelt u de helderheid van de afzonderlijke kleuren.

Elke kleur kan worden ingesteld op een waarde tussen 0 (Uit) en 255 (volledig zwart).

De kleur en de helderheid van de LED is opgebouwd uit 3 waarden voor rood, Groen en Blauw.

Rood

Groen

Blauw

LED kleur

255

0

0

Rood

0

255

0

Groen

0

0

255

Blauw

255

255

0

Geel

0

255

255

Cyaan

 

Nadat we weten hoe de kleuren worden ingesteld, hoeven we alleen maar een kleurverloop opgeven.

Dankzij een relatief nieuwe functie in de FastLED bibliotheek, kunnen we bepalen de bochten is zeer eenvoudig.

De hele zaak kan worden als een lijst voorstellen. In de eerste plaats, het nummer van de lijn, gevolgd door de waarden voor rood, groen en blauw. Dit kunnen we aanpassen voor elke rij.

Als mijn tabel 255 lijnen lang de enige zou zijn de juiste waarden van Werken voor elke rij handmatig.

Door middel van DEFINE_GRADIENT_PALETTE we kunnen u bepaalde rijen in onze tabel op de gewenste waarde. In het voorbeeld hieronder heb ik dit doen voor de rijen 0, 128, 224 en 255.
Het resultaat is een tabel met 255 rijen, waarin de verschillende gradiënten worden berekend voor mij.

Als ik door middel van een kleur uit het palet (), worden de kleurwaarden voor lijn 64 query, volgens de gemiddelde waarde tussen 0 en 128.

In de praktijk is de functie wordt aangeroepen als volgt:

DEFINE_GRADIENT_PALETTE ( *name_meiner_palette* ) {
*nummer van de lijn*, *de waarde voor rood*, *waarde voor Groen*, *Blauw-waarde*
};
In het voorbeeld ziet er als volgt uit:
DEFINE_GRADIENT_PALETTE( sunrise_gp ) {   0,     0,  0,  0,   //zwart
128,   240,  0,  0,   //rood
224,   240,240,  0,   //geel
255,   128,128,240 }; //zeer licht Blauw

zoals de tafel, echter, kunnen profiteren, moeten we de tabel "sunrise_gp" door middel van CRGBPalette16() of CRGBPalette256() in een Variabele te schrijven.

CRGBPalette256 sunrisePal = sunrise_gp;

Dan kunnen we met behulp van de volgende opdracht, de kleur op een bepaalde Positie (=heatIndex) te worden bepaald.

CRGB kleur = kleur uit palet(sunrisePal, heatIndex);

Vervolgens zijn we met behulp van fill_solid() de kleur van de Led 's op de vastgestelde kleur:

fill_solid(led' s,, NUM_LEDS, kleur);



Hier is de complete Schets:

#include <FastLED.h>

#define DATA_PIN    3
#define LED_TYPE    WS2811
#define COLOR_ORDER GRB
#define NUM_LEDS    64
CRGB led ' s,[NUM_LEDS];

#define HELDERHEID          128

DEFINE_GRADIENT_PALETTE( sunrise_gp ) {   0,     0,  0,  0,   //zwart
128,   240,  0,  0,   //rood
224,   240,240,  0,   //geel
255,   128,128,240 }; //zeer helder Blauwe

void setup() {   vertraging(1000);   FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(led 's,, NUM_LEDS).setCorrection(typische Led' s reis);   FastLED.setBrightness(HELDERHEID);   fill_solid(led ' s,, NUM_LEDS, CRGB(0,0,0)); // Alle pixels   FastLED.toon();    zonsopgang(); // sunrise spelen
}    void loop()
{
}

void zonsopgang() {   statische uint16_t heatIndex = 0; // beginnen bij 0   voor (heatIndex=0; heatIndex<255; heatIndex++) {   CRGBPalette256 sunrisePal = sunrise_gp;   CRGB kleur = kleur uit palet(sunrisePal, heatIndex);   // vul de hele strip met de huidige kleur   fill_solid(led ' s,, NUM_LEDS, kleur);   FastLED.toon();    FastLED.vertraging(250);   }
}

 

Met de FastLED.vertraging, kunnen we de snelheid aanpassen.

Het hele ding in een alarmklok, moet alleen de functie zonsopgang()voordat de daadwerkelijke Alarm, en de wekker begint met de gentle alarm evenement.

Wie al ervaring heeft met onze MP3-module of de TonUINO Ingesteld, kan overeenkomen met het geluid van de zee of vogels auditieve zintuigen.

Ik hoop dat het bericht van vandaag zal u helpen het verlopen van uw Neopixel in de greep te krijgen. Het hoeft niet om te Schitteren, elk met Neopixeln verlichte kerstboom in regenboog kleuren.

 

 

Projekte für anfänger

Einen Kommentar hinterlassen

Alle Kommentare werden vor der Veröffentlichung moderiert

Aanbevolen blog berichten

  1. Installeer ESP32 nu van de raad van bestuur
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. OTA - Over the Air - ESP Programmeren via Wi-Fi