Skip to content

Final Project

Easy control, Easy to get, and Easy to express your emotion!

This is an Easy light controller. You can make the color by yourself and memorize 4 colors in this box. You also can directly adjust the color at the light.

Hero Shot

Light Controller

We control and memorize the lights on a display.

Appearance

You can select the item by directly touching the menu

System Diagram

  • Controller
graph TD
A([Start]) --> B
B(Main Menu) --> C
C{Setting / Exec / Live } -- Setting --> D(Select Menu)
C{Setting / Exec / Live } -- Exec --> E(Execute Menu)
C{Setting / Exec / Live } -- Live --> F(Live Menu)
D(Select Menu) -- Select Button(1-4) --> G(Make Color by slider)
E(Execute Menu) -- Select Button(1-4) --> H(Send the color into the Light)
F(Live Menu) -- Slide potentiometer --> I(Change color by slider)
G(Make Color by slider) -- Select same button --> J(Memorize the color)
I(Change color by slider) -- Send Color data to the Light -->K(Change the light color)
J(Memorize the color) --> L(Main Menu)
H(Send the color into the Light) --> L(Main Menu)
K(Change the light color) --> L(Main Menu)
  • Light

    graph TD
    A(Wait Data from Contoller) --> B
    B(Receive Data)

  • Main Menu
    Main menu There are 3 menus to follow selected by touching the menu.

  • Setting
    Setting menu You can select the color and memorize it(4 colors)

  • Execute
    Exec Menu You can send the color information to the light

  • Live
    Live Menu You can directly adjust the light color from this controller

BOMs (from week17)

Block Name Size Required Number Cost Vender Note
Controller Raspberry Pi Pico 2W 21 x 51 (mm) 1 ¥1,710 Akizuki Denshi
ILI9341 50 x 86 (mm) 1 ¥1,450 Akizuki Denshi
Slide Potentiometer 90 x 20 (mm) 2 Fablab Inventory
1 ¥367.8 Amazon
Push-button switch φ12(mm) 6 Fablab Inventory
MDF 600 x 300 x 6(mm) 3 ¥1500 Fablab Inventory
Light Xiao 2 Fablab Inventory
Leopixel 20 lights 1 Fablab Inventory

What materials and components will be used?

Light Box:

  • 15mm Wood
  • 6mm MDF
  • PLA filament
  • 4 push-button switch(momentary)
  • 2 big push button(Alternate)
  • 3 Slide potentiometers
  • ILI9341
  • NeoPixel

Electrics:

  • Raspberry Pi Pico 2W
  • Xiao C3
  • PCB board
  • pinheaders
  • cables

  • Power supply

What parts and systems will be made?
What processes will be used?

Name Parts method Note
Light Box Cut boards Laser Cut 1:Controller panel, Backside panel, basement panel, front panel
CNC 2:Side panels
Hinge 3D print connection for controller panel and backside board
Brackets 3D print connection for backside and basement, front panel and controller
Flexure joint 3D print connection for front panel and basement panel
Push-button switch solder
Cover 3D print Slide potentiometer cover
PCB board For Raspberry Pi Pico Milling
For Xiao C3 Milling
Light Cover 3D print
Program Display Design Arduino IDE Menu Displays (Main, Setting, Execute, Calibration(?))
Color Arduino IDE Select color, convert color code(HSV, RGB to HEX)
Button select(Select) Arduino IDE Small: When select button is pushed, get the number
Button select(Big) Arduino IDE Big:(1) Black out, (2) enable to live slider control
Network Arduino IDE Send color data to light, Receive color data and light on

Code

The code of this project is Arduino IDE.

Code name Function
alacolour.ino Controller side: Manage color and send it to the light system
wifi_client_xiao.ino Light side: Receive the data and light LED

anacolor.ino

This code has 2 functions, wifi network and colour control. It starts web server and send colour data into the light(Xiao C3). It also shows 3 menus for colour control, Main menu, Setting menu, Execute menu and Live menu.

wifi_client_0531.ino

This code is light part and wait for the signal from wifi client

Files

Controller

PCB

Code