Hi,
I am trying to write a simple class to control a servo motor, however, I received the following error message:
Arduino: 1.8.12 (Windows 10), Board: "Arduino Uno"
In function Dispenser_C::beginServo(int)': undefined reference to
Dispenser_C::Servo::attach(int)'
In function Release': undefined reference to
Dispenser_C::Servo::write(int)'
undefined reference to `Dispenser_C::Servo::write(int)'
In function Dispenser_C::Dispenser_C()': undefined reference to
Dispenser_C::Servo::Servo()'
collect2.exe: error: ld returned 1 exit status
Using library Servo at version 1.1.6 in folder: C:\Program Files (x86)\Arduino\libraries\Servo
exit status 1
Error compiling for board Arduino Uno.
class Dispenser_C {
#include <Servo.h>
public:
Servo servo;
void beginServo(int pin) {
servo.attach(pin);
}
void Release(int maxAngle, int increment) {
for (int angle = 0; angle <= maxAngle; angle += increment) {
servo.write(angle);
delay(5);
}
delay(75);
for (int angle = maxAngle; angle >= 0; angle -= increment) {
servo.write(angle);
delay(5);
}
}
};
Dispenser_C dispenser;
void setup() {
dispenser.beginServo(9);
}
void loop() {
dispenser.Release(110, 5);
}
How do I initialise the servo object in this class? Does anyone recognise this problem? Is there a solution?
I would really appreciate any help.
Thanks