Pages: [1]   Go Down
Author Topic: Want to build automatic closet [total newbe]  (Read 1624 times)
0 Members and 1 Guest are viewing this topic.
Greece
Offline Offline
Newbie
*
Karma: 0
Posts: 3
"Never argue with an idiot"
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello,

I'd like to build a close which will have 25 drawers (5x5). I'd like to make a system which the drawer shows me where the item I'm looking for is by lighting up a small bulb and/or opening slightly the drawer itself.

I will store the info about which items goes where, manually on my computer. I can write a ruby or C program to do this. I'll create a DB (yaml) which the arduino will read and show me where can I find the item I'm looking for.

My is problem that I don't know enough about hardware in general, robotics even more, so apart from purchasing an Arduino (which version?) what else will I need?

I understand that I need many free GPIOS (which are connectors) o interact with the "physical world". But I'm a bit confused in general, although I'm reading various staff.

Can someone give me a detailed toolset that I might need to get this through?

Best Regards,

PA
Logged

Ayer, Massachusetts, USA
Offline Offline
Edison Member
*
Karma: 50
Posts: 1767
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

This should be do-able, though you might have power issues if you try to turn on all 25 lights at the same time.

The first step would be having an Arduino that reads from the USB two digits (skipping the space and newline characters) the pin number to light up or 0 to turn off the light, and then turn on that particular light.

I would first write a variant of the program that just goes through each of the 25 lights turns it on for 1-2 seconds, and then turns it off.  This can help isolate wiring issues where you might not have a light properly connected, or it has burnt out.  Presumably you want to start with just a few lights, and then add lights until you get to 25.

Note, most Arduinos don't have 25 separate pins to turn on lights, and there are various ways to multiplex a greater number of lights over a smaller number of pins.  However, there is a variant (Mega 2560) that has 54 digital pins and 16 analog pins, and it would be simpler to use that so you don't have to dive into multiplexing immediately.

You would need 25 lights (leds or light emitting diodes) and 25 resistors (usually 220k).  You can get lights that have the resistors already attached with longer cords for more money, so it depends on your budget and skill level (you might be a newbie now, but do anticipate you can learn to do it).

Since you anticipate having 5x5 drawers, I would think about using an ethernet (cat 5or 6) cable for each set of 5 led controls plus ground.  That way you just have to plug one cable in per drawer assembly.  You can get ethernet jacks that allow you to connect up to 8 separate wires to the jack, and then you can connect the cat 5/6 cable to the jack.  Maybe have an additional light on the front of each drawer.

After you have the light setup, you can think about using servos to push the drawers in/out, but wait until you've gotten the first step done, rather than jumping in trying make the device in its finished form immediately.
« Last Edit: August 05, 2012, 07:39:49 am by MichaelMeissner » Logged

Seattle, WA USA
Online Online
Brattain Member
*****
Karma: 551
Posts: 46227
Seattle, WA USA
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I'll create a DB (yaml) which the arduino will read
Really? How will you do this?

Making the Arduino talk to a PC that is running an application that is listening/talking to the serial port, that that knows how to talk to the DB is possible. Writing DB software for the Arduino is much more challenging, given the small amount of SRAM available.
Logged

UK
Offline Offline
Shannon Member
****
Karma: 184
Posts: 11197
-
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I will store the info about which items goes where, manually on my computer. I can write a ruby or C program to do this.

I'd have thought a webapp would be more useful, so that you can access it from a tablet or smartphone without any extra code.

I'll create a DB (yaml) which the arduino will read and show me where can I find the item I'm looking for.

I can't see that working. Better to have all the control logic on the PC and just use the Arduino as a way to turn lamps on and off and make drawers pop open based on commands from the PC.
Logged

I only provide help via the forum - please do not contact me for private consultancy.

Greece
Offline Offline
Newbie
*
Karma: 0
Posts: 3
"Never argue with an idiot"
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

First I'd like to thank you all for the posts and hints on how to approach this. So the YAML idea, or the general idea of having a DB on arduino is flawed. No problem since there I can get the same result in a different way.

