From 31e5383de43cad35b4ae4aa5a98773c403e15ccf Mon Sep 17 00:00:00 2001 From: FTC Engineering Date: Tue, 9 Jul 2019 12:09:30 -0400 Subject: [PATCH] Updated Using Sensors (Blocks) (markdown) --- Using-Sensors-(Blocks).md | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/Using-Sensors-(Blocks).md b/Using-Sensors-(Blocks).md index 34690c0..6e0b0b6 100644 --- a/Using-Sensors-(Blocks).md +++ b/Using-Sensors-(Blocks).md @@ -8,20 +8,20 @@ Note that it will take an estimated 15 minutes to complete this task. | Modifying the Op Mode to Display Distance | | ---- | | 1. Verify that your laptop is still connected to the Robot Controller’s Program & Manage Wi-Fi network. | -| 2. Verify that “MyFIRSTOpMode” is opened for editing. If it is not, you can click on the FIRST logo in the upper left hand corner of the browser window on the laptop. This should take you to the main FTC Blocks Development Tool project screen.

Click on the “MyFIRSTOpMode” project to open it for editing if it is not already opened. | -| 3. Click on the “Utilities” category on the left-hand side of your browser. Find and click on the “Telemetry” subcategory.

| -| 4. Select the “call telemetry.addData” block (the numeric version) and drag it to the spot in your “while” loop block immediately before the “telemetry.update” block.

| -| 5. Click and highlight the “key” text and change the text so it reads “Distance (cm)”.

| -| 6. Click and expand the “Sensors” category. Click on the “REV Color/Range Sensor” subcategory. Click on and select the “call sensorColorRange.getDistance” programming block.

Note that earlier versions of the FTC Blocks Programming tool refer to the REV Robotics Color-Distance Sensor as the "LynxI2cColorRangeSensor". Newer versions of the software refer to the device as the "REV Color/Range Sensor". | -| 7. Drag the “call sensorColorRange.getDistance” programming block to the “number” field of the “call telemetry.addData” programming block.

This will send the measured distance to the target in centimeters back to the Driver Station. | -| 8. Save your op mode and verify that it was saved successfully to the Robot Controller.

