TinyTrainable
 
Loading...
Searching...
No Matches
OutputServo.h
Go to the documentation of this file.
1
3
4#ifndef OUTPUT_SERVO_H
5#define OUTPUT_SERVO_H
6
8#include <Arduino.h>
9
11#include "Output.h"
12
14#include "TinyTrainable.h"
15
17#include <Servo.h>
18
21class OutputServo : public Output {
22
23 // variables for outputServo
24public:
27
28 virtual void setupOutputTest() override;
29 virtual void playOutput(int classification) override;
30
31 // methods for servo
32 // define servo output
33 void setupOutputServo(int outputPin);
34 // define for servo tempo in bpm
35 void setServoTempo(int object, int tempo);
36 // for servo movement
37 void moveServo(int classification);
38 // function to convert from beats per minute to milliseconds
39 int bpmToMs(int tempo);
40
41 void setServoMaxAngle(int angle);
42 void setServoMinAngle(int angle);
43
44 int getServoMaxAngle();
45 int getServoMinAngle();
46
47private:
49 Servo _servo;
50
54 int _servoAngleMax = 180;
55 unsigned long _servoPauses[3];
56
57 unsigned long _servoTimePrevious = 0;
58 unsigned long _servoTimeNow = 0;
59
60 unsigned long _servoMoveDuration = 150;
61
62 bool _isAttached = false;
63 void servoAttach();
64 void servoDetach();
65};
66
67#endif
Output base class.
Arduino library for Tiny Trainable Instruments.
Output base class.
Definition: Output.h:16
OutputServo inherits from Output.
Definition: OutputServo.h:21
int getServoMinAngle()
Definition: OutputServo.cpp:106
unsigned long _servoPauses[3]
Definition: OutputServo.h:55
void servoAttach()
Definition: OutputServo.cpp:71
void setServoTempo(int object, int tempo)
Definition: OutputServo.cpp:42
bool _isAttached
Definition: OutputServo.h:62
void setServoMaxAngle(int angle)
Definition: OutputServo.cpp:101
virtual void playOutput(int classification) override
Definition: OutputServo.cpp:15
void setupOutputServo(int outputPin)
Definition: OutputServo.cpp:20
int _outputPinServo
Definition: OutputServo.h:51
void moveServo(int classification)
Definition: OutputServo.cpp:46
unsigned long _servoMoveDuration
Definition: OutputServo.h:60
int getServoMaxAngle()
Definition: OutputServo.cpp:105
void setServoMinAngle(int angle)
Definition: OutputServo.cpp:103
int _servoAngleMax
Definition: OutputServo.h:54
int bpmToMs(int tempo)
Definition: OutputServo.cpp:88
void servoDetach()
Definition: OutputServo.cpp:79
virtual void setupOutputTest() override
Definition: OutputServo.cpp:10
unsigned long _servoTimeNow
Definition: OutputServo.h:58
unsigned long _servoTimePrevious
Definition: OutputServo.h:57
int _servoAngleCurrent
Definition: OutputServo.h:52
OutputServo()
constructor
Definition: OutputServo.cpp:8
Servo _servo
Servo instance.
Definition: OutputServo.h:49
int _servoAngleMin
Definition: OutputServo.h:53