Powered by Modern Robotics

0 $0.00

Cart

No products in the cart.
Shop

Cal Magnetic Sensor

$14.95

Detect magnetic fields. Great for your robot finding unseen targets.

Out of stock

Join the waitlist to be emailed when this product becomes available

SKU: 45-2306 Category:

Description

The Magnetic 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 0 to 680 where 340 indicates no magnetic field.

Cable not included

Sensor Type
Three Wire Analog Sensor
Dimensions
32 mm x 32 mm x 5 mm
Mounting Holes
24 mm x 24 mm, 4mm ⌀
Power
5 V DC, 3 mA
Signal Logic Levels
Analog 0 V – 5 V

Additional information

Weight .0110 lbs
Dimensions 3 × 4 × .25 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();
        }
    }
}