Advertisement
Guest User

Untitled

a guest
Apr 18th, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.06 KB | None | 0 0
  1. /************************************************************************************************************************************************************************
  2. * - Author : BEE MB *
  3. * - Profession : (Developer) MEGA DAS owner *
  4. * - Main purpose : Industrial Application *
  5. * - Copyright holder : No copyrights *
  6. * - Date : 06/09/2016 *
  7. * ***********************************************************************************************************************************************************************/
  8. // the used PINs
  9. const int s0=4;
  10. const int s1=5;
  11. const int s2=6;
  12. const int s3=7;
  13. const int sensorData=8;
  14. const int ledRed=9;
  15. const int ledGreen=10;
  16. const int ledBlue=11;
  17. const int buttonPin=12;
  18.  
  19. // Global variable to store data
  20. int dataR=0;
  21. int dataG=0;
  22. int dataB=0;
  23. int buttonState=0;
  24.  
  25. void setup() {
  26. pinMode(s0,OUTPUT);
  27. pinMode(s1,OUTPUT);
  28. pinMode(s2,OUTPUT);
  29. pinMode(s3,OUTPUT);
  30. pinMode(sensorData,INPUT);
  31. pinMode(buttonPin,INPUT);
  32.  
  33. Serial.begin(9600);
  34. digitalWrite(s0,HIGH);
  35. digitalWrite(s1,HIGH);
  36. }
  37.  
  38. void loop() {
  39. buttonState = digitalRead(buttonPin);
  40. if (buttonState == HIGH) { // check if the pushbutton is pressed.
  41. printCurrentColor();
  42. }
  43.  
  44. digitalWrite(s2,LOW);
  45. digitalWrite(s3,LOW);
  46. dataR=pulseIn(sensorData,LOW);
  47. delay(20);
  48.  
  49. digitalWrite(s2,HIGH);
  50. digitalWrite(s3,HIGH);
  51. dataG=pulseIn(sensorData,LOW);
  52. delay(20);
  53.  
  54. digitalWrite(s2,LOW);
  55. digitalWrite(s3,HIGH);
  56. dataB=pulseIn(sensorData,LOW);
  57. delay(20);
  58.  
  59. if(isRed())
  60. {
  61. Serial.println("this is the RED color");
  62. led_displayRed();
  63. }
  64. if(isBlue())
  65. {
  66. Serial.println("this is the BLUE color");
  67. led_displayBlue();
  68. }
  69. if(isGreen())
  70. {
  71. Serial.println("this is the GREEN color");
  72. led_displayGreen();
  73. }
  74. if(isYellow())
  75. {
  76. Serial.println("this is the YELLOW color");
  77. led_displayYellow();
  78. }
  79. if(isPurple())
  80. {
  81. Serial.println("this is the PURPLE color");
  82. led_displayPurple();
  83. }
  84. if(isOrange())
  85. {
  86. Serial.println("this is the ORANGE color");
  87. led_displayOrange();
  88. }
  89. if(isPink())
  90. {
  91. Serial.println("this is the PINK color");
  92. led_displayPink();
  93. }
  94. if(isWhite())
  95. {
  96. Serial.println("this is the WHITE color");
  97. led_displayWhite();
  98. }
  99. }
  100.  
  101. void led_displayRed() {
  102. analogWrite(ledRed, 0);
  103. analogWrite(ledGreen, 255);
  104. analogWrite(ledBlue, 255);
  105. }
  106.  
  107. void led_displayBlue() {
  108. analogWrite(ledRed, 255);
  109. analogWrite(ledGreen, 224);
  110. analogWrite(ledBlue, 0);
  111. }
  112.  
  113. void led_displayGreen() {
  114. analogWrite(ledRed, 200);
  115. analogWrite(ledGreen, 20);
  116. analogWrite(ledBlue, 250);
  117. }
  118.  
  119. void led_displayYellow() {
  120. analogWrite(ledRed, 0);
  121. analogWrite(ledGreen, 0);
  122. analogWrite(ledBlue, 255);
  123. }
  124.  
  125. void led_displayPurple() {
  126. analogWrite(ledRed, 200);
  127. analogWrite(ledGreen, 250);
  128. analogWrite(ledBlue, 20);
  129. }
  130.  
  131. void led_displayOrange() {
  132. analogWrite(ledRed, 0);
  133. analogWrite(ledGreen, 200);
  134. analogWrite(ledBlue, 255);
  135. }
  136.  
  137. void led_displayPink() {
  138. analogWrite(ledRed, 100);
  139. analogWrite(ledGreen, 240);
  140. analogWrite(ledBlue, 200);
  141. }
  142.  
  143. void led_displayWhite() {
  144. analogWrite(ledRed, 0);
  145. analogWrite(ledGreen, 0);
  146. analogWrite(ledBlue, 0);
  147. }
  148.  
  149.  
  150.  
  151. bool isRed() {
  152. if ((dataR < 10 && dataR > 4) && (dataG < 23 && dataG > 18) && (dataB < 16 && dataB > 10)) {
  153. return true;
  154. } else {
  155. return false;
  156. }
  157. }
  158.  
  159. bool isGreen() {
  160. if ((dataR < 20 && dataR > 14) && (dataG < 13 && dataG > 7) && (dataB < 14 && dataB > 8)) {
  161. return true;
  162. } else {
  163. return false;
  164. }
  165. }
  166.  
  167. bool isBlue() {
  168. if ((dataR < 25 && dataR > 19) && (dataG < 16 && dataG > 10) && (dataB < 10 && dataB > 4)) {
  169. return true;
  170. } else {
  171. return false;
  172. }
  173. }
  174.  
  175. bool isYellow() {
  176. if ((dataR < 8 && dataR > 2) && (dataG < 9 && dataG > 3) && (dataB < 13 && dataB > 7)) {
  177. return true;
  178. } else {
  179. return false;
  180. }
  181. }
  182.  
  183. bool isPurple() {
  184. if ((dataR < 14 && dataR > 8) && (dataG < 22 && dataG > 16) && (dataB < 14 && dataB > 8)) {
  185. return true;
  186. } else {
  187. return false;
  188. }
  189. }
  190.  
  191. bool isOrange() {
  192. if ((dataR < 9 && dataR > 3) && (dataG < 15 && dataG > 9) && (dataB < 16 && dataB > 10)) {
  193. return true;
  194. } else {
  195. return false;
  196. }
  197. }
  198.  
  199. bool isPink() {
  200. if ((dataR < 10 && dataR > 4) && (dataG < 19 && dataG > 13) && (dataB < 11 && dataB > 5)) {
  201. return true;
  202. } else {
  203. return false;
  204. }
  205. }
  206.  
  207. bool isWhite() {
  208. if ((dataR < 8 && dataR > 2) && (dataG < 8 && dataG > 2) && (dataB < 7 && dataB > 1)) {
  209. return true;
  210. } else {
  211. return false;
  212. }
  213. }
  214.  
  215. void printCurrentColor(){
  216. Serial.println("===Current Color===");
  217. Serial.print("R = ");
  218. Serial.print(dataR);
  219. Serial.print("\nG = ");
  220. Serial.print(dataG);
  221. Serial.print("\nB = ");
  222. Serial.print(dataB);
  223. Serial.println("\n===================");
  224. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement