Advertisement
zdenekpetrzd

BUCK_FEEDBACK

Sep 8th, 2018
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.68 KB | None | 0 0
  1. #include <TinyWireS.h>
  2. #include <usiTwiSlave.h>
  3.  
  4.  
  5.  
  6. int feedback = 3; //4
  7. int PWM = 1; //0
  8.  
  9. int pwm = 0;
  10. float voltage = 0;
  11. int voltage2 = 0;
  12.  
  13. void setup() {
  14. TinyWireS.begin(0x07);
  15. pinMode(feedback, INPUT);
  16. pinMode(PWM, OUTPUT);
  17. TCCR0B = TCCR0B & 0b11111000 | 0b001;
  18. }
  19.  
  20. void loop() {
  21. if (TinyWireS.available()) {
  22. voltage2 = TinyWireS.receive();
  23. voltage = map(voltage2, 0, 255,0, 1024);
  24. }
  25.  
  26. float output = analogRead(feedback);
  27.  
  28. if (voltage < output)
  29. {
  30. pwm = pwm-1;
  31. pwm = constrain(pwm, 0, 254);
  32. }
  33.  
  34. if (voltage > output)
  35. {
  36. pwm = pwm+1;
  37. pwm = constrain(pwm, 0, 254);
  38. }
  39. analogWrite(PWM,pwm);
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement