전체 글 161

[Arduino] 아두이노 시리얼 모니터 값 출력하기

데이터 입력을 위한 시리얼 객체 선언 아두이노 처음 할 때 가장 많이 하는 실수가 통신 셋업을 안해주는 거다. 이러면 시리얼 모니터가 안 뜬다. set up 함수에 꼭 시리얼 객체를 선언을 해줘야 한다. void setup() { Serial.begin(9600); //초당 9600 비트로 통신 하겠다. } 시리얼 모니터에 출력 void loop() { int data = 5; Serial.print(data) // 시리얼 모니터 화면에 출력 Serial.println(data) // 시리얼 모니터 화면에 출력 후 줄 바꿈 }

Arduino 2024.02.06

[Arduino] 아두이노 적외선 수신기 사용하기

적외선 수신기(IR Receiver) 적외선 수신기는 적외선 리모컨 or 적외선 송신기에서 보내는 신호를 받는다. 리모컨으로 TV, 에어컨, 선풍기 등 제어하는 것 처럼 사용 할 수 있다. 회로도 적외선 수신기 회로도 그림이 이상하긴 하지만 아래 회로도 대로 연결 하면 된다. (아무리 찾아도 적외선 수신기 그림이 저거 밖에 없다.) 코드 구현 리모컨이 누른 IR 수신 정보를 출력 해준다. 실행이 안되면 를 추가해야한다. #include //적외선 수신기 사용 #define IR_PIN 13 unsigned long last = millis(); IRrecv irrecv(IR_PIN); decode_results decResult; void setup() { Serial.begin(9600); irrecv..

Arduino 2024.02.06

[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