I’ve just recently begun to get involved with FTC/FRC as an event volunteer, and was thinking it might be fun to get involved with a team as well (as a technical mentor - I’m an electrical engineer).
The thing is, I haven’t had much opportunity to play around in the robotics arena, so I’d like to do some fiddling on my own first…any recommendations for affordable home kits that I could play around with that would allow me to brush up on my programming and electrical skills a bit? Ideally something with skills/languages that would translate well to what kids are learning on these teams. I’m a little rusty, so I don’t want to inflict myself on some poor unsuspecting teenager without some review first!
Agreed on Arduino…definitely a very robust and flexible platform programmed in C.
I’m biased of course, but I think our RobotOpen Framework is a great place to start. Our hardware is really great too, but not the cheapest.
However, the RobotOpen Framework runs on any Arduino and is compatible with our driver station app.
This combo would give you access to all of the common FRC interfaces, including pneumatics and the ability to control them remotely with a laptop and a gamepad.
Arduino is very easy to get used to and learn. Tons of peripherals for it too.
EDIT: You can buy Arduino clones on ebay for a fraction of the name-brand price; $15 for a “Funduino” Mega as opposed to $50 retail for an actual Arduino.
I highly recommend the Mega. If you go with a clone it’s only a couple bucks more, and the extra pins are really worth it.
RaspberryPi! Its cheap and you can do a lot with it. I’d put it a step above the arduino though as it is a computer in and of itself and you need to know/figure out how to use Linux.
It depends on whether your need is raw I/O or computing performance and Linux (for sockets). If your need is raw I/O the Arduino’s Atmel microcontroller will be better suited than the Raspberry Pi. If your need is more computing performance and Linux (sockets) oriented the Raspberry Pi is probably a better bet.
Currently using the Yun as a web server for a simple control page with HTML5 and Javascript to do automation over the Internet.
It is a little of both performance and raw I/O because it is both…it’s got both an Atmel microcontroller and Atheros (ARM) system on a chip. This enables the Yun to do WiFi while at the same time offloading more real time I/O efforts to the Arduino. Basically this is a $75 remote robot control board at RadioShack
While I am using the Yun to act as a webserver for static pages, one can also use it to service a REST API such that you can use HTTP to make programmatically driven requests to it. So one could use this to…merely for example…make a FIRST like robot and field system or Internet enable your home.
Course one could do this previously with a USB WiFi dongle, a Raspberry PI and an Arduino board all together for higher cost and more integration effort. One could also hack a WiFi router hardware and software and attach an Arduino to that. However in this case it is just handed to you on a silver platter.
The only thing the Yun is missing now is an FPGA integrated into it. However I have lots of Altera and Xilinx FPGA boards I made and bought floating around so that’s not much of an issue. One should be able to reconfigure an EEPROM for an FPGA from an Arduino which ought to mean that a WiFi update of the FPGA via the Yun’s Arduino would be possible. Such that the entire system could be reconfigured over WiFi.
Totally agree. My thought was since the raspberry pi was designed with learning programming in mind, based around python mainly, I though it would be a nice way to get introduced back to programming. There are a LOT of great tutorials for using it’s GPIO too just like arduino, so you shouldn’t have too much trouble with that. The only drawback I see is the fact that it uses 3v3 logic and in my opinion that makes simple things a little more risky with a lot of components being 5v, like servos. That being said since the OP was looking for an easy way to learn programming and basic electronics (not necessarily remote control a semi-complex robot) the pi is pretty good.
The level shifting is not all that hard to do with discrete MOSFETs or a level shifting IC.
Though be careful with timing sensitive I/O on the Raspberry Pi with Python. It can insert delays.
For the matter of ways to get back into embedded programming it’s hard to beat the price of an old Android telephone with touchscreen and accessories built in. It might be nearly free except for the energy to break inertia and pick it up.