StepperUNO Library 1.4: Difference between revisions

From lechacal
Jump to navigation Jump to search
Line 13: Line 13:
==Keypad==
==Keypad==
If the keypad does not reply correctly on the left/right/up/down/select button then a calibration should be performed. Values should be changed in the .h file of the library.
If the keypad does not reply correctly on the left/right/up/down/select button then a calibration should be performed. Values should be changed in the .h file of the library.
===uint8_t ReadKey();===
===uint8_t ReadKey()===
This function should be called as often as possible. Typically inside the main loop. This will update the Keypad.state variable with one of the defined event below.
This function should be called as often as possible. Typically inside the main loop. This will update the Keypad.state variable with one of the defined event below.


Line 32: Line 32:
Note this function does not manage the RST button. Use RstReadKey instead.
Note this function does not manage the RST button. Use RstReadKey instead.


===bool RstReadKey();===
===bool RstReadKey()===


Same as above but for the RST button only.
Same as above but for the RST button only.
Line 43: Line 43:
  #define LONG_RELEASED_RST 15
  #define LONG_RELEASED_RST 15


 
===uint8_t state===
===uint8_t state===;


Event state. Will be equal to one of the define listed above once an event has occurred.
Event state. Will be equal to one of the define listed above once an event has occurred.


===uint8_t rst_state===;
===uint8_t rst_state===


Same as state but for the RST button only.
Same as state but for the RST button only.

Revision as of 20:39, 3 March 2021

under construction...

Installation

Download the zip file from Stepper_UNO_v1.0#Files.
Copy the StepperUNO folder in the sketchbook/library directory.

Configuration

Open the config.h file in the library/stepperUNO folder.
Change the KEYPAD_VERSION value as needed. Value should be 0 1 or 2. If you do not know just try one or the other and see how the button reacts.

Function list

Keypad

If the keypad does not reply correctly on the left/right/up/down/select button then a calibration should be performed. Values should be changed in the .h file of the library.

uint8_t ReadKey()

This function should be called as often as possible. Typically inside the main loop. This will update the Keypad.state variable with one of the defined event below.

#define PRESSED_NONE    0
#define PRESSED_RIGHT   1
#define PRESSED_UP      2
#define PRESSED_DOWN    3
#define PRESSED_LEFT    4
#define PRESSED_SELECT  5

#define RELEASED_NONE   6
#define RELEASED_RIGHT  7
#define RELEASED_UP     8
#define RELEASED_DOWN   9
#define RELEASED_LEFT   10
#define RELEASED_SELECT 11

Note this function does not manage the RST button. Use RstReadKey instead.

bool RstReadKey()

Same as above but for the RST button only.

The RST button is a special case. It has its own pin to the arduino mcu.

#define PRESSED_RST       12
#define RELEASED_RST      13
#define LONG_PRESSED_RST  14
#define LONG_RELEASED_RST 15

uint8_t state

Event state. Will be equal to one of the define listed above once an event has occurred.

uint8_t rst_state

Same as state but for the RST button only.

void closeEvent()

Must be called once all action have been executed for a given event.

void rst_closeEvent()

Must be called once all action have been executed for a given event on the RST button.

Motor Control

void speed(int speed_m1);

Set the motor speed.

speed_m1 must be the delay between each step in milliseconds.

void setDirection(bool dir);

Set the direction.

void enable();

Enable the motor. Holds torque on the motor.

void disable();

Disable the motor. Allows the motor to spin freely.

void step();

Perform one single step.

void stop();

Stop the motor.

uint8_t address;

i2c address of the MCU controlling the motor. Usually 0x04 or 0x05.

void begin(uint8_t _address);

Initialiser to be used in Setup section of Arduino. address parameter is the i2c address of the motor controller. Usually 0x04 or 0x05.

bool running;

Indicates if the motor is running.

bool direction;

Indicates the motor direction.