Skip to main content

Potentiometer

Analog
input
Small RAM
0.1.0

#Description

A rotary potentiometer is the basic turning knob. It can be used to get the angle. It is not fully turnable though, most commonly only between 0 and 270 degrees.

#Units

  • Percent%
  • Degree°

#Aliases

  • Rotary Potentiometer

#Functions



#JavaScript / Node.js

ClassPotentiometerextends AnalogSensor

Base class for analog input components that read continuous values (e.g. potentiometer, light sensor). Reads analog pins (A0–A5) and emits `change` events when the value shifts beyond a configurable threshold.

#Constructor options

OptionTypeRequiredDescriptionInherited from
invertbooleanoptionalAnalogSensor
pinAnalogPinrequiredAnalogSensor
minValuenumberoptionalAnalogSensor
maxValuenumberoptionalAnalogSensor
thresholdnumberoptionalAnalogSensor

#Methods

get valuenumber | undefinedfrom ComponentBase

Get the current value of the component.

#Example

JavaScript
import { Board, Potentiometer } from "@blokdots/components";

const board = new Board("/dev/ttyACM0");
await board.open();

const potentiometer = new Potentiometer({ board, pin: "A0" });

potentiometer.on("change", (value) => {
  console.log("Potentiometer changed:", value);
});


#C++ (Arduino)

Generic analog input with thresholded "change" events (potentiometer-style)

#Setup

C++
#include "blokdots.h"

AnalogSensor myComponent(eventBus, 5, MY_EVENT);

#Constructor

AnalogSensor(bus, pin, evtChange, threshold, intervalMs, minEmitIntervalMs, quantizeStep, invert)
ParameterTypeDefault
busEventBusrequired
pinuint8_trequired
evtChangeuint8_trequired
thresholdint5
intervalMsuint16_t5
minEmitIntervalMsuint16_t20
quantizeStepint0
invertboolfalse

#Methods

value()int

Most recent sampled value (may change even if not emitted yet)

emittedValue()int

The value that was last emitted with evtChange (use this in handlers!)

See the AnalogSensor reference for the full API.