This should be do-able, though you might have power issues if you try to turn on all 25 lights at the same time.

The first step would be having an Arduino that reads from the USB two digits (skipping the space and newline characters) the pin number to light up or 0 to turn off the light, and then turn on that particular light.

I would first write a variant of the program that just goes through each of the 25 lights turns it on for 1-2 seconds, and then turns it off.  This can help isolate wiring issues where you might not have a light properly connected, or it has burnt out.  Presumably you want to start with just a few lights, and then add lights until you get to 25.

Note, most Arduinos don't have 25 separate pins to turn on lights, and there are various ways to multiplex a greater number of lights over a smaller number of pins.  However, there is a variant (Mega 2560) that has 54 digital pins and 16 analog pins, and it would be simpler to use that so you don't have to dive into multiplexing immediately.

You would need 25 lights (leds or light emitting diodes) and 25 resistors (usually 220k).  You can get lights that have the resistors already attached with longer cords for more money, so it depends on your budget and skill level (you might be a newbie now, but do anticipate you can learn to do it).

Since you anticipate having 5x5 drawers, I would think about using an ethernet (cat 5or 6) cable for each set of 5 led controls plus ground.  That way you just have to plug one cable in per drawer assembly.  You can get ethernet jacks that allow you to connect up to 8 separate wires to the jack, and then you can connect the cat 5/6 cable to the jack.  Maybe have an additional light on the front of each drawer.

After you have the light setup, you can think about using servos to push the drawers in/out, but wait until you've gotten the first step done, rather than jumping in trying make the device in its finished form immediately.

Michael thanks for taking the time to explain this in detail. So, I should go with Arduino Mega 2560 and start from there. The rest of the material I can find on local stores, my father who is good with controllers and bulbs will help figure out the rest.

Thanks!
Logged

Georgina Ontario
Offline Offline
Sr. Member
****
Karma: 5
Posts: 437
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I'll create a DB (yaml) which the arduino will read
Really? How will you do this?

Making the Arduino talk to a PC that is running an application that is listening/talking to the serial port, that that knows how to talk to the DB is possible. Writing DB software for the Arduino is much more challenging, given the small amount of SRAM available.

UDP over Ethernet. I have done this -- it's not a big deal. I suppose I could have done USB or serial -- but I used the Ethernet card.

It is back and forth communication and I collect up to 2M points of data a day (4 items per point -- Mega 2560)
Logged

Just another Hacker

New Jersey
Offline Offline
Faraday Member
**
Karma: 50
Posts: 3427
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Given a Mega, I'd be surprised if you couldn't keep the details of what item goes in which drawer in flash (progmem). Add an lcd panel and some buttons to scroll and select and the unit could be stand alone.
Logged

Greece
Offline Offline
Newbie
*
Karma: 0
Posts: 3
"Never argue with an idiot"
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

[..] Add an lcd panel and some buttons to scroll and select and the unit could be stand alone.

Could you elaborate this a bit more please?

thanks!
Logged

New Jersey
Offline Offline
Faraday Member
**
Karma: 50
Posts: 3427
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You could store the item descriptions and their corresponding locations in progmem. Then attach an LCD panel to the arduino and display the item descriptions on the lcd. You will presumably have too many items to display all at once, so you will need a par of buttons to move your selected cursor through them. Once you reach the item you're interested in, you'll need one more button to tell the arduino to light the bulb (led?) on the appropriate drawer.
Logged

UK
Offline Offline
Shannon Member
****
Karma: 184
Posts: 11197
-
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

(I'd still prefer to provide the front end in the form of a web site that you could access from a smartphone/tablet -= scrolling through a dot matrix display to find which drawer your socks are in sounds extremely tedious. Put a decent front end on it and you could get a nice user friendly graphical interface, you could even go voice activated if you wanted.)
Logged

I only provide help via the forum - please do not contact me for private consultancy.

Pages: [1]   Go Up
Jump to: