Arduino 21

[Arduino] 아두이노 DC 모터(L298N) 동작 안함, 안 돌아갈 때 해결 방법

아두이노 DC 모터(L298N) 동작 안하거나 안 돌아갈 때 해결 방법DC모터가 회전 하지 않을 때 아래 방법으로 해결.이유 1 : 회전 속도가 낮아서 안 돌아감  ->  해결법: 1. 손으로 한번 돌려 볼것, 2. 코드에 속도를 255로 해볼것.이유 2 : DC모터의 노란색, 초록색 선을 반대로 연결 ->  해결법 : 선을 서로 바꿔서 연결 해 볼 것.

Arduino 2024.05.09

[Arduino] 아두이노 LED 아날로그 밝기 조절하기 / analogWrite

아두이노 LED 밝기 조절하기 LED는 밝기 조절을 하기 위해서는 analogWrite를 사용해야 한다. analogWrite(LEDPIN, 0 ~ 255); //LED 밝기 조절(0~255) digitalWrite를 사용하면 밝기 조절을 할 수가 없다. 회로도 연결 방법과 소스 코드를 작성했다. 주의할 점과 함께보자. 펄스 폭 변조(PWM) 밝기 조절은 0 에서 255까지 아날로그 값으로 표현 해야 한다. 하지만 디지털 핀은 아날로그의 값을 표현 할 수 없다. 이때 디지털 핀을 아날로그 신호로 동작 할 수 있는 PWM을 지원하는 핀을 사용하면 아날로그 값을 나타낼 수 있다. 그림에 표시된 숫자 앞에 '~' 가 붙은 핀만 PWM을 지원한다. 회로도 저항은 220옴을 사용 하면된다. PWM을 지원하는 ~9..

Arduino 2024.02.10

[Arduino] 아두이노 시리얼 모니터에 값 입력받기

데이터 입출력을 위해 시리얼 객체 선언 아두이노 처음 할 때 가장 많이 하는 실수가 통신 셋업을 안해주는 거다. 이러면 시리얼 모니터가 안 뜬다. set up 함수에 꼭 시리얼 객체를 선언을 해줘야 한다. void setup() { Serial.begin(9600); //초당 9600 비트로 통신 하겠다. } 시리얼 모니터 입력 값 확인하기 입력 값을 받기 전에 꼭 available() 함수를 사용 해야한다. 그래야 쓰레기 값이 안들어 온다. void loop() { String str = ""; if(Serial.available() > 0)// 입력 값이 0 보다 크면 { str = Serial.read(); //문자열 읽어 오기 str = Serial.readStringUntil(); // 문자열 ..

Arduino 2024.02.06

[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