Getting Started on Your STEP Robot(s)
STEP teams have lots of options. And, that means, STEP teams need to establish a way to make decisions as a team. We’ll have more on that later. The focus now is on how to pull a basic STEP robot together.
STEP teams have the choice of basing their robot on either an Arduino open-source system or the VEX Cortex commercial system. The Arduino system is inexpensive and prolific. There are a gagillion helps, tutorials, and forums out there to get you past challenges. The VEX Cortex system is ridiculously expensive, but, it is hardened for some amount of rough treatment in robot competition. To make the decision even harder, STEP teams can deploy hybrid systems as well. If an individual wants to get into robotics and pay for things out of their own pocket, it is a no-brainer. Go with Arduino. But, STEP teams don’t have to actually pay for the equipment. So, there remains a choice to make.
Each team is given a budget with a hard-cap. Teams may allocate up to $750 STEP-Bucks to items on the Return Kit list and up to $250 STEP-Bucks to items on the Consumable Kit list. We’ll leave the Consumable Kit decisions for another time. There’s plenty to think about with just the Return Kit items. Basically, the budget will allow a team to either have six moderately equipped Arduino based robots, or one well equipped VEX based robot with an Arduino “sidekick,” or a few souped-up Arduino based terminators. Okay, clearly we’re biased here. But, why else would we have parted from our competition history (which has been VEX based for years) and introduce Arduino? In full transparency, Arduino teams will face challenges in managing connections and providing sustained motor power. However, since the Arduino is cheap enough for students to experiment at home ($20 for basic kit), the team will likely develop enough corporate expertise to figure out work around solutions.
Sequence of Decisions to Make
Choose a Microcontroller for Your Robot(s)
Choose DC Motors
A limit switch can be used to provide a discrete (on/off) input to the microcontroller. We’ll use SPDT switches which have three contacts (common, normally open, normally closed). When the lever is not being pressed, the common is connected to the normally closed. When the lever is pressed, the common is connected to the normally open.
The ultrasonic range sensor detects distance by sending out an ultrasonic burst and then listening for the echo. It can detect the distance to the closest object to the sensor between 5cm and a couple hundred cm (under ideal conditions)
There are two classic methods of detecting a magnetic field, the Hall Effect sensor, and a reed switch. A reed switch operates without regard to the polarity of the magnetic field. Ideally, the magnet will be parallel to the reeds. A Hall Effect sensor is even more particular about the orientation of the field. It further requires a relative change in the field.
Light can be sensed with something as simple as a photoresistor. Supporting electronics are often added to control sensitivity. Combining an emitter and a detector in close proximity allows you to detect a near object based on light reflected off of it.
An emitter/detector arrangement is a classic means of tracking a prescribed path on contrasting background. If you have white background and black tape path, you can program the robot to adjust trajectory anytime the sensor passes over the tape. Having multiple sensors on each side of the robot, allows the robot to maintain a straddle position while following the tape.
A Force Sensor can be created from a polymer material whose resistance/conductance properties change with applied pressure.
A display is not a sensor. We’re including it in this list none the less. A 7-segment Display will be useful in communicating very basic information from the microcontroller to the driver (or referee)
Choose Communication (for Arduino)
To communicate with your Arduino by WiFi, you’ll use a ESP8266 breakout board. Your real time controller for the robot will be your tablet, laptop, or smartphone. Blynk
is an app that you might use on your smartphone to create your human-machine interface.
You may choose to communicate with your robot using bluetooth. Your real time controller for the robot will be your tablet, laptop, or smartphone. Processing
is an open-source software that you might use to create your human-machine interface.
Get Busy Programming
Steps to get started on Arduino programming:
- goto https://www.arduino.cc/ and bookmark the page. It’s a goldmine!
- from there, download the latest version of the Arduino software.
- Install the software including any drivers it asks to install.
- Open the program and go to File-Examples-Basics-Blink
- Find “Blink” in the tutorials section of arduino.cc
- If you don’t have an Arduino board handy, do your experiments virtually at Circuits.io
Look for additional guides on our website soon.
Steps to get started on VEX programming:
- goto https://purduesigbots.github.io/purdueros/ and bookmark the page.
- Follow the Installation instruction CLOSELY. Simultaneously consult the PROS VEX programming playlist on YouTube
- You’ll probably need to walk through the VEXnet User’s Guide at vexrobotics.com.
Look for additional guides on our website soon.