Powered by Modern Robotics

0 $0.00

Cart

No products in the cart.
Shop

Magnetic Sensor

$22.95

Detect magnetic field strength using the Modern Robotics Magnetic Sensor.

Out of stock

Join the waitlist to be emailed when this product becomes available

SKU: 45-2020 Category:

Description

The Magnet Sensor detects a magnetic field and returns the strength based on the distance away from the sensor. When the returned value is increasing the sensor is detecting the north pole of the magnet. If the value returned is decreasing then the sensor is detecting the south pole magnet. The sensor value ranges from -340 to +340 where 0 indicates no magnetic field.

Sensor TypeThree Wire Analog Sensor
Dimensions32 x 32 x 12 millimeters
Mounting Holes24 x 24 millimeters
Power5 volts DC, 20 mA max.
Signal Logic LevelsAnalog 0 – 5 volts

Additional information

Weight .0275 lbs
Dimensions 4 × 3.75 × .75 in

FTC SDK

Android Studio Example Program

Download the below program for an example of how to read this Analog sensor. The FTC SDK will supply a value from 0-5 representing a voltage.

In your configuration file, name an Analog Input “light” and name a Core Device Interface Module “Device Interface Module 1”

/*
Modern Robotics Analog Example
Created 7/25/2017 by Colton Mehlhoff of Modern Robotics using FTC SDK 3.10
Reuse permitted with credit where credit is due

The Modern Robotics Core Device Interface reads analog input
using a 10 bit value meaning the Android Phone reads a value from 0 to 1023.
The FTC SDK supplies a "voltage". The SDK is scaling this value of 0-1023 to 1-5 with decimal places.

Configuration:
Analog Input on Core Device Interface "light"
Core Device Interface named "Device Interface Module 1"

Support is available by emailing support@modernroboticsinc.com
*/

package org.firstinspires.ftc.teamcode;

import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
import com.qualcomm.robotcore.hardware.AnalogInput;
import com.qualcomm.robotcore.hardware.DeviceInterfaceModule;


@TeleOp(name = "Analog Example", group = "MRI")
//@Disabled
public class MRI_Analog_Example extends LinearOpMode {

    //An Analog Input. In this example, we used a Light Sensor although it could be any analog sensor.
    AnalogInput MRLightSensor;

    //CDI. Using this, we can read any analog sensor on this CDI without creating an instance for each sensor.
    DeviceInterfaceModule cdi;

    @Override
    public void runOpMode() {
        telemetry.addData("Status", "Initialized");
        telemetry.update();

        //Link objects to configuration file
        MRLightSensor = hardwareMap.analogInput.get("light");
        cdi = hardwareMap.deviceInterfaceModule.get("Device Interface Module 1");

        waitForStart();

        while (opModeIsActive()) {

            //Read the light sensor using the Analog Input object
            telemetry.addData("light", MRLightSensor.getVoltage());

            //Read each Analog Port of the CDI. 0-7
            for (int i = 0; i < 8; i++) {
                telemetry.addData("Analog " + i, cdi.getAnalogInputVoltage(i));
            }
            telemetry.update();
        }
    }
}