TINKER PIEDESIGN IN INDIA

Step counter

Uses the motion sensor on the board: every shake (step) adds one. B starts again.

Sensor projectsmotionon-board

Open in TinkerPie Studio

What you need

Wiring

Nothing to connect: the BMI270 motion sensor is on the board. In the simulator press SHAKE.

Step by step

  1. Open Step counter in TinkerPie Studio. It opens as blocks.
  2. Wire it: Nothing to connect: the BMI270 motion sensor is on the board. In the simulator press SHAKE.
  3. Press Run to try it in the simulator. Use the sliders and buttons under the board picture to test it.
  4. Connect TinkerPie with a USB-C cable in Chrome or Edge, press Connect, then Download. Or, with Studio started from the TinkerPie launcher on your computer, open the Arduino C++ tab and press Build & Flash.
  5. Change something: a colour, a number, a sound. Then run it again.

The code

This is the program the blocks make. The same program runs in the simulator and on the board.

JavaScript
var steps;

input.onGesture(Gesture.Shake, function () {
  steps = (typeof steps === 'number' ? steps : 0) + 1;
  basic.showNumber(steps, Colors.Green);
});
input.onButtonPressed(Button.B, function () {
  steps = 0;
  basic.showIcon(IconNames.Yes, Colors.Green);
});

steps = 0;
basic.showNumber(steps, Colors.Green);
Arduino C++ (TinkerPie library)
// Step counter
// Arduino C++ made by TinkerPie Studio from the blocks. Board: TinkerPie V1 (ESP32-S3).
// Arduino IDE: install the TinkerPie library (Studio menu > Arduino library), then Tools > Board > ESP32S3 Dev Module,
// USB CDC On Boot: Enabled, Flash Size: 16MB, Partition Scheme: 16M Flash (3MB APP/9.9MB FATFS), PSRAM: OPI PSRAM.
#include <TinkerPie.h>
using namespace tinkerpie;

double steps = 0;

void setup() {
  tinkerpie::begin();
  input::onGesture(Gesture::Shake, []() {
    steps += 1;
    basic::showNumber(steps, Colors::Green);
  });
  input::onButtonPressed(Button::B, []() {
    steps = 0;
    basic::showIcon(IconNames::Yes, Colors::Green);
  });

  steps = 0;
  basic::showNumber(steps, Colors::Green);
}

void loop() {
  tinkerpie::loop();   // runs the forever blocks and handles events
}

More projects like this

Thirsty plant alarmA soil moisture sensor tells TinkerPie when the plant needs water: a sad face and a beep.Sensor projectsUltrasonic rulerMeasures how far your hand is, in centimetres, with an HC-SR04 sonar.Sensor projectsSmart dustbin lidWave over the bin: a servo opens the lid for two seconds, then closes it.Sensor projectsIntruder alarmA PIR motion sensor sees someone moving: red flashes and a siren.Sensor projectsWeather station on OLEDA DHT11 measures temperature and humidity; an OLED screen shows them with a bar.Sensor projectsRoom climate on an LCDAn AHT20 sensor and a 16 × 2 LCD. The matrix smiles when the room is comfortable.Sensor projects