On the last article I talked about microcontrollers on the Mac. Well I found an article on Makezine.com that linked to http://arduino.cc/. According to the website:
“Arduino is an open-source physical computing platform based on a simple i/o board, and a development environment for writing Arduino software. The Arduino programming language is an implementation of Wiring, itself built on Processing.
Arduino can be used to develop interactive objects, taking inputs from a variety of switches or sensors, and controlling a variety of lights, motors, and other outputs. Arduino projects can be stand-alone, or they can be communicate with software running on your computer (e.g. Flash, Processing, MaxMSP.) The boards can be assembled by hand or purchased preassembled; the open-source IDE can be downloaded for free.” (for Windows and OSX!)
Luckily, its the cheapest option I’ve found for a beginner microcontroller board at $31 fully assembled and programmed. Unlike an AVR programming board, the chip runs a bootloader and the software is able to send “sketches” (like programs) to the chip to run. It is similar to a Basic stamp only cheaper and the language is more based on C. And the best part of the newer version has the support of OS X and a USB board so you can easily program this on a Mac out of the box. It is somewhat limited with 12 digital i/o and 6 analog inputs. The website has easy to follow tutorials for everything from blinking LED’s to controlling LCD displays and bluetooth modules. The programming language is fairly simple and easy to understand and is very much like C. They even include libraries and functions for a lot of things. The Arduino is open source so the downloads are free and you can get schematics to make your own board. My friend Abel from Macteens just bought one and I am going to buy one soon also. Hopefully I will update the website and give a full article on the Arduino board.
A big part of robotics are microcontrollers. They are the brains and nervous system of autonomous robots. I have done some research on microcontrollers lately because I have found a few interesting projects recently. From what I can tell there are pretty much two major brands Atmel AVR and Microchip PIC. They have multiple I/O pins and can be programmed with anything from Basic to C to Assembly. You need to find a programmer and chip that works for your application. I am still a newbie at electronics and microcontrollers, so this artlicle won’t be much help. Since this is Macbotics, I need to find a solution that allows the use of a recent Mac with USB and OS X.
Here are some links I found:
– http://www.cs.colorado.edu/%7Ebuechley/diy/avr_mac_osx.html (This is one of the most informative and the LED clothing is cool)
– http://www.mcselec.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=104&category_id=3&option=com_phpshop&Itemid=1 (I’m not sure this USB programmer will work with the Mac)
– http://macrobotics.com/MacRobotics.html (Yes, macrobotics.com is close to macbotics.com but he only seems to have MacASM. I need to contact him.)
Also check out James Mullins earlier mac robot powered by a G3 powerbook
Macmod.com had its Great Mod Challenge, challenging contestants to mod their Macs into crazy machines. A lot of the entries are great, but one caught my attention: the M3 Mobile Mac Mini. This custom made Mac mini robot has many features such as a halogen light, camera, 7″ touchscreen, remote control using the Apple remote or via WIFI. The base system is a Intel Core Duo Mac mini 1.66Mhz built on top of a custom made chassis. The robot has IR sensors hat feed back to the mac mini. Its is remotely driven and has controls light and tilt mechanism. The video is fed via iChat. The M3 is controlled with custom realbasic software and a custom Pic microcontroller board. It is driven by strong dc gearmotors attached to off road skateboard tires.
This is a fine example of a robot built off the Mac platform. I also found an older mac mini robot called MiniPSI but the link doesn’t seem to work, but thats a later article.
Well I want to take it even further. I actually want to make it again only this time put more thought into making it stronger and more like home made CNC tables I’ve seen. This CNC machine will actually have small toy motors attached to all-thread screws and a nut attached to the sliding axis. The linear bearings for the slider are going to be rolled up rubber bands like wheels and using a paperclip as an axle. This will act as a bearing that rides on card stock tubes or triangular prisms. The new and improved CS CNC machine will be build sturdy. I don’t expect it to hold a dremel tool, but I do expect it to be able to use a knife or writing tool, and maybe a small custom made motorized drill that can drill balsa or paper.
The craziest thing about this CNC is I want to use my 16/16/0 Phidget Interface board and drive each motor with off and on controls (no speed control). With some tricky programming, I hope to make things like angles and curves by rapidly turning off and on the x or y motor, up to the maximum refresh of the board which is 125Hz. I know this is crazy, but I am an expert on making things with cardstock and I don’t have to spend lots of money, time, fabrication to make a test CNC machine. Plus this would be awesome to show people that I made a CNC machine out of paper, toy motors, a phidget board, and especially a Mac.
About Macbotics: I need more input if anyone is reading this. I know I need to get the forum up but just email me for now. I would like to hear from the people who visit Macbotics and I promise it won’t just be me rambling about my crazy ideas.
The Macbook has been out for almost a month but I finally got mine and this is an account from my experiences:
As soon as I got my Macbook, I opened the box and had it playing DVD’s and loading files from my iMac in minutes. The best part about the Macbook is that it is fast enough now to play video without stuttering like my iMac G3, which is great for all the video podcast. I might not need a TV again. The screen is beautiful and bright, universal binary apps work really fast but the PPC apps need a little patience. I think the stock 512MB of RAM is restricting it. THe keyboard is easy to type on and spread out for my big hands. The Macbook does get toasty but I guess that makes for a good winter on my lap.
Another thing to note is the size. Its pretty heavy, weighing in at 5 pounds. Its small enough that I can carry it around in my backpack, and I can still see the screen and use the keyboard. Its about the size of a 9×12 sketchbook paper. When you close it (which closes tightly with magnets), it seems very wide, short and thin. The Macbook seems to be made in Apple’s consumer style, very clumsy-proof with the Magsafe connector and the tough built-in keyboard. It will make for a good mobile robot platform.
My recommendations if you get one (which I suggest) are 1.) Get at least 1GB RAM; 2.) Get a lap desk because it gets hot and cloth can keep it from ventilating; 3.) Update all of your software to make sure they are updated for the intel chipset. 4.) Migration Assistant is great, but you will have to go through all your stuff to make sure it is set up correctly and you still have to transfer all of your music (and re-authenticate), photos, and documents. 5.) It gets dirty either get the black Macbook or invest it a cover and cleaning supplies (that don’t mar the finish). I am looking into getting vinyl stickers from http://www.macstyles.com when they get back online to give my Macbook flare and protect it.
A while ago, I became fascinated with homemade cnc xyz engraving/plotters. Around this time I got my iMac and got really into Macs and Apple. Actually that is one of the main reasons Macbotics got started. I did a Google search for Mac controlled hobby CNC tables and only found two websites, both which don’t have any working software for download or very out of date running on classic Mac OS.
So I figured I will have to make real CNC software for Mac OS X and a table to run it on. Ok, I personally don’t have enough experience writing cocoa apps to actually make anything, but if anyone reading this can I would really appreciate your help.
So the first thing I need to do is make a Hobby CNC xyz table with interchangable tools such as a Dremel. There are plenty of plans out there but I need to find a good one for the type and size of projects I want to use it for. I want to be able to engrave materials like plastic or aluminum or cut pieces out of thin materials like balsa, paper, and maybe soft sheet aluminum. Another cool thing that you can do is engrave traces for a PCB; Eagle PCB making software is even ported to Mac. So I decided I want a table with a moving tool instead of a moving table because I can adjust the size of the table and not have to worry about mounting.
But first I have to figure out how exactly how I am going to control the motors. I thought about using regular DC gear motors, because they are more efficient, powerful,easier to make smooth curves, and I already have the controllers and motors. Also I can more easily control the speed from the software instead of figuring out controlling a stepper and messing with the timing. the only problem is I will have to use encoders to acurately control where the tool is located and at what speed and apply braking to the motors when needed.
There is so much to deal with like writing the software, motor control from the Mac, building a reliable table mechanically and accurately controlling a DC motor instead of a stepper, but in the end I think it will be a great project for the advancement in robotic control with the Mac.
I have made a thread in the Macbotics forum on this topic under the Projects forum. I really need input for this one.
My idea is a “virtual sandbox” where there is a physical box with a camera on one or more of the walls. These camera(s) will work like motion capture (like they use for making 3D animation in games). You would also where a glove that had a electric motor to add resistance like force feedback so that you get a real tactile response from the “virtual object” you grab. The glove would also have visual markers at your finger tips so that the computer can easily recognize your finger’s position. You would look on to the screen and see your hand in the camera along with “virtual objects” that physically don’t exist. When you “grab” the virtual object the computer recognizes that your fingers are touching the sides of the object and send a signal to the motors to give you a tactile force.
Software wise it shouldn’t be that hard. One OSX software, called ToySight, uses a iSight to control the virtual game with your movements. This idea is like this only adding a responsive tactile system to seem more realistic. I think that with the way Macs and peripherals like webcams are very integrated, I think a simple Cocoa program would be easy to develop. I know there are open source image recognition projects out there that could be used for this sandbox.
Future iterations could use more than one camera for x,y, and z axis movements of your hand to give it a more realistic play ground. Also There would be more force feedback motors to give a more realistic feel. There could be sensors that sense squeezing of the virtual objects and change the objects size or shape. The person could wear LCD screen glasses with a camera attached to get the perspective view and return it to the LCD glasses with the virtual objects imposed to give it a more natural interface.
A very useful application of this would be a very cheap way for kids to interact with 3D models like a dissected frog or a solar system to feel and see how things work. Also for CAD designers and artists it would be a easier more realistic way to create 3D objects.
As always feel free to discuss this idea on the forums.
As mentioned earlier, the engineering club is making a pinball machine and I suggested that we use a Phidgets USB interface board to quickly and easily make the lights and bumpers and switches come to life and keep score using a easy-to-make Visual Basic program. After I convinced Dr. Sheer to buy the Phidgets board, it arrived at school and I was able to show them quickly, using the sample program and some physics lab electronics, how we can make a light-bulb turn on with a click of a checkbox, and turning on a switch make a checkbox appear checked. Dr. Sheer let me take it home and play with it, and it worked perfectly as well on my iMac. I plugged the Phidget into my USB port and downloaded the software, installed the Phidget driver and ran the sample program. It turned on and off the light of the corresponding checkbox just like it did on the Windows machine. This is one small step for PC’s, and one giant leap for Macs. Now the next major accomplishment is for myself to learn enough about Cocoa and Xcode to be able to make some exciting examples. I want to buy a Phidgets Servo controller so I can make a mobile platform.
Well if you watched the keynote (which is really choppy on my slow iMac because of the H.264 format), you know the major announcements were updated iLife suite and the hyped Intel iMac and “Macbook pro”. I think they went for the prosumer Macs first so that the cheaper consumer macs didn’t have the speed advantage of the Intel “Duo Core” processor, and the iMac and powerbook are very popular machines. I was initially disappointed there was no intel iBook because I wanted an upgrade for the small inexpensive laptop before I go to College where I will need that. But after examining the Macbook “pro” I found that I can accept Apple’s new and foreign Mac, getting one for college might be a challenge and it is bigger and more noticeable which I don’t really want. The Macbook pro is probably the best laptop ever so far, even Windows user should get one (since Apple doesn’t have any restrictions on installing Windows). Thats good for me because not only being able to run games but also SolidWorks CAD software. Noticable features are the magnetic power plug, which is good idea, Lithium Polymer battery, which I think is a first for laptops, a dual core processor, which is new to laptops, and it has everything else that is great about Macs. I hope to get one, but I hope Apple will announce a less expensive and small consumer Macbook before June when I graduate. The new intel imac is perfect and I would recommend it to anyone. I also have to comment on Apple’s new iLife suite. I haven’t personally used the iLife suite that much, only iTunes and iPhoto. Apple pushed a lot about podcasting and .mac. I love their one-click drag and drop themes that they incorporate in the iLife suite but I just hope they make enough where it will fit everyone’s taste and occasion. I am generally happy with the announcement now, besides my hopes of a small intel iBook, and I think Apple is going to do well