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.
Light Controller¶
We control and memorize the lights on a display.
Appearance¶
Menu¶
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
There are 3 menus to follow selected by touching the menu.
-
Setting
You can select the color and memorize it(4 colors)
-
Execute
You can send the color information to the light
-
Live
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