| -| 9. Follow the procedure outlined in the section titled [Running Your Op Mode](https://github.com/ftctechnh/ftc_app/wiki/Running-Your-Op-Mode) to run your updated op mode.

As you run the op mode, if you move your hand above the color light sensor, you should see the measured distance change on the Driver Station screen. If the expression “NaN” (not a number) is displayed on the Driver Station, the target is most likely out of range (and the sensor does not detect any reflected light). | +| 2. Verify that “MyFIRSTOpMode” is opened for editing. If it is not, you can click on the FIRST logo in the upper left hand corner of the browser window on the laptop. This should take you to the main FTC Blocks Development Tool project screen.

[[/images/Using-Sensors-(Blocks)/DistanceSensorStep2ControlHub.jpg]]

Click on the “MyFIRSTOpMode” project to open it for editing if it is not already opened. | +| 3. Click on the “Utilities” category on the left-hand side of your browser. Find and click on the “Telemetry” subcategory.

[[/images/Using-Sensors-(Blocks)/DistanceSensorStep3ControlHub.jpg]]

| +| 4. Select the “call telemetry.addData” block (the numeric version) and drag it to the spot in your “while” loop block immediately before the “telemetry.update” block.

[[/images/Using-Sensors-(Blocks)/DistanceSensorStep4ControlHub.jpg]]

| +| 5. Click and highlight the “key” text and change the text so it reads “Distance (cm)”.

[[/images/Using-Sensors-(Blocks)/DistanceSensorStep5ControlHub.jpg]]

| +| 6. Click and expand the “Sensors” category. Click on the “REV Color/Range Sensor” subcategory. Click on and select the “call sensorColorRange.getDistance” programming block.

[[/images/Using-Sensors-(Blocks)/DistanceSensorStep6ControlHub.jpg]]

Note that earlier versions of the FTC Blocks Programming tool refer to the REV Robotics Color-Distance Sensor as the "LynxI2cColorRangeSensor". Newer versions of the software refer to the device as the "REV Color/Range Sensor". | +| 7. Drag the “call sensorColorRange.getDistance” programming block to the “number” field of the “call telemetry.addData” programming block.

[[/images/Using-Sensors-(Blocks)/DistanceSensorStep7ControlHub.jpg]]

This will send the measured distance to the target in centimeters back to the Driver Station. | +| 8. Save your op mode and verify that it was saved successfully to the Robot Controller.

[[/images/Using-Sensors-(Blocks)/DistanceSensorStep8ControlHub.jpg]]

| +| 9. Follow the procedure outlined in the section titled [Running Your Op Mode](https://github.com/ftctechnh/ftc_app/wiki/Running-Your-Op-Mode) to run your updated op mode.

[[/images/Using-Sensors-(Blocks)/DistanceSensorStep9ControlHub.jpg]]

As you run the op mode, if you move your hand above the color light sensor, you should see the measured distance change on the Driver Station screen. If the expression “NaN” (not a number) is displayed on the Driver Station, the target is most likely out of range (and the sensor does not detect any reflected light). | ### Touch Sensor For this example, we assume that the REV Robotics Touch Sensor has been configured as a digital touch sensor in the Robot Controller's active configuration file. We will use the "isPressed" programming block to determine if the button on the sensor is currently pressed or not. -

+

[[/images/Using-Sensors-(Blocks)/REVTouchSensor.jpg]]

The Expansion Hub digital ports contain two digital pins per port. When you use a 4-wire JST cable to connect a REV Robotics Touch sensor to an Expansion Hub digital port, the Touch Sensor is wired to the second of the two digital pins within the port. The first digital pin of the 4-wire cable remains disconnected. @@ -32,14 +32,14 @@ Note that it will take an estimated 15 minutes to complete this task. | Modifying the Op Mode to Display Button (Touch Sensor) State| | ---- | | 1. Verify that your laptop is still connected to the Robot Controller’s Programming Mode Wi-Fi network. | -| 2. Verify that “MyFIRSTOpMode” is opened for editing. If it is not, you can click on the FIRST logo in the upper left hand corner of the browser window on the laptop. This should take you to the main FTC Blocks Development Tool project screen.

Click on the “MyFIRSTOpMode” project to open it for editing if it is not already opened. | -| 3. Click on the “Logic” category. Find and click on the “if do else” block.

| -| 4. Drag the “if do else” block to the position before the “telemetry.update” block.

| -| 5. Click on the "Sensors" category to expand it (if it isn't already expanded). Click on the "Touch Sensor" subcategory, then find and select the ".isPressed" block.

| -| 6. Drag the “isPressed” block to the test condition of the “if do else” programming block.

| -| 7. Click on the “Utilities” category on the left-hand side of your browser. Find and click on the “Telemetry” subcategory.

Select the “call telemetry.addData” block (the text version) and drag it to the “do” clause of the “if do else” block. | -| 8. Change the “key” value to “testTouch” and the “text” value to “is pressed”.

| -| 9. Insert another "telemetry.addData" block (the text version) to the "else" clause of the "if do else" block. Change the “key” value to “testTouch” and the “text” value to “is NOT pressed”.

| -| 10. Save your op mode and verify that it was saved successfully to the Robot Controller.

| -| 11. Follow the procedure outlined in the section titled [Running Your Op Mode](https://github.com/ftctechnh/ftc_app/wiki/Running-Your-Op-Mode) to run your updated op mode.

As you run the op mode and push or release the button, the telemetry message on the Driver Station should update to reflect the current state of the digital Touch Sensor. | +| 2. Verify that “MyFIRSTOpMode” is opened for editing. If it is not, you can click on the FIRST logo in the upper left hand corner of the browser window on the laptop. This should take you to the main FTC Blocks Development Tool project screen.

[[/images/Using-Sensors-(Blocks)/TouchSensorOpModeStep2ControlHub.jpg]]

Click on the “MyFIRSTOpMode” project to open it for editing if it is not already opened. | +| 3. Click on the “Logic” category. Find and click on the “if do else” block.

[[/images/Using-Sensors-(Blocks)/TouchSensorOpModeStep3ControlHub.jpg]]

| +| 4. Drag the “if do else” block to the position before the “telemetry.update” block.

[[/images/Using-Sensors-(Blocks)/TouchSensorOpModeStep4ControlHub.jpg]]

| +| 5. Click on the "Sensors" category to expand it (if it isn't already expanded). Click on the "Touch Sensor" subcategory, then find and select the ".isPressed" block.

[[/images/Using-Sensors-(Blocks)/TouchSensorOpModeStep5ControlHub.jpg]]

| +| 6. Drag the “isPressed” block to the test condition of the “if do else” programming block.

[[/images/Using-Sensors-(Blocks)/TouchSensorOpModeStep6ControlHub.jpg]]

| +| 7. Click on the “Utilities” category on the left-hand side of your browser. Find and click on the “Telemetry” subcategory.

[[/images/Using-Sensors-(Blocks)/TouchSensorOpModeStep7ControlHub.jpg]]

Select the “call telemetry.addData” block (the text version) and drag it to the “do” clause of the “if do else” block. | +| 8. Change the “key” value to “testTouch” and the “text” value to “is pressed”.

[[/images/Using-Sensors-(Blocks)/TouchSensorOpModeStep8ControlHub.jpg]]

| +| 9. Insert another "telemetry.addData" block (the text version) to the "else" clause of the "if do else" block. Change the “key” value to “testTouch” and the “text” value to “is NOT pressed”.

[[/images/Using-Sensors-(Blocks)/TouchSensorOpModeStep9ControlHub.jpg]]

| +| 10. Save your op mode and verify that it was saved successfully to the Robot Controller.

[[/images/Using-Sensors-(Blocks)/TouchSensorOpModeStep10ControlHub.jpg]]

| +| 11. Follow the procedure outlined in the section titled [Running Your Op Mode](https://github.com/ftctechnh/ftc_app/wiki/Running-Your-Op-Mode) to run your updated op mode.

[[/images/Using-Sensors-(Blocks)/TouchSensorOpModeStep11ControlHub.jpg]]

As you run the op mode and push or release the button, the telemetry message on the Driver Station should update to reflect the current state of the digital Touch Sensor. |