아두이노 모터를 컨트롤 하는 과정에서 어떤 경우에 시리얼 모니터에 값이 출력되지 않았다. 비슷한 코드에서 어떤 경우에는 되고 어떤 경우에는 안되서 이것저것 비교하면서 살펴보니 문제(?)를 찾을 수 있었다.
먼저, 시리얼 모니터가 작동하지 않았을 때는 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);/* Motor control pin 2 */
pinMode(14,OUTPUT); /* PWM pin for Speed Control */
pinMode(12,OUTPUT); /* Motor control pin 1 */
pinMode(13,OUTPUT);/* Motor control pin 2 */
//esp8266의 시리얼 모니터 설정
Serial.begin(115200);
}
작동하지 않을 때
void setup(){
//esp8266의 시리얼 모니터 설정
Serial.begin(115200);
// 스텝모터 PWM 제어핀 출력 설정
pinMode(15,OUTPUT); /* PWM pin for Speed Control */
pinMode(3,OUTPUT); /* Motor control pin 1 */
pinMode(1,OUTPUT);/* Motor control pin 2 */
pinMode(14,OUTPUT); /* PWM pin for Speed Control */
pinMode(12,OUTPUT); /* Motor control pin 1 */
pinMode(13,OUTPUT);/* Motor control pin 2 */
}
아두이노 홈페이지 Serial.read 예제에서 보면 serial.begin과 pinMode의 위치는 상관이 없는 것 같은데 안되는 것을 보면 알지못하는 어떤 이유가 있을 것 같다.
https://www.arduino.cc/en/Tutorial/BuiltInExamples/DigitalReadSerial
반응형
'만들기 > 아두이노' 카테고리의 다른 글
[아두이노] 아두이노 코드 업로드중 모터가 돌아갈 때 (0) | 2021.06.29 |
---|---|
[아두이노] esp8266 이용시 핀모드와 시리얼모니터 오류 (0) | 2021.06.29 |
아두이노 DC모터 움직이기( 건전지 전류용량 차이) (0) | 2021.06.26 |
[밸런싱로봇] PID 제어 이해하기 (1) (0) | 2021.06.25 |
esp 8266에서 DHT 온습도센서 2147483647 혹은 nan 오류 (0) | 2021.06.25 |