Modified to add Piezo
Code
/// Begin Includes ///
#include <Servo.h>
#include <Wire.h>
/// End Includes ///
/// Begin References ///
Servo myservo;
/// End References ///
/// Begin Variables ///
int pos = 0;
int i = 0;
int Counter = 0;
int runTime = 0;
int Speed = 0;
int servoPin = 9;
int laserPin = 12;
int buzzerPin = 5;
/// End Variables
void setup() {
/// Begin Servo Assignment///
myservo.attach(servoPin); /// Servo PIN
myservo.write(pos);
/// End Servo Assignment ///
/// Begin Laser Assignment ///
pinMode(laserPin, OUTPUT); /// Laser PIN
/// End Laser Assignment ///
/// Begin Buzzer Assignment ///
pinMode(buzzerPin, OUTPUT);
/// End Buzzer Assignment ///
/// Begin Initial Setup ///
for (i = 0; i <= 10; i += 1) {
tone(buzzerPin, 1000);
digitalWrite(laserPin, HIGH);
delay(400);
noTone(buzzerPin);
digitalWrite(laserPin, LOW);
delay(400);
}
digitalWrite(laserPin, HIGH);
tone(buzzerPin, 2000);
delay(200);
noTone(buzzerPin);
delay(200);
tone(buzzerPin, 2000);
delay(200);
noTone(buzzerPin);
delay(200);
tone(buzzerPin, 2000);
delay(200);
noTone(buzzerPin);
delay(200);
tone(buzzerPin, 2000);
delay(200);
noTone(buzzerPin);
/// End Initial Setup ///
}
void loop() {
/// Begin First Cycle ///
runTime += 1;
Counter = 0;
Speed = 1;
for (i = 0; i <= 19; i += 1) {
Counter += 1;
for (pos = 0; pos <= 140; pos += Speed) {
myservo.write(pos);
delay(10);
}
for (pos = 140; pos >= 0; pos -= Speed) {
myservo.write(pos);
delay(10);
}
}
digitalWrite(laserPin, LOW);
myservo.detach();
Counter = 15;
for (i = 0; i <= 14; i += 1) {
Counter -= 1;
delay(1000);
}
digitalWrite(laserPin, HIGH);
myservo.attach(servoPin);
tone(buzzerPin, 2000);
delay(200);
noTone(buzzerPin);
delay(200);
tone(buzzerPin, 2000);
delay(200);
noTone(buzzerPin);
delay(200);
tone(buzzerPin, 2000);
delay(200);
noTone(buzzerPin);
delay(200);
tone(buzzerPin, 2000);
delay(200);
noTone(buzzerPin);
}