//Sonar int rxPin = 0; // this is simular to the int = setting, however this is linked to the library int txPin = 1; int trig = 16; int echo = 17; int trig1 = 18; int echo1 = 19; long lecture_echo; long cm; long cm1; int timeout = 1000; #include VarSpeedServo myservo1; // create servo object to control a servo // a maximum of eight servo objects can be created VarSpeedServo myservo2; VarSpeedServo myservo3; const int servoPin1 = 9; // the digital pin used for the first servo const int servoPin2 = 10; // the digital pin used for the second servo const int servoPin3 = 5; #include #define PIN 3 #define NUM_LIGHTS 20 Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LIGHTS, PIN, NEO_GRB + NEO_KHZ800); void setup() { myservo1.attach(servoPin1); // attaches the servo on pin 9 to the servo object myservo2.attach(servoPin2); // attaches the servo on pin 9 to the servo object myservo3.attach(servoPin3); // attaches the servo on pin 9 to the servo object pinMode(trig, OUTPUT); digitalWrite(trig, LOW); pinMode(echo, INPUT); pinMode(trig1, OUTPUT); digitalWrite(trig1, LOW); pinMode(echo1, INPUT); Serial.begin(9600); strip.begin(); strip.clear(); strip.show(); } void loop() { digitalWrite(trig, HIGH); delayMicroseconds(10); digitalWrite(trig, LOW); lecture_echo = pulseIn(echo, HIGH, timeout*1000); cm1 = lecture_echo / 58; Serial.print ("sonar 1 in cm: "); Serial.println(cm1); digitalWrite(trig1, HIGH); delayMicroseconds(10); digitalWrite(trig1, LOW); lecture_echo = pulseIn(echo1, HIGH, timeout*1000); //timeout in micro seconden cm = lecture_echo / 58; Serial.print ("sonar 2 in cm: "); Serial.println(cm); delay(1000); if(cm > 110 && cm < 150 ){ strip.setPixelColor(0, 0, 0, 0); strip.setPixelColor(1, 0, 0, 0); strip.setPixelColor(2, 0, 0, 0); strip.setPixelColor(3, 0, 0, 0); strip.setPixelColor(4, 0, 0, 0); strip.setPixelColor(5, 0, 0, 0); strip.setPixelColor(6, 0, 0, 0); strip.setPixelColor(7, 0, 0, 0); strip.setPixelColor(8, 0, 0, 255); strip.setPixelColor(9, 0, 0, 0); strip.setPixelColor(10, 0, 0, 0); strip.setPixelColor(11, 0, 0, 0); strip.setPixelColor(12, 0, 0, 255); strip.setPixelColor(13, 0, 0, 0); strip.setPixelColor(14, 0, 0, 0); strip.setPixelColor(15, 0, 0, 0); strip.setPixelColor(16, 0, 0, 0); strip.setPixelColor(17, 0, 0, 0); strip.setPixelColor(18, 0, 0, 0); strip.setPixelColor(19, 0, 0, 0); strip.show(); myservo1.write(30,10,true); myservo3.write(170,50,true); delay(500); } if(cm1 > 110 && cm1 < 150 ){ strip.setPixelColor(0, 0, 0, 0); strip.setPixelColor(1, 0, 0, 0); strip.setPixelColor(2, 0, 0, 0); strip.setPixelColor(3, 0, 0, 0); strip.setPixelColor(4, 0, 0, 0); strip.setPixelColor(5, 0, 0, 0); strip.setPixelColor(6, 0, 0, 0); strip.setPixelColor(7, 0, 0, 0); strip.setPixelColor(8, 0, 0, 255); strip.setPixelColor(9, 0, 0, 0); strip.setPixelColor(10, 0, 0, 0); strip.setPixelColor(11, 0, 0, 0); strip.setPixelColor(12, 0, 0, 255); strip.setPixelColor(13, 0, 0, 0); strip.setPixelColor(14, 0, 0, 0); strip.setPixelColor(15, 0, 0, 0); strip.setPixelColor(16, 0, 0, 0); strip.setPixelColor(17, 0, 0, 0); strip.setPixelColor(18, 0, 0, 0); strip.setPixelColor(19, 0, 0, 0); strip.show(); myservo1.write(150,10,true); myservo3.write(10,50,true); delay(500); } if(cm > 80 && cm < 110 ){ strip.setPixelColor(0, 0, 255, 208); strip.setPixelColor(1, 0, 255, 208); strip.setPixelColor(2, 0, 255, 208); strip.setPixelColor(3, 0, 255, 208); strip.setPixelColor(4, 0, 255, 208); strip.setPixelColor(5, 0, 255, 208); strip.setPixelColor(6, 0, 255, 208); strip.setPixelColor(7, 0, 255, 208); strip.setPixelColor(8, 0, 0, 255); strip.setPixelColor(9, 0, 255, 208); strip.setPixelColor(10, 0, 255, 208); strip.setPixelColor(11, 0, 255, 208); strip.setPixelColor(12, 0, 0, 255); strip.setPixelColor(13, 0, 255, 208); strip.setPixelColor(14, 0, 255, 208); strip.setPixelColor(15, 0, 255, 208); strip.setPixelColor(16, 0, 255, 208); strip.setPixelColor(17, 0, 255, 208); strip.setPixelColor(18, 0, 255, 208); strip.setPixelColor(19, 0, 255, 208); strip.show(); myservo1.write(50,20,true); myservo2.write(130,20,true); myservo3.write(130,20,true); delay(500); myservo3.write(50,20,true); myservo1.write(130,20,true); myservo2.write(50,20,true); delay(500); myservo1.write(50,20,true); myservo2.write(130,20,true); myservo3.write(130,20,true); delay(500); myservo3.write(50,20,true); myservo1.write(130,20,true); myservo2.write(50,20,true); delay(500); } if(cm1 > 80 && cm1 < 110 ){ strip.setPixelColor(0, 255, 173, 196); strip.setPixelColor(1, 255, 173, 196); strip.setPixelColor(2, 255, 173, 196); strip.setPixelColor(3, 255, 173, 196); strip.setPixelColor(4, 255, 173, 196); strip.setPixelColor(5, 255, 173, 196); strip.setPixelColor(6, 255, 173, 196); strip.setPixelColor(7, 255, 173, 196); strip.setPixelColor(8, 0, 0, 255); strip.setPixelColor(9, 255, 173, 196); strip.setPixelColor(10, 255, 173, 196); strip.setPixelColor(11, 255, 173, 196); strip.setPixelColor(12, 0, 0, 255); strip.setPixelColor(13, 255, 173, 196); strip.setPixelColor(14, 255, 173, 196); strip.setPixelColor(15, 255, 173, 196); strip.setPixelColor(16, 255, 173, 196); strip.setPixelColor(17, 255, 173, 196); strip.setPixelColor(18, 255, 173, 196); strip.setPixelColor(19, 255, 173, 196); strip.show(); myservo1.write(50,20,true); myservo2.write(130,20,true); myservo3.write(130,20,true); delay(500); myservo3.write(50,20,true); myservo1.write(130,20,true); myservo2.write(50,20,true); delay(500); myservo1.write(50,20,true); myservo2.write(130,20,true); myservo3.write(130,20,true); delay(500); myservo3.write(50,20,true); myservo1.write(130,20,true); myservo2.write(50,20,true); delay(500); } if(cm > 55 && cm < 80 ){ strip.setPixelColor(0, 229, 142, 13); strip.setPixelColor(1, 229, 142, 13); strip.setPixelColor(2, 229, 142, 13); strip.setPixelColor(3, 229, 142, 13); strip.setPixelColor(4, 229, 142, 13); strip.setPixelColor(5, 229, 142, 13); strip.setPixelColor(6, 229, 142, 13); strip.setPixelColor(7, 229, 142, 13); strip.setPixelColor(8, 0, 0, 255); strip.setPixelColor(9, 229, 142, 13); strip.setPixelColor(10, 229, 142, 13); strip.setPixelColor(11, 229, 142, 13); strip.setPixelColor(12, 0, 0, 255); strip.setPixelColor(13, 229, 142, 13); strip.setPixelColor(14, 229, 142, 13); strip.setPixelColor(15, 229, 142, 13); strip.setPixelColor(16, 229, 142, 13); strip.setPixelColor(17, 229, 142, 13); strip.setPixelColor(18, 229, 142, 13); strip.setPixelColor(19, 229, 142, 13); strip.show(); myservo3.write(135,20,true); myservo3.write(45,20,true); myservo3.write(135,20,true); myservo3.write(45,20,true); } if(cm1 > 55 && cm1 < 80 ){ strip.setPixelColor(0, 229, 142, 13); strip.setPixelColor(1, 229, 142, 13); strip.setPixelColor(2, 229, 142, 13); strip.setPixelColor(3, 229, 142, 13); strip.setPixelColor(4, 229, 142, 13); strip.setPixelColor(5, 229, 142, 13); strip.setPixelColor(6, 229, 142, 13); strip.setPixelColor(7, 229, 142, 13); strip.setPixelColor(8, 0, 0, 255); strip.setPixelColor(9, 229, 142, 13); strip.setPixelColor(10, 229, 142, 13); strip.setPixelColor(11, 229, 142, 13); strip.setPixelColor(12, 0, 0, 255); strip.setPixelColor(13, 229, 142, 13); strip.setPixelColor(14, 229, 142, 13); strip.setPixelColor(15, 229, 142, 13); strip.setPixelColor(16, 229, 142, 13); strip.setPixelColor(17, 229, 142, 13); strip.setPixelColor(18, 229, 142, 13); strip.setPixelColor(19, 229, 142, 13); strip.show(); myservo3.write(45,20,true); myservo3.write(135,20,true); myservo3.write(45,20,true); myservo3.write(135,20,true); } if(cm > 30 && cm < 55 ){ strip.setPixelColor(0, 255, 79, 16); strip.setPixelColor(1, 255, 79, 16); strip.setPixelColor(2, 255, 79, 16); strip.setPixelColor(3, 255, 79, 16); strip.setPixelColor(4, 255, 79, 16); strip.setPixelColor(5,255, 79, 16); strip.setPixelColor(6, 255, 79, 16); strip.setPixelColor(7, 255, 79, 16); strip.setPixelColor(8, 0, 0, 255); strip.setPixelColor(9, 255, 79, 16); strip.setPixelColor(10,255, 79, 16); strip.setPixelColor(11,255, 79, 16); strip.setPixelColor(12, 0, 0, 255); strip.setPixelColor(13, 255, 79, 16); strip.setPixelColor(14, 255, 79, 16); strip.setPixelColor(15, 255, 79, 16); strip.setPixelColor(16,255, 79, 16); strip.setPixelColor(17, 255, 79, 16); strip.setPixelColor(18, 255, 79, 16); strip.setPixelColor(19, 255, 79, 16); strip.show(); delay(1000); myservo1.write(110,10,true); // move the servo to 180, fast speed, run background // write(degrees 0-180, speed 1-255, wait to complete true-false) myservo2.write(130,10,true); // move the servo to 180, fast speed, wait until done delay(1000); myservo3.write(10,10,true); delay(1000); myservo3.write(90,50,true); delay(1000); myservo3.write(10,10,true); delay(1000); myservo3.write(90,50,true); } if(cm1 > 30 && cm1 < 55 ){ strip.setPixelColor(0, 255, 79, 16); strip.setPixelColor(1, 255, 79, 16); strip.setPixelColor(2, 255, 79, 16); strip.setPixelColor(3, 255, 79, 16); strip.setPixelColor(4, 255, 79, 16); strip.setPixelColor(5,255, 79, 16); strip.setPixelColor(6, 255, 79, 16); strip.setPixelColor(7, 255, 79, 16); strip.setPixelColor(8, 0, 0, 255); strip.setPixelColor(9, 255, 79, 16); strip.setPixelColor(10,255, 79, 16); strip.setPixelColor(11,255, 79, 16); strip.setPixelColor(12, 0, 0, 255); strip.setPixelColor(13, 255, 79, 16); strip.setPixelColor(14, 255, 79, 16); strip.setPixelColor(15, 255, 79, 16); strip.setPixelColor(16,255, 79, 16); strip.setPixelColor(17, 255, 79, 16); strip.setPixelColor(18, 255, 79, 16); strip.setPixelColor(19, 255, 79, 16); strip.show(); delay(1000); myservo1.write(70,10,true); // move the servo to 180, fast speed, run background // write(degrees 0-180, speed 1-255, wait to complete true-false) myservo2.write(50,10,true); // move the servo to 180, fast speed, wait until done delay(1000); myservo3.write(170,10,true); delay(1000); myservo3.write(90,50,true); delay(1000); myservo3.write(170,10,true); delay(1000); myservo3.write(90,50,true); } if(cm > 10 && cm < 30 ){ strip.setPixelColor(0, 255, 37, 0); strip.setPixelColor(1, 255, 37, 0); strip.setPixelColor(2, 255, 37, 0); strip.setPixelColor(3, 255, 37, 0); strip.setPixelColor(4, 255, 37, 0); strip.setPixelColor(5, 255, 37, 0); strip.setPixelColor(6, 255, 37, 0); strip.setPixelColor(7, 255, 37, 0); strip.setPixelColor(8, 255, 255, 255); strip.setPixelColor(9, 255, 37, 0); strip.setPixelColor(10, 255, 37, 0); strip.setPixelColor(11, 255, 37, 0); strip.setPixelColor(12, 255, 255, 255); strip.setPixelColor(13, 255, 37, 0); strip.setPixelColor(14, 255, 37, 0); strip.setPixelColor(15, 255, 37, 0); strip.setPixelColor(16, 255, 37, 0); strip.setPixelColor(17, 255, 37, 0); strip.setPixelColor(18, 255, 37, 0); strip.setPixelColor(19, 255, 37, 0); strip.show(); delay(2000); myservo1.write(150,30,true); // move the servo to 180, fast speed, run background // write(degrees 0-180, speed 1-255, wait to complete true-false) myservo2.write(150,30,true); // move the servo to 180, fast speed, wait until done myservo3.write(90,30,true); delay(1000); myservo2.write(60,30,true); myservo3.write(10,10,true); delay(1000); myservo3.write(160,50,true); myservo2.write(150,30,true); myservo3.write(90,40,true); delay(2000); } if(cm1 > 10 && cm1 < 30 ){ strip.setPixelColor(0, 255, 37, 0); strip.setPixelColor(1, 255, 37, 0); strip.setPixelColor(2, 255, 37, 0); strip.setPixelColor(3, 255, 37, 0); strip.setPixelColor(4, 255, 37, 0); strip.setPixelColor(5, 255, 37, 0); strip.setPixelColor(6, 255, 37, 0); strip.setPixelColor(7, 255, 37, 0); strip.setPixelColor(8, 255, 255, 255); strip.setPixelColor(9, 255, 37, 0); strip.setPixelColor(10, 255, 37, 0); strip.setPixelColor(11, 255, 37, 0); strip.setPixelColor(12, 255, 255, 255); strip.setPixelColor(13, 255, 37, 0); strip.setPixelColor(14, 255, 37, 0); strip.setPixelColor(15, 255, 37, 0); strip.setPixelColor(16, 255, 37, 0); strip.setPixelColor(17, 255, 37, 0); strip.setPixelColor(18, 255, 37, 0); strip.setPixelColor(19, 255, 37, 0); strip.show(); delay(2000); myservo1.write(30,30,true); // move the servo to 180, fast speed, run background // write(degrees 0-180, speed 1-255, wait to complete true-false) myservo2.write(30,30,true); // move the servo to 180, fast speed, wait until done myservo3.write(90,30,true); delay(1000); myservo2.write(120,30,true); myservo3.write(170,10,true); delay(1000); myservo3.write(20,50,true); myservo2.write(30,30,true); myservo3.write(90,40,true); delay(2000); } if(cm > 0 && cm < 10 ){ strip.setPixelColor(0, 255, 0, 0); strip.setPixelColor(1, 255, 0, 0); strip.setPixelColor(2, 255, 0, 0); strip.setPixelColor(3, 255, 0, 0); strip.setPixelColor(4, 255, 0, 0); strip.setPixelColor(5,255, 0, 0); strip.setPixelColor(6, 255, 0, 0); strip.setPixelColor(7, 255, 0, 0); strip.setPixelColor(8, 255, 255, 255); strip.setPixelColor(9, 255, 255, 255); strip.setPixelColor(10,255, 0, 0); strip.setPixelColor(11,255, 255, 255); strip.setPixelColor(12, 255, 255, 255); strip.setPixelColor(13, 255, 0, 0); strip.setPixelColor(14, 255, 0, 0); strip.setPixelColor(15,255, 0, 0); strip.setPixelColor(16, 255, 0, 0); strip.setPixelColor(17, 255, 0, 0); strip.setPixelColor(18, 255, 0, 0); strip.setPixelColor(19, 255, 0, 0); strip.show(); delay(2000); myservo1.write(140,30,true); // move the servo to 180, fast speed, run background // write(degrees 0-180, speed 1-255, wait to complete true-false) myservo2.write(40,30,true); // move the servo to 180, fast speed, wait until done myservo3.write(160,30,true); myservo1.write(140,30,true); // move the servo to 180, fast speed, run background myservo1.write(40,30,true); // write(degrees 0-180, speed 1-255, wait to complete true-false) myservo2.write(160,30,true); // move the servo to 180, fast speed, wait until done myservo3.write(40,30,true); } if(cm1 > 0 && cm1 < 10 ){ strip.setPixelColor(0, 0, 0, 0); strip.setPixelColor(1, 255, 255, 255); strip.setPixelColor(2, 255, 255, 255); strip.setPixelColor(3, 0, 0, 0); strip.setPixelColor(4, 0, 0, 0); strip.setPixelColor(5,255, 255, 255); strip.setPixelColor(6, 255, 255, 255); strip.setPixelColor(7, 255, 255, 255); strip.setPixelColor(8, 0, 0,0); strip.setPixelColor(9, 255, 255, 255); strip.setPixelColor(10,0,0,0); strip.setPixelColor(11,255, 255, 255); strip.setPixelColor(12, 0, 0, 0); strip.setPixelColor(13, 255, 255, 255); strip.setPixelColor(14, 255, 255, 255); strip.setPixelColor(15,255, 255, 255); strip.setPixelColor(16, 0, 0, 0); strip.setPixelColor(17, 0, 0, 0); strip.setPixelColor(18, 255, 255, 255); strip.setPixelColor(19, 255, 255, 255); strip.show(); delay(2000); // move the servo to 180, fast speed, wait until done myservo3.write(160,60,true); myservo3.write(20,60,true); myservo3.write(160,60,true); myservo3.write(20,60,true); myservo1.write(50,10,true); // move the servo to 180, fast speed, run background myservo3.write(160,60,true); myservo3.write(20,60,true); myservo3.write(160,60,true); myservo3.write(20,60,true); myservo1.write(130,10,true); myservo3.write(160,60,true); myservo3.write(20,60,true); myservo3.write(160,60,true); myservo3.write(20,60,true); } else { // strip.begin(); strip.setPixelColor(0, 45, 126, 6); strip.setPixelColor(1, 45, 126, 6); strip.setPixelColor(2, 45, 126, 6); strip.setPixelColor(3, 45, 126, 6); strip.setPixelColor(4, 45, 126, 6); strip.setPixelColor(5, 45, 126, 6); strip.setPixelColor(6, 45, 126, 6); strip.setPixelColor(7, 45, 126, 6); strip.setPixelColor(8, 0, 0, 255); strip.setPixelColor(9, 45, 126, 6); strip.setPixelColor(10, 45, 126, 6); strip.setPixelColor(11, 45, 126, 6); strip.setPixelColor(12, 0, 0, 255); strip.setPixelColor(13, 45, 126, 6); strip.setPixelColor(14, 45, 126, 6); strip.setPixelColor(15, 45, 126, 6); strip.setPixelColor(16, 45, 126, 6); strip.setPixelColor(17, 45, 126, 6); strip.setPixelColor(18, 45, 126, 6); strip.setPixelColor(19, 45, 126, 6); strip.show(); myservo1.write(75,10,true); // move the servo to 180, slow speed, run in background myservo2.write(90,10,true); myservo3.write(90,10,true); } }