diff options
| author | Abel Tim <abel@abeltim.com> | 2025-04-01 19:54:58 +0200 |
|---|---|---|
| committer | Abel Tim <abel@abeltim.com> | 2025-04-01 19:54:58 +0200 |
| commit | 611845d81d3eaf5517c206a305419ab3b3afd68a (patch) | |
| tree | 7be1bc0b66afafabb605999448dfa30680685328 /code/debug/motors/PWM/src/main.cpp | |
| parent | cee52440dbaa7d71ec14ab36829e150f661291e2 (diff) | |
| download | robotica-611845d81d3eaf5517c206a305419ab3b3afd68a.tar.gz robotica-611845d81d3eaf5517c206a305419ab3b3afd68a.zip | |
did a lot of thing lately
Diffstat (limited to 'code/debug/motors/PWM/src/main.cpp')
| -rw-r--r-- | code/debug/motors/PWM/src/main.cpp | 43 |
1 files changed, 38 insertions, 5 deletions
diff --git a/code/debug/motors/PWM/src/main.cpp b/code/debug/motors/PWM/src/main.cpp index 7564056..53369e4 100644 --- a/code/debug/motors/PWM/src/main.cpp +++ b/code/debug/motors/PWM/src/main.cpp @@ -1,13 +1,46 @@ -#include "SoftPWM.h" #include <Arduino.h> -int pwmPin = 3; +int pwmPin = 3; //pin for PWM output +int pwmacc = 1000; //how accurate the PWM is, means you can enter value from 0 to the value of pwmacc +int PWMval = 0; //value of the PWM, means you can enter value from 0 to the value of pwmacc + +void setup() { +} void setup() { - SoftPWMBegin(); + + Timer3.initialize(800); // 800 microseconds or 1.25Hz + Timer3.attachInterrupt(updatePWM); +} + +void updatePWM() { + static int counter = 0; + if PWMval < 0) { + PWMval = 0; + } + if (PWMval > pwmacc) { + PWMval = pwmacc; + } + + if (counter < PWMval) { + digitalWrite(pwmPin, HIGH); + } else { + digitalWrite(pwmPin, LOW); + } + + counter++; + if (counter >= pwmacc) { + counter = 0; + } } void loop() { - SoftPWMSetFadeTime(pwmPin, 2500, 2500); - delay(1000); + for i (0; i < pwmacc; i++) { + PWMval = i; + delay(10); + } + for i (pwmacc; i > 0; i--) { + PWMval = i; + delay(10); + } }
\ No newline at end of file |
