수정예쩡
INPUT예제
digitalRead 예제
analogRead 예제
OUTPUT예제
digitalWrite 예제
analogWrite 예제
~ 아날로그
가변저항 예제
void setup() {
pinMode(9, OUTPUT);
}
void loop() {
int sensorValue =analogRead(A0);
int s = sensorValue/4;
analogWrite(9,s);
}
sensorValue 의 최대값은 1023이고
analogWrite의 최대값은 255이므로,
범위를 맞춰주기 위해 변수 s에 sensorValue를 4로 나눈 값을 담아서
analogWrite의 최댓값과 유사하게 맞춰준다!
또는 sensorValue를 1023.0으로 나누고 *255를 해주면 좀 더 정확한 값을 얻을 수 있다.
int s = sensorValue/1023.0*255;
method map을 이용하면 더 정확하게 가능하다.
map (sensorValue, 0, 1023, 0, 255);
map 안에 들어갈 값은 순서대로,
변환해야하는 센서의 값
변환해야하는 센서의 최소값
변환해야하는 센서의 최대값
표현해야하는 센서의 최소값
표현해야하는 센서의 최대값
piezo buzzer : ?
피에조부저 예제
void setup() {
Serial.begin(9600);
}
void loop() {
int buttonState1 = digitalRead(4);
int buttonState2 = digitalRead(5);
int buttonState3 = digitalRead(6);
if ( buttonState1 == 1) {
tone (13, 262, 300);
delay (300);
} else if ( buttonState2 == 1) {
tone (13, 294, 300);
delay (300);
} else if ( buttonState3 == 1) {
tone (13, 330, 300);
delay (300);
}
}
피에조부저와 버튼을 이용해서 피아노 만들기
위 표를 보고 4번 선과 연결된 버튼을 눌렀을 때 도, 순서대로 레, 미 소리가 나오게 되는 코드
Servo Motor : ?
Servo Motor 예제
servo Motor를 사용하기 위한 라이브러리!
#include<Servo.h> -> 라이브러리를 사용하기 위해 선언
Servo myServo; -> Servo 타입의 변수 선언 (setup, loop 둘다 사용을 위해 전역변수로 선언)
myServo.attach(pin번호); servoMotor와 연결 돼 있는
myServo.write(각도); -> 각도는 1 - 179 범ㅋ위
릴레이모듈
dc+ dc- in => 아두이노 연결
//릴레이 모듈
void setup() {
pinMode(13,OUTPUT);
}
int cnt = 0;
boolean check = false;
void loop() {
int btnState = digitalRead(11);
if (btnState == 1) {
if (check) {
cnt++;
check= false;
if (cnt == 1) {
digitalWrite(13,1);
} else if (cnt == 2) {
digitalWrite(13,0);
cnt =0;
}
}
} else {
check = true;
}
}