led 제어 회로
int sw = 12; // sw를 12번 핀에 연결
int led = 10; // led를 10번 핀에 연결
void setup() {
pinMode(led, OUTPUT); //led를 출력 장치로 세팅
pinMode(sw, INPUT_PULLUP); // 스위치를 입력 장치로 세팅
Serial.begin(9600); //시리얼 통신 속도 9600
}
void loop() {
if(digitalRead(sw) == LOW) //스위치가 눌리면
{
digitalWrite(led, HIGH); //led On
Serial.println("led On");}
else{
digitalWrite(led, LOW); //스위치가 닫히면 Off
Serial.println("led Off");
}
}
서보모터 좌우 테스트 코드
#include <Servo.h> // 서보모터 헤더파일 포함
Servo servomotor; // 서보모터 변수 설정
int angle = 90; // 처음 서보모터 각도 90도로 설정
void setup() {
servomotor.attach(5); // 서보모터 5번핀에 연결
Serial.begin(9600); // Serial 통신 설정
while(!Serial);
Serial.println("Servor Mortor"); // 시리얼모니터에 출력
}
void loop() {
if(Serial.available()){ //Serial 모니터창에 값이 들어오면 실행.
angle = Serial.parseInt(); //Serial 모니터창에서 받은 값을 a 변수에 저장
Serial.print("angle : "); //시리얼모니터에 "angle : " 출력
Serial.println(angle); //입력한 값 a를 모니터에 출력
servomotor.write(angle); //서보모터를 a 만큼 움직임
delay(15);
}
}
#include <Servo.h> //서보모터 헤더파일 포함
Servo motor; // 서보모터 변수 설정
int angle = 90; // 처음 서보모터 각도 90도로 설정
int step_size = 2; // 서보모터 움직이는 크기 2로 설정
int LEDsw = 12; //LEDsw 12번 핀에 연결
int RIGHTsw = 7; //RIGHTsw 7번 핀에 연결
int LEFTsw = 3; //LEFTsw 3번 핀에 연결
int led = 10; //led 10번 핀에 연결
void setup() {
pinMode(led, OUTPUT); // led 출력 장치로 설정
pinMode(LEDsw, INPUT_PULLUP); // sw 입력 장치로 설정
pinMode(RIGHTsw, INPUT_PULLUP);
pinMode(LEFTsw, INPUT_PULLUP);
motor.attach(5); // 서보모터 5번핀에 연결
motor.write(angle); // 처음 서보모터 90도로 설정
Serial.begin(9600); // Serial 통신 설정
}
void loop() {
if(digitalRead(LEDsw) == LOW) //스위치가 눌리면
{
digitalWrite(led, HIGH); //led On
Serial.println("LED On");}
else{
digitalWrite(led, LOW);
Serial.println("LED off"); //LED스위치가 닫히면 Off
}
if(digitalRead(RIGHTsw) == LOW) //오른쪽스위치가 눌리면
{
if (angle < 179)
angle = angle + step_size; //각도를 크게 변경함
motor.write(angle); //서보모터를 angle 크기 만큼 움직임
Serial.println("오른쪽으로 이동");}
if(digitalRead(LEFTsw) == LOW) //왼쪽 스위치가 눌리면
{
if (angle > 0)
angle = angle - step_size; //각도를 작게 변경함
motor.write(angle); //서보모터를 angle 크기 만큼 움직임
Serial.println("왼쪽으로 이동");}
}