You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.2 KiB
49 lines
1.2 KiB
4 years ago
|
/* Any copyright is dedicated to the Public Domain. */
|
||
|
|
||
|
#include "sigma_delta.h"
|
||
|
|
||
|
void setup() {
|
||
|
|
||
|
Serial.begin(115200);
|
||
|
pinMode(LED_BUILTIN, OUTPUT); // blinkie & sigma-delta mix
|
||
|
uint32_t reqFreq = 1000;
|
||
|
uint32_t realFreq;
|
||
|
|
||
|
realFreq = sigmaDeltaSetup(0, reqFreq); // chose a low frequency
|
||
|
|
||
|
Serial.println();
|
||
|
Serial.println("Start Sigma Delta Example\n");
|
||
|
Serial.printf("Frequency = %u\n", realFreq);
|
||
|
|
||
|
}
|
||
|
|
||
|
void loop() {
|
||
|
|
||
|
uint8_t duty, iRepeat;
|
||
|
|
||
|
Serial.println("Attaching the built in led to the sigma delta source now\n");
|
||
|
Serial.printf("Current duty = %i, prescaler = %i\n", sigmaDeltaRead(), sigmaDeltaGetPrescaler());
|
||
|
sigmaDeltaAttachPin(LED_BUILTIN);
|
||
|
|
||
|
Serial.println("Dimming builtin led...\n");
|
||
|
for (iRepeat = 0; iRepeat < 10; iRepeat++) {
|
||
|
for (duty = 0; duty < 255; duty = duty + 5) {
|
||
|
sigmaDeltaWrite(0, duty);
|
||
|
delay(10);
|
||
|
}
|
||
|
|
||
|
for (duty = 255; duty > 0; duty = duty - 5) {
|
||
|
sigmaDeltaWrite(0, duty);
|
||
|
delay(10);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
Serial.println("Detaching builtin led & playing a blinkie\n");
|
||
|
sigmaDeltaDetachPin(LED_BUILTIN);
|
||
|
for (iRepeat = 0; iRepeat < 20; iRepeat++) {
|
||
|
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
|
||
|
delay(500);
|
||
|
}
|
||
|
}
|