반응형

분류 전체보기 349

[Arduino] 아두이노 서보모터 사용하기

서보(servo) 모터 서보모터는 자체적으로 속도 조절을 할 수 있으며 자신이 얼마나 회전했는지 센싱하고 입력 받은 값을 회전 시켜준다. 산업에서 많이 사용되는 모터 중 하나다. 0 ~ 180도 회전을 한다. 회로도 servo 모터 제품마다 선색생이 조금 다를 수 있다. 검은색 : GND 빨간색 : 5v 노란색 or 파란색 : 10번 핀 코드 구현 서보 모터를 0부터 180 까지 회전 시킨 후 180도가 되면 0도 로 다시 역회전 시키는 예제다. #include //서보 모터 라이브러리 포함 #define SERVO_PIN 10 Servo servo; // 서보모터 사용 int pos = 0; void setup() { servo.attach(SERVO_PIN);// 서보모터 핀 초기화 } void lo..

Arduino 2024.02.02

[Arduino] 아두이노 RGB LED 사용하기

RGB LED란? 일반적인 led는 빨간색, 초록색, 흰색, 노란색 등 한가지 색만 나타낸다. 하지만 RGB Led는 하나의 Led에서 빨간색, 초록색, 초록색이 표현가능하며 색을 조합하여 여러가지 색상을 표현 할 수 있다. 또한 밝기 값도 조절이 가능다. 회로도 각각 선의 색깔이 R, G, B 센서를 제어한다. 코드 구현 1초에 한번씩 여러가지 색상을 출력한다.. #define R_PIN 8 #define G_PIN 9 #define B_PIN 10 void setup() { Serial.begin(9600); pinMode(R_PIN, OUTPUT); pinMode(G_PIN, OUTPUT); pinMode(B_PIN, OUTPUT); } void loop() { SetColor(255, 0, 0);..

Arduino 2024.02.02

[Arduino] 아두이노 조이스틱 사용하기

조이스틱 조이스틱은 우리가 아는 오락실 조이스틱과 같다. 조이스틱을 움직여 X, Y, Z 값을 얻을 수 가 있다. X, Y 는 아날로그 값 Z 는 디지털 값으로 얻어 온다. 회로도 그림 잘 보고 연결 해야 한다. 그림이 반전 되어 있을 수 도 있으니 GND 위치 확인하고 연결. 코드 구현 조이스틱의 x, y, z축 값을 출력하는 코드다. #define X_PIN A0 #define Y_PIN A1 #define SW_PIN 2 void setup() { pinMode( SW_PIN, INPUT_PULLUP); pinMode( X_PIN, INPUT); pinMode( Y_PIN, INPUT); Serial.begin(9600); } void loop() { int x = analogRead(X_PIN);..

Arduino 2024.02.02

[Arduino] 아두이노 써미스터 온도 센서 사용하기

써미스터(Thermistor) 온도 센서는 열에 민감한 저항으로, 열량의 따라 저항 값이 올라가거나 내려간다. 또한 써미스터가 구한 저항 값을 우리가 사용하는 온도로 바꿔줘야 한다. 회로도 저항은 100k를 사용 하면 된다. 코드 구현 1초마다 온도 값을 불러오는 예제다. 코드 실행이 안되면 라이브러리를 추가 해주면 된다. //센서 라이브러리 #include // 센서 연결 선언 Thermistor temp(A0); void setup() { Serial.begin(9600); } void loop() { int temp = temp.getTemp(); Serial.print(temp); Serial.println("℃"); delay(1000); }

Arduino 2024.02.02

[Arduino] 아두이노 조도센서(Photoresistor) 사용하기

조도센서 조도 센서는 빛의 밝기에 따라 저항 값이 변하며 출력을 해주는 센서다. 빛이 약할 수록 저항 값이 낮아진다. 회로도 저항은 10k를 사용 하면 된다. 코드 구현 1초마다 빛의 밝기 값을 출력하는 예제다. 손가락으로 조도 센서를 가리게 되면 밝기가 낮아져 값이 낮게 나온다. #define PHO_PIN A0 void setup() { pinMode(PHO_PIN, INPUT); Serial.begin(9600); } void loop() { String Temp ="Value : "; Temp += analogRead(PHO_PIN) Serial.println(Temp); delay(1000); }

Arduino 2024.02.02

[Arduino] 아두이노 가변저항 사용해서 LED 밝기 조절하기

가변 저항은 스위퍼를 돌려서 0 ~ 1023 값을 받을 수 있다. 가변 저항에서 얻은 값으로 LED 밝기를 조절 해 보자. 회로도 저항은 220옴을 사용하면 된다. 코드 구현 가변 저항 값이 커질 수록 LED 밝기가 올라간다. map함수 = 가변저항 최대값(1023) / LED 최대값(255)의 근사치다. 쉽게 말하면 가변저항 값을 LED 값으로 변환한다. #define LED_PIN 11 void setup( ) { pinMode(LED_PIN, OUTPUT); } void loop( ) { int readVal= analogRead(A0); readVal = map(readVal, 0, 1023, 0, 255); //가변저항 값 -> led 값으로 변환 analogWrite(LED_PIN, readV..

Arduino 2024.02.02

[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] 아두이노 7세그먼트 사용해서 숫자 카운트하기

7세그먼트 7세그먼트로 숫자나 문자를 나타낼 수 있다. 하지만 대부분 간단한 숫자를 나타내는데 사용한다. 회로도 복잡하지만 최대한 보기 쉽게 그려놨다. 세그먼트 on, off하기 1초마다 세그먼트의 전부가 on, off 하는 코드다. on을 하면 세그먼트에 8이 나올 것이며 off를 하면 아무것도 나오지 않는다. #define A_PIN 2 #define DP_PIN 9 void setup() { for(int i = A_PIN; i

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
반응형