SHARE
TWEET

Untitled

a guest Apr 18th, 2019 75 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top