Guest User

Untitled

a guest
Oct 16th, 2017
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.92 KB | None | 0 0
  1. byte iR1A;
  2. byte iR2A;
  3. byte iR3A;
  4. byte iG1A;
  5. byte iG2A;
  6. byte iG3A;
  7. byte iB1A;
  8. byte iB2A;
  9. byte iB3A;
  10. int R1A;
  11. int R2A;
  12. int R3A;
  13. int G1A;
  14. int G2A;
  15. int G3A;
  16. int B1A;
  17. int B2A;
  18. int B3A;
  19. int RpinA = 3;
  20. int GpinA = 5;
  21. int BpinA = 6;
  22. char val;
  23. int sped;
  24. int speeder;
  25. boolean R1big;
  26. boolean R2big;
  27. boolean R3big;
  28. boolean G1big;
  29. boolean G2big;
  30. boolean G3big;
  31. boolean B1big;
  32. boolean B2big;
  33. boolean B3big;
  34. int Rprint1;
  35. int Rprint2;
  36. int Rprint3;
  37. int Gprint1;
  38. int Gprint2;
  39. int Gprint3;
  40. int Bprint1;
  41. int Bprint2;
  42. int Bprint3;
  43. int inByte = 0;
  44. int serialCount = 0;
  45. byte readArray[10] = {iR1A, iG1A, iB1A, iR2A, iG2A, iB2A, iR3A, iG3A, iB3A, sped};
  46.  
  47. void setup(){
  48. Serial.begin(9600);
  49. pinMode(RpinA, OUTPUT);
  50. pinMode(GpinA, OUTPUT);
  51. pinMode(BpinA, OUTPUT);
  52. }
  53.  
  54. void loop(){
  55. //do this stuff repeatedly
  56. readstuff(); //look to see if anything is being written
  57. cyclethrough(); //cycle through colors
  58. }
  59.  
  60. /*
  61. void readstuff(){
  62. //wireless read
  63. if (Serial.available() > 0) {
  64. //val = Serial.read();
  65. //while (val = 'G') {val = Serial.read();}
  66.  
  67. //while (Serial.available() < 10) {}
  68. //val = Serial.read();
  69. iR1A = Serial.read();
  70. iG1A = Serial.read();
  71. iB1A = Serial.read();
  72. iR2A = Serial.read();
  73. iG2A = Serial.read();
  74. iB2A = Serial.read();
  75. iR3A = Serial.read();
  76. iG3A = Serial.read();
  77. iB3A = Serial.read();
  78. sped = Serial.read();
  79. }
  80. biggen();
  81. speeder = sped*50;
  82. }
  83. */
  84.  
  85. void readstuff() {
  86.  
  87. while(Serial.available() <= 0) {
  88. Serial.print('A');
  89. delay(1000);
  90. }
  91.  
  92. while(Serial.available() > 0) {
  93.  
  94. inByte = Serial.read();
  95. readArray[serialCount] = inByte;
  96. serialCount++;
  97.  
  98. if (serialCount > 9) { //may be sufficient to have this as serialCount > 0
  99. iR1A = readArray[0];
  100. iG1A = readArray[1];
  101. iB1A = readArray[2];
  102. iR2A = readArray[3];
  103. iG2A = readArray[4];
  104. iB2A = readArray[5];
  105. iR3A = readArray[6];
  106. iG3A = readArray[7];
  107. iB3A = readArray[8];
  108. sped = readArray[9];
  109. }
  110. }
  111.  
  112. biggen();
  113. speeder = sped*50;
  114.  
  115. }
  116.  
  117. void biggen(){
  118. //convert bytes to ints
  119. R1A = int(iR1A);
  120. R2A = int(iR2A);
  121. R3A = int(iR3A);
  122. G1A = int(iG1A);
  123. G2A = int(iG2A);
  124. G3A = int(iG3A);
  125. B1A = int(iB1A);
  126. B2A = int(iB2A);
  127. B3A = int(iB3A);
  128. //compute differences between values
  129. if (R1A >= R2A) {
  130. R1big == true;
  131. } else {R1big == false;}
  132. if (R2A >= R3A) {
  133. R2big == true;
  134. } else {R2big == false;}
  135. if (R3A >= R1A) {
  136. R3big == true;
  137. } else {R3big == false;}
  138. if (G1A >= G2A) {
  139. G1big == true;
  140. } else {G1big == false;}
  141. if (G2A >= G3A) {
  142. G2big == true;
  143. } else {G2big == false;}
  144. if (G3A >= G1A) {
  145. G3big == true;
  146. } else {G3big == false;}
  147. if (B1A >= B2A) {
  148. B1big == true;
  149. } else {B1big == false;}
  150. if (B2A >= B3A) {
  151. B2big == true;
  152. } else {B2big == false;}
  153. if (B3A >= B1A) {
  154. B3big == true;
  155. } else {B3big == false;}
  156. }
  157.  
  158. void cyclethrough(){
  159. //cycling function, conditionals to determine which way to go: up or down
  160. if (R1big == true) {
  161. Rprint1 = R1A;
  162. for(int Rprint1; Rprint1 >= R2A; Rprint1--){
  163. analogWrite(RpinA, Rprint1);
  164. delay(speeder);
  165. }
  166. }
  167. if (R1big == false) {
  168. Rprint1 = R1A;
  169. for(int Rprint1; Rprint1 <= R2A; Rprint1++){
  170. analogWrite(RpinA, Rprint1);
  171. delay(speeder);
  172. }
  173. }
  174. if (G1big == true) {
  175. Gprint1 = G1A;
  176. for(int Gprint1; Gprint1 >= G2A; Gprint1--){
  177. analogWrite(GpinA, Gprint1);
  178. delay(speeder);
  179. }
  180. }
  181. if (G1big == false) {
  182. Gprint1 = G1A;
  183. for(int Gprint1; Gprint1 <= G2A; Gprint1++){
  184. analogWrite(GpinA, Gprint1);
  185. delay(speeder);
  186. }
  187. }
  188. if (B1big == true) {
  189. Bprint1 = B1A;
  190. for(int Bprint1; Bprint1 <= B2A; Bprint1--){
  191. analogWrite(BpinA, Bprint1);
  192. delay(speeder);
  193. }
  194. }
  195. if (B1big == false) {
  196. Bprint1 = B1A;
  197. for(int Bprint1; Bprint1 >= B2A; Bprint1++){
  198. analogWrite(BpinA, Bprint1);
  199. }
  200. }
  201. if (R2big == true) {
  202. Rprint2 = R2A;
  203. for(int Rprint2; Rprint2 <= R3A; Rprint2--){
  204. analogWrite(RpinA, Rprint2);
  205. delay(speeder);
  206. }
  207. }
  208. if (R2big == false) {
  209. Rprint2 = R2A;
  210. for(int Rprint2; Rprint2 >= R3A; Rprint2++){
  211. analogWrite(RpinA, Rprint2);
  212. delay(speeder);
  213. }
  214. }
  215. if (G2big == true) {
  216. Gprint2 = G2A;
  217. for(int Gprint2; Gprint2 <= G3A; Gprint2--){
  218. analogWrite(GpinA, Gprint2);
  219. delay(speeder);
  220. }
  221. }
  222. if (G2big == false) {
  223. Gprint2 = G2A;
  224. for(int Gprint2; Gprint2 >= G3A; Gprint2++){
  225. analogWrite(GpinA, Gprint2);
  226. delay(speeder);
  227. }
  228. }
  229. if (B2big == true) {
  230. Bprint2 = B2A;
  231. for(int Bprint2; Bprint2 <= B3A; Bprint2--){
  232. analogWrite(BpinA, Bprint2);
  233. delay(speeder);
  234. }
  235. }
  236. if (B2big == false) {
  237. Bprint2 = B2A;
  238. for(int Bprint2; Bprint2 >= B3A; Bprint2++){
  239. analogWrite(BpinA, Bprint2);
  240. delay(speeder);
  241. }
  242. }
  243. if (R3big == true) {
  244. Rprint3 = R3A;
  245. for(int Rprint3; Rprint3 >= R1A; Rprint3--){
  246. analogWrite(RpinA, Rprint3);
  247. delay(speeder);
  248. }
  249. }
  250. if (R3big == false) {
  251. Rprint3 = R3A;
  252. for(int Rprint3; Rprint3 <= R1A; Rprint3++){
  253. analogWrite(RpinA, Rprint3);
  254. delay(speeder);
  255. }
  256. }
  257. if (G3big == true) {
  258. Gprint3 = G3A;
  259. for(int Gprint3; Gprint3 >= G1A; Gprint3--){
  260. analogWrite(GpinA, Gprint3);
  261. delay(speeder);
  262. }
  263. }
  264. if (G3big == false) {
  265. Gprint3 = G3A;
  266. for(int Gprint3; Gprint3 <= G1A; Gprint3++){
  267. analogWrite(GpinA, Gprint3);
  268. delay(speeder);
  269. }
  270. }
  271. if(B3big == true) {
  272. Bprint3 = B3A;
  273. for(int Bprint3; Bprint3 >= B1A; Bprint3--){
  274. analogWrite(BpinA, Bprint3);
  275. delay(speeder);
  276. }
  277. }
  278. if(B3big == false) {
  279. Bprint3 = B3A;
  280. for(int Bprint3; Bprint3 <= B1A; Bprint3++){
  281. analogWrite(BpinA, Bprint3);
  282. delay(speeder);
  283. }
  284. }
  285. }
Add Comment
Please, Sign In to add comment