Advertisement
Guest User

code 1

a guest
Nov 16th, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.71 KB | None | 0 0
  1. // TCS230 or TCS3200 pins wiring to Arduino
  2. #define S0 5
  3. #define S1 6
  4. #define S2 7
  5. #define S3 8
  6. #define sensorOut A0
  7.  
  8. // line
  9. #include <Servo.h>
  10.  
  11. const int servoPin = 11;    //serveo pin
  12. const int escPin = 3;      //ESC pin
  13. const int redLED = 2;
  14. const int greenLED = 9;
  15. const int blueLED = 4;
  16.  
  17. Servo servoMain;        //add servos
  18. Servo ESC_Servo;
  19. // line
  20.  
  21. // Stores frequency read by the photodiodes
  22. int redFrequency = 0;
  23. int greenFrequency = 0;
  24. int blueFrequency = 0;
  25.  
  26. void setup() {
  27.   // Setting the outputs
  28.   pinMode(S0, OUTPUT);
  29.   pinMode(S1, OUTPUT);
  30.   pinMode(S2, OUTPUT);
  31.   pinMode(S3, OUTPUT);
  32.  
  33.   // Setting the sensorOut as an input
  34.   pinMode(sensorOut, INPUT);
  35.  
  36.   // Setting frequency scaling to 20%
  37.   digitalWrite(S0, HIGH);
  38.   digitalWrite(S1, LOW);
  39.  
  40.   // Begins serial communication
  41.   Serial.begin(9600);
  42.  
  43.  
  44.  
  45.   //line
  46.   pinMode(greenLED, OUTPUT);
  47.   pinMode(redLED, OUTPUT);
  48.   pinMode(blueLED, OUTPUT);
  49.   pinMode(sensorOut, INPUT); //initilaze pins
  50.  
  51.   servoMain.attach(servoPin); //attach servos
  52.   ESC_Servo.attach(escPin);
  53.  
  54.   digitalWrite(13, HIGH);
  55.   //line
  56. }
  57. void loop() {
  58.   // Setting RED (R) filtered photodiodes to be read
  59.   digitalWrite(S2, LOW);
  60.   digitalWrite(S3, LOW);
  61.  
  62.   // Reading the output frequency
  63.   redFrequency = pulseIn(sensorOut, LOW);
  64.  
  65.   // Printing the RED (R) value
  66.   Serial.print("R = ");
  67.   Serial.print(redFrequency);
  68.   delay(100);
  69.  
  70.   // Setting GREEN (G) filtered photodiodes to be read
  71.   digitalWrite(S2, HIGH);
  72.   digitalWrite(S3, HIGH);
  73.  
  74.   // Reading the output frequency
  75.   greenFrequency = pulseIn(sensorOut, LOW);
  76.  
  77.   // Printing the GREEN (G) value
  78.   Serial.print(" G = ");
  79.   Serial.print(greenFrequency);
  80.   delay(100);
  81.  
  82.   // Setting BLUE (B) filtered photodiodes to be read
  83.   digitalWrite(S2, LOW);
  84.   digitalWrite(S3, HIGH);
  85.  
  86.   // Reading the output frequency
  87.   blueFrequency = pulseIn(sensorOut, LOW);
  88.  
  89.   // Printing the BLUE (B) value
  90.   Serial.print(" B = ");
  91.   Serial.println(blueFrequency);
  92.   delay(100);
  93.  
  94.  
  95.  
  96.   //line
  97.   if (redFrequency < 100) {
  98.     Serial.println("90, red");
  99.     red();
  100.     escthings();
  101.   } else {
  102.     Serial.println("0, green");
  103.     green();
  104.     delay(100);
  105.   }
  106.   //line
  107. }
  108.  
  109.  
  110.  
  111.  
  112. // line
  113. void escthings() {  //set the ESC to do things, just copied and pasted
  114.   int n = 0;
  115.   n = map(sensorOut, 0, 1023, 10, 180);
  116.   ESC_Servo.write(n);
  117.   Serial.println(n);
  118.   delay(2000);
  119. }
  120. void green() {           //Set green light
  121.   digitalWrite(redLED, 255);
  122.   digitalWrite(greenLED, 0);
  123.   digitalWrite(blueLED, 255);
  124.   servoMain.write(0);
  125. }
  126. void red() {              //Set red light
  127.   digitalWrite(redLED, 0);
  128.   digitalWrite(greenLED, 255);
  129.   digitalWrite(blueLED, 255);
  130.   servoMain.write(90);
  131. }
  132. //line
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement