Skip to content

Commit

Permalink
Update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
danielkummer committed Apr 22, 2016
1 parent 5695915 commit 53374ec
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 7 deletions.
22 changes: 15 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,19 @@
# Useless Box
A useless box is basically a machine which turns itself off. However, with a few additional servos, and a little programming, you're able to blow some live into it and give it some "character" - as well as adding a few surprises for the user...

## Features / surprises
## TL;DR

A demo video of the box. Because of the randomized behaviour the video doesn't include _all_ different behaviour patterns - there are more...

[![Demo Video](https://img.youtube.com/vi/xstKcBLtHTI/0.jpg)](https://www.youtube.com/watch?v=xstKcBLtHTI

## Features / Surprises

* Control the door and "hand" separately
* Detect the operator by using a distance sensor
* Wave a white flag
* Hop away
* Ambient light

I've used software debouncing of the switch because it's much easier than including additional wiring and parts.
Although the MotorShield is clearly overkill for this project it reduces the complexity of the required electronics knowledge (and soldering) quite a bit.
Expand All @@ -19,21 +26,22 @@ The following parts were used:

| Amount | Part Type | Properties |
|--------|-----------|------------|
| 1 | [Arduino Uno](https://www.arduino.cc/en/Main/arduinoBoardUno) | |
| 1 | [Arduino Uno](https://www.arduino.cc/en/Main/arduinoBoardUno) | |
| 1 | [MotorShield](https://www.arduino.cc/en/Main/ArduinoMotorShieldR3) | Rev3 |
| 2 | Basic Servo | You should use a high-torque servo for the arm |
| 2 | Basic Servo | You should use a high-torque servo for the arm |
| 1 | Micro Servo | |
| 1 | Infrared Proximity Sensor [Sharp GP2Y0A21YK0F](http://www.sharpsma.com/webfm_send/1489) | 10 - 80 cm |
| 1 | DC Motor | geared |
| 1 | Metallic Toggle Switch | |
| 1 | Plastic Power Switch | |
| 1 | LIPO Battery | 11.1v 1200mAh |
| 1 | LIPO Battery | 11.1v 1200mAh |
| 1 | Resistor | 10kΩ Pull-down for switch |
| 2 | [NeoPixel](https://www.adafruit.com/category/168) | |
| 1 | 5V UBEC DC-DC Converter | UBEC 5A Dynam DY-1016-5A |

### Circuit

![Circuit Diagram](fritzing/useless-box_schem.png)
![Circuit Diagram](images/useless-box_schem.png)

### Material

Expand All @@ -55,7 +63,7 @@ The following parts were used:
My useless box fulfills of course the basic functionality of turning itself off.
But using a few additional pieces of equipment it can:

* Drive away
* "Hop" away
* Detect the users distance (and react to it)
* Wave a white flag - but without giving up of course :)

Expand All @@ -64,4 +72,4 @@ But using a few additional pieces of equipment it can:
The box has basically a fixed set of "moves" it can do to turn of the switch after it has been turned on. To make things a little more interesting, the moves are randomly used to surprise the operator.

The whole code is quite easy - there's nothing special about it.
I've created a few bases classes to control every peripheral and another class "Moves" to implement the patterns. This is mainly because the basic Arduino way of programming leads to lots of code duplication and unreadable code
I've created a few bases classes to control every peripheral and another class "Moves" to implement the patterns. This is mainly because the basic Arduino way of programming leads to lots of code duplication and unreadable code.
File renamed without changes

0 comments on commit 53374ec

Please sign in to comment.