Show Posts
Pages: 1 ... 326 327 [328] 329 330 ... 372
4906  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: Duemilanove for SW control? on: April 12, 2010, 12:17:47 pm
The answer to your question is "yes"; as long as within your application you can abide by the limits of the USB serial speed and such (and the limitations of the Arduino hardware, as Paul noted).

If you need a speedier interface (faster than USB serial), there are other options available there, too (Ethernet or WiFi, Bluetooth). Most applications do fine with USB serial.

You can set up the Arduino to control many things, but if you need a fully embedded solution, then develop the application using the Arduino, then set up a "standalone" version of the Arduino on your custom PCB as the "embedded" version (unless this is a "one-off" standalone application, where you're not going to need to make multiples of the device - then just embed the entire Arduino if your hardware enclosure has the space).

4907  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: Coffee Level Sensor on: April 06, 2010, 12:22:47 pm
If you used a small linear CMOS sensor array on one side of the coffee pot, and a light on the other side (maybe a linear array of LEDs), you could detect the change in light levels between "no coffee" (lots of light) and "coffee" (little light, depending on the brew strength); the problem would be finding such a sensor and then interfacing to it?

How accurate does it need to be? Maybe a linear array of phototransistors or LDRs on one side, and a linear array of LEDs on the other side? Such an arrangement could give you at least "full", "half-full", and "refill" levels...

4908  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: Help a Noob, win a prize (note, no prizes!) on: April 07, 2010, 11:29:27 am
Yeah - you could do it a number of ways, but the simplest would be to just send the communications down the USB serial link, then the Arduino would interpret them from there and perform whatever action you want (closing relays or activating a transistor/mosfet to simulate the "joystick" move).
4909  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: off chip data storage on: April 06, 2010, 03:31:29 pm
I ordered a cheap external EEPROM, i think for now i will settle for just storing critical coordinates, instead of the whole matrix

A particular method to keep in mind (if most of the area you are mapping is considered "empty") is the concept of "sparse arrays":

There are tons of techniques out there to "pack" what seems to be an amazing amount of data into a very small space - two of the best areas to learn about these techniques are from the game programming and demo coder worlds (especially those demos optimized for very small memory footprints; you would be floored by what can be done in 256 bytes).

Also, a review of certain "large" computer games from the 1970s and 1980s might be beneficial; many of these games (especially the larger scope turn-based and real-time strategy games) used fairly interesting techniques to pack their "worlds" (analogous to your maps) in small areas (aka, floppies) - granted, floppies have more space than you have available (most generally), but the techniques could be helpful.

4910  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: Can Pololu Micro Maestro drive brushed DC motors? on: April 05, 2010, 04:18:37 pm

Your points are taken; I learn a lot here everyday - I suppose no matter how you look at it, if Pololu's Orangutan controller meets the needs, then you likely can't get much cheaper; it does seem to be everything I mentioned, minus the higher current capabilities (and I suppose even there you could potentially chain a higher current h-bridge to the one on-board, kinda like some of the homebrew "super servos" I have seen that wire a larger h-bridge to a servo's h-bridge to control a larger motor).

As far as what I was speaking of brushless motors; you would simply use an R/C ESC with reverse to run it. Since such ESCs use standard servo PWM for control, you wire it up like you would a servo, use the Servo library, and send "180" to turn one direction, and "0" for the other. I wasn't meaning to imply that you would control the brushless motor directly with the Arduino; while possible, it certainly isn't something for a beginner (and why do it at all - short of for learning sake - since there are off-the-shelf ESCs available to do it for you).

4911  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: Can Pololu Micro Maestro drive brushed DC motors? on: April 05, 2010, 12:38:45 pm
thanks for the nuance

You want inexpensive, you want all-in-one, you want low space requirements, and you want Arduino compatibility (I think); sometimes the only answer to all of this is a custom-built controller, and there's nothing wrong with that.

If you think you'll only ever need to control two small DC motors (which may be the case - you don't say), then using an Orangutan controller might be best.

If, however, you want to control more DC motors, or larger DC motors, then you'll either have to custom-build your own h-bridge drivers, or purchase such driver controls - note that it might actually be cheaper, at least for larger motors, to use R/C ESCs with reverse, coupled to brushless DC motors instead (brushed DC motor controller can get expensive quickly, especially for very large motors, such as those used for wheelchairs and motorized scooters - if you want a real heart attack, check out the prices of DC motor controllers for electric vehicles!).

I have not seen such a device as a combined DC motor controller and servo controller on a single board (maybe you might find such a thing from a combat robotics supplier?); the nice thing about Pololu's offerings is that most of their products can be daisy-chained on a single serial control bus, so you can easily interface a ton of them with the Arduino (or any other microcontroller). This could make future expansion or upgrades easier in the future.

Hmm - there's another option: you could be the first to make such a "shield" for the Arduino; a board that used an ATMega328 communicating via serial (or I2C, or SPI) to the host, which could tell the module to either output a HIGH or LOW on a pin (for h-bridge control), or PWM (for servo control) - the user would then supply their servos or h-bridges as needed (bonus would also be to add analog input monitoring, so you could easily build custom "large motor" servos, using such things like windshield wiper motors and potentiometers).

Just some thoughts...

4912  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: Can Pololu Micro Maestro drive brushed DC motors? on: April 05, 2010, 12:07:59 pm
Cheapest of all might be to protoboard up a custom controller yourself with a pre-bootloaded 328, and use an FTDI breakout or cable to upload, the Servo library to run your servos, and then custom build your h-bridge drivers (IC or discreet transistor/mosfet based) for your DC motors (should only require 2 pins per motor; use a shift-register if you need more outputs).

4913  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: Can I control two servos simultaneously? on: April 01, 2010, 04:48:59 pm
My interest is stimulated by low-cost robot arms. I have one, but it is so low-cost it isn't servo's but just DC motors, so I will have to build all of the position encoding and feedback myself.

OWI Flex?

I've been thinking about picking one up myself for S&Gs; maybe set things up to detect limits via current monitoring. Part of me wants to hook one up to my Color Computer.

What's been stopping me (besides a ton of other projects in the queue) has been thoughts of re-creating a lightweight, low-cost version of the Armdroid arm, using foamcore or coroplast for the "body" of the arm, and adapting standard servos in some manner to allow their use at the base of the arm (so the arm doesn't have to move as much mass in the form of servos, which I think of as a step backward from the old arms of the 1980's - then again, servos are lighter and stronger, so maybe not?).

As a kid, I always wanted a robot arm for my computer; the closest I got was getting a Tomy Armatron for my birthday. Later I picked up a Popular Electronics magazine that described how to hook it up to a C=64 or Vic-20 (lots of hardware mods for that); I didn't understand anything about the electronics or hardware mods at the time, but it was a fascinating article that I kept around (and later scanned and put online - I need to put that back up on my website, now that I think about it).

By the time I had the knowledge and tools to do it, I can't bring myself to mod either of my Armatrons (I have two now; my original Tomy version, and a Radio Shack version), mainly because of fears that 10 years down the line I will find out I have "destroyed" something valuable on the collectors market (I collect Tomy robots). Even so, I may still snatch up a Radio Shack version for such crude hacking (I even have the motors used in the article; they were an item Radio Shack sold, and I bought 8 of them in two packs of four for future use).

Well, enough reminiscing...

4914  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: 24v into arduino on: April 01, 2010, 01:45:21 am
I just put 24v directly into my aruidno through pin 12 to ground (I realize I'm a idiot).

You're only an idiot if you said to yourself prior to doing it "gee, I wonder what would happen if I did this!", without researching anything...

Now, if you accidentally grabbed the wrong wire and stuck it in, or an alligator clip popped loose and shorted with another trace, or something like that, then you're not an idiot; unlucky, maybe.

Chalk it up to experience; to prevent this from happening in the future, try to build test rigs that work at the level of VCC (LEDs are your friends). Also, don't apply power or have power near your project until you have verified all connections (live power supply leads should -never- be just "lying around").

As far as your board is concerned: remove the dead bug, and inspect the socket and its solder joints carefully. Inspect the rest of the board carefully; look for burnt parts, scorch marks, bulged capacitors, etc; signs of other damage. Verify continuity between the pins on the socket and the pins on the headers. Give it a good check over. Look at the reference schematic for the board, and measure the output voltages when you apply USB vs external power (measure before and after the regulator). Verify that you have voltage from the USB port. Once you have all that done, then try plugging in another ATMega with bootloader. Power it up initially with the USB port, and verify that all looks OK. Then upload the Blink sketch, and hope everything is wonderful still...

Good luck!

4915  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: Servo "Chirping" on: March 31, 2010, 12:58:44 am
In the Servo.h file, located in /libraries/Servo, there are a couple of parameters you can play with; stick with your "simple attach" example as you adjust the parameters, then try your regular code.

In this file, the parameters are:

#define DEFAULT_PULSE_WIDTH  1500     // default pulse width when servo is attached
#define REFRESH_INTERVAL    20000     // minumim time to refresh servos in microseconds

I would first try lowering the REFRESH_INTERVAL to something like 19500 or 19000; I am not sure how low you can go, but if you don't notice any changes by 15000, revert it back to 20000, and try changing the DEFAULT_PULSE_WIDTH - by making it a little wider (increase the value) or narrower (decrease the value). I have a feeling your "dead band" is a little smaller than what the library is set up for; I am not sure why you can't change this with the attach command, but it isn't set up that way (you can only change the minimum and maximum pulse widths)?

Make a backup of the file (just in case), then use a text editor to alter the file and re-save it, then re-upload/compile your sketch in the Arduino IDE.

Hope this helps!

4916  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: Looking for some input for school related work on: March 26, 2010, 12:19:26 am
Simple desktop rover robot:

1. Arduino
2. Two continuous rotation servos
3. Two 4-cell AA battery holders (one for the Arduino, the other for the servos)
4. Ping Pong ball (caster "wheel" for body)
5. One or Two Sharp IR sensors
6. Foam Core board (for body, wheels, etc)
7. Double stick tape and/or Hot glue
8. Various hookup wire

I think you can see how this would be put together; it would make an interesting educational kit (cheap, too) for such a class. There would be a bit of mechanical engineering involved (building the robot itself, figuring out where to mount the sensors, etc), electronics (hooking everything up properly to the Arduino), plus tons of programming (simple moving, to "turtle graphics" by mounting a pen on it and drawing on butcher paper, to solving problems like a simple maze - and if you had enough of them built by a full class, you could try complex swarm-based systems and such).
4917  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: Arduino assembly programming? on: March 27, 2010, 04:00:07 pm
You want to write assembly? You pervert!

The whole point of Arduino is to be able to rapidly develop stuff - if you want so much control, why not create your own AVR board?

You haven't really coded until you've left blood on the toggle switches...

4918  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: lettering/graphics on project box on: March 29, 2010, 04:05:39 pm
I like the idea of trying toner transfer on metal faceplates.  I may have to try that out some time.

It supposedly works pretty good for placement/parts artwork on PCBs, so it should work good for faceplates. Something you could do would be to print the holes and such for knobs, switches, then transfer, then use those areas as guidelines for drilling/nibbling/cutting.

I am still interested in a working method for white labels on dark surfaces; that one is the nut to crack (haven't found anything on the possibility of existence of white toner).

4919  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: lettering/graphics on project box on: March 29, 2010, 12:13:48 pm
I was thinking about this as I was laying in bed going to sleep, and I thought of some other interesting ideas:

Do the toner transfer process on both sides of a piece of copper sheet of the lettering and graphics, and etch through the copper to create a stencil (for direct use or screen printing).

Etch the lettering and graphics in mirror-image negative on a PCB; then apply ink/paint to the board, squeegee off the excess (leaving ink in the wells), then place on the faceplate, and apply some pressure (almost like an offset/litho process).

For light-colored faceplates (or metal plates), you could just do a toner-transfer (black or color), then apply spray-on clear laquer; alternatively, you could print onto a large clear-label sheet the size of the faceplate, stick it on, then trim to fit.

Something I was also thinking about was if there were a way, using the double-side toner transfer process for a negative image, onto a very thin sheet of copper or alluminum sheeting, to then "burn" away the remaining copper/alluminum using an arc or something (electro-machining), to create a stencil (once again, for direct use or screen-printing with).

All of these are very "pie in the sky", but they all seem like something an individual could play with at the hobbyist level (and perhaps someone will have success?)...

4920  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: lettering/graphics on project box on: March 29, 2010, 01:50:19 am
You know, this really is a step that seems left out in the process of conceiving an electronic design and fully realizing it in a quality final implementation or prototype.

For the most part, DIY electronic enthusiasts can go from idea to realized project, in a nice case, fairly easily and quickly; this can include some very intricate and sophisticated operations, depending on the skill of the builder.

Even so, the final step of creating professional looking labels on the project's surface has always been lacking; there are techniques that turn out good results, but most are beyond the abilities (or finances) of the majority of builders.

I hope this thread continues; I would like to see some radical ideas brought to fruition. I was thinking if there were a way to use a laser printer and toner; perhaps making a negative mask on transparency film, attaching it to the front of the panel, then exposing the plastic to intense UV - not sure what that would do, if anything, but it might make for an interesting experiment (if you use some of the old white plastic, you could get an ugly brown color printing, I suppose).

Does anyone else have ideas?

Pages: 1 ... 326 327 [328] 329 330 ... 372