Menu
Index
Engineering
Entertainment
Literature
Miscellaneous
Contact
Search
tiktok.com/@pkvi.xyz
buymeacoffee.com/pkvi
scored.co/u/pkvi_halfkdeltaxsq
Miter
Why Ayh?
Miter
@pkvi
"...may not meet professional standards."
372 miters
122 tenons
Subscribe
0.00277
Mobile Coeur d'Alene Floating 14th Hole



  1. // MCDL14 Drive
  2. // none
  3. #include "SoftwareSerial.h"
  4. // 6.25 Inch Rotation
  5. // 5.76 Rotations Per Yard
  6. // 1.25 Seconds Per Rotation
  7. // 7.2 Seconds Per Yard
  8. SoftwareSerial btsend(11, 10);
  9. const int alive = 13;
  10. //Forward
  11. const int posfwd = 4;
  12. const int negfwd = 6;
  13. //Backward
  14. const int posbak = 5;
  15. const int negbak = 7;
  16. // Last Position
  17. int pos = 0;
  18. int rot = 0;
  19. char btrec;
  20. // Run Time (Ref.)
  21. int zero = 0;
  22. int forty = 5555;
  23. int fifty = 6944;
  24. int sixty = 8333;
  25. int seventy = 9722;
  26. int eigthy = 11111;
  27. int ninety = 12500;
  28. void setup() {
  29. Serial.begin(9600);
  30. btsend.begin(9600);
  31. pinMode(alive, OUTPUT);
  32. pinMode(posfwd, OUTPUT);
  33. pinMode(negfwd, OUTPUT);
  34. pinMode(posbak, OUTPUT);
  35. pinMode(negbak, OUTPUT);
  36. }
  37. void loop() {
  38. // Bluetooth Coms
  39. while (btsend.available()) {
  40. btrec = btsend.read();
  41. Serial.println(btrec);
  42. Serial.println(pos);
  43. // 40 Yards
  44. if (btrec == '1') {
  45. if (pos > forty) {
  46. rot = pos - forty;
  47. Serial.println(rot);
  48. backward();
  49. delay(rot);
  50. halt();
  51. pos = forty;
  52. }
  53. else if (pos < forty) {
  54. rot = forty - pos;
  55. Serial.println(rot);
  56. forward();
  57. delay(rot);
  58. halt();
  59. pos = forty;
  60. }
  61. else if (pos == forty) {
  62. halt();
  63. pos = forty;
  64. }
  65. }
  66. // 50 Yards
  67. if (btrec == '2') {
  68. if (pos > fifty) {
  69. rot = pos - fifty;
  70. Serial.println(rot);
  71. backward();
  72. delay(rot);
  73. halt();
  74. pos = fifty;
  75. }
  76. else if (pos < fifty) {
  77. rot = fifty - pos;
  78. Serial.println(rot);
  79. forward();
  80. delay(rot);
  81. halt();
  82. pos = fifty;
  83. }
  84. else if (pos == fifty) {
  85. halt();
  86. pos = fifty;
  87. }
  88. }
  89. // 60 Yards
  90. if (btrec == '3') {
  91. if (pos > sixty) {
  92. rot = pos - sixty;
  93. Serial.println(rot);
  94. backward();
  95. delay(rot);
  96. halt();
  97. pos = sixty;
  98. }
  99. else if (pos < sixty) {
  100. rot = sixty - pos;
  101. Serial.println(rot);
  102. forward();
  103. delay(rot);
  104. halt();
  105. pos = sixty;
  106. }
  107. else if (pos == sixty) {
  108. halt();
  109. pos = sixty;
  110. }
  111. }
  112. // 70 Yards
  113. if (btrec == '4') {
  114. if (pos > seventy) {
  115. rot = pos - seventy;
  116. Serial.println(rot);
  117. backward();
  118. delay(rot);
  119. halt();
  120. pos = seventy;
  121. }
  122. else if (pos < seventy) {
  123. rot = seventy - pos;
  124. Serial.println(rot);
  125. forward();
  126. delay(rot);
  127. halt();
  128. pos = seventy;
  129. }
  130. else if (pos == seventy) {
  131. halt();
  132. pos = seventy;
  133. }
  134. }
  135. // 80 Yards
  136. if (btrec == '5') {
  137. if (pos > eigthy) {
  138. rot = pos - eigthy;
  139. Serial.println(rot);
  140. backward();
  141. delay(rot);
  142. halt();
  143. pos = eigthy;
  144. }
  145. else if (pos < eigthy) {
  146. rot = eigthy - pos;
  147. Serial.println(rot);
  148. forward();
  149. delay(rot);
  150. halt();
  151. pos = eigthy;
  152. }
  153. else if (pos == eigthy) {
  154. halt();
  155. pos = eigthy;
  156. }
  157. }
  158. // 90 Yards
  159. if (btrec == '6') {
  160. if (pos > ninety) {
  161. rot = pos - ninety;
  162. Serial.println(rot);
  163. backward();
  164. delay(rot);
  165. halt();
  166. pos = ninety;
  167. }
  168. else if (pos < ninety) {
  169. rot = ninety - pos;
  170. Serial.println(rot);
  171. forward();
  172. delay(rot);
  173. halt();
  174. pos = ninety;
  175. }
  176. else if (pos == ninety) {
  177. halt();
  178. pos = ninety;
  179. }
  180. }
  181. // Home
  182. if (btrec == '7') {
  183. if (pos > zero) {
  184. rot = pos - zero;
  185. Serial.println(rot);
  186. backward();
  187. delay(rot);
  188. halt();
  189. pos = zero;
  190. }
  191. else if (pos < zero) {
  192. rot = zero - pos;
  193. Serial.println(rot);
  194. forward();
  195. delay(rot);
  196. halt();
  197. pos = zero;
  198. }
  199. else if (pos == zero) {
  200. halt();
  201. pos = zero;
  202. }
  203. }
  204. }
  205. }
  206. void backward() {
  207. Serial.println("backward");
  208. digitalWrite(posbak, HIGH);
  209. digitalWrite(negbak, HIGH);
  210. digitalWrite(alive, HIGH);
  211. }
  212. void forward() {
  213. Serial.println("forward");
  214. digitalWrite(posfwd, HIGH);
  215. digitalWrite(negfwd, HIGH);
  216. digitalWrite(alive, HIGH);
  217. }
  218. void halt() {
  219. Serial.println("stop");
  220. digitalWrite(posfwd, LOW);
  221. digitalWrite(negfwd, LOW);
  222. digitalWrite(posbak, LOW);
  223. digitalWrite(negbak, LOW);
  224. digitalWrite(alive, LOW);
  225. }