2_6_1 풀다운 저항
int inPin = 4;
int val = 0;
void setup()
{
Serial.begin(9600);
pinMode(inPin, INPUT);
}
void loop()
{
val = digitalRead(inPin);
Serial.println(val);
delay(100);
}Code language: JavaScript (javascript)
2_6_2 풀업 저항
int inPin = 4;
int val = 0;
void setup()
{
Serial.begin(9600);
pinMode(inPin, INPUT);
}
void loop()
{
val = digitalRead(inPin);
Serial.println(val);
delay(100);
}Code language: JavaScript (javascript)
2_7. 버튼으로 led 제어
int buttonPin = 4;
int ledPin = 13;
int buttonState = 0;
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop()
{
buttonState = digitalRead(buttonPin);
if ( buttonState == HIGH){
digitalWrite(ledPin, HIGH);
}
else{
digitalWrite(ledPin,LOW);
}
}Code language: JavaScript (javascript)
아날로그 데이터 출력
아두이노는 PWM을 이용해서 0~255의 256가지의 값을 출력할 수 있다.
펄스 : 짧은 시간 동안 생기는 진동 현상
펄스폭 : 하나의 펄스가 가지는 폭 (시간)
PWM(Pulse Width Modulation) : 펄스폭을 전달하고자 하는 신호에 따라 변화시키는 변조 방식
- 모터 제어나 전압 제어 등에 널리 사용
- 듀티비(Duty ratio) : 전체 주기 중 펼스가 ON 되는 시간의 비
- 듀티비를 조절하여 DC신호의 평균값을 조정할 수 있음 (30% 듀티비 = 30% DC 신호)

3_1
LED 두 개의 밝기를 서로 다르게 제어하는 실습
int led1 = 5;
int led2 = 11;
void setup()
{
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
}
void loop()
{
analogWrite(led1, 50);
analogWrite(led2, 255);
}
Code language: JavaScript (javascript)
부저
- 능동 부저 : 내장된 회로가 있어 ‘삐’소리만 남
- 수동 부저 : tone() 함수로 주파수 제어 가능
압전 부저
- 압전체, 음향 진동판, 케이스로 구성된.
- 압전체에 교류 전압을 가하면 압전체의 역압전 현상에 의해 수축과 팽창을 반복하고 이에 따라 음향 진동판에 진동을 전달.
- 기존 스피커에 비해서 초박형, 초경량, 저전력 소모, 저가의 장점이 있지만 큰 소리는 못 냄.
3_4
int myNote[] = {784, 659, 784, 659, 784, 880, 659};
int myDu[] = {250, 250, 250, 250, 250, 250, 500};
void setup()
{
for (int i = 0; i < 7; i++){
tone(3, myNote[i], myDu[i]);
delay(myDu[i]*1.3);
noTone(3);
}
}
void loop(){}
Code language: JavaScript (javascript)
tone( pin, freq, time); : 해당 핀 번호로 freq 헤르츠의 소리를 time 밀리초 동안 발생.
음계

