Skip to content

mixtapeo/Arduino-MonitorAutobrightness

Repository files navigation

Auto Brightness Control

An Arduino-based automatic brightness control system that adjusts monitor brightness based on ambient light sensor readings.

20251113_192941-00.00.00.000-00.00.14.891.mp4

Setup Process

1. Monitor Feature Code Discovery

2. DDC/CI Utility Setup

3. Usage Example

  1. Run Ino with given code (autobrightness.ino)
  2. Run brightnesscontrol.py - should be changing brightness now

Requirements

  • Python 3.9.3
  • Arduino with light sensor (I used an Uno R4 Wifi)
  • Windows OS with DDC/CI capable monitors

How It Works

  1. Arduino reads ambient light sensor values
  2. Python script collects sensor data over 1.5 second intervals
  3. There is a lag between requesting brightness to bet set, and it being set. Large enough to warrant buffering data and using it. Thus:
    1. Calculates median sensor value to provide a well-representive value every interval
  4. Maps sensor values (0-1023) to brightness percentage (0-100%) with an offset added for a brighter bias preference.
  5. Uses winddcutil to set monitor brightness via DDC/CI

Files

  • autobrightness.ino - Arduino sensor code
  • brightnesscontrol.py - Main brightness control script
  • winddcutil.exe - DDC/CI utility for Windows

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published