Building a Robotic Arm for Cheap: Part 2

As I had said in the first part, this post will be covering the frame of the robotic arm, the power source, the code, and any other miscellaneous items. I have been working with my partner on it, and we almost have a prototype built. We will finish it over winter break. Remember, the best arm in the world is useless if the drivers haven’t practiced using it.

Lingot_aluminium.jpg
Source: wikipedia.org
CordlessDrill.jpg
Source: wikipedia.org
Source: wikipedia.org
20624948870_ea7542ab08_h.jpg
Source: wikipedia.org

So, the frame. The “backbone” of the arm needs to be very sturdy and stiff. Some people try using PVC piping, the piping used to carry water through a house, however that is a bad idea for several reasons. Number one, is that PVC piping is hard to attach flat things to. Since the servos are flat, attaching them to a rounded object is hard and less secure. Secondly, PVC is relatively heavy, compared to the alternatives. The material that I recommend is aluminium.

Aluminium is lightweight, flat, and best of all, cheap. The amount of aluminium that I need for my arm is about $10 from Home Depot. It is much stronger than PVC, and metals do not bend easily. You may be thinking, “Isn’t aluminium hard to cut and shape?”. The truth is, yes, but you can do it with a simple hacksaw. Cutting it isn’t very difficult, as aluminium is one of the softer metals. All you need are some screws, a drill, and you can mount the servos to it with ease.

Next, we need a power source. As you can imagine, it will be rather beefy and need enough power to run a micro-processor and several servos lifting each other. If you buy a shield, then the shield will tell you how many volts it requires. After you know that, search on a site like HobbyKing for that volt of a battery. Next click on a link that has the most amount of mA, or milliamps. More mA means you can run your arm longer.

One really important thing that you need is the claw. The claw that I am using is from an old toy, and it is shaped like a bowl, but can open and close easily. For anyone else perusing this project, I recommend that you buy something prebuilt from ebay, such as this arm.
Make sure to wrap the arm in some sort of rubbery material so that it has a good grip. I plan on using electrical tape, with the sticky side facing in.

Another thing to consider is the base of the robot. The base will have to have some sort of weight, to stop it from tipping, but it will also need to have the Arduino and the power source housed within. One nifty idea one can use is to simply use the power source as your weight. Most of them should be heavy enough to support the weight of the arm. As for the material, something like a wooden box should be fine, because the weight inside will stop it from tipping over. The wooden box will also be easy to mount things to, such as the power source and the servo to move the entire arm side to side.

In short, building a robotic arm can seem outrageous on paper, but if you spend some time understanding the concepts behind it, you can quickly develop a plan to build one. Part 3 will be coming soon!

HTML Tutorial: Getting Started

HTML. Hyper-Text Markup Language. The programming language that changed the web as we know it. Every since the early days of the internet, this programming language has been used on all web pages, and it is what all web browser use to display web pages. But that is just an overview. How do you actually start using it to create websites? Simple.

Start by downloading a text editor, such as Brackets. This is a common, cross-platform text editor designed to build websites. After you finish downloading the installer for your computer, open it up. You will be presented with an interface like this:

Brackets.PNG

The interface is much simpler than most other code editors out there. You may be looking at the text in the middle and being confused, but the rest of the interface is simple enough for most people to figure out. The lightning bolt figure at the right of the screen is what you use to display the page that you code. If you click on it now, you will see that the text in the middle is now being displayed in a webpage, inside your selected browser, or in most people’s case, Google Chrome.

You have just displayed your first web page. Now let us code a really basic one. Create a new file within Brackets by hitting the New button under the File menu. Now copy this code, I will explain it step by step.

<html>
    <head>
        <title>Document</title>
    </head>
    <body>

    </body>
</html>

First thing that you may see is the greater than and less than symbols everywhere. Don’t worry, they are quite simple to understand. When a computer looks at the code, it needs something to know where the content is located within the text. So, it scans for certain symbols, such as <, or >, and gives them importance based on the text between them.

