RobotGeek Basic+ (Plus) Experimenter's Kit Getting Started Guide

If you haven't already, make sure to go through the Geekduino Getting Started Guide to get your libraries and hardware setup.

  1. Hardware Required
  2. Wiring
  3. Power
  4. Running the Code
  5. Functions used in this example

Let's get up and and moving with the RobotGeek Basic+ Experimenter's Kit! This guide will be covering the setup and usage of the RobotGeek Basic+ Experimenter's Kit Test Code. The test code we have prepared lets you make sure your RobotGeek sensors are working as expected, while covering some of the things you can do with your sensors with some basic coding in Arduino. Be sure to read the //comments in the code so you can learn about what's going on behind the scenes.

RobotGeek 101

Are you ready to dive even deeper into the world of Arduino? Then take a look at Robotgeek 101! RobotGeek 101 is a step by step guide that will teach you how to build, wire, and program your Geekduino/Arduino. Through RobotGeek 101 you will learn the basics of Arduino like digital input and output, and move on to more advanced topics like PWM and servo control. By the end of RobotGeek 101 you'll be well equipped to start modifying our demo code and creating your own custom applications.

RobotGeek 101

1. Hardware Required

2. Wiring

  1. Connect your components as shown here. b_500_500_16777215_00__images_tutorials_experimenters_basicplus_basicpluswire-a.png
    Device Sensor Shield Port
    Servo 1 FS90 Micro Servo Digital 9
    Analog Sensors
    Light Sensor 1 RobotGeek Light Sensor Analog 0
    Knob 2 RobotGeek Rotation Knob Analog 1
    Slider 1 RobotGeek Slider Analog 2
    Voltage Divider + FSR 1 RobotGeek Votage Divider.5 Inch FSR Analog 3
    Joystick 1 Horizontal AxisRobotGeek Joystick Analog 6
    Joystick 1 Vertical AxisRobotGeek Joystick Analog 7
    Digital Sensors
    Button 1 RobotGeek Pushbutton Digital 2
    Button 2 RobotGeek Pushbutton Digital 4
    Button 3 RobotGeek Pushbutton Digital 7
    Relay 1 RobotGeek Relay Digital 8
    Tilt 1 RobotGeek Tilt Switch Digital 12
    Knob 1 RobotGeek Rotation Knob Digital 13
    Buzzer 1 RobotGeek Buzzer Digital PWM 3
    LED 1 RobotGeek LED Driver Digital PWM 10
    LED 2 RobotGeek LED Driver Digital PWM 6
    I2C Devices
    LCD 1 RobotGeek LCD Module I2C (Pins 4 and 5)
    Backlight RobotGeek LCD Module Digital PWM 5
  2. Open basicPlusExperimentersKitTest in the Arduino IDE. You can find this sketch under
    File > Sketchbook > RobotGeek sketches > Tests > basicPlusExperimentersKitTest
  3. Connect a micro USB cable from your computer to your Geekduino
  4. Load basicPlusExperimentersKitTest onto your board using the upload button in the Arduino IDE.
  5. Once loaded, you have the option of either disconnecting the USB cable from your computer and powering the Geekduino using a 6 Volt 2 Amp Power Supply, or keeping your Geekduino plugged in via USB for power.

3. Power

In step 5, you were given the option to power your Geekduino via either a USB connection or a Power Supply. There are good reasons to use a power supply, and there is a purpose for those little jumpers in the middle of the PWM pins column. In this demonstration, the 5 volts from the Geekduino's regulator from a USB power source is fine for running the single micro servo we have connected, but what if you had more servos, or servos that require more than 5 volts to operate? This is where the jumpers and a power supply come in.


Pay close attention to the jumpers. For this demo code, we have both jumpers set to 5V. All of the devices running on the PWM pins are rated for 5V, and with the exception of the servo, any higher voltage will damage the devices. Make sure you have both jumpers set to 5V before connecting the power supply.

4. Running the Code

  1. Rotation Knob 1 is used as an ON/OFF switch, allowing you to engage and disengage the Environmental Sensors (Light and Tilt). This is an example of using an Analog Input with Digital Signal. Rotating the knob all the way to the left sets the input to off, while rotating it all the way to the right sets it to on. In the middle, the input is undefined, and typically acts as if it is off, though it is technically recieving a voltage more than 0V and less than 5V due to the physical properties of the potentiometer.
  2. Button 1 allows Rotation Knob 2 to control the position of Servo 1, and Displays Servo 1's position on the LCD.
  3. Button 2 allows Slider 1 to display a bar graph and its analog value on the LCD and controls the brightness of LED 2
  4. Button 3 displays the X and Y axis positions of Joystick 1 on the LCD.
  5. Tilt Switch 1 turns Relay 1 on for a second when the sensor is jostled.
  6. Voltage Divider and FSR 1 increases the pitch of the tone playing from Buzzer 1 and increases the brightness of LED 1 as the pressure on FSR 1 increases.

This code is just an example of a limited set of things you can do with your RobotGeek Sensors. It is recommended that you not only look at the code, but make alterations to it. Experiment! Can you change the behavior of the buttons? What if you want the slider to control the Servo instead of the LED? Instead of the joystick reading out on the LCD, can you make it move a cursor around the screen? What can you attach to the Relay? What would you do if you wanted to see the Analog reading from the FSR? There's loads you can do with so many sensors. Play around with it, take notes on what you changed, and you'll be making your own projects in no time!

5. Functions used in this example

Feedback Form