Arduino / Stepper motor with rotary encoder speed controll > OLED or LED matrix

I want to make a project using the following:

  • arduino as platform

  • simple rotary encoder that controlls the speed of a >

  • stepper motor ("NEMA17 17HS8401B" 1.7A - that has enough torque to move my project)

  • the speed set by the encoder (the steps / clicks made by the encoder) must be counted and displayed on something (physical, NOT, on the computer screen), like >

  • an OLED display (I have several 0.96" SPI - 7 pin), OR >

  • simply on a LED matrix (I have a few 8x8s), adding / lighting one more LED as I incerment the speed click by click >

  • this because there will be 3 (or even 4) such stepper motors and their correlated speed is essential to the project

  • also, the core of the project is to be able to change the speed of the motors while these are turning, stop/start them

The project would look like this: I turn the 3 encoders right / left (one by one) to set the exact speed I wish for each motor. To know the exact speed I need to see it on OLED or LED matrix (if you have any other idea, I'm open for proposals), while I'm not connected to the computer. Pushing (clicking) the encoder starts the motors, that will turn continuously until I stop them manually. Meantime I need to be able to change the speed of the motors separately.

I also have an Arduino CNC shield V3.0 and 4 stepper drivers 8825 (I thought I might use it to controll the motors).
I saw different videos that ddress parts of my project, like connecting a rotary encoder to an arduino, or controlling stepper motors using CNC shield, but they don't do what I want and they're not connected.
I'm not an expert. I manage to (kind of) understand the arduino code and modify settings of an existing project to adapt it to my needs, maybe to connect two or more projects, but not able to write code myself.

Please, show me a direction of how to put things together, and I'll try to develop / build the details myself.
Thank you!

You need to think of the project as a few different parts that you can develop / learn separately.

For example write a short program to get values from the encoder and display them on the Serial Monitor

Write another short program to make the stepper motor move at a fixed speed. then change the speed and re-load the program.

Have a look at the AccelStepper library - it comes with several examples to help learn about it. You will probably need the runSpeed() and setSpeed() functions.

Stepper Motor Basics
Simple Stepper Code

Thank you, I'll try that.