Jump to content

Synless

Member
  • Posts

    5
  • Joined

  • Last visited

Awards

This user doesn't have any awards

Synless's Achievements

  1. Despite the fact that I changed nothing about the way the program capture the frames, it has been working with fullscreen games for about a year now. Probably an update to Windows 10 ... *Sorry for necroing*
  2. Hi, still there ? Would you have time to take a look at something I am cookink ? It is highly customizable and I could make a fork for your setup with one extra strip easily. But no support for audio and games(DirectX full-screen applications) atm and probably not soon. I leave it here just to give you ideas ... I am currently not aware of a software that can replicate a row or column on a separate strip, like what you showed. For audio support you should be able to find but I did not bother. If you don't have your LEDs yet go for W2812B instead.
  3. With pronounced flickering sequences like this one I can tell you that between 15 and 20Hz it followed quite well, the flickering effect works. The point is not to have a frame-perfect real time copy of the screen, but rather to "follow the trend". You can even use a low-pass filter based on interpolation to prevent flickering. Since you rarely want flickering on an ambligiht system you can cheat on many ways to have a smooth'ish setup. Interpolation is a good way but it introduces delay. Do you really aim for an Ambilight closely matching the display ? You should walk away from the 328p here and use a 32 bit uC, or better even, do your job on the PC side if possible. As for latency, I would say it is snappy. Even though the point of the setup is not to be sub <10ms, it sure does not break the new 5th wall. I can't have a precise measurement right now, but I surely will at some point. If I had to make a wild guess I would say below 30ms from screen capture to the LEDs changing colors. While using the sliders to control the color manually on the second tab of the program I can't feel the latency, it looks instantaneous.
  4. There is a cap at 32Hz. Here I forced the frequency by using manual timings. In practice the timings are dependent on total CPU usage and the difference between two frames (the pace of the action). There is also an idle timing, after something like 10 seconds, to prevent the CPU from running at turbo speed all the time. I find between 10 and 15Hz to be the sweet spot, and above 20Hz to bring very little.
  5. Hi everyone ! Based on what I saw, various battlestations here and there, it seems very few people (not to say no one) has implemented an Ambilight system. Sure, RGB is everywhere and sometimes even comes with a remote, but why have that when you can just have an Ambilight system that does everything by itself and greatly reduces visual fatigue* ? There are many good solutions out there but I will present you my homemade one. So follow along if it grabbed your attention** *Disclaimer 1: I am not a doctor and you should not trust me. Eye strain is a serious topic. **Disclaimer 2 : I am not a native english speaker and surely not a good blog writer, I hope you can forgive me and that this topic fits in "General Discussion". All the code and the related dependencies can be found on my totally amateur GitHub project page Why would I even need amiblight for ? To do this : This and more ! Supports 21/9 content (not yet automatically, it has to be switched between 16/9 and 21/9) Supports multiple monitors in line and can be adjusted to fit nearly every setup Support a couple of filters like anti-flickering or Flu.x effect Wireless, apart from the power cable (usually a USB cable that does not come from the PC, so wireless between the PC and the setup at least) Supports fixed color as well, for the boring one among you Can be configured while running Good balance between CPU usage, frequency and idle timing (can be slightly adjusted) Can run in background, run it and forget it It can also be used as a desk lighting, you don't HAVE to put on the rear of your screen, you can do pretty much everything you want with a bit of tweaking. Providing you have a good USB power bank, you can also achieve the truly wireless Ambilight gaming chair The motion effect is really great, but can only be fully appreciated in person. As for reducing eye fatigue, I would say that it helps a lot when using your PC on the evening and at night. Sweet, I want one, what do I do ? Well Billy, here is the things you have to know : This setup is composed of two parts A software on the PC side, that captures frames and send data through the local network An Arduino compatible microcontroller with build-in Wifi (here, the popular a ESP8266) attached to some addressable RGB LEDs array that it is going to drive. The controller connects to your home network over wifi and wait for the C# program to send payloads corresponding to the color of the edges of your screen or screens. Here is a picture of the thing : To get a better grasp about Ambilight projects, check this Adafruit tutorial, that is pretty much the base and inspiration for this project. This example from Adafruit sends data over the USB serial port. But we don't like cables. So I made it wireless. I will also assume you have some knowledge about the Arduino Framework, since it is used to program the Wifi controller. Now Billy here is what you need : Read the Adafruit tutorial, if you have not, just do it. 5 meters of WS2812B LED strip (ebay), the 30LEDs/meter one with double sided tape, check on Google about WS2812B (also called Neoplixel). A ESP8266 microcontroller board (also ebay), my favorite variant being the NodeMCU, which is an ESP8622 with a serial to USB chip right on the board, handy ! Some soldering equipments : iron, solder, wire, etc ... the usual DIY box. You will need the Arduino IDE, as well as the WifiManager library and the NeoPixelBus library. (OPTIONNAL) If you have a big screen (>27") you may need an external 5V power supply, such as a 2A phone charger or better. I personnaly dim the LEDs and run 52 of them of a single micro USB cable pluged into a USB3.0. My setup is the default one and if you want more power and you know what you are doing, check here, where I use right shifting to dim the LEDs. In the end this is hardly over 40$ including shipping if you already have some basic tools (yup, soldering iron is a basic tool). Wiring Now comes the tidious process : Wiring everything together. Solder the 3 wires of the first LED strip to the NodeMCU (5V, GND, and the data line), chain the pieces of strips together around the back of your monitor and tape it all as close as you can to the edge of your screen. If you are lost, get back to the Adafruit tutorial. Mind that there is a direction for the data line. If you chain one strip wrong way it will not work and you will have more soldering to do. Programming and connecting to the Wifi network Once everything is installed it is time for programming the NodeMCU. Download the Wifi and the LED library that you put in the Arduino library directory, and open this Arduino sktech. Connect the NodeMCU to your PC, select the relevant COM and upload the sketch. If everything worked your LEDs should light up red, meaning it started but did not manage to connect to any Wifi network. Now you can plug the USB cable elsewhere if it will be your source of power. Following the instruction from the WifiManager library, you have to help the NodeMCU to connect to your network. The NodeMCU will act as a Wifi access point hosting the configuration page. Select your Wifi network and enter your credentials. Once done, the NodeMCU will restart and connect to your network. The LEDs will turn green for a moment. At this point the controller is connected and waits for payloads from the PC software. The software (Yup I'm french, but it switches to english automaticly) The C# software can be downloaded here. The "param.txt" file is relevant if you want to have your configuration applied automatically at startup. Upon starting, the software will ping every IP addresses from your local network to find the Wifi controller (from 192.186.0.1 to 192.168.1.254) . This process completes in about a second and the LED should match your screen right away. You will have to adjust various parameters, like the number of LED on the X and Y axis, the number of LEDs to ignore in the corner (if you can't reach all the way to the corners of your monitor), the position of the first LED, and a couple others to have and optimized setup. These parameters can then be saved on the "param.txt" file. To help you here I suggest using this handy Youtube video. And voila ! (<- Click here) Now you can re-discover your wallpaper collection with the eyes of a newborn ! I will try to make the text lighter, to add pictures and provide more details if it catches the interest of a couple of people. I hope to hear from you, and thank you if you manage to read this far. _____________________________________________________________________________ Last words : It does not currently support full-screen games. I can't manage to get the videocard buffer just yet (junior dev') so it will just stay black while playing full-screen games. And for some fast paced games it is for the best. Though that is the confort words I say to myself to hide that I can't manage to get SlimDX working on C# WPF ...
×