Projekt 6: Atmosphärenlampe

Description

Die Atmosphärenlampe des Smart Home besteht aus 4 SK6812RGB LEDs. RGB LED gehört zu einem einfachen Leuchtmodul, das die Farbe einstellen kann, um verschiedene Lampeneffekte zu erzeugen. Darüber hinaus kann es in Gebäuden, Brücken, Straßen, Gärten, Höfen, Etagen und anderen Bereichen der dekorativen Beleuchtung und Veranstaltungsanordnung sowie bei Weihnachten, Halloween, Valentinstag, Ostern, Nationalfeiertagen und anderen Festen weit verbreitet eingesetzt werden, um Atmosphäre und andere Szenen zu schaffen.

In diesem Experiment werden wir verschiedene Lichteffekte erzeugen.

Component Knowledge

Aus dem Schaltplan ist ersichtlich, dass diese vier RGB LEDs alle in Reihe geschaltet sind. Tatsächlich können wir, egal wie viele es sind, eine einzige Pin verwenden, um eine RGB LED zu steuern und sie in jeder Farbe anzeigen zu lassen. Jede RGBLED ist ein unabhängiges Pixel, das aus den Farben R, G und B besteht und 256 Helligkeitsstufen erreichen kann und so die vollständige True-Color-Anzeige von 16777216 Farben ermöglicht.

Außerdem enthält der Pixelpunkt eine Datenlatch-Signalformungs-, Verstärkeransteuerungs- und Signalformungsschaltung, die effektiv sicherstellt, dass die Farbe der Pixelbeleuchtung sehr gleichmäßig ist.

Bild 31

Bild 32

Pin

SK6812

26

\

Projekt 6.1 RGB Sk6812

Wir werden SK6812 steuern, um verschiedene Lichteffekte anzuzeigen.

Test Code

#Import Pin, neopiexl and time modules.
from machine import Pin
import neopixel
import time

#Define the number of pin and LEDs connected to neopixel.
pin = Pin(26, Pin.OUT)
np = neopixel.NeoPixel(pin, 4)

#brightness :0-255
brightness=100
colors=[[brightness,0,0],                    #red
        [0,brightness,0],                    #green
        [0,0,brightness],                    #blue
        [brightness,brightness,brightness],  #white
        [0,0,0]]                             #close

#Nest two for loops to make the module repeatedly display five states of red, green, blue, white and OFF.
while True:
    for i in range(0,5):
        for j in range(0,4):
            np[j]=colors[i]
            np.write()
            time.sleep_ms(50)
        time.sleep_ms(500)
    time.sleep_ms(500)

Test Result

Die Atmosphärenlampen des Smart Home werden Rot, Grün, Blau sowie Weiß anzeigen.

Projekt 6.2 Button Control Sk6812

Description

Es gibt zwei Tasten, um die Farbe der Atmosphärenlampe zu ändern.

Test Code

#Import Pin, neopiexl and time modules.
from machine import Pin
import neopixel
import time

button1 = Pin(16, Pin.IN, Pin.PULL_UP)
button2 = Pin(27, Pin.IN, Pin.PULL_UP)
count = 0

#Define the number of pin and LEDs connected to neopixel.
pin = Pin(26, Pin.OUT)
np = neopixel.NeoPixel(pin, 4)

#brightness :0-255
brightness=100
colors=[[0,0,0],
        [brightness,0,0],                    #red
        [0,brightness,0],                    #green
        [0,0,brightness],                    #blue
        [brightness,brightness,brightness]  #white
        ]                             #close

def func_color(val):
    for j in range(0,4):
        np[j]=colors[val]
        np.write()
        time.sleep_ms(50)

#Nest two for loops to make the module repeatedly display five states of red, green, blue, white and OFF.
while True:
    btnVal1 = button1.value()  # Reads the value of button 1
    #print("button1 =",btnVal1)  #Print it out in the shell
    if(btnVal1 == 0):
        time.sleep(0.01)
        while(btnVal1 == 0):
            btnVal1 = button1.value()
            if(btnVal1 == 1):
                count = count - 1
                print(count)
                if(count <= 0):
                    count = 0

    btnVal2 = button2.value()
    if(btnVal2 == 0):
        time.sleep(0.01)
        while(btnVal2 == 0):
            btnVal2 = button2.value()
            if(btnVal2 == 1):
                count = count + 1
                print(count)
                if(count >= 4):
                    count = 4

    if(count == 0):
        func_color(0)
    elif(count == 1):
        func_color(1)
    elif(count == 2):
        func_color(2)
    elif(count == 3):
        func_color(3)
    elif(count == 4):
        func_color(4)

Test Result

Wir können die Farbe der Atmosphärenlampe durch Drücken der Tasten 1 und 2 umschalten.