inf sachen
This commit is contained in:
23
INF/libraries/PCA9685/examples/ServoController/Constants.cpp
Normal file
23
INF/libraries/PCA9685/examples/ServoController/Constants.cpp
Normal file
@@ -0,0 +1,23 @@
|
||||
// ----------------------------------------------------------------------------
|
||||
// Constants.cpp
|
||||
//
|
||||
//
|
||||
// Authors:
|
||||
// Peter Polidoro peterpolidoro@gmail.com
|
||||
// ----------------------------------------------------------------------------
|
||||
#include "Constants.h"
|
||||
|
||||
|
||||
namespace constants
|
||||
{
|
||||
const uint8_t device_address = 0x40;
|
||||
const size_t output_enable_pin = 2;
|
||||
|
||||
const size_t loop_delay = 100;
|
||||
|
||||
const uint8_t channel = 0;
|
||||
|
||||
const uint16_t servo_pulse_duration_min = 900;
|
||||
const uint16_t servo_pulse_duration_max = 2100;
|
||||
const uint16_t servo_pulse_duration_increment = 100;
|
||||
}
|
||||
26
INF/libraries/PCA9685/examples/ServoController/Constants.h
Normal file
26
INF/libraries/PCA9685/examples/ServoController/Constants.h
Normal file
@@ -0,0 +1,26 @@
|
||||
// ----------------------------------------------------------------------------
|
||||
// Constants.h
|
||||
//
|
||||
//
|
||||
// Authors:
|
||||
// Peter Polidoro peterpolidoro@gmail.com
|
||||
// ----------------------------------------------------------------------------
|
||||
#ifndef CONSTANTS_H
|
||||
#define CONSTANTS_H
|
||||
#include <Arduino.h>
|
||||
|
||||
|
||||
namespace constants
|
||||
{
|
||||
extern const uint8_t device_address;
|
||||
extern const size_t output_enable_pin;
|
||||
|
||||
extern const size_t loop_delay;
|
||||
|
||||
extern const uint8_t channel;
|
||||
|
||||
extern const uint16_t servo_pulse_duration_min;
|
||||
extern const uint16_t servo_pulse_duration_max;
|
||||
extern const uint16_t servo_pulse_duration_increment;
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,32 @@
|
||||
#include <Arduino.h>
|
||||
#include <PCA9685.h>
|
||||
|
||||
#include "Constants.h"
|
||||
|
||||
|
||||
PCA9685 pca9685;
|
||||
|
||||
uint16_t servo_pulse_duration;
|
||||
|
||||
void setup()
|
||||
{
|
||||
pca9685.setupSingleDevice(Wire,constants::device_address);
|
||||
|
||||
pca9685.setupOutputEnablePin(constants::output_enable_pin);
|
||||
pca9685.enableOutputs(constants::output_enable_pin);
|
||||
|
||||
pca9685.setToServoFrequency();
|
||||
|
||||
servo_pulse_duration = constants::servo_pulse_duration_min;
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
if (servo_pulse_duration > constants::servo_pulse_duration_max)
|
||||
{
|
||||
servo_pulse_duration = constants::servo_pulse_duration_min;
|
||||
}
|
||||
pca9685.setChannelServoPulseDuration(constants::channel,servo_pulse_duration);
|
||||
servo_pulse_duration += constants::servo_pulse_duration_increment;
|
||||
delay(constants::loop_delay);
|
||||
}
|
||||
Reference in New Issue
Block a user