Skip to content

nicolas-rabault/useless-box

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

My very overkill and very useless box project

It's a box with a switch on it. When you switch it on, the box opens and switches it off. It's very useless. I created this useless box as a friend's Christmas gift.

This box is also able to detect an approaching user's finger and react to it. There is an extra independent hatch allowing you to show something (like a hand with the middle finger up for example).

Watch the video ⬇️

Watch the video

The code allows the creation of various funny and adaptive animations.

This project contains everything allowing you to create your overkill useless box at home. This project uses:

How to open the electronic design 🔌

Electronics have been based on Luos example electronic design. You can open and modify all of them using Kicad. This design uses the Luos_components library for more information to install and use it read Luos doc. This box is composed of 3 independent boards:

Software architecture 💻

The software architecture is based on Luos. It's a modular architecture allowing the creation of independent features and sharing them with the community. Here is the Luos view of the software architecture :

  ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
  ┃  ╭────────────────── Node 1 ──────────────────   ┃
  ┃  │  Type                Alias               ID   ┃
  ┃  ├> Gate                gate                1    ┃
  ┃  ╰> Pipe                Pipe                2    ┃
╔■┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
║     ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
╚════■┫  ╭────────────────── Node 2 ──────────────────   ┃
      ┃  │  Type                Alias               ID   ┃
      ┃  ├> Angle               hatch               3    ┃
      ┃  ├> Angle               finger              4    ┃
      ┃  ├> Angle               bonus_hatch         5    ┃
      ┃  ├> State               button              6    ┃
      ┃  ╰> Unknown             useless_service     7    ┃
    ╔■┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
    ║     ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    ╚════■┫  ╭────────────────── Node 3 ──────────────────   ┃
          ┃  │  Type                Alias               ID   ┃
          ┃  ├> State               led                 8    ┃
          ┃  ╰> Distance            distance            9    ┃
          ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
  • Node 1 is just an extra board with a piece of code allowing to display this architecture, test it, and control it.
  • Node 2 is the servo board controlling the 3 servomotors and the button.
  • Node 3 is the distance sensor board. We also use the L0 LED on this one.

The useless_service service is the main application managing input and output as well as the animations. This piece of code is completely portable and you can use it in your project with any board or even on a computer if you want to.

Any questions? ❓

If you have any questions about this project, feel free to contact me on discord

About

The very overkill and very useless box.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages