Go to the documentation of this file. 1 #ifndef SERVO_BEHAVIOUR_h
2 #define SERVO_BEHAVIOUR_h
15 char*
args() {
return "<int angle>"; };
17 Serial.println(
"Goto: '"+
args+
"'");
18 int val =
args.toInt();
28 int _wiggle_time = 300;
31 int _wiggle_angle = 0;
33 int _wiggle_factor = 5;
37 char*
args() {
return "<int wiggle_angle>"; };
39 _wiggle_angle =
args.toInt();
42 _wiggle_time = _wiggle_factor * _wiggle_angle;
43 return "Wiggling " + String(_num_wiggles) +
" times";
47 int time_since = millis() - _start_time;
48 if( time_since > _wiggle_time ) {
50 _start_time = millis();
51 int angle = ( _wiggles % 2 ) ? (90+_wiggle_angle) : (90-_wiggle_angle);
52 if( _wiggles > _num_wiggles ) {
56 Serial.println(
"Wiggling to: " + String(angle));
68 int _num_rotations = 1;
73 ServoRotateReturn(Servo servo, String
name=
"ServoRotateReturn",
int delay=30,
int pause=500,
int start_angle = 2,
int end_angle=178 ) :
74 Behaviour(
name), _servo(servo),_delay(delay), _pause(pause), _start_angle(start_angle), _end_angle(end_angle) {}
75 char*
args() {
return "<int number_of_cycles>"; };
77 _num_rotations =
args.toInt();
83 _servo.write(_start_angle);
85 for(
int i = 0; i < _end_angle; i++) {
89 _servo.write(_end_angle);
91 for(
int i = 180; i >= _start_angle; i--) {
95 _servo.write(_start_angle);
97 if( _rotations >= _num_rotations ) {
ServoRotateReturn(Servo servo, String name="ServoRotateReturn", int delay=30, int pause=500, int start_angle=2, int end_angle=178)
Definition: ServoBehaviours.h:73
virtual String name()
Definition: Behaviours.h:28
void update()
Definition: ServoBehaviours.h:46
Definition: ServoBehaviours.h:63
String start(String args)
Definition: ServoBehaviours.h:38
char * args()
Definition: ServoBehaviours.h:75
Definition: Behaviours.h:4
ServoWiggle(Servo servo, String name="ServoWiggle", int slowness=3)
Definition: ServoBehaviours.h:36
void update()
Definition: ServoBehaviours.h:82
Definition: ServoBehaviours.h:8
char * args()
Definition: ServoBehaviours.h:37
ServoGoto(Servo servo, String name="ServoGoto")
Definition: ServoBehaviours.h:12
Definition: ServoBehaviours.h:25
boolean _running
Definition: Behaviours.h:9
String start(String args)
Definition: ServoBehaviours.h:76
String start(String args)
Definition: ServoBehaviours.h:16
char * args()
Definition: ServoBehaviours.h:15