Show Posts
Pages: 1 2 [3] 4 5 ... 376
31  Using Arduino / Project Guidance / Re: Best power source for robot on: July 05, 2014, 05:52:56 pm
What is a "usb power block"?

My first thought was that it might be a plug-in power wall-wart for USB 5 volt output; but then I thought about it - and maybe you mean one of those USB re-chargeable battery packs...? Which is it?

If you are planning on using a 7.2 volt power source (which I think might be a smart move, to directly power the four motors), then I would connect an R/C BEC (battery eliminator circuit) that outputs a regulated 5 volts - try to get one that uses a switching regulator design (most efficient).

You could then run the servos and the Arduino from the BEC (be sure to get one that will supply enough amperage for your needs); power the Arduino thru the 5 volt pin (ie - bypass the on-board regulator).
32  Topics / Robotics / Re: artificial intelligence robot. on: July 05, 2014, 01:28:19 am
what is an artificial intelligence robot?  

Well - let's look at a couple of definitions, shall we?

"Artificial intelligence (AI) is the intelligence exhibited by machines or software."

"John McCarthy, who coined the term in 1955, defines it as 'the science and engineering of making intelligent machines'..."

"The central problems (or goals) of AI research include reasoning, knowledge, planning, learning, natural language processing (communication), perception and the ability to move and manipulate objects."

Ok - so basically, for a system to exhibit "artificial intelligence", it needs to be a system which exhibits "intelligence", through the application of "reasoning, knowledge, planning, learning, natural language processing (communication), perception and the ability to move and manipulate objects" - that's the basics. If you system does not do that, it cannot be said to embody "artificial intelligence".

"A robot is a mechanical...agent, usually an electro-mechanical machine that is guided by a computer program or electronic circuitry."

So a robot is a machine, guided by a computer (generally, but not always) running a stored program that controls and guides it.

So - what would be an "artificial intelligence robot"? Well, I would say (mashing up these definitions):

" an electro-mechanical agent, guided by a computer program and/or electronic circuitry which exhibits intelligence via the application of reasoning, knowledge, planning, learning, natural language processing (communication), perception and the ability to move and manipulate objects..."

my friends say that it is a robot which will act according to human interaction, with the knowledge of self programming

Well - not "according to human interaction", but rather "separate or without human interaction" (maybe something got lost in translation, though); in other words, such a robot does not depend upon human interaction (with the exception of turning it on) to be able to navigate, explore, map, understand, interact with, etc - it's environment. In other words, it is an intelligent agent that exists and is aware of it's environment; it doesn't need direction or control from a human to make decisions about how to navigate or otherwise understand that environment. The program which controls the robot keeps track of what it has seen in the past, how it has handled past problems, and/or what the best methods were to solve such problems (such as an obstacle in its way, for instance).

To that end, such a program controlling the robot is "self programming" - it is constantly updating it's understanding of the environment based on the continuous monitoring of sensors versus what it's commands to it's "effectors" were. For instance, if it commands it's arm to move near an object to grab it, it needs to know whether it was successful at grabbing the object, and if not, why - so that next time it tries it will have more knowledge about the situation to try something slightly different (and hopefully be more successful).

now i am making an my first simple obstacle avoiding robot will it be an artificial intelligence robot?

If it just has a simple loop that says "if I sense the object over here, turn in the opposite direction"; then no - that isn't "artificial intelligence".

If instead, you had sensors to detect collisions, and you wrote the code to say "I sense an object in front of me, make a random decision to turn n-degrees in a random amount and continue to drive forward - did I make it? If yes, add that value (plus others - speed, distance to object, etc) to an array, plus a 'success factor' - a number between 0 and 10; the higher the number, the better the success. If not, add that to the array, plus the factor. Next time, look at the array, try something with a high score that matches something close to what you are sensing this time - if it works, increase the value of the factor, if it doesn't, decrease it. If you can't find a match, try another "random" direction selection".

