mirror of
https://github.com/usatiuk/EggbotWireless.git
synced 2025-10-26 16:57:48 +01:00
40 lines
749 B
C++
40 lines
749 B
C++
#include <Arduino.h>
|
|
#include <Servo.h>
|
|
|
|
#include "Pen.h"
|
|
|
|
#define DELAY 15
|
|
|
|
Pen::Pen(int pin, int posEngaged, int posDisengaged)
|
|
: posEngaged(posEngaged), posDisengaged(posDisengaged), pin(pin) {}
|
|
|
|
void Pen::engage() {
|
|
if (!engaged) {
|
|
for (int i = posDisengaged; i > posEngaged; i--) {
|
|
servo.write(i);
|
|
delay(DELAY);
|
|
}
|
|
}
|
|
engaged = true;
|
|
}
|
|
|
|
void Pen::disengage() {
|
|
if (engaged) {
|
|
for (int i = posEngaged; i < posDisengaged; i++) {
|
|
servo.write(i);
|
|
delay(DELAY);
|
|
}
|
|
}
|
|
engaged = false;
|
|
}
|
|
|
|
void Pen::init() {
|
|
servo.attach(pin);
|
|
servo.write(posDisengaged);
|
|
engaged = false;
|
|
}
|
|
|
|
bool Pen::getEngaged() { return engaged; }
|
|
|
|
Pen::~Pen() {}
|