プログラムの組み合わせ
一つ目
#include <Servo.h>
#define PBS1 10
#define analogPin 0
Servo RCservo1;
void setup()
{
RCservo1.attach(7);
pinMode(PBS1,INPUT);
}
void loop()
{
int s1 = digitalRead(PBS1);
if(s1 == LOW)
{
while(1)
{
RCservo1.write(90);
delay(1000);
RCservo1.write(140);
delay(1000);
RCservo1.write(40);
delay(1000);
RCservo1.write(180);
delay(1000);
RCservo1.write(0);
delay(1000);
RCservo1.write(180);
delay(1000);
RCservo1.write(30);
break;
}
}
}
二つ目
int Duration;
float Distance;
const int TRIG = 10;
const int ECHO = 12;
const int BEAT = 300;
const int SPK = 2;
void setup() {
Serial.begin(9600);
pinMode(TRIG,OUTPUT);
pinMode(ECHO,INPUT);
}
void loop() {
digitalWrite(TRIG,LOW);
delayMicroseconds(10);
digitalWrite(TRIG,HIGH);
delayMicroseconds(10);
digitalWrite(TRIG,LOW);
Duration = pulseIn(ECHO,HIGH);
if (Duration > 0) {
Distance = Duration /2;
Distance = Distance * 0.034;
Serial.print(Distance);
Serial.print("cm");
}
if(Distance < 5) {
tone(SPK, 523, BEAT);
Serial.println("[C]");
}else if (Distance >= 5&& Distance < 10){
tone(SPK, 494, BEAT);
Serial.println("[B]");
}else if (Distance >= 10&& Distance < 15){
tone(SPK, 440, BEAT);
Serial.println("[A]");
}else if (Distance >= 15&& Distance < 20){
tone(SPK, 392, BEAT);
Serial.println("[G]");
}else if (Distance >= 20&& Distance < 25){
tone(SPK, 349, BEAT);
Serial.println("[F]");
}else if (Distance >= 25&& Distance < 30){
tone(SPK, 330, BEAT);
Serial.println("[E]");
}else if (Distance >=30&& Distance < 35){
tone(SPK, 294, BEAT);
Serial.println("[D]");
}else if (Distance >= 35&& Distance < 40){
tone(SPK, 262, BEAT);
Serial.println("[c]");
}
delay(1000);
}
一つ目はサーボモータを動かすプログラムで
二つ目は超音波センサによる距離に応じて音階が変わるプログラムです
これらのプログラムを組み合わせて
距離に応じてサーボモータを動かすプログラムを作りたいです
もしよろしければプログラムを教えてください