Skip to content

Commit e1c1318

Browse files
committed
update examples
1 parent b3f499d commit e1c1318

File tree

2 files changed

+24
-26
lines changed

2 files changed

+24
-26
lines changed

examples/filter/filter.ino

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,28 @@
1-
/* This sketch shows how to filter signals */
1+
/* This sketch shows how to remove noise from a signal */
22

3-
// ---- Create servo object to generate PWM signals ---
4-
#include <Servo.h>
5-
Servo servo;
6-
7-
// ----------- Signal deadband and calibration --------
83
#include <PulseInput.h>
9-
volatile unsigned int input; /* variable is required to capture signal */
104

115
#define BAND 12 /* Deadband. Changes in signal within this band are ignored.
126
Large values result in a steadier signal, at cost of lower precision */
13-
7+
8+
volatile unsigned int input; /* variable is required to capture signal */
149
PulseFilter <&input, BAND> filter;
1510

1611
// Simpler form:
1712
//PulseFilter <&input> filter; /* The filter defaults to a deadband of 4 if none is specified */
1813

14+
// --------------- Generate PWM signal ----------------
15+
16+
#define OUTPUT_PIN 3 // PWM-capable pin
17+
#define DUTY_CYCLE 125 // Initial PWM value
18+
1919
// ----------------------------------------------------
2020

2121
void setup() {
2222
Serial.begin(9600);
2323

24-
// PWM output at pin 2
25-
servo.attach(2);
26-
servo.writeMicroseconds(1000); // initial signal value
24+
// generate PWM signal
25+
analogWrite(OUTPUT_PIN, DUTY_CYCLE);
2726

2827
// assign variables to receive signals
2928
attachPulseInput(8, input);
@@ -37,8 +36,8 @@ void setup() {
3736

3837
void loop() {
3938
// generate variable signal:
40-
int target = analogRead(A0) + 1000; // read potentiometer from A0
41-
servo.writeMicroseconds(target);
39+
float target = analogRead(A0) * 255.0 / 1024.0; // read potentiometer from A0
40+
analogWrite(OUTPUT_PIN, target);
4241

4342
// display comparison:
4443
Serial.print( "Raw: " );

examples/read/read.ino

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,27 @@
1-
/* This sketch shows how to read PWM signals for servos */
1+
/* This sketch shows how to read a PWM signal */
22

3-
// Create servo objects to generate signals
4-
#include <Servo.h>
5-
Servo servo;
6-
7-
// 1. Each signal must be read with an volatile unsigned int
3+
// Each signal must be read with an volatile unsigned int
84
#include <PulseInput.h>
9-
volatile unsigned int input; /* each signal requires a variable - MUST be volatile unsigned int */
5+
volatile unsigned int input; /* each signal requires a variable */
106

117
void setup() {
8+
Serial.begin(9600);
9+
1210
// 2. assign variables to receive signal
1311
attachPulseInput(8, input); // pin 8 as INPUT_PULLUP
1412

15-
/* Generate pwm signals [in us] */
16-
servo.attach(2); // Output at PIN 2
17-
servo.writeMicroseconds(1500); // ON time = 1500 us
18-
19-
Serial.begin(9600);
13+
/* Generate pwm signal */
14+
constexpr int PIN = 3; // PWM capable pin
15+
constexpr int ON_TIME = 1000; // Pulse width in microseconds
16+
constexpr float DUTY_CYCLE = ON_TIME * 255.0 / 2024.0;
17+
18+
analogWrite(PIN, DUTY_CYCLE);
2019

2120
/* To stop reading an already specified input, use this function: */
2221
//detachPulseInput(8); // Stop reading input at pin 8
2322
}
2423

2524
void loop() {
26-
// read signal variable
25+
// read signal [microseconds]
2726
Serial.println(input);
2827
}

0 commit comments

Comments
 (0)