//SERVO
#include <Servo.h>
Servo myservo;
int val;
//RGB
const int RED = (6);
const int GREEN = (5);
const int BLUE = (3);
const int BUTTON = (2);
//BUZZER
int buzzPin = 9;
float buzzDelay;
int potPin = A0;
int potVal;
int buttonPin = 8;
int mode = 0;
void setup()
{
Serial.begin(9600);
//RGB
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
pinMode(BUTTON, INPUT_PULLUP);
//BUZZER
pinMode(buzzPin, OUTPUT);
pinMode(potPin, INPUT);
pinMode(buttonPin, INPUT_PULLUP);
//SERVO
pinMode(A1, INPUT);
myservo.attach(10);
}
void loop()
{
if(digitalRead(buttonPin) == LOW)
{
potVal = analogRead(potPin);
buzzDelay = (9940./1023.) * potVal + 60;
digitalWrite(buzzPin, HIGH);
delayMicroseconds(buzzDelay);
digitalWrite(buzzPin, LOW);
delayMicroseconds(buzzDelay);
}
if(!digitalRead(BUTTON))
{
mode = mode + 1;
delay(400);
}
if(mode == 0) //White
{
analogWrite(RED, 255);
analogWrite(GREEN, 255);
analogWrite(BLUE, 255);
}
else if(mode == 1) //RED
{
analogWrite(RED, 255);
analogWrite(GREEN, 0);
analogWrite(BLUE, 0);
}
else if(mode == 2) //GREEN
{
analogWrite(RED, 0);
analogWrite(GREEN, 255);
analogWrite(BLUE, 0);
}
else if(mode == 3) //BLUE
{
analogWrite(RED, 0);
analogWrite(GREEN, 0);
analogWrite(BLUE, 255);
}
else if(mode == 4) //PURPLE
{
analogWrite(RED, 255);
analogWrite(GREEN, 0);
analogWrite(BLUE, 255);
}
//SERVO
val = analogRead(1);
val = map(val, 0, 1023, 0, 180);
myservo.write(val);
delay(15);
Serial.println(mode);
//Serial.println(potVal);
}