The < and > define tags. Here is an example of a tag: <p>Some Info</p>
The <sometag> part defined the “opening” of a tag. The one with a slash in it defines the end of the tag, </sometag>. The info in between the < and > tell what to do with the information in between the <> and the </>.

So, the first line. <html> means that this document is an HTML document, and that the browser should process it as such. The second line defines the <head> of an HTML document. The head is like the extra information that doesn’t get displayed on the page. Many extra things, such as font styles and website styles go in the head.

Next we have the <title> tag. This sets the tab name to the text in between the opening and closing tag. In this case, the tab name in the upper left area will be set to Document. As you can see, we then close the tag, because the entire document is not a title, only that area is. It is still part of the head, which is still part of the html.

Now we have the <body>. This is the most important tag, because this is where all of the information will go. All of the content is here! So, we can simply type in text to that area, and it will show up in the web page. Try it now. Type in something to that area, then hit the lightning button on the right to see the result.

webpage.PNG

Pretty cool, eh! After that line of code, we end each of the tags that we opened up above, in this case the html tag and the body tag.

I will cover more in the next part of this series, which will be mostly video based. If you have any questions, ask me in the comments. Enjoy!

Building a Robotic Arm for Cheap: Part 1

This year, I am participating in Science Olympiad. Science Olympiad is basically a yearly competition, where students from around the country compete to do the best in their event. This year I picked robotic arm.

I haven’t done many things like this before. The arm hasn’t been built yet, so this blog will be like progress updates. Each update I will share pictures, possible parts, and later, video of the arm in action.

So, back to the arm. There are a few main components: motors, microprocessor, battery, and frame. All of these fit together to create one cohesive product that can be very efficient, and powerful. I’ll explain them one by one.

Motors. You have definitely have heard of these and used these in your life. However, what you may not know is that there are different types of motors. The different types of motors are servo, DC, and stepper. DC is the kind most people are familiar with. Give it power and it spins. More power = faster spin. Unfortunately, using this in a robotic arm is very unwieldy. You cannot keep it steady, because it would start to fall down the moment it stopped spinning. They are unwieldy, and not suited to a fragile arm.

Source: https://upload.wikimedia.org/wikipedia/commons/f/f4/DC_Motor.jpg

The best motor to use is the servo motor, or servo for short. Servos are good for an arm because instead of giving it power and it spins according to power, you give it power and an angle. This lets you have infinite control over the motor, because while it has power, it will try to stay at that angle, useful when you go to pick something up. Then when the arm dips down, it will be able to hold that position without jittering.

Source: https://upload.wikimedia.org/wikipedia/commons/d/d2/Servomotor_01.jpg

What is a microprocessor? If you have read my previous post, you may recall that a processor is in a computer, and that it does calculations. Well, a microprocessor is just a smaller weaker processor. Why do you need one? To control the position of each motor as it receives data from the controller.

The microcontroller I am using in my arm is the Arduino board. It is cheap if you buy it off brand, and it is reliable. The huge community built around it means that someone else has already done what you might be struggling with. The Arduino board is programmed in a language called Arduino-lang, which is very similar to C. C is an advanced programming language, along with being one of the oldest.

Arduino_Uno_-_R3.jpg
Source: https://upload.wikimedia.org/wikipedia/commons/3/38/Arduino_Uno_-_R3.jpg

There is one more thing which I haven’t covered quite yet: what a shield is for an Arduino. An Arduino shield is like an accessory that lets the Arduino do more. In our case, I bought a servo shield, which lets me plug in servos without doing and complicated soldiering or splicing. The shield automates the power distribution, and it makes it easier to control the servos.

Source: https://upload.wikimedia.org/wikipedia/commons/0/02/Arduino_Protoboard_Shield.jpg

I will write another post as I get closer and closer to finishing the arm. It will cover the frame, the battery, and some of the code required to use the arm. See you all next post!

Technology Terms

Do you know the names of many of the things you interact with on a daily basis? Then why don’t people know how technology works, and what things make it up? Your phone, to your laptop, all use these pieces of technology in one cohesive device.

