Pages: [1]   Go Down
Author Topic: Help with my ID thesis in the SF bay area?  (Read 1016 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi everyone, I'm looking for someone to help me out in putting together a small project for my masters thesis in industrial design to make a semi functional prototype, its a fun project and I'd love to get some help from the community!

Here is what I'm looking to do:

Develop a small control in the form of a puck that:
When rotated 45 deg, gives a haptic vibration pulse (accelerometer & tiny vibration motor)
Ability to adjust RGB LEDs with accelerometer feedback
When control is flipped over on it's other side (180 deg) only RGB lighting is faded

I already have a sparkfun arduino mini and blinkms (which may not be appropriate for this) but unfortunately I don't know how to code...

If anyone can help I'll try to compensate however I can, I can barter with 3D prints from my Reprap Mendel or try to compensate with cash...
Looking to complete this in about 2 weeks (or asap)

I'm in the bay area and would be great to be able to meet but if you think you can help remotely thats fine too!
Thanks guys!
Adrian

Adrian Canoso
Academy of Art University, San Francisco
MFA Industrial Design
p:  857.919.2021
e:   acanoso@gmail.com
w:  www.adriancanoso.com
l:    www.linkedin.com/in/canoso
Logged

Global Moderator
Netherlands
Offline Offline
Shannon Member
*****
Karma: 216
Posts: 13676
In theory there is no difference between theory and practice, however in practice there are many...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

If you look at the tutorial section - http://www.arduino.cc/en/Tutorial/HomePage - you will find many examples. I think the functionality covers 95% of your thesis so spend some time there (a day or three) and work through the examples there. You will feel the happiness and joy of understanding the wonderfull world of Arduino smiley-wink Really that is far more fun that buying working code.

When you have problems with your code, please post it here, and you will get hints tricls and tips how to solve but in the end it is your project ..

Logged

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Global Moderator
UK
Offline Offline
Brattain Member
*****
Karma: 302
Posts: 26250
I don't think you connected the grounds, Dave.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
When rotated 45 deg, gives a haptic vibration pulse (accelerometer & tiny vibration motor)
Ability to adjust RGB LEDs with accelerometer feedback
When control is flipped over on it's other side (180 deg) only RGB lighting is faded

I imagine a puck as a short cylinder, resting on one of its flat faces.
If this is the case, the usual axis of rotation is vertical, so how is an accelerometer going to measure a rotation of 45 degrees?

Have I missed something in the description?
Logged

"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks robtillaart, I agree with you and this is a project I'd love to hash out on my own but unfortunately I dont have the time (I spent what little time I had building a reprap mendel!). If things don't pan out I'll try to do it myself after my school semester is over.


AWOL You are right, I thought that an acceleromoter could detect rotation but I guess it won't work. I looked around and found a nice compact rotary encoder by parallax which should do the trick:
http://www.parallax.com/tabid/768/ProductID/652/Default.aspx

So to update:

Acceleromoter:
   Flip: detect which side the puck controller is on
   Shake: shuffle playlist
   Part: http://www.sparkfun.com/products/692

Rotary encoder:
   volume
   track change (flipped over)
   Part: http://www.parallax.com/tabid/768/ProductID/652/Default.aspx

Vibration motor:
   haptic feedback of track changes (one short burst per 45 def rotation) & shuffle acknowledgement (2 short bursts)
   Part: http://www.sparkfun.com/products/8449

rgb LEDs
 Handeling puck controller:
    1 accelerometer activity illuminates leds for 5 seconds (no activity fades to off)

 Rotation on side A (overrides 1):
    Brightness for volume (max vol flashed twice, min vol switches to red)

 Rotation on side B (temporarily overrides 1):
    flash green for forward skip (clockwise rotation)
    flash red for back skip (counterclockwise rotation)

Shake 2 short white faded flashes (fade in/out)
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Just want to confirm with the community:
Would a gyroscope be suitable for detecting horizontal rotation? i.e. rotating a puck on a table surface to adjust volume. Seems that an accelerometer would not be suitable for rotation sensing....

I'm looking for a solid state solution to making a remote volume knob (attached is a sketch of the concept...)

Thank guys!


* puck.jpg (15.19 KB, 374x345 - viewed 27 times.)
Logged

0
Offline Offline
Sr. Member
****
Karma: 0
Posts: 360
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The problem with a gyroscope is drift - both integration error and actual zero-bias drift can easily create a significant source of error from a gyro.  If we can assume that the puck is always flat, however, you may be able to just use a two-axis magnetometer (HMC6352?) to find an absolute angle - it'll be noisy, and affected by magnets, but it should work. 
A better method (depending on your cost structure) would be to have both a two-axis magnetometer and a one-axis gyroscope, then run the outputs through a Kalman filter to statistically determine the orientation of the puck.  This could easily get expensive, however, and if just the two-axis magnetometer will suffice, it'll both be easier to code and easier on your pocketbook.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Aeturnalus, thank you for the in-depth response, really helpful! It sounds like it may eat into the cost of the puck... I was also considering a rotary optical encoder, seems simple enough. The encoder could be on the pcb and the encoder strip could be on the inner wall of the rotating element of the puck. Also fyi relative positioning is all I need for this project.

Thanks again.
Logged

0
Offline Offline
Sr. Member
****
Karma: 0
Posts: 360
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

No problem - I believe an optical encoder would actually be better suited to your application, actually.  Inertial measurement is much more expensive, and is generally only really needed if the entire object is moving - not a priority with your system.  However, since you plan to be able to flip your device upside down, the parallax encoder isn't really a good choice - it would have to be one of the axis, and then the rotation would only work on one side.  You could instead, make your own encoder - it's not too hard to do.

How I imagine your system is like this:

There's a central cylinder holding RGB LEDS, the Arduino, a single-axis accelerometer, the vibration motor, and a pair of IR sensors (the type you might use for line-following would be fine).
A hollow cylinder wrapped around the central cylinder and freely rotating, held in at the edges, with a black-white striped encoder pattern on the inside.  The IR sensors would be able to read the strip to find change in angle, just like a normal quadrature encoder, but since it'll be held in at the edges, you will be able to turn the assembly upside down easily. 
Logged

Pages: [1]   Go Up
Jump to: