#include <Servo.h> //서보 라이브러리를 불러옵니다.
const int potentiometerPin = 0;//가변저항기에 연결한 아날로그 핀의 번호를 설정합니다.
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
const int switchPin = 10;
int buttonPresses = 0;
int buttonState = 0; // current state of the button
int lastButtonState = 0; // previous state of the button
void setup() {
Serial.begin(9600);
Serial.println("hello arduino!");
servo1.attach(2); // 서보를 사용하는 핀으로 디지털 핀2번을 설정합니다.
servo2.attach(3); // 서보를 사용하는 핀으로 디지털 핀2번을 설정합니다.
servo3.attach(4); // 서보를 사용하는 핀으로 디지털 핀2번을 설정합니다.
servo4.attach(5); // 서보를 사용하는 핀으로 디지털 핀2번을 설정합니다.
// pinMode(switchPin, INPUT);
}
void loop() {
buttonPresses = digitalRead(switchPin);
Serial.println(buttonPresses);
if (buttonState != lastButtonState) {
if (buttonState == HIGH) {
Serial.println("on");
Serial.print ("버튼 수 = "); // out to serial
buttonPresses++;
delay(50);
Serial.println(buttonPresses, DEC);
else {
// if the current state is LOW then the button
// wend from on to off:
Serial.println("off");
delay(100);
lastButtonState = buttonState;
if (buttonPresses == 1) {
int value = analogRead(potentiometerPin); //가변저항의 값을 읽어들입니다.
int angle = map(value, 0, 1023, 0, 179); //읽어 들인 값을 0에서 179까지 변환 합니다.
servo1.write(angle); //서보의 각도를 설정합니다.
Serial.println(angle); //각도 값 출력
delay(100); // 서보가 지정한 각도까지 움직이는 동안 대기
if (buttonPresses == 2) {
servo2.write(angle); //서보의 각도를 설정합니다.
if (buttonPresses == 3) {
servo3.write(angle); //서보의 각도를 설정합니다.
if (buttonPresses == 4) {
servo4.write(angle); //서보의 각도를 설정합니다.
if (buttonPresses == 5) {
buttonPresses = 1;
스위치 선택이 안됨
http://urin79.com
우린친구블로그
sketchbook5, 스케치북5
이 사이트를 나눔글꼴로 보기 위해서는나눔글꼴을 설치해야 합니다.
#include <Servo.h> //서보 라이브러리를 불러옵니다.
const int potentiometerPin = 0;//가변저항기에 연결한 아날로그 핀의 번호를 설정합니다.
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
const int switchPin = 10;
int buttonPresses = 0;
int buttonState = 0; // current state of the button
int lastButtonState = 0; // previous state of the button
void setup() {
Serial.begin(9600);
Serial.println("hello arduino!");
servo1.attach(2); // 서보를 사용하는 핀으로 디지털 핀2번을 설정합니다.
servo2.attach(3); // 서보를 사용하는 핀으로 디지털 핀2번을 설정합니다.
servo3.attach(4); // 서보를 사용하는 핀으로 디지털 핀2번을 설정합니다.
servo4.attach(5); // 서보를 사용하는 핀으로 디지털 핀2번을 설정합니다.
// pinMode(switchPin, INPUT);
}
void loop() {
buttonPresses = digitalRead(switchPin);
Serial.println(buttonPresses);
if (buttonState != lastButtonState) {
if (buttonState == HIGH) {
Serial.println("on");
Serial.print ("버튼 수 = "); // out to serial
buttonPresses++;
delay(50);
Serial.println(buttonPresses, DEC);
delay(50);
}
else {
// if the current state is LOW then the button
// wend from on to off:
Serial.println("off");
delay(100);
}
}
lastButtonState = buttonState;
if (buttonPresses == 1) {
int value = analogRead(potentiometerPin); //가변저항의 값을 읽어들입니다.
int angle = map(value, 0, 1023, 0, 179); //읽어 들인 값을 0에서 179까지 변환 합니다.
servo1.write(angle); //서보의 각도를 설정합니다.
Serial.println(angle); //각도 값 출력
delay(100); // 서보가 지정한 각도까지 움직이는 동안 대기
}
if (buttonPresses == 2) {
int value = analogRead(potentiometerPin); //가변저항의 값을 읽어들입니다.
int angle = map(value, 0, 1023, 0, 179); //읽어 들인 값을 0에서 179까지 변환 합니다.
servo2.write(angle); //서보의 각도를 설정합니다.
Serial.println(angle); //각도 값 출력
delay(100); // 서보가 지정한 각도까지 움직이는 동안 대기
}
if (buttonPresses == 3) {
int value = analogRead(potentiometerPin); //가변저항의 값을 읽어들입니다.
int angle = map(value, 0, 1023, 0, 179); //읽어 들인 값을 0에서 179까지 변환 합니다.
servo3.write(angle); //서보의 각도를 설정합니다.
Serial.println(angle); //각도 값 출력
delay(100); // 서보가 지정한 각도까지 움직이는 동안 대기
}
if (buttonPresses == 4) {
int value = analogRead(potentiometerPin); //가변저항의 값을 읽어들입니다.
int angle = map(value, 0, 1023, 0, 179); //읽어 들인 값을 0에서 179까지 변환 합니다.
servo4.write(angle); //서보의 각도를 설정합니다.
Serial.println(angle); //각도 값 출력
delay(100); // 서보가 지정한 각도까지 움직이는 동안 대기
}
if (buttonPresses == 5) {
buttonPresses = 1;
}
}
스위치 선택이 안됨