From 0251b914f276982c0dfa02548155b94b955e2055 Mon Sep 17 00:00:00 2001 From: Peli de Halleux Date: Fri, 30 Aug 2019 15:03:09 -0700 Subject: [PATCH] color sensor examples (#894) * tank zigzag * reflected light measure * adding links * added reflected light calibration * updated summary --- docs/SUMMARY.md | 3 ++ .../tutorials/reflected-light-calibration.png | Bin 0 -> 7181 bytes .../tutorials/reflected-light-measure.png | Bin 0 -> 12373 bytes docs/static/tutorials/tank-zigzag.png | Bin 0 -> 19211 bytes docs/tutorials/color-sensor.md | 12 ++++++++ docs/tutorials/motors.md | 6 ++++ docs/tutorials/reflected-light-calibration.md | 24 +++++++++++++++ docs/tutorials/reflected-light-measure.md | 29 ++++++++++++++++++ docs/tutorials/tank-zigzag.md | 17 ++++++++++ 9 files changed, 91 insertions(+) create mode 100644 docs/static/tutorials/reflected-light-calibration.png create mode 100644 docs/static/tutorials/reflected-light-measure.png create mode 100644 docs/static/tutorials/tank-zigzag.png create mode 100644 docs/tutorials/reflected-light-calibration.md create mode 100644 docs/tutorials/reflected-light-measure.md create mode 100644 docs/tutorials/tank-zigzag.md diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index a27cf9d6..8681d895 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -19,11 +19,14 @@ * [What Animal Am I?](/tutorials/what-animal-am-i) * [Music Brick](/tutorials/music-brick) * [Run Motors](/tutorials/run-motors) + * [Tank ZigZag](/tutorials/tank-zigzag) * [Touch to Run](/tutorials/touch-to-run) * [Touch Sensor Values](/tutorials/touch-sensor-values) * [What Color?](/tutorials/what-color) * [Line Following](/tutorials/line-following) * [Red Light, Green Light](/tutorials/redlight-greenlight) + * [Reflected Light Measure](/tutorials/reflected-light-measure) + * [Reflected Light Calibration](/tutorials/reflected-light-calibration) * [Object Near?](/tutorials/object-near) * [Security Alert](/tutorials/security-alert) diff --git a/docs/static/tutorials/reflected-light-calibration.png b/docs/static/tutorials/reflected-light-calibration.png new file mode 100644 index 0000000000000000000000000000000000000000..f48830934ca736f69ec201ff798102b6f42f53a6 GIT binary patch literal 7181 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 literal 0 HcmV?d00001 diff --git a/docs/static/tutorials/reflected-light-measure.png b/docs/static/tutorials/reflected-light-measure.png new file mode 100644 index 0000000000000000000000000000000000000000..66fb98d24786f9ab56898b9cb11dbda7427c6a32 GIT binary patch literal 12373 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 N22WQ%mvv4FO#lX(3se9A literal 0 HcmV?d00001 diff --git a/docs/tutorials/color-sensor.md b/docs/tutorials/color-sensor.md index 42c5efb4..2caf8f1d 100644 --- a/docs/tutorials/color-sensor.md +++ b/docs/tutorials/color-sensor.md @@ -21,6 +21,18 @@ "cardType": "tutorial", "url":"/tutorials/redlight-greenlight", "imageUrl":"/static/tutorials/redlight-greenlight.png" +}, { + "name": "Reflected Light Measure", + "description": "Teach the sensor what light or dark is.", + "cardType": "example", + "url":"/tutorials/reflected-light-measure", + "imageUrl":"/static/tutorials/reflected-light-measure.png" +}, { + "name": "Reflected Light Calibration", + "description": "Use the auto-calibration feature to setup the dark and bright values.", + "cardType": "example", + "url":"/tutorials/reflected-light-calibration", + "imageUrl":"/static/tutorials/reflected-light-calibration.png" }] ``` diff --git a/docs/tutorials/motors.md b/docs/tutorials/motors.md index 32e180de..7607bb95 100644 --- a/docs/tutorials/motors.md +++ b/docs/tutorials/motors.md @@ -9,6 +9,12 @@ "cardType": "tutorial", "url":"/tutorials/run-motors", "imageUrl":"/static/tutorials/run-motors.png" +}, { + "name": "Tank ZigZag", + "description": "Use the tank block to keep motors in sync.", + "cardType": "example", + "url":"/tutorials/tank-zigzag", + "imageUrl":"/static/tutorials/tank-zigzag.png" }] ``` diff --git a/docs/tutorials/reflected-light-calibration.md b/docs/tutorials/reflected-light-calibration.md new file mode 100644 index 00000000..4bca31dd --- /dev/null +++ b/docs/tutorials/reflected-light-calibration.md @@ -0,0 +1,24 @@ +# Reflected light calibration + +The ``calibrateLight`` blocks allows you to calibrate the reflected light of the color sensor in one block. Start the block and move the sensor over the dark and bright surface; then stop moving it. + +```blocks +sensors.color3.onLightDetected(LightIntensityMode.Reflected, Light.Dark, function () { + brick.showString("dark", 2) +}) +sensors.color3.onLightDetected(LightIntensityMode.Reflected, Light.Bright, function () { + brick.showString("bright", 2) +}) +console.sendToScreen() +console.log("move color sensor") +console.log("over DARK and BRIGHT color") +console.log("and stop moving when done") +console.log("press ENTER when ready") +brick.buttonEnter.pauseUntil(ButtonEvent.Pressed) +sensors.color3.calibrateLight(LightIntensityMode.Reflected) +brick.showValue("dark", sensors.color3.threshold(Light.Dark), 4) +brick.showValue("bright", sensors.color3.threshold(Light.Bright), 5) +forever(function () { + brick.showValue("reflected light", sensors.color3.light(LightIntensityMode.Reflected), 1) +}) +``` \ No newline at end of file diff --git a/docs/tutorials/reflected-light-measure.md b/docs/tutorials/reflected-light-measure.md new file mode 100644 index 00000000..8a4a6148 --- /dev/null +++ b/docs/tutorials/reflected-light-measure.md @@ -0,0 +1,29 @@ +# Reflected light measure + +This example uses a color sensor to measure the reflected light on the dark and light surface +and set the light/dark thresholds. + +```blocks +sensors.color3.onLightDetected(LightIntensityMode.Reflected, Light.Dark, function () { + brick.showString("dark", 2) +}) +sensors.color3.onLightDetected(LightIntensityMode.Reflected, Light.Bright, function () { + brick.showString("bright", 2) +}) +console.sendToScreen() +console.log("move color sensor") +console.log("over DARK color") +console.log("press ENTER when ready") +brick.buttonEnter.pauseUntil(ButtonEvent.Pressed) +sensors.color3.setThreshold(Light.Dark, sensors.color3.light(LightIntensityMode.Reflected) + 5) +console.logValue("dark", sensors.color3.threshold(Light.Dark)) +console.log("move color sensor") +console.log("over BRIGHT color") +console.log("press ENTER when ready") +brick.buttonEnter.pauseUntil(ButtonEvent.Pressed) +sensors.color3.setThreshold(Light.Bright, sensors.color3.light(LightIntensityMode.Reflected) - 5) +console.logValue("bright", sensors.color3.threshold(Light.Bright)) +forever(function () { + brick.showValue("reflected light", sensors.color3.light(LightIntensityMode.Reflected), 1) +}) +``` \ No newline at end of file diff --git a/docs/tutorials/tank-zigzag.md b/docs/tutorials/tank-zigzag.md new file mode 100644 index 00000000..36c535d4 --- /dev/null +++ b/docs/tutorials/tank-zigzag.md @@ -0,0 +1,17 @@ +# Tank ZigZag + +This example shows how to use the [tank](/reference/motors/tank) block to keep the speed of 2 large motors synchronized. In this example, a [EV3 Driving Base](https://le-www-live-s.legocdn.com/sc/media/lessons/mindstorms-ev3/building-instructions/ev3-rem-driving-base-79bebfc16bd491186ea9c9069842155e.pdf) +) will move on a zig zag pattern. + +```blocks +/** + * Use the tank block to keep large motors synched. + Use this code with a EV3 driving base. + */ +forever(function () { + brick.showImage(images.eyesMiddleRight) + motors.largeBC.tank(50, 10, 2, MoveUnit.Rotations) + brick.showImage(images.eyesMiddleLeft) + motors.largeBC.tank(10, 50, 2, MoveUnit.Rotations) +}) +``` \ No newline at end of file