Friday, May 22, 2015

Helpful Links

Links

Essential Components

Amazon: A good source for pre-fab kits and basic components. Amazon has is a good source for nearly any type of product you need, but is a generalist web-retailer. You may not find specialty components, or comprehensive documentation.

Jameco: Jameco is an electronics specialist web-retailer. You can find nearly any component you need for your project such as Raspberry-Pi kits, Beagle-Bone kits, Arduino-shields, and specialty component such as muscle wire (Flexinol, Nitinol, etc.), and great deals on basic components such as LEDs, resistors, etc.

Colpar Hobbies (Hobby Town USA in Lakewood, CO): Hands down one of the best hobby stores in the Denver area for the last 30 years. Great selection of RC components for planes and trucks, interesting science gadgets and gizmos, and even RPG/Wargamming. A great go-to when you need a local retailer

Microcenter: A computer component super-store near the DTC, with other locations across the country.. It's probably the best way to buy computer components from a brick-and-mortar. Has a selection of robotics components such as Arduino shields, Rasp-Pi kits, etc. Inconsistent stock however.

Kits and Microcontrollers

Lego NXT: Adds the magic of microcontrollers to your favorite building toy. NXT has it's own GUI-based programming software (Mindstorms), and supports C-based code, as well as blue-tooth (and now WiFi?) connectivity. Several different sensor modules exist, but it is not as robust as the following selections. It's a great start for prototyping if you have many Lego kits however.

Arduino: Probably the first widely accessible consumer grade micro-controller. Arduino was built specifically for robotics and automation. Many different "shields" exists - modular components that introduce different sensor modules, and connectivity solutions.

Raspberry-Pi: Not so much a competitor with Arduino as an alternative for firmware and software developers wishing to bridge the gap between electronic components and computers. R.P. seems to focus more on the programming side of robotics than controlling physical architecture.

Beagle Bone: The new kid on the block? - Beagle Bone is comparable to Raspberry-Pi in intended function, with a Linux basis.

Make: A comparison article on the different features of Arduino, Beagle-Bone, and Raspberry-Pi. This article does not quite "get" the purpose of any of the above boards, and also attempts to compare the Arduino Uno with the others - not really an equal comparisson, as the Arduino Uno is the (AFAIK) smallest unit meant primarilly for small micro-electronics, or simple 1-2 function controls.

Skills and Disciplines

Instructables: This site is one of the early "maker-movement" sites with a rich collection of user content and projects you can replicate, model, or borrow from.



Programming Extensions

MS C#: Microsoft's free edition of the C# programming language. Many extension libraries exist, and several of the micro-controllers listed above can accommodate C# code with the appropriate library editions.... (C# and Mindstorms, Bluetooth Communication with Mindstorms)

MS C++: Microsoft's free edition of C++ programming language. C++ is as bare-bones as it comes, but also has the smallest footprint in terms of required memory and storage. A very useful tool for programming simple controllers with analog feedback.

MS VisualBasic: An alternative to visual C# for application programming, but not as widely used in Robotics. The argument is less technical than preference and tradition based - VB is great for newer developers to build apps. C#/C++ tends to be smaller, faster, and more concise for physical applications. Also - consider your hardware. Arduino and C based languages fit very well together. VB is not frequently used and may not be supported by your components!

Python: Yes Microsoft has even adopted Python into it's Visual Studio release for 2013. Or if you are a purist you can get a non-MS Python distribution here. Python is a very accessible scripting language which supports the integration of many different applications and software platforms. To really "get" it you should watch lots of Montey Python's Flying Circus - here's a primer.

C++/C# vs VB: Technical Comparison, Op/Ed Comparison: Essentially if you want to develop application based solutions with your micro-controller you will want to A) determine if your hardware supports the language, and B) determine if your physical application can support the processing and storage requirements.
In terms of writing a user interface, C# and VB are essentially interchangeable! Under the hood they come from quite different places. In data-driven solutions, SQL will almost certainly play some part. SQL is a C-based scripting language. Although there are connectors for VB to access databases, consider the extra step involved in translating between base languages.


* Note that all of the above languages are available in the 2013 Express edition of Visual Studio. 

Modeling Extensions

Google Sketchup: A fantastic tool for creating 3-D models of your physical application fast! I highly recommend a gaming key-pad or similar programmable device - but definitely not a $200+ model. This program isn't quite a professional CAD system, but is completely free and can produce 3-D models that can be converted to files usable by 3-D printers, CNC mills, etc.


No comments:

Post a Comment