본문 바로가기

반응형

Arduino

(49)
[Arduino] 조도 센서 실습: 조도 값 출력하기 조도 값 출력하기 (준비물) 아두이노 우노(Arduino Uno) USB 케이블 조도센서 점퍼 케이블 (회로 연결) int cds = A0; void setup() { Serial.begin(9600); Serial.println("Start"); } void loop() { int data = analogRead(cds); Serial.println(data); delay(500); }
[Arduino] 조도 센서란? 조도 센서란 주변의 밝기를 측정하는 센서로 빛 센서라고도 한다. 광에너지, 즉 빛을 받으면 전도율이 변하는 소자를 가지고 있으며, 저항을 자유롭게 변화시키는 가변저항으로도 볼 수 있다. ​ 조도 센서는 별도의 극성이 존재하지 않으며, 조도센서에 들어오는 빛의 세기와 저항의 크기는 반비례한다. 빛이 많이 들어올수록 저항은 낮아져 전류가 많이 흐르지만, 빛의 양이 너무 많이 흐르게 되면 저항이 작아져 과전류가 흐르게 되므로 주의해야 한다. ​ 조도 센서의 사용은 실생활에서도 쉽게 볼 수 있는데, 자동차 헤드라이트, 해가지면 켜지는 가로등, 스마트폰 화면의 액정 밝기를 자동으로 했을 때 자동으로 화면의 밝기가 조절되는 기능 등 다양하게 적용되고 있다. 조도 센서 모듈에는 3개의 핀이 있다. 왼쪽의 S는 아날로..
[Arduino] 피에조 부저 실습: 피아노 제작하기 피아노 제작하기 (준비물) 아두이노 우노(Arduino Uno) USB 케이블 피에조 부저 스위치 모듈 점퍼 케이블 (회로 연결) int pin_switch[] = {13, 12, 11, 10, 9, 8, 7} ; int buzzer = 5; int tones[] = {261, 293, 329, 349, 391, 440, 493}; // 도레미파솔라시 void setup(){ for(int i = 0; i < 7; ++i){ pinMode(pin_switch[i], INPUT_PULLUP); } pinMode(buzzer, OUTPUT); } void loop(){ for(int i = 0; i < 7; ++i){ if(!digitalRead(pin_switch[i])){ tone(buzzer, tone..
[Arduino] 피에조 부저 실습: '울면 안돼' 연주하기 '울면 안돼' 연주하기 (준비물) 아두이노 우노(Arduino Uno) USB 케이블 피에조 부저 (회로 연결) ※ 그래픽 회로의 핀은 9, 실물 회로의 핀은 11로 다르다. int buzzer = 11; int tones3[] = {130, 146, 164, 174, 195, 220, 246}; int tones4[] = {261, 293, 329, 349, 391, 440, 493}; // 도레미파솔라시 int tones5[] = {523, 587, 659, 698, 783, 880, 987}; void setup(){ pinMode(buzzer, OUTPUT); } void loop(){ int song[] = {tones4[2], tones4[3], tones4[4], tones4[4], tone..
[Arduino] 스위치 실습: 스위치를 눌러 LED On/Off 제어하고 시리얼 모니터에 표시하기 스위치를 눌러 LED On/Off 제어하고 시리얼 모니터에 표시하기 (준비물) 아두이노 우노(Arduino Uno) USB 케이블 LED 스위치 모듈 저항 점퍼 케이블 (회로 연결) int pin_switch[3] = {13, 12, 11}; int pin_led[3] = {7, 6, 5}; void setup(){ Serial.begin(9600); for(int i = 0; i < 3; ++i){ pinMode(pin_switch[i], INPUT); pinMode(pin_led[i], OUTPUT); } Serial.println("LED Control"); } void loop(){ for(int i = 0; i < 3; ++i){ if(!digitalRead(pin_switch[i])){ // ..
[Arduino] 스위치 실습: 스위치를 누르면 시리얼 모니터에 해당 스위치 번호 출력하기 스위치를 누르면 시리얼 모니터에 해당 스위치 번호 출력하기 (단, 스위치 번호는 0부터 5까지이다.) (준비물) 아두이노 우노(Arduino Uno) USB 케이블 스위치 모듈 저항 점퍼 케이블 (회로 연결) int switch_pin[5] = {13, 12, 11, 10, 9}; void setup(){ Serial.begin(9600); for(int i = 0; i < 5; ++i){ pinMode(switch_pin[i], INPUT); } Serial.println("Whether the switch pushes..."); } void loop(){ for(int i = 0; i < 5; ++i){ if(!digitalRead(switch_pin[i])){ Serial.print("No."); ..
[Arduino] 스위치 실습: 스위치 누르면 시리얼 모니터에 "PUSHED" 출력하기 스위치 누르면 시리얼 모니터에 "PUSHED" 출력하기 (준비물) 아두이노 우노(Arduino Uno) USB 케이블 스위치 모듈 저항 점퍼 케이블 (회로 연결) int switch_pin = 8; void setup(){ Serial.begin(9600); // 시리얼 통신 오픈 pinMode(switch_pin, INPUT); // 8번 핀(스위치) 입력 설정 } void loop(){ if(!digitalRead(switch_pin)){ // switch_pin이 0(LOW)일 경우 Serial.println("PUSHED"); delay(500); } } 풀업 저항으로 연결되었기 때문에 8번 핀은 기본적으로 HIGH(1) 값을 출력한다. 따라서 스위치가 눌러졌을 경우 8번 핀은 LOW(0) 값을 ..
[Arduino] 스위치 실습: 풀다운(Pull-down) 저항 이해하기 풀다운(Pull-down) 저항 이해하기 (준비물) 아두이노 우노(Arduino Uno) USB 케이블 스위치 모듈 저항 점퍼 케이블 (회로 연결) int switch_pin = 8; void setup(){ Serial.begin(9600); // 시리얼 통신 오픈 pinMode(switch_pin, INPUT); // 8번 핀 입력 설정 } void loop(){ int read_switch = digitalRead(switch_pin); // switch 값(HIGH or LOW) 저장 Serial.println(read_switch); // switch 값(HIGH or LOW) 출력 delay(100); } 8번 핀은 기본적으로 GND와 연결되어 있다. 따라서 스위치가 눌러지지 않았을 때는 LO..

반응형