Go Down

Topic: Want to build automatic closet [total newbe] (Read 2769 times) previous topic - next topic

atma

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

MichaelMeissner

#1
Aug 05, 2012, 02:35 pm Last Edit: Aug 05, 2012, 02:39 pm by MichaelMeissner Reason: 1
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.

PaulS

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.

PeterH


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.
I only provide help via the forum - please do not contact me for private consultancy.

atma

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!

WillR


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)
Just another Hacker

wildbill

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.

atma


[..] 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!

wildbill

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.

PeterH

(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.)
I only provide help via the forum - please do not contact me for private consultancy.

Go Up