Tutorial.EsploraLightCalibrator History

Hide minor edits - Show changes to markup

December 24, 2012, at 03:05 AM by Tom Igoe -
Changed line 17 from:

microphone, slider, light sensor and RGB led on the Esplora

to:

light sensor and RGB led on the Esplora

December 24, 2012, at 03:04 AM by Tom Igoe -
Changed lines 15-17 from:

Connect the Esplora to your computer with a USB cable and open the Arduino's Serial Monitor.

to:

Only your Arduino Esplora is needed for this example. Connect the Esplora to your computer with a USB cable and open the Arduino's Serial Monitor.

microphone, slider, light sensor and RGB led on the Esplora

December 23, 2012, at 08:21 PM by Scott Fitzgerald -
Changed lines 25-40 from:

To calibrate the sensor, create a new function called calibrate. To do this, outside of the loop(), type

to:

Use Esplora.readButton() to see if button 1 is being pressed. If it is, call the calibrate() function you'll be writing below.

To read the light sensor, use Esplora.readLightSensor(). This will give you a value between 0 and 1023, which will be stored in a variable.

You'll want to map the value from the sensor to a range that is appropriate for the LED using your maximum and minimum range. The map() function takes 5 arguments, the original value, the minimum value of the sensor, the maximum value of the sensor, the minimum value of the LED (0), and the maximum value of the LED (255). Store this value in a new variable named brightness.

The map() function doesn't limit the values to 0 and 255. If you happen to get sensor readings outside your maximum and minimum values, map() would return values less than 0 or higher than 255. To make sure you stay in that range, call constrain().

To change the color of the LED with your new value between 0 and 255, call Esplora.writeBlue().

Once the light has been calibrated, send the values to the Serial Monitor by calling Serial.print(). You should start to see values reported like this :
light sensor level: 256 blue brightness: 10

These values will not print to the Serial Monitor until you've calibrated the sensor, and the calibrated variable is set to true.

To create your own function called calibrate. To do this, outside of the loop(), type

Changed lines 47-54 from:

To send the values to the Serial Monitor, you call Serial.print(). When the Esplora is connected, and the Serial Monitor is open, you should start to see values reported like this :
Joystick X: 0 Joystick Y: 0 Button: 0

To get numbers appropriate for moving the mouse, use the map() function to scale the joystick values, saving these numbers into new variables.

to:

This creates a function named calibrate. All the code you write between the brackets will now be executed whenever you call calibrate() in your sketch.

In calibrate(), use while() to run the code aslong as the button is pressed.

Read the value of the sensor, and save it in a variable. Initially, you had set the minimum value high. Compare the light sensor value for anything lower than that, saving it as the new minimum. Likewise, you set the maximum low and read for anything higher as the new maximum.

Set the calibration variable to true while you're calibrating.

When you release the button, calibrate() will stop running and return to the loop().

Changed line 59 from:
to:
Changed lines 64-69 from:
to:
December 23, 2012, at 07:41 PM by Scott Fitzgerald -
Added lines 1-52:

Share