This would be fairly basic introduction to the device. Topics would include what it’s capable of, how to get it running out of the box, how to use it as a basic computer, and how to use it for control.
I have one that I will use for demonstration, but if you have one you would like to bring, please do! Be aware that it is a computer, and will need at least a monitor and keyboard, and preferably a mouse. For out of the box installations without a kit, you’ll also need a microSD card. 8GB is what is usually included in kits, but a 16GB card is only a few dollars more.
It is now on the calendar for November 8 at 5:00 PM!
I am still learning what to do with either of those two… But I’m pretty much to the point where I am thinking if I need a full fledged ‘computer’ then I should use a Pi, but if I am looking to just write some code to do some specific mechanical task, automated, over and over again… I can use just an Arduino.
That’s a good way to put it! Another advantage is that the Pi has networking (native). This makes it a good choice for remote automation too. For example, I’m thinking of wiring up some lights in my room that I can turn on with my phone.
Yeah my previous statement to people was… “If you want to control something mechanically then all you need is an Arduino, but if you want to control that something from around the world or the other side of your house then use a Pi.”
You assessment is absolutely spot on. It is definitely the practical applications of the two controllers. However, the Pi’s primary difference is that it has an OS running and the Arduino doesn’t. There are many things that can be done with an OS that a simple micro controller cannot, such as process and memory management, I/O management and network connectivity to name but a few.
Still, the Arduino has many many useful applications, too and frankly the cost of the UNO or even the DUE make it a very attractive controller to have. I own an XYZ printer that uses one for a controller. If you want a “computer” on a card the Pi is simply hard to beat. I know there are others who would prefer something else such as the BeagleBone, but the PI, especially the PI2, is a pretty cool computer.
My first encounter with the Raspberry Pi at DMS was at the Open House in Jan. One of the members had created a super computer composed of 64 PIs. (Pi2 had not come out yet) He demonstrated some computational capabilities I hadn’t seen on a computer like the Pi before. I worked for a number of years for Convex Super Computers where parallel programming was our forte. At the time connecting eight high speed CISC processors together and runing BSD Unix on them was a challenge. Now we take that level of computing for granted and it can be done on a Raspberry Pi.
In any case, I love both the PI and the Arduino. Both are a lot of fun to program. I’ve even seen systems where the PI manages a group of Arduinos for various system controls purposes such as heating/AC, surveillance, or water management. A amazing accomplishment to produce a viable computer for less than the cost of some USB thumb drives.
Been typing this up while other responses came in and work has interrupted me. Hopefully something still useful in here.
Typically, there are real time situations where you absolutely need things to happen within a specific amount of time and typically this is where you’d probably want to go microcontroller. On a Single Board Computer (SBC, Pi/BBB, etc.), your code could lose cycles to some other OS process etc. and you could miss out on running your code at the desired time. This could cause a stepper motor to stall out for instance.
There are a lot of situations that don’t have real time constraints and a SBC might be easier to achieve your goals in many of those. For instance, you might want to host a webservice that reads the temperature off of a little device and reports back to the client. You could leverage existing libraries in multiple languages and pick from a slew of application servers that you could get running on your SBC. While in theory you could also do this with an Arduino with Ethernet shields etc., you’d probably end up with an Arduino that’s more expensive than a lot of SBC’s and you’d be pretty limited on the number of libraries and languages you could use.
On a personal project I’m playing with (from time to time), I’m trying to use a hybrid approach. The Beagle Bone Black essentially has 2 little microcontrolelrs built into its CPU (Programmable Realtime Units, AKA PRU’s). The learning curve on this is really rough though. I’m wanting to send signals to galvanometers to move a laser beam and need to bit-bang SPI DAC’s as fast as I can. Ignoring clock speeds, I could do this on something like a Teensy 3.0 (my favorite Arduino clone) and achieve a good rate. I’m wanting to go the BBB/PRU route though because I might decide I want some fairly complicated code sending signals to the galvanometers. Patching the MAME code for instance and playing Asteroids on a wall might be something I want to do with the galvanometers. Getting MAME to run on a Microcontroller would be absolutely non-trivial/impossible.
And to even further complicate matters, SBC/FPGA (LogiBone/LogiPi for instance) and microcontroller/FPGA (Papilio Duo) options are out there now that can handle even more specific situations REALLY well. But FPGA’s are an entirely different learning curve.
Thanks! I have one that I’m going to use, I think that will suffice. They certainly need more peripherals than arduinos, makes things more complicated.