User clinton blackmore - Chiphackermost recent 30 from http://chiphacker.com2010-08-01T09:07:56Zhttp://chiphacker.com/feeds/user/106http://www.creativecommons.org/licenses/by-nc/2.5/rdfhttp://chiphacker.com/questions/2862/what-should-i-know-when-making-a-library-for-the-arduinoWhat should I know when making a library for the Arduino?Clinton Blackmore2010-06-05T03:13:13Z2010-06-06T03:48:22Z
<p>It occurs to me that, beyond my current problem, I ought to ask, "What should I know when making a library for the Arduino?"</p>
<p><em>First, what I am doing:</em></p>
<p>I'm using Eclipse as my editor and writing code in C++. I have written a simple Arduino application that includes my header file and am working through errors.</p>
<p><em>First problem:</em> how do I do a 'build clean'? I am seeing errors that I think I've fixed, almost as if the header file were cached. (Yes, quite likely I am doing something stupid [<em>edit</em>: I was], but I'd still like to know how to clean the library, and don't know where the object files are).</p>
<p><em>Secondly:</em> what conventions should I be aware of? I haven't used the Arduino as much as I'd like, and it feels so good to be programming in C++, but I know the intent of the libraries is to keep things nice and simple for the users. Are there conventions for function names? Creating constants (it looks like the global namespace is polluted with #defines)? And so on.</p>
<p><em>Lastly,</em> is there anything else I should know?</p>
<p>I should mention that I've looked at the <a href="http://www.arduino.cc/en/Hacking/LibraryTutorial" rel="nofollow">Arduino Library Tutorial</a>, which is good, but doesn't go very far. I've also peeked at some of the libraries that are installed on my system.</p>
http://chiphacker.com/questions/2041/continuous-rotation-servo-vs-dc-motorContinuous rotation 'servo' vs DC motorClinton Blackmore2010-03-25T14:50:01Z2010-05-27T21:28:09Z
<p>Under what circumstances should I prefer a continuous rotation 'servo' to a DC motor, or vice versa?</p>
<p>It seems to me that to use a DC motor, I'm going to need three pins from an MCU -- two for forward/backward/brake/coast and one for PWM. On top of that, I'll need an H-Bridge.</p>
<p>For a continuous rotation servo, I'll only need one signal pin and some code to send proper timing signals. I can't control the speed of the servo, can I? Also, it must have something akin to an h-bridge inside the motor, which surely ups the cost, but the motor will always be geared, which is a plus.</p>
<p>So, what are the pros and cons of each, and when should I choose one over the other?</p>
http://chiphacker.com/questions/2300/so-i-have-a-lego-mindstorms-8547-and-10-kids-for-an-hour-a-week-what-should-i-do/2309#2309Answer by Clinton Blackmore for so i have a lego mindstorms 8547 and 10 kids for an hour a week, what should I do?Clinton Blackmore2010-04-21T16:53:58Z2010-04-21T17:03:19Z<p>Here are a couple of things to get you started. <s>(BTW, how old are your students?)</s></p>
<ul>
<li><p>work through projects on <a href="http://www.nxtprograms.com/" rel="nofollow">http://www.nxtprograms.com/</a> . These start with simple and fun things you can build, and have documented programs you can download.</p></li>
<li><p>take a look at <a href="http://www.thenxtclassroom.com/" rel="nofollow">http://www.thenxtclassroom.com/</a> and sign up for the robotics in education mailing list.</p></li>
<li><p>take a look at <a href="http://www.legoengineering.com/" rel="nofollow">http://www.legoengineering.com/</a> </p></li>
<li><p>There are many other good sites out there (that I can't think of offhand). I really enjoy following <a href="http://www.thenxtstep.blogspot.com/" rel="nofollow">The NXT Step blog</a>.</p></li>
<li><p>There are a lot of good NXT books out there. I haven't had a chance to look at many of the new ones focusing on the Mindstorms NXT 2.0 kit. [Be aware that there are currently <a href="http://static.robotclub.ab.ca/pages/nxt/InventoryComparison/nxt_1_vs_2_vs_edu.html" rel="nofollow">three different NXT sets</a> with different pieces in them (ie. they are not backwards compatible, you can't build NXT 1.0 models with an NXT 2.0 kit without making adjustments).]</p></li>
<li><p>I highly recommend teaching the kids <a href="http://scratch.mit.edu/" rel="nofollow">Scratch</a>. It is free, they can use it at home, and it helps them understand how programming works.</p></li>
<li><p>you might also find some of my ideas in the <a href="http://chiphacker.com/questions/2055/any-good-suggestions-for-a-beginning-electronics-class-for-youth/2071#2071" rel="nofollow">answer to "Any good suggestions for a beginning electronics class for youth?"</a> to be interesting.</p></li>
</ul>
<p>Am I correct in thinking that you have a single Mindstorms kit?</p>
http://chiphacker.com/questions/2135/h-bridges-and-motor-stall-currentH-Bridges and Motor Stall CurrentClinton Blackmore2010-04-05T15:29:36Z2010-04-13T14:14:46Z
<p>How do I determine how powerful an H-Bridge I need to control a DC-motor?</p>
<p>In particular, does an H-Bridge need to be able to supply the full amount of current a motor will use when stalled, or would it be okay to use an H-Bridge that supplies enough power for a motor under standard load (and then some, but not stall conditions), and if so, what happens if the motor wants to draw more power than is available? (Does the H-Bridge fry, or does the motor just stop?)</p>
http://chiphacker.com/questions/2156/usb-host-device/2166#2166Answer by Clinton Blackmore for USB Host deviceClinton Blackmore2010-04-09T14:45:37Z2010-04-09T14:45:37Z<p>I've never used one, but I'd look into the <a href="http://www.atmel.com/dyn/Products/Product_card.asp?part_id=3875" rel="nofollow">AT90USB1287</a> chip. It even comes in an handy evaluation board called the <a href="http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3879" rel="nofollow">AT90USBKey</a>. While the chip itself is supposed to be able to act as a <a href="http://en.wikipedia.org/wiki/USB_On-The-Go" rel="nofollow">USB-OTG</a> Host, it isn't clear to me that the demo board supports that.</p>
http://chiphacker.com/questions/2127/hacking-a-singing-dancing-plush-toyHacking a singing, dancing plush toyClinton Blackmore2010-04-02T15:00:43Z2010-04-06T16:57:43Z
<p>My mother-in-law has sent my sons several singing, dancing plush toys (not unlike <a href="http://www.cartoonfansclub.com/fabble-frog-27593.html" rel="nofollow">this</a> or <a href="http://www.youtube.com/watch?v=WY50PVVXPaY" rel="nofollow">this</a>), which are well enjoyed until the batteries go. Every time we get one, I can't help but think, "I must be able to hack this, to reprogram it or change the music." I don't imagine that I will any time soon, but I was wondering if anyone knows of a tutorial or blog post where someone goes through hacking one of these, or even a tear down. [Granted, they likely use several different chips, and they might not be rewritable, or may require hardware I don't have, but I can't imagine that someone hasn't done it and documented it!] </p>
<p>Yes, I haven't looked deeply into it. I suppose I'm wondering if it is likely to be something simple to do -- say, in a couple of hours or on a weekend -- or likely to be something to difficult to be worth the bother.</p>
http://chiphacker.com/questions/2055/any-good-suggestions-for-a-beginning-electronics-class-for-youth/2071#2071Answer by Clinton Blackmore for Any good suggestions for a beginning electronics class for youth?Clinton Blackmore2010-03-27T14:44:38Z2010-04-02T13:45:02Z<p>I had thought to ask a question like this, too.</p>
<p>My current thoughts are implied in two questions here:</p>
<ul>
<li><a href="http://chiphacker.com/questions/2028/newbie-friendly-electronics-and-robotics" rel="nofollow">Newbie-friendly electronics (and robotics)</a></li>
<li><a href="http://chiphacker.com/questions/2024/is-there-a-scratch-like-arduino-ide" rel="nofollow">Is there a Scratch-like Arduino IDE?</a></li>
</ul>
<p><em>Two asides that I have to mention, having met a group called <a href="http://www.cs.uleth.ca/lumacs/" rel="nofollow">LUMACS</a> at my local university last night, which does outreach activities and week-long camps for kids:</em></p>
<ul>
<li><em>they said it is easier to teach counting in binary and algorithms to young children than to adults</em></li>
<li><em>they recently got some <a href="http://www.picocricket.com/index.html" rel="nofollow">PicoCrickets</a> and the groups that used them did not want to move on to anything else [and I got the impression that the same did not hold true for Mindstorms robots]</em></li>
</ul>
<p>For the youngest groups I would want to work with (maybe as young as 9, 11 might be better), I'd think I would:</p>
<ul>
<li>Teach them procedural thinking -- ie. <a href="http://scratch.mit.edu/" rel="nofollow">Scratch</a>, on the computer.</li>
<li>Use a Arduino platform that is designed for plug and play [ie. the Seeed Studio <a href="http://www.seeedstudio.com/depot/electronic-brick-starter-kit-p-506.html?cPath=48_69" rel="nofollow">Electronics Brick shield</a>]</li>
<li>Use a forthcoming Scratch-like programming environment for the Arduino</li>
</ul>
<p>For an older group (perhaps 14 and up), I think I'd:</p>
<ul>
<li>still start with Scratch, and/or possibly teach them <a href="http://alice.org/" rel="nofollow">Alice</a></li>
<li>use a breadboard-friendly Arduino -- a <a href="http://www.moderndevice.com/products/bbb-bub-cable-package" rel="nofollow">Bare Bones Board</a> kit or a <a href="http://www.ladyada.net/make/boarduino/" rel="nofollow">Boarduino</a> or an <a href="http://www.solarbotics.com/products/kardw/" rel="nofollow">Ardweeny</a>.</li>
<li>Get an experimenters kit of parts. (See bottom of <a href="http://wulfden.org/TheShoppe/accessories.shtml" rel="nofollow">this page</a>)</li>
<li>Or go for <a href="http://www.solarbotics.com/freeduino_arduino/starter_bundles/" rel="nofollow">a bundle</a> -- this <a href="http://www.solarbotics.com/products/ardy/" rel="nofollow">ARDX experimenters kit with an arduino and breadboard overlays</a> sounds great!</li>
</ul>
<p><em>Edit</em>: I just tried out <a href="http://processing.org/" rel="nofollow">Processing</a>, on which the Arduino programming environment is based. You may well be able to teach them Processing and then move on to the real Arduino environment.</p>
<p>This age might just be ready for a real text-based language, such as Processing and NodeBox. Processing, in particular, would be a good intro for the regular Arduino environment.</p>
<p>Now, on to robotics. I have taught three extra-curricular robotics courses, and most of my students have been homeschoolers. They range the gamat from kids who can hardly read (an major liability to learning) to incredible kids that I want mine to be like. I was amazed at how beneficial it was to have parents attend with their children in the last class I ran; I would highly recommend it.</p>
<p>The biggest advantage to working with homeschool students (at least where I live) is they have some say in how their educational dollars are distributed; I was able to offer a LEGO Mindstorms NXT-based course, and, with a teacher to sign off on it, they were able to put their educational money towards it to fund it.</p>
<p>Having taught three beginner NXT courses, allow me to say:</p>
<ul>
<li>the NXT platform is great</li>
<li>the NXT-G programming environment is ... unsuitable ... for anything beyond beginner work. When it is not downright buggy, it is very tedious.</li>
<li>step back and have students work through things at <a href="http://www.nxtprograms.com" rel="nofollow">nxtprograms.com</a>. They are simple, whimsical, and well-built. [I'd tended to think, "okay, lets make a line following robot" and "now a sumo bot"; now I am thinking, "lets build something simple, fun, and creative"]</li>
<li>teaching Scratch beforehand is really helpful.</li>
</ul>
<p>Only one of the twenty-one students I've taught was a girl. If I were to try to include more girls, I'd strongly consider using PicoCrickets (due to their crafty nature) and LilyPad Arduinos (same reason). I'd also read "<a href="http://llk.media.mit.edu/papers.php" rel="nofollow">New Pathways Into Robotics</a>" [pdf], a paper from the Lifelong Kindergarten Group at MIT (the same people who make Scratch). It indicates taking a exhibition-related approach, where you choose a theme (say, "A Day In The Park") and have pupils build robots to display related to the theme (like a robotic caterpillar, or flowers that turn to face you).</p>
<p>With an older group, I'd consider <a href="http://www.google.ca/search?ie=UTF-8&q=beam+robotics" rel="nofollow">BEAM robotics</a>. It is robotics where you repurpose scavenged parts to build things, and typically use solar panels to power things. The best book on the topic I'm aware of is Junkbots, Bugbots, and Bots On Wheels.</p>
<p>Three other points:</p>
<ul>
<li><p>I'd want to go with hardware that is cheap and modular. I'd rather, say, buy a special FTDI cable that has a USB-to-serial converter on it, and use a Freeduino that expects that signal, than use a regular A-to-B USB cable with an Arduino that has the converter chip. The cables are a one-time-cost. You save on every board. If you let the magic smoke out (and I expect you will and shouldn't fear it), then you buy another board. I'd also consider going for motor controllers on a separate board, so if the fry, only one part has to be replaced.</p></li>
<li><p>As for books, my recommendations will re-iterate what others have said:</p>
<ul>
<li><a href="http://www.arduino.cc/en/Guide/HomePage" rel="nofollow">Getting Started With Arduino</a></li>
<li>Make: Electronics</li>
<li>Anything by <a href="http://www.forrestmims.com/" rel="nofollow">Forrest Mims</a> (ie. Getting Started In Electronics, from the 70s or 80s)</li>
<li>Junkbots, Bugbots, and Bots on Wheels</li>
</ul></li>
<li><p>It is not hard to host a robotics event. I've run two in conjunction with a science fair. Line following, an obstacle course, and mini sumo have proven to be fun. I've also hosted a <a href="http://robofest.net/" rel="nofollow">robofest</a> event, and working with Lawrence Technological University was great -- they provide almost everything and you provide space and volunteers. [You need to be in contact with them by October to get on the poster for events held in March/April].</p></li>
</ul>
<p>Do let us know if you have any luck with such a course. I'll try to remember to edit this post if I do myself.</p>
http://chiphacker.com/questions/2024/is-there-a-scratch-like-arduino-ideIs there a Scratch-like Arduino IDE?Clinton Blackmore2010-03-24T17:00:38Z2010-03-31T21:39:38Z
<p>I believe that the answer is no, but I wanted to check before I put effort into rectifying it (and no, no promises!)</p>
<p>Is there anything like <a href="http://scratch.mit.edu" rel="nofollow">Scratch</a> that one can use to program an Arduino?</p>
<p>(Scratch is a graphical coding environment that makes learning to program fun, and is certainly suitable for elementary students. It is put out by the Lifelong Kindergarten Group at MIT).</p>
http://chiphacker.com/questions/2028/newbie-friendly-electronics-and-roboticsNewbie-friendly electronics (and robotics)Clinton Blackmore2010-03-24T18:05:35Z2010-03-24T22:40:30Z
<p>I'm looking into alternatives to LEGO Mindstorms for the robotics classes I teach (in an effort to find something less expensive and thus more readily accessible.) I am working with children aged 11 and up.</p>
<p>I found a couple of interesting things lately, that one might call "plug and play" electronics. </p>
<ul>
<li><p>Seeed Studio puts out <a href="http://www.seeedstudio.com/depot/electronic-brick-c-48.html" rel="nofollow">Electronic Bricks</a>. These look cool -- the components go together with cables (which I hope can not be attached incorrectly [without additional effort]) -- and the parts are reasonably inexpensive ($3-$15, instead of $35 to $65 for additional mindstorms sensors.] The cables can then be plugged into a protoshield on an arduino, and voila!, you've got sensors.</p></li>
<li><p>Inex puts out <a href="http://www.robotshop.ca/inex-en.html" rel="nofollow">some items</a> that look a little bit similar, but not as extensive.</p></li>
</ul>
<p>I should admit that I've got nothing against LEGO. My main two ideas for getting the body of a robot include:</p>
<ul>
<li>using an arduino <a href="http://letsmakerobots.com/node/15459" rel="nofollow">2WD</a> or <a href="http://www.seeedstudio.com/depot/4wd-arduino-robot-platform-global-free-shipping-p-554.html" rel="nofollow">4WD</a> driving base. (The downside to this is that you can't rebuild your robot in imaginative ways).</li>
<li>using LEGO, with, say, a <a href="http://www.mindsensors.com/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_id=117&MMN_position=41:41" rel="nofollow">servo-to-LEGO adapter</a> (or possibly by using existing LEGO motors and interfacing them to an arduino/MCU).</li>
</ul>
<p>What other hardware-related electronics/robotics things should I be considering?</p>
http://chiphacker.com/questions/1561/how-do-i-physically-work-with-a-hobby-motorHow do I physically work with a hobby motor?Clinton Blackmore2010-02-03T17:00:45Z2010-02-23T19:49:08Z
<p>How do I incorporate a hobby-style motor into a project, physically. How do I mount it and connect a wheel to it? (Assume that I have a working H-bridge or even switches, and am not concerned about how to use the motor electrically, just physically.)</p>
<p>I've purchased small, hobby style motors at various times. Typically, they run on 1.5 V to 12 V, and many of them have no built-in gearing (and thus spin really fast with very low torque). How do I connect a wheel to it, or a gear or pully?</p>
<p>Next, most motors of this sort are round. Round! If it was flat on one side, I could glue it down. It looks like they are designed to be screwed into something at the front or back, but I don't know how I'd make a surface to mate to it nor make marks to drill holes through it precisely enough. </p>
<p>What have you found works for when you want to make an electronics project move around on its own?</p>
http://chiphacker.com/questions/1597/batteries-for-12-to-24-v-motorsBatteries for 12- to 24-V motorsClinton Blackmore2010-02-15T16:44:45Z2010-02-15T19:43:25Z
<p>I have some nice gear motors that run on 12 to 24 volts, and want to use them in a medium-sized mobile robot -- maybe 30 cm * 30 cm for the base. I only expect it to run indoors, or possibly outside in nice weather. If it had a half-hour run time, that'd be fine. [If this is successful, though, I'd like to make a bigger robot that can withstand the out-of-doors, but probably only in nice weather].</p>
<p>I'm wondering what sort of batteries to use to power the motors. These are the choices I can see in order from what I think is best to worst.</p>
<ol>
<li><p>Use one or two 12 V (lead-acid) batteries. This is sort of what I'm leaning towards, but I'm worried about how bulky and heavy it would be. A car battery would be far too large and heavy. </p>
<p>I already have a charger that claims to be "ideal for car, SUV, light truck, farm equipment, boat, deep-cycle, RV, motorcycle, ATV, snowmobile and lawn tractor batteries." I imagine it would charge any 12-V lead-acid battery. </p></li>
<li><p>Use some 9-V rechargeable batteries. They appear to typically be a little less than 9V, but it appears that there are <a href="http://www.sparkfun.com/commerce/product%5Finfo.php?products%5Fid=9081" rel="nofollow">9V</a> and <a href="http://www.paulsfinest.com/Maha-PowerEX-9.6V-230-mAh-NiMH-Battery-p-34.html" rel="nofollow">9.6V varieties</a>. I would have to get a charger. These would be light, compact, but they won't last long. (230 mAH seems paltry compared to a <s>5 AH</s> 50 AH car battery.)</p>
<p>I would need to have two in series, and, I suspect, have two or even three series in parallel. That adds up to quite a few batteries and starts to negate the benefit of the small, compact batteries.</p></li>
<li><p>I could use 2 to 4 6-V batteries. (I didn't realize you could get rechargeable 6V batteries).</p></li>
<li><p>AA batteries, and lots of them. 10 to 20 1.2V NiMH batteries, though, will take a fair bit of space and mass and be take a long time to charge.</p></li>
<li><p>Specialty batteries (like those used in RC vehicles).</p></li>
<li><p>Some combination of the above -- say, two 9V batteries and a 6V battery.</p></li>
<li><p>Any sort of battery and a DC-to-DC adapter.</p></li>
</ol>
<p>The first two options seem like my best choices. What would you recommend?</p>
http://chiphacker.com/questions/1270/electronics-kits-any-requests/1298#1298Answer by Clinton Blackmore for Electronics kits, any requests?Clinton Blackmore2009-12-27T16:13:04Z2009-12-27T16:13:04Z<p>I'd like a kit where:</p>
<ul>
<li>the input is an audio source (such as a simple microphone)</li>
<li>the output is several LEDs (say, 8), each of which light up when a different frequency range is present in the input signal
<ul>
<li>for example, LED 1 might light up when a frequency in the 40-80 Hz range is present</li>
<li>LED 2 might light up when a frequency in the 80-160 Hz range is present</li>
<li>LED 8 might light up when a frequency ending at 16 kHZ is present</li>
<li>I really don't have a good feel for what ranges would be suitable, and it likely depends upon how the kit takes a time-domain signal and gives several frequency domain signals</li>
</ul></li>
<li>the 'brains' of the kit could, I believe, be implemented using LC circuits or a DSP running a Fast-Fourier Transform.</li>
</ul>
<p>The device should certainly have a threshold mode -- lights turn on when the threshold is exceeded. (Or, the output could be read [in parallel] by a microcontroller!)</p>
<p>It would also be neat if it had an intensity mode, where the LEDs grow brighter or dimmer depending on how much of the corresponding frequency range is in present.</p>
http://chiphacker.com/questions/1291/firsthand-experience-with-linux-avr-ide/1297#1297Answer by Clinton Blackmore for Firsthand experience with Linux AVR IDEClinton Blackmore2009-12-27T15:48:25Z2009-12-27T15:48:25Z<p>I haven't got any first-hand experience with it, but <a href="http://www.cadmaniac.org/projectMain.php?projectName=kontrollerlab&section=main" rel="nofollow">KontrollerLab</a> sounds interesting.</p>
http://chiphacker.com/questions/1270/electronics-kits-any-requests/1271#1271Answer by Clinton Blackmore for Electronics kits, any requests?Clinton Blackmore2009-12-23T14:34:06Z2009-12-23T14:34:06Z<p>Well, with sound as your primary focus:</p>
<p>I'd like to see a device I can send encoded digital audio (PCM, perhaps) to (over I2C), and have the sound either come out of a speaker or a headphone jack (or line out).</p>
<p>Basically, it is a drop in sound module; all your microcontroller has to do is send it waveform data. (If I could send it musical notes and phonemes to play, that'd be even cooler!)</p>
http://chiphacker.com/questions/1092/whats-the-difference-between-a-microcontroller-and-a-microprocessor/1096#1096Answer by Clinton Blackmore for What's the difference between a microcontroller and a microprocessor?Clinton Blackmore2009-12-18T01:01:44Z2009-12-18T15:48:52Z<p>Microcontrollers:</p>
<ul>
<li>are typically 8-bit, but may be 4-, 16-, or 32-bit</li>
<li>run at speeds less than 60 MHz</li>
<li>use very little power</li>
<li>may provide enough current to operate an LED</li>
<li>are useful to interface with sensors and motors</li>
<li>are readily replaced, being inexpensive ($0.10 to $10)</li>
<li>are really constrained for RAM and persistent storage (flash space)</li>
<li>are really nice for electronics hobbyists</li>
</ul>
<p>Microprocessors:</p>
<ul>
<li>are at least 16-bit, and typically 32-bit or 64-bit</li>
<li>many will be able to do floating point math in hardware</li>
<li>run at speeds measured in hundreds of MHz</li>
<li>are designed to be the brains of a system (and need a whole system to support them)</li>
<li>need special hardware to interface with sensors, motors, LEDs, etc.</li>
<li>are expensive (think $50 - $250)</li>
<li>are designed for external RAM and persistent storage (hard drives)</li>
<li>are not as easily worked with by a hobbyist</li>
</ul>
<p>I find it interesting that the LEGO Mindstorms NXT set has a microprocessor [32-bit AT91SAM7S256 (ARM7TDMI) main microprocessor @ 48 MHz (256 KB flash memory, 64 KB RAM)] for doing the thinking, and a microcontroller [8-bit ATmega48 microcontroller @ 4 MHz (4 KB flash memory, 512 Bytes RAM)] for interfacing with the sensors and motors. [See <a href="http://en.wikipedia.org/wiki/Lego%5FMindstorms%5FNXT#Technical%5Fspecifications" rel="nofollow">technical specifications on Wikipedia</a>.</p>
http://chiphacker.com/questions/804/robot-picking-a-person-from-other-objects/821#821Answer by Clinton Blackmore for Robot picking a person from other objectsClinton Blackmore2009-12-02T20:30:04Z2009-12-02T20:30:04Z<p>A smart sensor might help -- take a look at the <a href="http://www.cmucam.org/" rel="nofollow">CMUcam</a>.</p>
http://chiphacker.com/questions/627/good-motor-supplier/820#820Answer by Clinton Blackmore for Good motor supplier?Clinton Blackmore2009-12-02T20:26:01Z2009-12-02T20:26:01Z<p><a href="http://www.solarbotics.com/" rel="nofollow">Solarbotics</a> has a nice selection of <a href="http://www.solarbotics.com/motors%5Faccessories/" rel="nofollow">Motors and accessories</a>. They appear to ship internationally (from Canada).</p>
http://chiphacker.com/questions/535/good-tool-for-mac-os-x-to-draw-circuits/575#575Answer by Clinton Blackmore for Good tool for Mac OS X to draw circuits.Clinton Blackmore2009-11-20T16:58:35Z2009-11-20T16:58:35Z<p>Someone asked Make a similar question (that was not Mac-specific). <a href="http://blog.makezine.com/archive/2009/11/ask%5Fmake%5F3.html" rel="nofollow">Their answer</a> suggests Fritzing, too, and there are other tools mentioned in the post and in the comments.</p>
http://chiphacker.com/questions/514/cheapest-simplest-way-to-implement-a-bluetooth-keyboard-mouse/521#521Answer by Clinton Blackmore for Cheapest, simplest way to implement a Bluetooth keyboard/mouse?Clinton Blackmore2009-11-17T21:28:54Z2009-11-17T21:28:54Z<p>It is not likely the solution you are looking for, but I thought it was relevant to the question:</p>
<p><a href="http://serverfault.com/questions/43615/setup-a-linux-computer-to-act-as-a-bluetooth-keyboard-mouse" rel="nofollow">http://serverfault.com/questions/43615/setup-a-linux-computer-to-act-as-a-bluetooth-keyboard-mouse</a></p>
http://chiphacker.com/questions/406/apple-desktop-bus-adb-to-usb-adapter/414#414Answer by Clinton Blackmore for Apple Desktop Bus (ADB) to USB AdapterClinton Blackmore2009-11-13T05:06:03Z2009-11-13T05:06:03Z<p>Are you expecting it to act as a normal keyboard, or just as something that works with special software?</p>
<p>If you are using an Arduino (say) with an FTDI cable, it will act like a device talking over a serial port. You can send interpreted keypresses, and any application listening will see them. (You would probably be best off to use '<a href="http://embeddedfreak.wordpress.com/2008/08/12/using-gnu-screen-to-debug-your-serial-port/" rel="nofollow">screen</a>'). However, an application will not be listening to the serial port for keyboard input under normal conditions, and you may find yourself disappointed.</p>
<p>If you want it to pretend to be a USB keyboard, you'll need a chip in there that has a USB registration code as a keyboard device. (I don't remember the proper term; probably some sort of HID -- Human Interface Device -- thing.) In which case, the question, "<a href="http://chiphacker.com/questions/267/id-like-to-learn-how-to-make-my-own-usb-gadgets" rel="nofollow">I’d like to learn how to make my own USB gadgets</a>" has some relevance to you.</p>
<p>If you are using a standard AVR chip, you can use the <a href="http://www.obdev.at/products/vusb/index.html" rel="nofollow">V-USB</a> firmware to make it talk like a USB device. See their <a href="http://www.obdev.at/products/vusb/prjhid.html" rel="nofollow">examples of human input devices</a>.</p>
<p>Alternatively, you could use an <a href="http://www.atmel.com/dyn/products/tools%5Fcard.asp?tool%5Fid=3879" rel="nofollow">AT90USBKey</a> and check out their <a href="http://www.atmel.com/dyn/resources/prod%5Fdocuments/doc7602.pdf" rel="nofollow">USB Keyboard Demonstration [pdf]</a>. <a href="http://fletchtronics.net/bumble-b" rel="nofollow">Bumble-B</a> sounds somewhat similar.</p>
http://chiphacker.com/questions/328/measuring-force-developed-by-a-robotMeasuring force developed by a robotClinton Blackmore2009-11-10T20:58:01Z2009-11-12T23:45:52Z
<p>I've been playing around with a Lego Mindstorms NXT robot, gearing it for speed and power. To my dismay, when geared for power, it wasn't any harder to stop than when geared for speed -- I suspect that it doesn't have very good traction (as there really isn't much mass pushing down on the wheels).</p>
<p>It would be nice to be able make quantitative statements about how much force (and thus, how much torque) a robot puts out. Does anyone know how I can do this? Would, for example, a spring scale or force gauge <a href="http://www.spectrumed.com/viewer/?id=09SecScience&p=248&zl=2" rel="nofollow">like one of these</a> work well for this purpose, and if so, what is a good maximum rating to look for?</p>
http://chiphacker.com/questions/297/good-microcontroller-for-ethernet/302#302Answer by Clinton Blackmore for Good Microcontroller for EthernetClinton Blackmore2009-11-09T20:43:35Z2009-11-09T20:43:35Z<p>Regarding having a TCP/IP stack, there are two projects you should look at:</p>
<ul>
<li>The <a href="http://www.sics.se/contiki/about-contiki.html" rel="nofollow">Contiki</a> Operating System</li>
</ul>
<blockquote>
<p>Contiki is an open source, highly
portable, multi-tasking operating
system for memory-efficient networked
embedded systems and wireless sensor
networks. Contiki has been used is a
variety of projects, such as road
tunnel fire monitoring, intrusion
detection, water monitoring in the
Baltic Sea, and in surveillance
networks.</p>
<p>Contiki is designed for
microcontrollers with small amounts of
memory. A typical Contiki
configuration is 2 kilobytes of RAM
and 40 kilobytes of ROM.</p>
</blockquote>
<ul>
<li>The <a href="http://www.sics.se/~adam/uip/index.php/Main%5FPage" rel="nofollow">uIP TCP/IP Stack</a>:</li>
</ul>
<blockquote>
<p>The open-source uIP TCP/IP stack
provides TCP/IP connectivity to tiny
embedded 8-bit microcontrollers, with
maintained interoperability and RFC
standards compliance.</p>
</blockquote>
http://chiphacker.com/questions/267/id-like-to-learn-how-to-make-my-own-usb-gadgets/296#296Answer by Clinton Blackmore for I'd like to learn how to make my own USB gadgetsClinton Blackmore2009-11-09T17:59:26Z2009-11-09T17:59:26Z<p>Another device I've wanted to look into is the <a href="http://www.atmel.com/dyn/products/tools%5Fcard.asp?tool%5Fid=3879" rel="nofollow">AT90USBKey</a>. It has been a while since I've looked into it, and I'm not certain if you can program for it without Windows, but it will act as a USB device (like a keyboard or mass storage device) or as a USB host that you plug other devices into. There are sample programs available, and it looks reasonably easy to work with, provided you know a little bit about electronics and can code in C.</p>
<p>A google search for AT90USBKey and Linux yileds promising results.</p>
<p>I know you can get it from <a href="http://search.digikey.com/scripts/DkSearch/dksus.dll?lang=en&site=CA&WT.z%5Fhomepage%5Flink=hp%5Fgo%5Fbutton&KeyWords=at90usbkey&x=0&y=0" rel="nofollow">DigiKey.ca</a>. I looked up a <a href="http://digikeyasia.blogspot.com/" rel="nofollow">digikey equivalent for Asia</a>; you can get the part from <a href="http://www.farnell.com/" rel="nofollow">Farnell</a>.</p>
http://chiphacker.com/questions/267/id-like-to-learn-how-to-make-my-own-usb-gadgets/271#271Answer by Clinton Blackmore for I'd like to learn how to make my own USB gadgetsClinton Blackmore2009-11-07T14:25:51Z2009-11-07T14:55:14Z<p>The <a href="http://www.arduino.cc/" rel="nofollow">Arduino</a> is really popular, and it is open-source hardware, so <a href="http://arduino.cc/en/Main/Hardware" rel="nofollow">there are variations</a>, including the third-party <a href="http://moderndevice.com/freeduino" rel="nofollow">Freeduinos</a> called <a href="http://moderndevice.com/" rel="nofollow">Bare Bones Board</a>, the <a href="http://moderndevice.com/RBBB%5FrevB" rel="nofollow">Really Bare Bones Board</a>, and the <a href="http://www.ladyada.net/make/boarduino/" rel="nofollow">Boarduino</a>, which are very nice for using with breadboards. The standard Arduino is adapted using things called Shields. You can <a href="http://todbot.com/blog/2006/07/11/arduino-breadboard-shield/" rel="nofollow">make your own breadboard shield</a> or buy something like this <a href="http://www.sparkfun.com/commerce/product%5Finfo.php?products%5Fid=7914" rel="nofollow">ProtoShield Kit.</a></p>
<p>The Arduino uses an <a href="http://www.ftdichip.com/" rel="nofollow">FTDI</a> USB-RS232 chip or cable. [The standard Arduino has it build in, while the most of the bread board ones use a special cable that has the chip inside, and saves you some money.] There is a built-in driver for Linux, and Mac OS X and Windows users can download a driver. Effectively, this means that the Arduino acts as a device communicating on a serial port, and so it is very easy to communicate with.</p>
<p>To use it, you also download software. It comes with an IDE, an AVR-GCC toolchain, a really nice library, and software to upload your program on to the chip. It hides most of the details from you, and has a great community. It is programmed in a language called "Wiring", but it is really C++.</p>
<p>Lastly, being open-source hardware, there are schematics out there. Indeed, I seem to recall reading that it was fairly easy to build an earlier model. Searching for "Arduino schematics" in your favourite search engine will give you good results.</p>
<p>As for kits, the <a href="http://www.makershed.com/" rel="nofollow">Maker Shed</a> offers a lot of <a href="http://www.makershed.com/SearchResults.asp?Cat=43" rel="nofollow">Arduino-related items</a> in stock. They appear to ship around the world. Some ones of interest include:</p>
<ul>
<li><a href="http://www.makershed.com/ProductDetails.asp?ProductCode=MSAPK2" rel="nofollow">Advanced Arduino Starter Kit</a></li>
<li><a href="http://www.makershed.com/ProductDetails.asp?ProductCode=MKSP8" rel="nofollow">Arduino Electronic Brick - Starter Kit</a></li>
<li><a href="http://www.makershed.com/ProductDetails.asp?ProductCode=MSAPK" rel="nofollow">Arduino Projects Pack</a></li>
<li><a href="http://www.makershed.com/ProductDetails.asp?ProductCode=MKSP9" rel="nofollow">Arduino Protoshield Kit</a></li>
<li><a href="http://www.makershed.com/ProductDetails.asp?ProductCode=MSGSA" rel="nofollow">Getting Started with Arduino Kit</a></li>
</ul>
<p>The <a href="http://wulfden.org/TheShoppe/freeduino/starting.shtml" rel="nofollow">Shoppe at Wulfden</a> (USA) has a nice experimenters kits, and appears to ship internationally.</p>
<p><a href="http://www.solarbotics.com/" rel="nofollow">Solarbotics</a> (Canada) has a <a href="http://www.solarbotics.com/products/ardx/" rel="nofollow">ARDX Arduino Experimenter's Kit</a>, a <a href="http://www.solarbotics.com/products/28931/" rel="nofollow">Freeduino Starter Bundle - Ultimate</a> and an <a href="http://www.solarbotics.com/products/28935/" rel="nofollow">Arduino Starter Bundle - Basic</a> (and <a href="http://www.solarbotics.com/products/28936/" rel="nofollow">Ultimate</a>), and appears to ship internationally.</p>
<p><strong>The <a href="http://arduino.cc/en/Main/Buy" rel="nofollow">main Arduino's "buy" page</a> lists Arduino vendors in all areas of the globe.</strong></p>
<p>Other places I would check include <a href="http://www.adafruit.com/index.php?main%5Fpage=index&cPath=19" rel="nofollow">Adafruit Industries</a> (in the US), <a href="http://www.hvwtech.com" rel="nofollow">HVW Technologies</a> (in Canada), and <a href="http://www.sparkfun.com" rel="nofollow">Sparkfun Electronics</a> (in the US).</p>
http://chiphacker.com/questions/229/blinkm-temperature-indicator/231#231Answer by Clinton Blackmore for BlinkM temperature indicator Clinton Blackmore2009-11-05T22:26:00Z2009-11-05T22:26:00Z<p>The link to the write-up went through a re-direct and doesn't come out right. I do believe it is this:</p>
<ul>
<li><a href="http://www.adafruit.com/blog/2008/02/03/valenthrowiem-tempm/" rel="nofollow">ValenThrowieM + TempM</a></li>
</ul>
http://chiphacker.com/questions/167/iphone-hardware-serial-port-access/169#169Answer by Clinton Blackmore for Iphone hardware serial port access Clinton Blackmore2009-11-03T02:01:33Z2009-11-03T02:01:33Z<p>This looks like what you want:</p>
<p><a href="http://devdot.wikispaces.com/Iphone+Serial+Port+Tutorial" rel="nofollow">http://devdot.wikispaces.com/Iphone+Serial+Port+Tutorial</a></p>
http://chiphacker.com/questions/146/using-the-iphone-to-control-a-remote-controlled-car-via-arduino/154#154Answer by Clinton Blackmore for Using the iPhone to control a remote controlled car via ArduinoClinton Blackmore2009-11-02T22:30:03Z2009-11-02T22:30:03Z<p>The biggest problem you've got is how to get data from the iPhone to the Arduino. The main possibilities are to:</p>
<ul>
<li><p>Physically interface the iPod Touch/iPhone to the Arduino. (<a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1207058161" rel="nofollow">See this thread</a>).</p></li>
<li><p>Send a signal from the iPod Touch/iPhone via WiFi (or, I believe, from the iPhone via Bluetooth) to a computer (likely running a webserver) or directly to the Arduino (provided it has additional hardware to receive bluetooth or WiFi signals.) (<a href="http://hackedgadgets.com/2008/10/20/iphone-controlled-rc-car-using-an-arduino/" rel="nofollow">See this blog entry</a>).</p></li>
</ul>
http://chiphacker.com/questions/147/joystick-with-the-arduino/152#152Answer by Clinton Blackmore for Joystick with the ArduinoClinton Blackmore2009-11-02T22:20:05Z2009-11-02T22:20:05Z<p>I'm assuming you are using a non-USB joystick. </p>
<p>See <a href="http://www.built-to-spec.com/blog/2009/09/10/using-a-pc-joystick-with-the-arduino/" rel="nofollow">http://www.built-to-spec.com/blog/2009/09/10/using-a-pc-joystick-with-the-arduino/</a></p>
http://chiphacker.com/questions/26/applescript-and-arduino/86#86Answer by Clinton Blackmore for Applescript and ArduinoClinton Blackmore2009-11-01T01:48:09Z2009-11-01T02:04:58Z<p>The USB cable used to connect your Mac to the Arduino acts as a serial port, and can be used for communication. (For example, see <a href="http://www.gardenvillesoftware.com/?q=node/4" rel="nofollow">Make an Arduino talk to your Mac</a>).</p>
<p>Here is a thread that appears relevant: <a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1201066343" rel="nofollow">AppleScript serial communication with arduino</a></p>
<p>Or, you could go see this blog entry: <a href="http://todbot.com/blog/2006/12/06/arduino-serial-c-code-to-talk-to-arduino/" rel="nofollow">Arduino-serial: C code to talk to Arduino</a>. You could compile the application [downloading xcode, first, if needs be] and then use it to communicate from applescript by using the "<a href="http://developer.apple.com/mac/library/technotes/tn2002/tn2065.html" rel="nofollow">do shell script</a>" command. </p>
http://chiphacker.com/questions/83/ir-remote-code-for-arduino/88#88Answer by Clinton Blackmore for IR Remote code for ArduinoClinton Blackmore2009-11-01T01:55:56Z2009-11-01T01:55:56Z<p>This might help: <a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1209565937" rel="nofollow">http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1209565937</a></p>
<p>I suspect the Mac Mini will not respond to the same sort of signals that your audio equiptment does.</p>
http://chiphacker.com/questions/2024/is-there-a-scratch-like-arduino-ide/2111#2111Comment by Clinton BlackmoreClinton Blackmore2010-05-27T20:11:36Z2010-05-27T20:11:36ZIt is easier to use Catenary with Build Your Own Blocks. See <a href="http://robotclub.ab.ca/blog/27/code-blocks-electronic-bricks-and-lego-beams" rel="nofollow">robotclub.ab.ca/blog/27/…</a>http://chiphacker.com/questions/2024/is-there-a-scratch-like-arduino-ide/2113#2113Comment by Clinton BlackmoreClinton Blackmore2010-03-31T23:12:34Z2010-03-31T23:12:34ZInteresting. Unfortunately, it does not look like something I can leverage for my purposes.http://chiphacker.com/questions/2024/is-there-a-scratch-like-arduino-ide/2111#2111Comment by Clinton BlackmoreClinton Blackmore2010-03-31T21:36:26Z2010-03-31T21:36:26ZScratch will communicate with other programs via sockets! That's amazing!http://chiphacker.com/questions/2024/is-there-a-scratch-like-arduino-ide/2111#2111Comment by Clinton BlackmoreClinton Blackmore2010-03-31T19:16:50Z2010-03-31T19:16:50ZThat's interesting. Interesting indeed.http://chiphacker.com/questions/2036/beginners-logic-analyzer/2037#2037Comment by Clinton BlackmoreClinton Blackmore2010-03-29T18:31:33Z2010-03-29T18:31:33ZOh, man, that's cool. I didn't even know I needed one until now! And it works as an AVR programmer, too.http://chiphacker.com/questions/2055/any-good-suggestions-for-a-beginning-electronics-class-for-youth/2071#2071Comment by Clinton BlackmoreClinton Blackmore2010-03-29T14:12:29Z2010-03-29T14:12:29Z@DoxaLogos - I'm glad I could share. I can't wait to here what you and others come up with.http://chiphacker.com/questions/2041/continuous-rotation-servo-vs-dc-motorComment by Clinton BlackmoreClinton Blackmore2010-03-25T20:33:50Z2010-03-25T20:33:50Z@endolith The chart on <a href="http://www.ikalogic.com/H_bridge_1.php" rel="nofollow">ikalogic.com/H_bridge_1.php</a> shows the four modes of operation of an H-Bridge -- the motor turns forward/clockwise, the motor turns in reverse/counter-clockwise, the motor has active braking applied to it, or the motor is freewheeling or coasting.http://chiphacker.com/questions/2041/continuous-rotation-servo-vs-dc-motorComment by Clinton BlackmoreClinton Blackmore2010-03-25T16:14:32Z2010-03-25T16:14:32Z@endolith Really? I'd never heard of doing that. I can see that it could be done if you had a chip on the other end to decode the signal and re-encode it on two pins (foward/backward and a new PWM signal) sent on to an H-Bridge.http://chiphacker.com/questions/2028/newbie-friendly-electronics-and-robotics/2034#2034Comment by Clinton BlackmoreClinton Blackmore2010-03-24T23:23:26Z2010-03-24T23:23:26ZThat's a nice little bot.http://chiphacker.com/questions/2024/is-there-a-scratch-like-arduino-ide/2026#2026Comment by Clinton BlackmoreClinton Blackmore2010-03-24T17:49:42Z2010-03-24T17:49:42ZWow! I'm going to have to look into that some more. http://chiphacker.com/questions/1597/batteries-for-12-to-24-v-motors/1598#1598Comment by Clinton BlackmoreClinton Blackmore2010-02-15T19:47:08Z2010-02-15T19:47:08ZA car battery is 50 AH? Good heavens. http://chiphacker.com/questions/1561/how-do-i-physically-work-with-a-hobby-motor/1568#1568Comment by Clinton BlackmoreClinton Blackmore2010-02-04T17:38:19Z2010-02-04T17:38:19ZAn excellent idea. Thank you.http://chiphacker.com/questions/1561/how-do-i-physically-work-with-a-hobby-motor/1562#1562Comment by Clinton BlackmoreClinton Blackmore2010-02-04T17:37:02Z2010-02-04T17:37:02ZNow that is interesting. I happen to have some Shapelock, and I really haven't done much with it. (At the moment, I'm just trying to build a simple robot, as a practice before trying to build a rather larger robot. If I actually get anywhere with this, and remember, I'd be happy to post some details.)http://chiphacker.com/questions/1192/visualizing-sensor-data-with-osx/1273#1273Comment by Clinton BlackmoreClinton Blackmore2010-01-01T15:07:43Z2010-01-01T15:07:43ZHow did you get RRDtool installed? Did you compile RRDtool and its dependencies from source, use fink/homebrew/etc, or find pre-compiled binaries?http://chiphacker.com/questions/1270/electronics-kits-any-requests/1271#1271Comment by Clinton BlackmoreClinton Blackmore2009-12-27T15:46:45Z2009-12-27T15:46:45ZI'd say, 'let me send the data in parallel, then', but the microcontrollers I want to use probably aren't fast enough to really make it worthwhile.