Hallo Bascom Freunde.
Ich möchte mir mit der WS2812b und dem Atmega328p einen Blinker bauen.
Dazu möchte ich 10 LEDs verwenden und es soll alle 100ms eine Led angehen bis alle 10 Leds an sind Led1 = an / Led2 = an ect,
dann sollen die Leds wieder nacheinander ausgehen, LED1 = Aus / Led2 = Aus ect.
Ich steh hier voll auf dem schlauch und weiß nicht weiter, nach 2h suche im www bin ich auch nicht weiter.
Eventuell könnte mir jemand auf die Sprünge helfen, bin Anfänger und versuche mich jetzt mal an LEDs mit den WS2812ern.
Bis zur Elseif meine ich mal das es passt, aber dann weiß ich nicht weiter.
Kann mich aber auch Irren
Alles anzeigen
Ich möchte mir mit der WS2812b und dem Atmega328p einen Blinker bauen.
Dazu möchte ich 10 LEDs verwenden und es soll alle 100ms eine Led angehen bis alle 10 Leds an sind Led1 = an / Led2 = an ect,
dann sollen die Leds wieder nacheinander ausgehen, LED1 = Aus / Led2 = Aus ect.
Ich steh hier voll auf dem schlauch und weiß nicht weiter, nach 2h suche im www bin ich auch nicht weiter.
Eventuell könnte mir jemand auf die Sprünge helfen, bin Anfänger und versuche mich jetzt mal an LEDs mit den WS2812ern.
Bis zur Elseif meine ich mal das es passt, aber dann weiß ich nicht weiter.
Kann mich aber auch Irren
BASCOM-Quellcode
- ' Blinker mit WS2812b und Atmega328p
- $Regfile = "m328pdef.dat"
- $Crystal = 8000000
- $hwstack = 40
- $swstack = 16
- $framesize = 32
- Config Rainbow = 1 , Rb0_len = LedZahl , Rb0_port = Portb , Rb0_pin = 0
- ' ^ connected to pin 0
- ' ^-------------- connected to portB
- ' ^-------------------------- 2 leds on stripe
- ' ^------------------------------------- 1 channel
- Dim LedZahl As Integer
- Dim I As Integer
- Dim Color(3) as Byte
- R alias Color(_base) : G alias Color(_base + 1) : B alias Color(_base + 2)
- Rb_selectchannel 0
- R = 50 : G = 50 : B = 0 'gelb
- LedZahl = 10 'Anzahl LEDs
- I = -1 'begin bei Led
- Do
- If I =< LedZahl then
- I = I+1
- Rb_setcolor I, Color(1) 'LED Pos
- Rb_send 'und raus senden
- Waitms 100 'warte
- Elseif I => -1 then
- R = 0 : G = 0 : B = 0 'abschalten???
- I = I+1 ' aus
- Rb_setcolor I, Color(1) 'LED Pos
- Rb_send 'und raus senden
- Waitms 100 'warte
- Endif
- Waitms 300
- Loop
- End