02_Arduino

imyour_juu·2022년 5월 6일
0

arduino

목록 보기
1/2

수정예쩡

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;


  }

}

0개의 댓글