First off we have RAM. Your ram is like your short term memory. Every time you click on a program, it runs in your ram and takes up space there. RAM stands for Random Access Memory. It is measured in GB, or gigabytes. Ram is useful when you are running large programs.

Source: https://upload.wikimedia.org/wikipedia/commons/c/ca/Memory_module_DDRAM_20-03-2006.jpg

Next up, we have your processor. Your processor, or CPU, executes instructions that are given to it by you. It is measured in GHz, or gigahertz. Gigahertz measures operations per second. It is what determines the speed of your computer, for the most part. Common CPU names include i7, i5, i3, A9, A6. The “i” processors are made by Intel, the “A” processors are made by AMD. CPU’s can also have several cores. Each core is like another “brain” for your computer. It allows it to multitask much better than with less cores.

Source: https://upload.wikimedia.org/wikipedia/commons/4/41/AMD_Phenom_II_X4_840_(HDX840WFK42GM)_CPU-top_oblique_PNr%C2%B00373.jpg

What about your screen? If you look at a screen, you have many pixels, which are like little light bulbs. A common resolution is HD, or 1920 x 1080. If you multiply the two numbers together, then you get the number of pixels a screen has (which is 2073600). Your TV, your phone, and anything else with a screen has a resolution. A new resolution you may have heard about is 4k. 4k promises 4 times the resolution of HD, and it is an insane amount of pixels in a tiny area. Another term within screens is pixel density. All that tells you is the number of pixels per inch. Each one of these pixels has to be controlled by the computer if you want to use a monitor/screen. What controls it?

Source: https://upload.wikimedia.org/wikipedia/commons/0/0e/Screen-door_effect.jpg

Another term you have probably heard is the graphics card. Everyone has that one friend who claims that they have the fastest graphics and the coolest games. All the graphics card does is control the pixels on your screen. It too has it’s own type of RAM, and has cores. However, the graphics card has many more cores than a CPU. The trade off of having many more cores is that each one has a very low gigahertz, such as 1Ghz per core. The reason it has many cores is because it has to run millions of pixels and determine which ones are on. The RAM of a graphics card holds the color values for each pixel. So, the more pixels or higher resolution your screen has, the more RAM you need to hold all of those values.

Source: https://upload.wikimedia.org/wikipedia/commons/6/62/AGP-Video-Card.jpg

You have probably heard of Windows, OSX, Android, and IOS. So what do all of these share in common? They are all operating systems! An operating system is a very large program that controls your entire computer. The operating system dictates how you use your computer, and it is the one of the first things your computer runs when it turns on. It is why you can’t usually run apps from your phone on your computer.

Source: https://upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Windows_logo_-_2012.svg/2000px-Windows_logo_-_2012.svg.png

There are a few programming languages you have probably heard about, such as HTML, CSS and Java. Where are they used? HTML and CSS are languages of the web. This means that they are used in nearly all web pages, such as Google, and this blog. This is why if you look at the address bar, it will usually end in “.html”. CSS is the language for styling your websites. HTML usually holds all of the content, like this post, and CSS is the one which tells the post how large to be, where to be, and the color. I will be making a HTML tutorial soon!

Source: https://upload.wikimedia.org/wikipedia/commons/1/1b/CSS3_and_HTML5_badges.svg

That’s all for this post. I hope you learned something and have walked away with a greater understanding of the technology around you.

Open Source

As the title implies, this post is about open source. Some people will go like, “Open source? What’s that?” Open source just means that some program, be it something as large as an operating system or as small as a calculator, is freely editable and usable by anyone in the world, free of cost. (Most of these projects ask for donations.) Linux is open source. Well, you ask, “Why doesn’t everyone use open source?” The main reason for that is most open source projects don’t offer support in the form of a telephone number. Instead, they use a forum to ask you, the people, to report bugs and features. I know for ¬†fact that some people think that they should be getting much better support. They are used to support that will be with them 24/7, the entire year.

Ajusa

Today I am excited to announce that after 4 snow days of hard work, ajusa alpha will be released soon. It has a blue and white color scheme. The logo will be done by our very own FunnyWabbit. More info to come soon.