2022-05-09 Arduino_8
2022. 5. 9. 23:29ㆍ학부 강의/Arduino
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);
}
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);
}
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);
}
}
아날로그 데이터 출력
아두이노는 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);
}
부저
- 능동 부저 : 내장된 회로가 있어 ‘삐'소리만 남
- 수동 부저 : 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(){}
tone( pin, freq, time); : 해당 핀 번호로 freq 헤르츠의 소리를 time 밀리초 동안 발생.
음계
'학부 강의 > Arduino' 카테고리의 다른 글
2022-05-17 Arduino_10 (0) | 2022.05.17 |
---|---|
2022-05-12 Arduino_9 (0) | 2022.05.12 |
2022-05-05 Arduino_7 (0) | 2022.05.05 |
2022-05-02 Arduino_6 (0) | 2022.05.02 |
2022-04-13 Arduino_5 (0) | 2022.04.13 |