Advertisement
Guest User

Untitled

a guest
Jul 5th, 2017
2,056
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. //255 255 14 6 26 25 1 110 2 199 42 248 1 24 17 192 0 110 7
  2. int b1=255;
  3. int b2=255;
  4. int b3=14;
  5. int b4=6;
  6. int b5 = 100;//batt percent.
  7. int b6=25;
  8. int b7=1;
  9. int b8=110; //??
  10. int b9=2; //?? 2-3
  11. int b10=199; // ?? 22-255
  12. int b11=42;
  13. int b12=248;
  14. int b13=1;
  15. int b14=24;
  16. int b15=17;
  17. int b16=240; //unusedled indicator 128-192-240-255
  18. int b17=0; // 0-7 prob. power
  19. int b18=110; // 0-255
  20. int b19;
  21.  
  22. int b5t = 0;
  23. int b5t2 = 0;
  24. int index = 0;
  25. boolean low = false;
  26.  
  27. void setup(){
  28. Serial.begin(2400,SERIAL_8E1);
  29.  
  30. }
  31.  
  32. void loop(){
  33. // this shit here is linear, dont expect a fancy li-ion charge algorithm.
  34.  
  35. b5t = (int)map(analogRead(0),804,1023,0,100);
  36. //calibrate here.
  37. //804 = 3.93V Analog In = empty @ 33V batt
  38. //1023 = 5V Analog In = full @ 42V batt
  39.  
  40. b5t2 = b5t2 + b5t;
  41. index = index + 1;
  42.  
  43. // averaging, calc every 5 secs a new batt percentage.
  44. if(index > 20){
  45. b5 = (int)(b5t2 / 20);
  46. b5t2 = 0;
  47. index = 0;
  48. }
  49. if(b5 >= 100){ b5 = 100; }
  50. if(b5 <= 10 || low){ b5 = 10; low = true;}
  51. //once it goes below 10% stay there until Arduino has been restarted.
  52. //voltage drop cause the motor to turn off on a hill.
  53. //this squeezes the last bit of juice out of your batt.
  54.  
  55. //crc sum dont change
  56. b19 = ((b1-b2-b3-b4-b5-b6-b7-b8-b9-b10-b11-b12-b13-b14-b15-b16-b17-b18)%256)+256;
  57.  
  58.  
  59. // 4x a sec, dont change or add any other delay.
  60. delay(250);
  61.  
  62.  
  63. Serial.write(b1);
  64. Serial.write(b2);
  65. Serial.write(b3);
  66. Serial.write(b4);
  67. Serial.write(b5);
  68. Serial.write(b6);
  69. Serial.write(b7);
  70. Serial.write(b8);
  71. Serial.write(b9);
  72. Serial.write(b10);
  73. Serial.write(b11);
  74. Serial.write(b12);
  75. Serial.write(b13);
  76. Serial.write(b14);
  77. Serial.write(b15);
  78. Serial.write(b16);
  79. Serial.write(b17);
  80. Serial.write(b18);
  81. Serial.write(b19);
  82.  
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement