LovelessIsma

tsc230sensorcolor.ino

Nov 8th, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const int sR0 = A2; //50;
  2. const int sR1 = A1; //52;
  3. const int sR2 = A4; //46;
  4. const int sR3 = A5; //44;
  5. const int outR = A3; //48;
  6.  
  7. const int sL0 = A14; //50;
  8. const int sL1 = A15; //52;
  9. const int sL2 = A12; //46;
  10. const int sL3 = A11; //44;
  11. const int outL = A13; //48;
  12.  
  13. int redRight = 0;
  14. int greenRight = 0;
  15. int blueRight = 0;
  16.  
  17. int redLeft = 0;
  18. int greenLeft = 0;
  19. int blueLeft = 0;
  20.  
  21. void setup() {
  22.   Serial.begin(115200);
  23.  
  24.   pinMode(sR0, OUTPUT);
  25.   pinMode(sR1, OUTPUT);
  26.   pinMode(sR2, OUTPUT);
  27.   pinMode(sR3, OUTPUT);
  28.   pinMode(outR, INPUT);
  29.   digitalWrite(sR0, HIGH);
  30.   digitalWrite(sR1, HIGH);
  31.  
  32.   pinMode(sL0, OUTPUT);
  33.   pinMode(sL1, OUTPUT);
  34.   pinMode(sL2, OUTPUT);
  35.   pinMode(sL3, OUTPUT);
  36.   pinMode(outL, INPUT);
  37.   digitalWrite(sL0, HIGH);
  38.   digitalWrite(sL1, HIGH);
  39. }
  40.  
  41.  
  42. void loop() {
  43.   color();
  44.  
  45.   Serial.print("Derecha   ");
  46.   Serial.print(redRight, DEC);
  47.   Serial.print("   ");
  48.   Serial.print(greenRight, DEC);
  49.   Serial.print("   ");
  50.   Serial.print(blueRight, DEC);
  51.  
  52.   if (redRight < greenRight && greenRight < blueRight && blueRight < 35)
  53.   {
  54.     Serial.println("   Amarillo");
  55.   }
  56.   else if (redRight < blueRight && greenRight > blueRight && redRight < 35)
  57.   {
  58.     Serial.println("   Rojo");
  59.   }
  60.   else if (blueRight < redRight && blueRight < greenRight && greenRight < redRight)
  61.   {
  62.     Serial.println("   Azul");
  63.   }
  64.  
  65.   else if (redRight > greenRight && blueRight > greenRight )
  66.   {
  67.     Serial.println("   Verde");
  68.   }
  69.   else {
  70.     Serial.println("  ");
  71.   }
  72.  
  73.   Serial.print("Izquierda   ");
  74.   Serial.print(redLeft, DEC);
  75.   Serial.print("   ");
  76.   Serial.print(greenLeft, DEC);
  77.   Serial.print("   ");
  78.   Serial.print(blueLeft, DEC);
  79.  
  80.   if (redLeft < greenLeft && greenLeft < blueLeft && blueLeft < 35)
  81.   {
  82.     Serial.println("   Amarillo");
  83.   }
  84.   else if (redLeft < blueLeft && greenLeft > blueLeft && redLeft < 35)
  85.   {
  86.     Serial.println("   Rojo");
  87.   }
  88.   else if (blueLeft < redLeft && blueLeft < greenLeft && greenLeft < redLeft)
  89.   {
  90.     Serial.println("   Azul");
  91.   }
  92.  
  93.   else if (redLeft > greenLeft && blueLeft > greenLeft )
  94.   {
  95.     Serial.println("   Verde");
  96.   }
  97.   else {
  98.     Serial.println("  ");
  99.   }
  100.  
  101.  
  102.   delay(900);
  103. }
  104.  
  105. void color()
  106. {
  107.   digitalWrite(sR2, LOW);
  108.   digitalWrite(sR3, LOW);
  109.   redRight = pulseIn(outR, digitalRead(outR) == HIGH ? LOW : HIGH);
  110.   digitalWrite(sR3, HIGH);
  111.   blueRight = pulseIn(outR, digitalRead(outR) == HIGH ? LOW : HIGH);
  112.   digitalWrite(sR2, HIGH);
  113.   greenRight = pulseIn(outR, digitalRead(outR) == HIGH ? LOW : HIGH);
  114.  
  115.   digitalWrite(sL2, LOW);
  116.   digitalWrite(sL3, LOW);
  117.   redLeft = pulseIn(outL, digitalRead(outL) == HIGH ? LOW : HIGH);
  118.   digitalWrite(sL3, HIGH);
  119.   blueLeft = pulseIn(outL, digitalRead(outL) == HIGH ? LOW : HIGH);
  120.   digitalWrite(sL2, HIGH);
  121.   greenLeft = pulseIn(outL, digitalRead(outL) == HIGH ? LOW : HIGH);
  122.  
  123. }
Advertisement
Add Comment
Please, Sign In to add comment