처음부터 끝까지 x
이미 만들어 놓은 것을 활용하는 것
라이브러리 : 이미 만들어 놓은 프로그램들의 집합
서브모터

왔다갔다 하게 만드는 코드 작성
#include <Servo.h>
//포함한다 Servo 장치
Servo myServo;
void setup() {
myServo.attach(9);
}
void loop() {
for (int angle = 0; angle <180; angle++) {
myServo.write(angle);
delay(100);
}
for (int angle = 180; angle >0; angle--){
myServo.write(angle);
delay(100);
}
}
map
#include <Servo.h>
#define VAR_REGISTER A0
Servo myServo;
void setup() {
Serial.begin(9600);
myServo.attach(9);
}
void loop() {
int readValue =analogRead(VAR_REGISTER);
Serial.println(readValue);
int angle = map(readValue, 0, 1023, 0, 180);
myServo.write(angle);
delay(100);
}
map ( readValue, 0, 1023, 0, 180)
가변기의 0을 서보모터의 0으로 읽고
가변기의 1023을 서보모터의 180으로 읽어라
월요일에 풀 문제 미리풀기
문제.
1.푸쉬 버튼을 좌/우로 배치
2.저항은 1K 사용
3.왼쪽 푸쉬 버튼을 누르고 있는 동안 서브모터를 왼쪽으로 10도씩 회전
떼면 중지
4.오른쪽 푸쉬 버튼을 누르고 있는 동안 서브모터를 오른쪽으로 10도씩 회전
떼면 중지

#include<Servo.h>
#define BUTTON_1 7
#define BUTTON_2 6
Servo myServo;
int angle = 0;
void setup() {
Serial.begin(9600);
myServo.attach (9);
pinMode(BUTTON_1,INPUT);
pinMode(BUTTON_2,INPUT);
}
void loop() {
if (digitalRead(BUTTON_1) == HIGH){
if(angle >180){
angle = 180;
} else {
angle += 10;
}
}
if (digitalRead(BUTTON_2) == HIGH){
if(angle <0) {
angle = 0;
} else {
angle -=10;
}
}
myServo.write(angle);
delay(500);
}
시험은 물론 브레드보드를 세로로 세워서 다시 정렬한 다음
배선하고 정의도 이름 바꿔서 냈습니다
'Arduino' 카테고리의 다른 글
| 아두이노 :: PUSH BUTTON, 가변저항 (0) | 2025.01.11 |
|---|