Lightino Lesson 5: How fast is it spinning?

In previous lessons the code calculated the time for a revolution, so as a final exercise, let's display!

Actually, rotational speed is more often measured in revolutions per minute (RPM), but we can easily calculate that.

We calculated the time for a revolution in microseconds (revTime) and there are 60,000,000 microseconds in a minute, so the speed in RPM will be 60,000,000 / revTime. But we need to convert that to text.

The easiest way to do that is using the built-in sprint() function. This takes 3 (or more) arguments:

  1. Somewhere to put the resulting text
  2. A pattern for the text
  3. A value or values to insert into the text.

For the place to put the text we can replace the definition of textString_Up by:

char textString_Up[10];

We've made it 10 characters long, which should be plenty. It's important not to make it too small otherwise we might be overwriting who knows what!

We can now call sprintf() with something like:

sprint(textString_Up, "%4d RPM", 60000000 / revTime);

The %4d means substitute this for the parameter expressed as a 4-digit decimal number. (That's just one of many types of substitution you can specify.)

Why not change textString_Down to display the total number of revolutions?

Warning: Don't try too hard to see how fast you can get it to spin - it has hard edges and you could easily hurt your fingers! 

If you're stuck try reading the Help Sheet!

Previous article Lightino Lessons Help Sheet
Next article Lightino Lesson 4: Let's display messages!

Check out our latest products...

Sparkfun Triad Spectroscopy Sensor - As7265X (Qwiic) (Sen-15050) - Infra Red
Tfmini - Micro Lidar Module (Qwiic) (Sen-14786) - Infra Red
Qwiic To Grove Cable (Spx-14739) - Cables And Adapters

Qwiic To Grove Cable (SPX-14739)

£1.99 inc VAT
£1.66 ex VAT
Grove - 6-Axis Accelerometer & Gyroscope (Bmi088) - Acceleration
Grove - Step Counter (Bma456) - Acceleration

Grove - Step Counter (BMA456)

£7.00 inc VAT
£5.83 ex VAT
Conductive Nylon Fabric Tape - 8Mm Wide X 10 Meters Long (Id:3960) - Conductive Ink
Conductive Nylon Fabric Tape - 5Mm Wide X 10 Meters Long (Id:3961) - Conductive Ink