#include #define RX 5 #define TX 6 SoftwareSerial mySerial(5,6); // rx, tx #define echoPin 2 #define trigPin 3 #define LEDPin 13 int maximumRange = 200; int minimumRange = 0; long duration, distance; int redPin = 8; int greenPin = 9; int bluePin = 10; void setup() { mySerial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(LEDPin, OUTPUT); pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); } void loop() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = duration/58.2; if(distance>=60){ setColor(255, 0, 0); // red delay(100); } if (distance<60 && distance>=50){ setColor(0, 255, 0); // green delay(100); } if (distance<50 && distance>=40){ setColor(0, 0, 255); // blue delay(100); } if (distance<40 && distance>=30){ setColor(255, 255, 0); // yellow delay(100); } if (distance<30 && distance>=20){ setColor(80, 0, 80); // purple delay(100); } if (distance<20 && distance>=0){ setColor(0, 255, 255); // aqua delay(100); } else { digitalWrite(LEDPin, LOW); } mySerial.println(distance); delay(100); } void setColor(int red, int green, int blue) { analogWrite(redPin, red); analogWrite(greenPin, green); analogWrite(bluePin, blue); }