분류 전체보기446 [아두이노] 아두이노 코드 업로드중 모터가 돌아갈 때 L298N 드라이버를 사용하여 모터를 컨트롤 하는도중 어느순간부터 코드를 업로드 하는중에 모터가 돌아가기 시작했다. 모터의 힘도 떨어진것 같고 이상해서 코드를 살펴봤지만 문제가 없어보였다. 그래서 전선연결부터 살펴보니 문제를 파악할 수 있었다. L298N 드라이버와 아두이노 핀을 연결할때 신호를 주는 선이 바꿔져서 끼워져있었다. 각각의 핀이 EN, PN1, PN2 이런식으로 세트가 되어있어야 하는데 EN, PN1, PN3 과 같이 같은 신호가 연결되어 있었다. 그래서 신호가 계속 연결되어 있어서 모터가 움직이도록 신호를 보내는 것이였다. (반대쪽은 움직이지 않도록 보내고 있었지만 모터가 정지해 있어서 알수 없었다) 모터와 연결된 핀을 다시 잘 연결하니 문제가 해결됐다. 2021. 6. 29. [아두이노] esp8266 이용시 핀모드와 시리얼모니터 오류 esp8266과 모터를 이용해서 움직이는 로봇을 만들었다. 하지만, 모터에 사용하는 pinMode를 지정하고 serial.being을 사용하여 코드를 짜면 시리얼모니터가 작동하거나 모터가 작동하지 않았다. pinMode 코드와 serial.begin 코드 위치에 따라 결과가 달라져서 무엇이 문제일까 찾아보다가 해결할 수 있었다. serial 통신은 esp8266와 RX, TX 선을 사용해서 시리얼 모니터에서 데이터를 보여준다. 하지만, esp8266에는 핀이 많이 없어서 모터에 사용하는 pinMode를 정의하는 도중 시리얼통신에 사용되는 TX 핀을 사용해버려서 시리얼모니터가 나오지 않았다. (GPIO1 을 모터에 사용하면 시리얼모니터에 데이터가 출력되지 않는다) 모터에 할당한 pinMode에서 GPIO1.. 2021. 6. 29. 아두이노 시리얼모니터와 핀모드 아두이노 모터를 컨트롤 하는 과정에서 어떤 경우에 시리얼 모니터에 값이 출력되지 않았다. 비슷한 코드에서 어떤 경우에는 되고 어떤 경우에는 안되서 이것저것 비교하면서 살펴보니 문제(?)를 찾을 수 있었다. 먼저, 시리얼 모니터가 작동하지 않았을 때는 pinMode가 Serial.begin()보다 나중에 정해져 있었다. Serial.begin이 pinMode보다 뒷쪽에 있을 경우에는 시리얼 모니터에서 응답하지 않았다. 작동할때 void setup(){ // 스텝모터 PWM 제어핀 출력 설정 pinMode(15,OUTPUT); /* PWM pin for Speed Control */ pinMode(3,OUTPUT); /* Motor control pin 1 */ pinMode(1,OUTPUT);/* Moto.. 2021. 6. 28. 아두이노 DC모터 움직이기( 건전지 전류용량 차이) AA 건전지의 전류용량 평균 2500 mAh 9V 사각 배터리는 500mAh 의 전류용량을 가진다. 그래서 큰전류를 필요로 하는 모터의 경우에는 AA배터리를 사용하는 것이 더 좋다. 일반 3V 소형 모터의 경우 무부하기준 350mA 정도가 필요하다. https://www.devicemart.co.kr/goods/view?no=12237284 3V 소형 DC모터 [MCU-001] 소형DC모터 / 전압 1.5V-4.5V / 전류 350mA / 모터속력 : 5400rpm www.devicemart.co.kr 2021. 6. 26. [밸런싱로봇] PID 제어 이해하기 (1) 밸런싱로봇을 만들면서 로봇이 넘어지지 않도록 모터를 컨트롤 하기위해 PID 제어가 사용되었다. PID 제어는 피드백제어의 일종으로 현재상태와 이전상태의 차이를 고려하여 시스템을 제어하는 방법이다. PID는 각각 비례(proportional), 적분(Integral) 그리고 미분(Derivative)제어를 나타낸다. 위 식은 PID제어를 수학적으로 나타낸 것으로 왼쪽부터 비례제어(P), 적분제어(I) 그리고 미분제어(D)를 나타낸다. 각 K 상수에 따라 시스템에 미치는 영향력을 조절할 수 있다. 비례제어(P) 비례제어는 목표값과 현재값의 차이를 계산하고 그 오차에 비례하여 시스템의 움직임을 조절하는 제어방법이다. 예를 들어, 바닥에 있는 드론을 50m 상공에 위치시킨다고 생각해보자 드론이 공중에 정지해 있.. 2021. 6. 25. esp 8266에서 DHT 온습도센서 2147483647 혹은 nan 오류 DHT 온습도 센서는 가장 간단하게 사용되는 아두이노 센서이다. 사용법도 간단해서 DHT 라이브러리를 다운받고 data 케이블을 디지털핀에 연결해서 데이터를 받으면 작동한다. 하지만, 데이터 출력값이 2147483647 로 나오면서 작동하지 않는 경우가 있다. 2147483647 은 int 정수 32비트로 나타낼수 있는 최댓값인데 DHT센서로부터 데이터가 정상적으로 수신되지 않을 때 시리얼모니터로 정수값을 출력하면 나타나는 오류이다. DHT 센서의 오류원인 1. 센서의 종류 DHT 센서는 DHT11과 DHT22가 있는데 아두이노 IDE에서 센서종류를 정의할때 다르게 작성하면 올바른 데이터가 수집되지 않는다. 2. 전원 DHT 센서는 3 - 5.5 혹은 6V 의 전압에서 작동하는데 전원이 부족하거나 연결이.. 2021. 6. 25. 이전 1 ··· 42 43 44 45 46 47 48 ··· 75 다음