Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // TCS230 or TCS3200 pins wiring to Arduino
- #define S0 5
- #define S1 6
- #define S2 7
- #define S3 8
- #define sensorOut A0
- // line
- #include <Servo.h>
- const int servoPin = 11; //serveo pin
- const int escPin = 3; //ESC pin
- const int redLED = 2;
- const int greenLED = 9;
- const int blueLED = 4;
- Servo servoMain; //add servos
- Servo ESC_Servo;
- // line
- // Stores frequency read by the photodiodes
- int redFrequency = 0;
- int greenFrequency = 0;
- int blueFrequency = 0;
- void setup() {
- // Setting the outputs
- pinMode(S0, OUTPUT);
- pinMode(S1, OUTPUT);
- pinMode(S2, OUTPUT);
- pinMode(S3, OUTPUT);
- // Setting the sensorOut as an input
- pinMode(sensorOut, INPUT);
- // Setting frequency scaling to 20%
- digitalWrite(S0, HIGH);
- digitalWrite(S1, LOW);
- // Begins serial communication
- Serial.begin(9600);
- //line
- pinMode(greenLED, OUTPUT);
- pinMode(redLED, OUTPUT);
- pinMode(blueLED, OUTPUT);
- pinMode(sensorOut, INPUT); //initilaze pins
- servoMain.attach(servoPin); //attach servos
- ESC_Servo.attach(escPin);
- digitalWrite(13, HIGH);
- //line
- }
- void loop() {
- // Setting RED (R) filtered photodiodes to be read
- digitalWrite(S2, LOW);
- digitalWrite(S3, LOW);
- // Reading the output frequency
- redFrequency = pulseIn(sensorOut, LOW);
- // Printing the RED (R) value
- Serial.print("R = ");
- Serial.print(redFrequency);
- delay(100);
- // Setting GREEN (G) filtered photodiodes to be read
- digitalWrite(S2, HIGH);
- digitalWrite(S3, HIGH);
- // Reading the output frequency
- greenFrequency = pulseIn(sensorOut, LOW);
- // Printing the GREEN (G) value
- Serial.print(" G = ");
- Serial.print(greenFrequency);
- delay(100);
- // Setting BLUE (B) filtered photodiodes to be read
- digitalWrite(S2, LOW);
- digitalWrite(S3, HIGH);
- // Reading the output frequency
- blueFrequency = pulseIn(sensorOut, LOW);
- // Printing the BLUE (B) value
- Serial.print(" B = ");
- Serial.println(blueFrequency);
- delay(100);
- //line
- if (redFrequency < 100) {
- Serial.println("90, red");
- red();
- escthings();
- } else {
- Serial.println("0, green");
- green();
- delay(100);
- }
- //line
- }
- // line
- void escthings() { //set the ESC to do things, just copied and pasted
- int n = 0;
- n = map(sensorOut, 0, 1023, 10, 180);
- ESC_Servo.write(n);
- Serial.println(n);
- delay(2000);
- }
- void green() { //Set green light
- digitalWrite(redLED, 255);
- digitalWrite(greenLED, 0);
- digitalWrite(blueLED, 255);
- servoMain.write(0);
- }
- void red() { //Set red light
- digitalWrite(redLED, 0);
- digitalWrite(greenLED, 255);
- digitalWrite(blueLED, 255);
- servoMain.write(90);
- }
- //line
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement