## Simplified lamp software algorithm 1. Define constants for pins e.g. `#define LED_RED 9` 2. Instantiate `hueRotart`, `saturationRotary` and `bluetooth` software serial 3. Run `void setup() { ... }` 1. Run startup sequence `R => G => B => GB => RB => RG => RGB` (helps with checking if colors are hooked up correctly 2. Begin listening for bluetooth serial on `9600` rate 3. Begin listening for `hueRotatary` and `saturationRotary` 4. Setup **brightness** controls pins `VALUE_INCREASE` and `VALUE_DECREASE` to `INPUT_PULLUP` to avoid [faulty readings](https://electronics.stackexchange.com/questions/67007/whats-the-difference-between-input-and-input-pullup) 4. Run `void loop() { ... }` in loop 1. If **brightness** changed, update the `lampColor` hsv variable 2. If **hue** changed, update the `lampColor` hsv variable 3. If **saturation** changed, update the `lampColor` hsv variable 4. Update actual lamp color with `analogWrite()` based on previously set `hue`, `saturation`, and `brightness` in `lampColor` variable. 5. Re-run the loop