Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /************************************************************************************************************************************************************************
- * - Author : BEE MB *
- * - Profession : (Developer) MEGA DAS owner *
- * - Main purpose : Industrial Application *
- * - Copyright holder : No copyrights *
- * - Date : 06/09/2016 *
- * ***********************************************************************************************************************************************************************/
- // the used PINs
- const int s0=4;
- const int s1=5;
- const int s2=6;
- const int s3=7;
- const int sensorData=8;
- const int ledRed=9;
- const int ledGreen=10;
- const int ledBlue=11;
- const int buttonPin=12;
- // Global variable to store data
- int dataR=0;
- int dataG=0;
- int dataB=0;
- int buttonState=0;
- void setup() {
- pinMode(s0,OUTPUT);
- pinMode(s1,OUTPUT);
- pinMode(s2,OUTPUT);
- pinMode(s3,OUTPUT);
- pinMode(sensorData,INPUT);
- pinMode(buttonPin,INPUT);
- Serial.begin(9600);
- digitalWrite(s0,HIGH);
- digitalWrite(s1,HIGH);
- }
- void loop() {
- buttonState = digitalRead(buttonPin);
- if (buttonState == HIGH) { // check if the pushbutton is pressed.
- printCurrentColor();
- }
- digitalWrite(s2,LOW);
- digitalWrite(s3,LOW);
- dataR=pulseIn(sensorData,LOW);
- delay(20);
- digitalWrite(s2,HIGH);
- digitalWrite(s3,HIGH);
- dataG=pulseIn(sensorData,LOW);
- delay(20);
- digitalWrite(s2,LOW);
- digitalWrite(s3,HIGH);
- dataB=pulseIn(sensorData,LOW);
- delay(20);
- if(isRed())
- {
- Serial.println("this is the RED color");
- led_displayRed();
- }
- if(isBlue())
- {
- Serial.println("this is the BLUE color");
- led_displayBlue();
- }
- if(isGreen())
- {
- Serial.println("this is the GREEN color");
- led_displayGreen();
- }
- if(isYellow())
- {
- Serial.println("this is the YELLOW color");
- led_displayYellow();
- }
- if(isPurple())
- {
- Serial.println("this is the PURPLE color");
- led_displayPurple();
- }
- if(isOrange())
- {
- Serial.println("this is the ORANGE color");
- led_displayOrange();
- }
- if(isPink())
- {
- Serial.println("this is the PINK color");
- led_displayPink();
- }
- if(isWhite())
- {
- Serial.println("this is the WHITE color");
- led_displayWhite();
- }
- }
- void led_displayRed() {
- analogWrite(ledRed, 0);
- analogWrite(ledGreen, 255);
- analogWrite(ledBlue, 255);
- }
- void led_displayBlue() {
- analogWrite(ledRed, 255);
- analogWrite(ledGreen, 224);
- analogWrite(ledBlue, 0);
- }
- void led_displayGreen() {
- analogWrite(ledRed, 200);
- analogWrite(ledGreen, 20);
- analogWrite(ledBlue, 250);
- }
- void led_displayYellow() {
- analogWrite(ledRed, 0);
- analogWrite(ledGreen, 0);
- analogWrite(ledBlue, 255);
- }
- void led_displayPurple() {
- analogWrite(ledRed, 200);
- analogWrite(ledGreen, 250);
- analogWrite(ledBlue, 20);
- }
- void led_displayOrange() {
- analogWrite(ledRed, 0);
- analogWrite(ledGreen, 200);
- analogWrite(ledBlue, 255);
- }
- void led_displayPink() {
- analogWrite(ledRed, 100);
- analogWrite(ledGreen, 240);
- analogWrite(ledBlue, 200);
- }
- void led_displayWhite() {
- analogWrite(ledRed, 0);
- analogWrite(ledGreen, 0);
- analogWrite(ledBlue, 0);
- }
- bool isRed() {
- if ((dataR < 10 && dataR > 4) && (dataG < 23 && dataG > 18) && (dataB < 16 && dataB > 10)) {
- return true;
- } else {
- return false;
- }
- }
- bool isGreen() {
- if ((dataR < 20 && dataR > 14) && (dataG < 13 && dataG > 7) && (dataB < 14 && dataB > 8)) {
- return true;
- } else {
- return false;
- }
- }
- bool isBlue() {
- if ((dataR < 25 && dataR > 19) && (dataG < 16 && dataG > 10) && (dataB < 10 && dataB > 4)) {
- return true;
- } else {
- return false;
- }
- }
- bool isYellow() {
- if ((dataR < 8 && dataR > 2) && (dataG < 9 && dataG > 3) && (dataB < 13 && dataB > 7)) {
- return true;
- } else {
- return false;
- }
- }
- bool isPurple() {
- if ((dataR < 14 && dataR > 8) && (dataG < 22 && dataG > 16) && (dataB < 14 && dataB > 8)) {
- return true;
- } else {
- return false;
- }
- }
- bool isOrange() {
- if ((dataR < 9 && dataR > 3) && (dataG < 15 && dataG > 9) && (dataB < 16 && dataB > 10)) {
- return true;
- } else {
- return false;
- }
- }
- bool isPink() {
- if ((dataR < 10 && dataR > 4) && (dataG < 19 && dataG > 13) && (dataB < 11 && dataB > 5)) {
- return true;
- } else {
- return false;
- }
- }
- bool isWhite() {
- if ((dataR < 8 && dataR > 2) && (dataG < 8 && dataG > 2) && (dataB < 7 && dataB > 1)) {
- return true;
- } else {
- return false;
- }
- }
- void printCurrentColor(){
- Serial.println("===Current Color===");
- Serial.print("R = ");
- Serial.print(dataR);
- Serial.print("\nG = ");
- Serial.print(dataG);
- Serial.print("\nB = ");
- Serial.print(dataB);
- Serial.println("\n===================");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement