아두이노 18

[Arduino] 아두이노 DC 모터(L298N) 제어하기

DC 모터 (L298N) DC 모터는 PWM((Pulse Width Modulation)을 이용해서 0 ~ 255 까지 속도를 제어 할 수 있다. 숫자가 낮을 수록 회전수가 적어져 속도가 느려진다. 또 한 DC 모터를 제어하기 위해서 드라이버가 필요한데 회로도에 나와있는 L298D다. (회로도에는 L293D라 되어있지만 L298D가 명칭임.) L298D는 DC모터 뿐만 아니라 Servo 모터를 제어 할 수 있다. 회로도 DC모터가 회전 하지 않을 때 아래 방법으로 해결. 1. 회전 속도가 낮아 안 돌아감 -> 1. 손으로 한번 돌려 볼것, 2. 코드에 속도를 255로 해볼것. 2. DC모터의 노란색, 초록색 선을 반대로 연결 -> 바꿔서 연결 해 볼 것. 코드 구현 DC모터를 255 속도로 1초마다 정방..

Arduino 2024.02.02

[Arduino] 아두이노 푸시 버튼으로 LED 제어하기

푸시 버튼을 누르면 LED에서 빛이 나오는 예제 회로도 저항은 220옴을 사용하면 된다. 코드 구현 푸시 버튼 핀 모드를 INPUT_PULLUP으로 구현을 했다. 누르고 있으면 LED ON 누르지 않으면 LED OFF #define PUSH_PIN 9 #define LED_PIN 10 void setup() { pinMode(PUSH_PIN, INPUT_PULLUP ); pinMode(LED_PIN, OUTPUT) Serial.begin(9600); } void loop() { int value = digitalRead( PUSH_PIN ); Serial.println( value ); if(value == 0) // 버튼이 눌리고 있으면 digitalwrite(LED_PIN, HIGH) else dig..

Arduino 2024.02.02

[Arduino] 아두이노 푸시 버튼(push button) 사용하기, INPUT, INPUT_PULLUP

푸시 버튼은 여러 이름으로 불린다. ex) 버튼, 스위치 푸시 버튼을 제어하는 방법에는 두가지가 있다. 1. INPUT : 푸시 버튼을 한번 누르면 0 2. INPUT_PULLUP : 푸시 버튼을 누르고 있으면 0, 떼면 1 INTPUT과 INPUT_PULLUP 의 회로도는 조금 다르다. INPUT 회로도 INPUT 예제 푸시 버튼의 상태를 시리얼 모니터에 출력한다. 프로그램을 실행 시키면 시리얼 모니터에 0, 1, 0, 0, 1 이런 식으로 값이 나온다. 이것은 플로팅 값이라고 하는데 0 과 1 중 정해지지 않은 값이 랜덤으로 나오는 것이다. 이 상태에서 버튼을 한번 누르면 0으로 고정 된 값이 나온다. #define PUSH_PIN 9 void setup() { pinMode( PUSH_PIN, IN..

Arduino 2024.02.02

[Arduino] 아두이노 부저(Buzzer) 능동부저, 수동부저

부저의 종류 1. 능동 부저 2. 수동 부저 차이점 능동 부저 : 한 가지 음만 낼 수 있다. 수동 부저 : 여러 음을 낼 수 있다. (계이름으로 멜로디를 만들 수 있다.) 두 개의 부저를 구별하는 방법은 부저를 뒤집어 보면 보면 다르게 생겼다. 둘 중 뭔지 모르겠으면 바꿔서 껴보면 된다. 부저가 켜졌을 때 여러개의 음을 낼 수 있으면 수동 부저다. 회로도 검은색 선이 +, 빨간색 선이 - 다. 능동 부저, 수동 부저 둘 다 똑같이 연결 하면 된다. 능동 부저로 한 음만 내기 능동 부저가 1초에 한번 씩 소리를 내는 예제다. 능동 부저는 애초에 한 음만 낸다. #define BUZ_PIN 13 void setup( ) { pinMode(BUZ_PIN, OUTPUT); } void loop( ) { dig..

Arduino 2024.02.02

[Arduino] 아두이노 초음파 센서(HC-SR04) 사용하기

초음파 센서의 값을 받아서 시리얼 모니터에 출력하는 예제다. 초음파 센서 거리 구하는 순서 1. Trigger에서 초음파를 쏜다. 2. 물체를 만나면 초음파가 반사된다. 3. Echo 에서 반사된 초음파를 읽어서 거리를 계산한다. 회로도 Trigger 가 13번 핀, Echo가 12번 핀이다. 만약 작동이 안되면 Trigger 핀과 Echo핀을 서로 바꿔서 해보면 된다. 코드 구현 TRIGGER_PIN : 초음파를 쏜다. ECHO_PIN : 물체를 만나 반사 되는 초음파를 받는다. #define TRIGGER_PIN 13 #define ECHO_PIN 12 void setup() { Serial.begin (9600); pinMode (TRIGGER_PIN, OUTPUT); pinMode (ECHO_PI..

Arduino 2024.02.02

[Arduino] 아두이노 시리얼 모니터 값 읽기, 부저 울리기

시리얼 모니터에 NICE를 적으면 부저가 1초간 울리는 예제다. 회로도 부저에서 검은색 선이 +, 빨간색 선이 - 다. 코드 구현 readStringUntil( ) 함수 : 시리얼 모니터에서 작성한 문자를 가져오는데 공백이 나오기 전 까지의 문자만 가져온다. 예를 들어 시리얼 모니터에서 NICE를 작성하고 엔터를 누르면 NICE\n 이 될거고 공백을 제외한 NICE만 가져온다. #define BUZ_PIN 13 void setup( ) { pinMode(BUZ_PIN, OUTPUT); Serial.begin(9600); //시리얼 모니터 사용 } void loop() { if(Serial.available() > 0)//시리얼 모니터 값이 0 보다 크면(값이 들어오면) { String Read = Ser..

Arduino 2024.02.02

[Arduino] 아두이노 LED 아날로그핀에서 제어하기

LED는 아날로그 핀에서도 digitalwrite를 사용해서 제어가 가능하다. 회로도 저항은 220옴을 사용 하면된다. A0 ~ A5번까지가 아날로그 핀이며 LED를 사용할 수 있다. 코드 구현 LED가 1초마다 깜빡거리는 코드다. #define LEDA0 A0 void setup() { pinMode( LEDA0, OUTPUT ); } void loop() { digitalWrite(LEDA0, HIGH); delay(1000); digitalWrite(LEDA0, LOW); delay(1000); }

Arduino 2024.02.02