Loom 4 v4.5
Arduino library for Internet of Things Rapid Prototyping in environmental sensing
Loading...
Searching...
No Matches
Loom_Stepper.h
1#pragma once
2
3#include "Actuators.h"
4#include "Loom_Manager.h"
5
6#include <Adafruit_MotorShield.h>
7#include <Adafruit_PWMServoDriver.h>
8
9#define SERVO_MIN 150 // Minimum pulse width
10#define SERVO_MAX 600 // Maximum pulse width
11
17class Loom_Stepper : public Actuator{
18 public:
19
23 Loom_Stepper(Manager& man, int instance_num = 0);
24
25 Loom_Stepper(int instance_num = 0);
26
31
32 void control(JsonArray json) override;
33 void initialize() override;
34 void package(JsonObject json) override;
35
42 void moveSteps(const uint16_t steps, const uint8_t speed, const bool clockwise = true);
43
44 private:
45 Manager* manInst = nullptr; // Manager instance
46
47 Adafruit_MotorShield* AFMS; // Motor Shield controller
48 Adafruit_StepperMotor* motor; // Stepper controller
49
50 int instance; // Instance number of the servo
51
52 int currentSteps = 0; // Running step count
53 uint8_t rpm; // Current RPM of the motor
54 bool clockwise; // If it is spinning clockwise
55
56
57};
Definition: Actuators.h:19
Definition: Loom_Stepper.h:17
void control(JsonArray json) override
Definition: Loom_Stepper.cpp:50
void moveSteps(const uint16_t steps, const uint8_t speed, const bool clockwise=true)
Definition: Loom_Stepper.cpp:58
~Loom_Stepper()
Definition: Loom_Stepper.cpp:15
Definition: Loom_Manager.h:18