Ok - now that is a lot more complex (and I have probably left some stuff out - but I hope you understand what I am getting at with it) - basically, the system knows nothing about its environment, but over time, by trying random combinations (only after consulting it's "memory" of past successful moves that matched within a certain percentage of the "current" sensing) - it builds up a knowledge base of what and how it most successfully avoided an obstacle.

Something really similar could be done to build up a "map" of the environment the robot is in (this is really complex, by the way - it goes by the acronym of "SLAM" - Simultaneous Localization And Mapping); don't think about trying to implement something like SLAM on an Arduino Uno - while you could implement something extremely simplified, it might also be an exercise in frustration. A better platform for such experimentation (if you wanted to stick with an Arduino, that is) would probably be a Mega2560 with a SRAM expansion board.

if not could you please explain me explain me a bit more about this artificial intelligence robot

I hope the above helps you understand the difference between a robot that is simply programmed by its builder, and one that - while it has a program - is capable of learning about its environment by trial and error, building up a knowledge representation map of these interactions. From there, things can get complicated very quickly.
33  Topics / Robotics / Re: Entry Level Robotics: How to get started on: July 02, 2014, 10:11:36 pm
The car I'm using is one I had as a kid, which is saving me about $30-50 on this project (you can get cheaper ones but finding something of similar size and power of what I have runs in about that range).

The best place to find toy cars to repurpose for a robot chassis tends to be, IMHO, via thrift stores like Goodwill and Savers. You can usually pick one up that is fully operational (but sans the remote control) for about $5.00 - 10.00 USD. Even less on half-off Saturday.

My most expensive find at a Goodwill was an MGA Tarantula vehicle for about $25.00 (sadly, it wasn't half-off day). I've seen full-sized 12 VDC Powerwheels ride-on toys go for around $50.00 (if you need something bigger, and don't mind the challenge of integrating your own steering actuator, plus the hassle and expense of getting new battery(s) and high-power motor controllers).

Another thing I see there - occasionally - are electric wheelchairs and mobility chairs; they typically go for $100.00 - 200.00. But you better have a some friends, a truck, and a good back to get them home. They are anything but lightweight (even with the batteries removed) - oh, and you'll typically have to pony up a couple of hundred more dollars for new batteries to get it running.

Oh - finally, regarding the RC toy cars, I like to point over to this "mega" thread:,86883.0.html
34  Using Arduino / Project Guidance / Re: automotion of auv on: July 02, 2014, 10:04:57 pm
What is an auv?

Personally, I think all of these acronyms have become meaningless. Generally:

ROV = Remote Operated Vehicle -> aka: a "submersible" drone (wth?)
UAV = Unmanned Aerial Vehicle -> aka: an "aerial" drone (ok, that makes sense)
UGV = Unmanned Ground Vehicle -> aka: a "ground-based" drone (or self-driving car-like vehicle)

An "AUV"?

Hmm - so an ROV isn't autonomous, but an AUV is - yet a UAV or a UGV might be one or the other, or a mixture?

Or are they all "ROV's" - and the distinction if they are autonomous is AUV/UAV/UGV?

The truth is, just use whatever term you want - because that is what the commercial and military developers are doing themselves it seems...
35  Using Arduino / Motors, Mechanics, and Power / Re: Mounting Stepper Motors on: June 28, 2014, 12:54:54 pm
Google search for "pan tilt stepper bracket" - take a look at the results and images; for instance, here's a link to a rendering of such a potential system:

Note the use of belts and pulleys for gear-reduction; this will likely be needed by your system because many steppers won't have the power to rotate the mass of the gimbal mounts and camera on their own. Of course, there are other options for gear-reduction; belts and pulleys are just one possibility.

Building your own stepper-motor based pan/tilt mount is not an easy task (compared to one using servos), but can be done by a hobbyist. If you need repeatability in positioning, you will likely also need to incorporate a feedback mechanism into the system (potentiometers or other position sensing devices to monitor the angles). This will of course increase the complexity of the system.
36  Using Arduino / Displays / Re: A question of speeeeeed on: June 28, 2014, 12:48:39 pm
I am using this to draw to a 5 inch screen with my Arduino uno. The problem is that if I want to draw pictures I have to do this one pixel at the time.

Unfortunately, it looks like a -big- chunk of functionality for that driver chip is missing from the Adafruit breakout board for the RA8875 - namely the "Block Transfer Engine (BTE) Function" (see page 123 of the datasheet). It notes that the BTE function is only available with the "Parallel MCU Interface". The Adafruit breakout only brings out the SPI (serial) pins - not the other pins for the parallel interface.

This was likely done on purpose for the Arduino Uno - because it doesn't have enough pins to support it (the data/address bus alone is a 16 bit interface - with all the other pins involved, there wouldn't be enough on the Uno anyhow).

What I would look for would be a better breakout board that brings out all of these pins; alternatively, if you are brave and have a very steady hand, you could solder thin wires to the chip pins that bring out this functionality. Connect them to their own header of some sort, maybe?

Then - for the microcontroller - I would use a Mega; it has enough pins to support the parallel interface easily.

You would, of course, have to write your own custom interface library to drive the pins properly to use the parallel BTE functionality - not a small task, but the datasheet seems to give more than enough documentation to allow you to do this.

I tested this by using a for loop and drawing 1 black pixel at a time, but it takes a LONG time. I didn't time it but I think like 30 seconds.

If you are simply trying to clear the screen, or draw simple shapes (lines, rectangles, circles, triangles, etc) - the SPI (serial) interface and the Adafruit-supplied library should work fine for that; the idea being that you would build up your drawings from these simpler primatives, which are all (seemingly) hardware-accelerated. For instance, a 3D engine could (in theory) be built using only the triangle function for the output (of course, much more is needed to make a fast 3D engine on a system without a real floating-point processor).

However, if you are trying to draw and move sprites or other bit-blitting operations - that isn't supported (according to the documentation) by the SPI (serial) interface - only by the parallel interface, which as mentioned before, has not been broken out by the Adafruit board.

Can anyone recommend a way of increasing the speed of this? I know that the TFT driver is capable of super fast drawing and that it is my end which is slowing things down.

I was thinking of buying the Arduino Due, but not sure if it this would even be up for the task!

Well - I think you can see that I have already recommended what you should do; namely, either find or build a better breakout board and use an Arduino Mega for the controller (so you have enough pins), or modify/hack the existing breakout board to bring those pins out. Likely, the former will be easier (or no more difficult) than the latter, and will result in a better system less prone to failure overall.

Moving to a Due will not likely solve your problems with the speed of the interface; you will still be constrained to the speed of the SPI transfers (which can only happen so fast), and you still won't have access to the BTE blitting engine - which is where things will really shine. If you do buy/build/modify a better breakout board for the RA8875, though - a Due could help immensely with speed (over a Mega) - plus the floating-point performance should be much better as well (if you plan on doing anything 3D related or you need floating-point functionality for other reasons - like moving sprites in a sine-wave fashion or such). Again, with clever programming, fast floating-point can be had using integer math, but it isn't intuitive to implement.

I hope this helps.

On a side note, I found it interesting in the discussion of the parallel interface (page 56) that they have a pin to select between using an 8080 or 6800 series MCU interface. In theory, you could connect this chip to an Altair 8800! I also like the idea of hooking one up to my TRS-80 Color Computer (6809). Likely you could interface this chip to any of the old machines from the 1980s and it would work ok.
37  Using Arduino / General Electronics / Re: Printer Boards on: June 28, 2014, 12:11:07 pm
Its an Okidata B2200 printer, i want to remove the chip line, I cant get it to read the chip.
So if it is possible to remove the chip line, then it will not ask for the chip.

I think something is being lost in translation here - what is a "chip line"?

How about this - you've told us what kind of printer you are trying to use; thank you. Now - tell us what your problem is with the printer. Photos, screenshots of the errors you are seeing, a detailed description/writeup of what you are doing to receive the error(s), what operating system (name, type, version, etc). Also - tell us why/what you want to do with the Arduino in relation to all of this (it could be that the Arduino won't help, or won't be of use, or that there might be another solution to your problem).
38  Using Arduino / General Electronics / Re: Perf board wiring, solid core or stranded? on: June 22, 2014, 03:07:38 pm
seems to work fine in the breadboards.

Ok for perfboarding, but you need to be careful using it with breadboards; the diameter (gauge) Cat5 wire is slightly smaller than what is supposed to be used. As such, it can sometimes get 'stuck' and break off inside the spring clips. It's possible to fix - you have to take the back off the breadboard - but can be a pain.
39  Using Arduino / General Electronics / Re: Perf board wiring, solid core or stranded? on: June 22, 2014, 03:05:19 pm
Wire-wrapping wire works with solder, too!

Oh, I know that - but generally when you do wire-wrapping, you should go "all the way" - even though it is more expensive. It's also mechanically stronger than soldering (better for use where vibration is an issue).

Another option that I forgot to mention - which is easier to get in Europe than the States - is kinda a combo of soldering and wire-wrapping; it has it's own tools and other bits-n-pieces, but it seems kinda neat:
40  General Category / General Discussion / Re: Describing a "Cube" on: June 21, 2014, 11:01:08 pm
afraid people can't grasp the implications of a "27 pixel cube"?

Maybe you are better than math than me, but I would be sitting there for a second thinking "ok, what's the cube root of 27?" or "what's the cube root of 125?"; and as the number became larger...well.

Maybe, rather than "3x3x3" or "5x5x5" - calling it a "3 cube" or a "5 cube" or an "n-cube" - would be the better option? Conveys the size needed per side, and no difficult factorization needed...

41  Using Arduino / General Electronics / Re: H-Bridge with High Current Transistors on: June 21, 2014, 11:08:55 am
Perhaps the easiest way to build an H-bridge from discrete components is to start with
good MOSFET H-bridge or half-H-bridge driver chips(*), add 4 n-channel MOSFETS
well up to the power and current and voltage ratings, and follow the suggested circuits
in the driver datasheets.  If you have a supply of limited current-sourcing ability
that will help prevent expensive mistakes (lead-acid and lithium batteries are not

I'm going to second this, with the following extra bit: Size the FETs 4 or 5 times larger than your current needs (so you want 10A - pick 50A n-channel FETs). That will give you plenty of breathing room, and it won't be that much extra to spend. You likely won't need heatsinks for a FET h-bridge (with the larger FETs and the smaller current needs), but you might want to leave room for them just in case (or if you want to use it with even larger motors later).

That said - you would still likely to be better off purchasing an h-bridge; since you don't want to go down this route, purchase plenty of spare FETs for the inevitable destruction as you test and play with the h-bridge you do build.
42  Using Arduino / General Electronics / Re: Perf board wiring, solid core or stranded? on: June 21, 2014, 11:01:26 am
Used wire wrap years ago. Thinking of doing it again for a few prototypes. RS used to carry it in the stores, but no longer. Have to buy online. If anyone finds it at a good price, let us know.

The thing I hate about wire-wrapping is the cost of sockets, plus the fact that if you don't do things "just right" (and even sometimes if you do), and you find a bad connection during testing - you may have to unwrap multiple layers to fix the wire you want (then re-wrap, which may introduce further bugs).

Yes, solid wire for perfboard. I use telephone wire as it is cheap. Sometimes I can find it in the dollar store for 25ft. However I have to strip the 4 wires apart first.

My favorite (mainly for breadboarding - but in a pinch can be used for perfboard) is 25 pair telephone cable. I typically look for it at ham fests; sometimes you can get it from older offices during a remodel. 8 feet or so can last you a lifetime (especially if all you need it for are jumper wires).

Another potential option (though not great) is to use solid-core ethernet cable; 8 wires and "colors" - and can be found all over the place (again, office remodels are a great source - or ask the guys in your IT department, if you work in place with one).
43  Using Arduino / Motors, Mechanics, and Power / Re: Powerful DC motor to Servo motor on: June 18, 2014, 08:57:21 pm
A popular setup, but the servo does not necessary need to be physically attached to the wiper arm, just the pot will do.

A couple of more links:  (scroll down a bit - part of the article details "monster servos")

Basically, you take a servo, and remove the motor from the control board - then you solder wires from the control board to the control lines of your (larger, high-power) h-bridge; provided that the control lines on the bridge are 5 volt tolerant, and you supply the servo with 4.8-5 volts - it should all work fine. Then just remove the remaining gear train from the servo, but leave the potentiometer in place. Attach a servo horn and connect that horn to your moving bit. A little tuning and debugging, and it should be good to go.

While zoomkat is right in that you don't need to keep the servo intact - you do need to keep the potentiometer (or one of the same type and size) connected to the servo board for this to work. That said, I would personally keep everything in the servo case, for a number of reasons:

  • The case will protect the electronics and potentiometer (especially if it was a "waterproof" servo)
  • The case will provide the support for the board and potentiometer
  • The case has convenient (and standard) mounting holes (and convenient/standard servo horn)
  • And the biggest one: The potentiometer shaft and such will be supported by some form of bearing to prevent side-loads from the horn being rotated externally from causing additional mechanical wear
44  Using Arduino / Project Guidance / Re: arduino code for L298n (serve as a switch) and peltier device/module on: June 16, 2014, 12:14:38 am
hi I would like to know how do i go about doing the arduino code for my project on peltier module. basically i would need to link up a L298n H-bridge to the arduino

Stop right there.

You didn't mention -which- peltier you were trying to control; this is an important piece of information for you to be successful. For instance, let's take a look at this peltier/heatsink combo from a well-known Arduino supplier:

Note the specs - it requires 12 volts at 5 amps.

An L298 - if you are lucky and have one helluva heatsink on it (with forced-air cooling) - is rated to provide up to 4 amps of current to a single load (provided you have wired it to operate in "parallel mode"); in practice you'll be lucky to get anywhere close to that.

Your peltier may draw more amps, but I doubt it would draw fewer - peltiers tend to be high-current loads, and many pull 8-10 amps or more.

In short, you likely have the wrong driver for your load - but until we know which peltier you have and what it's voltage/current requirements are, recommending a driver will be difficult at best.
45  General Category / General Discussion / Re: Question about posting creating a certain topic. on: June 08, 2014, 12:53:11 pm
Is there no other place where people share code, programs etc..? And for example tutorials?

The problem I am seeing here (correct me if I am wrong, though) - is no mention or connection with the Arduino. If it doesn't have at least some kind of use with the Arduino, it won't fit into any topic here, besides this one (General Discussion) and/or maybe "Bar Sport".

If it is, as you mention, only an "Xbee API compatible (with) Java" - actually, I am not even sure what that means...

Do you actually mean it's an API to communicate with an Xbee, written in Java? If so - then it certainly is more general than the Arduino, I would think.

Unless you have an Arduino project (connected to an XBee), and it acts as a part of the whole system; in that case, it would go into the Exhibition topic - but even there, it would seem that the Arduino portion is only incidental.
Pages: 1 2 [3] 4 5 ... 376