Ik wil graag mijn RGB header op mijn moederbord synchroniseren met mijn RGB fans. Helaas zijn mijn RGB fans addressable en is mijn ledstrip en de led header op mijn moederbord PWM. Nu kan ik natuurlijk gewoon een addressable ws2812 RGB strip kopen maar dat is te makkelijk en dan kan ik de software van mijn moederbord niet gebruiken. Ik vind de opties in de software van Corsair niet mijn ding en ik hou van DIY.
Wat heb ik nu.
Moederbord: MSI Z270 GAMING PRO CARBON
Ledstrip: 5050 PWM strip.
Fans: Corsair SP120 RGB en Corsair ML140 RGB
Overige hardware: arduino (uno, mega, mini, nano)
Natuurlijk ben ik eerst het net op gegaan en het enige wat ik kon vinden was dit. https://linustechtips.com...rip-with-mbo-rgb-headers/
Ik heb dat natuurlijk na gemaakt en het werkt deels. Dit is wat ik nu heb.

12v, R, G, B = RGB header op mijn moederbord.
A0 = arduino analog pin 0
A1 = arduino analog pin 1
A2 = arduino analog pin 2
Deze code heb ik gebruikt.
Helaas werkt het toch niet helemaal goed. Omdat mijn moederbord PWM signaal uit stuurt heb ik dus geen stabiele 5v lijn op de analoge input van de arduino. Hierdoor knipperen de Leds als een gek. Zie filmpje. De Led hoort wit te branden.
Waar ik dus eigenlijk naar opzoek ben is een manier om de 12v lijn naar 5v stabiel te krijgen zodat ik die kan aansluiten op arduino en met die waarde de Leds weer aan kan sturen.
Iemand een idee hoe ik dit het beste kan oplossen?
Wat heb ik nu.
Moederbord: MSI Z270 GAMING PRO CARBON
Ledstrip: 5050 PWM strip.
Fans: Corsair SP120 RGB en Corsair ML140 RGB
Overige hardware: arduino (uno, mega, mini, nano)
Natuurlijk ben ik eerst het net op gegaan en het enige wat ik kon vinden was dit. https://linustechtips.com...rip-with-mbo-rgb-headers/
Ik heb dat natuurlijk na gemaakt en het werkt deels. Dit is wat ik nu heb.
12v, R, G, B = RGB header op mijn moederbord.
A0 = arduino analog pin 0
A1 = arduino analog pin 1
A2 = arduino analog pin 2
Deze code heb ik gebruikt.
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
| #include <FastLED.h> //Set this to the number of fans if using SP fans or 12*num fans if using HD fans #define NUM_FAN_LEDS 1 #define FAN_PIN 6 CRGB leds[NUM_FAN_LEDS]; void setup() { //LED setup code, to initialise FastLED. //Fan LED setup. Replace 'UICS1903' with 'WS2812' if using HD fans. Leave if using SP fans. //BRG is added to change order of data transmission to SP fans. Change if fans do not output correct colours. FastLED.addLeds<UCS1903, FAN_PIN, BRG>(leds, NUM_FAN_LEDS); } void loop() { //Read analogue values from pins connected to Aura header. int red = analogRead(2); int green = analogRead(0); int blue = analogRead(1); //Modify the 0-1023 value from analogue read to 0-255 for use with FastLED. double redTemp = red - 1.; double greenTemp = green - 1; double blueTemp = blue - 1; redTemp = redTemp / 3.84; blueTemp = blueTemp / 3.84; greenTemp = greenTemp / 3.84; int redToLED = 255 - redTemp; int greenToLED = 255 - greenTemp; int blueToLED = 255 - blueTemp; //Check if each of the RGB values is outisde the range 0-255, and if so set it to 0/255. //Values outside this range make FastLED behave strangely. if (redToLED > 255){ redToLED = 255; } else if (redToLED < 0){ redToLED = 0; } if (blueToLED > 255){ blueToLED = 255; } else if (blueToLED < 0){ blueToLED = 0; } if (greenToLED > 255){ greenToLED = 255; } else if (greenToLED < 0){ greenToLED = 0; } //Sync fans with aura. fill_solid(leds, NUM_FAN_LEDS, CRGB(redToLED, greenToLED, blueToLED)); //Send the colour data to the LEDs/fans. FastLED.show(); } |
Helaas werkt het toch niet helemaal goed. Omdat mijn moederbord PWM signaal uit stuurt heb ik dus geen stabiele 5v lijn op de analoge input van de arduino. Hierdoor knipperen de Leds als een gek. Zie filmpje. De Led hoort wit te branden.
Waar ik dus eigenlijk naar opzoek ben is een manier om de 12v lijn naar 5v stabiel te krijgen zodat ik die kan aansluiten op arduino en met die waarde de Leds weer aan kan sturen.
Iemand een idee hoe ik dit het beste kan oplossen?