Arduino Nano를 사용하여 프로젝트를 구축 중입니다. 여기에서 핀 3을 PWM 출력으로 사용하고 있습니다. 그러나 255보다 낮은 값을 공급하면 핀은 전혀 전압을 출력하지 않습니다.
이 다이어그램에 따르면 핀 3은 PWM입니다.
두 보드에서 테스트했지만 둘 중 하나에서는 작동하지 않습니다. 내 스케치도 아닙니다 (간단한 analogWrite();
로 테스트했습니다).
다음은 코드입니다.
void setup() { // put your setup code here, to run once: #define E1 3 // Enable Pin for motor 1 #define E2 10 // Enable Pin for motor 2 #define I1 4 // Control pin 1 for motor 1 #define I2 2 // Control pin 2 for motor 1 #define I3 A1 // Control pin 1 for motor 2 #define I4 A0 // Control pin 2 for motor 2 } void loop() { // put your main code here, to run repeatedly: // I use differential steering, speed is important analogWrite(E1, 100); // Run in full speed analogWrite(E2, 100); // Run in full speed // always go forward digitalWrite(I1, LOW); digitalWrite(I2, HIGH); digitalWrite(I3, LOW); digitalWrite(I4, HIGH); }
이유가 무엇인가요?
댓글
- 이를 arduino stackexchange로 이동하도록 요청하세요.
- @JorenVaes 어떻게해야합니까?
- 코드가 표시되지 않습니다. 그럼 도대체 무엇에 대해 추측해야할까요?
- @Bort 죄송합니다. 코드를 추가했습니다.
- #define E1 3을 #define E1 PD3으로 바꾸고 그것이 있는지 확인하십시오.
답변
#define E1 3
를 #define E1 PD3
가 도움이되는지 확인하세요.
PBx
, PCx
및 PDx
지정은 모호하지 않으므로이를 사용하는 것이 안전한 방법입니다.
댓글
- 이것은 절대적으로 잘못된 조언입니다. Arduino 함수는 Arduino 핀 번호를 사용합니다. 이 경우에는
PD3
가#define
d가 3이고 Arduino 핀 번호도 3이기 때문에 작동합니다. iv 나를 믿지 않는다면 ' Arduino 핀 번호 10 대신 id = “d9e42fb2dc”>
. 그들은 모호하지도 않습니다. 이러한 지정자는 비트 번호로 정의됩니다 (예 : PB3
도 3 임).
Answer
세 번째 핀 (핀 3)은 PWM 핀이 아니라 RESET
핀입니다.
PWM 핀은 6, 8, 9, 12, 13 및 14 (Arduino Nano 용)입니다.
mg src = “https://i.stack.imgur.com/8flVu.png”alt = “나노 핀아웃”title = “Nano pinout”>
댓글
- 짧은 URL이 이미지로 리디렉션됩니다. google.co.in/… 교체 할 필요가 없습니다.
- @Carolene OP에 의해 제공된 회로도에 따라 핀 3 디지털 핀 3 = PORTD 3을 의미합니다. 답변의 일부는 " PWM 핀은 6, 8, 9, 12, 13 및 14입니다 (Arduino Nano의 경우) "는 완전히 잘못된 것입니다.
Answer
digitalWrite를 analogWrite (pin, value )
댓글
- '이게 왜 효과가 있다고 생각하는지 잘 모르겠습니다. 위에서 수락 된 답변이나 질문 아래의 의견을 읽었습니까?
답변
pinMode(NNN, OUTPUT)
at setup()
?
댓글
- 안녕하세요 Denis, 환영합니다. 스택 교환에! 당신이 정확할 수 있지만, 당신의 대답을 확장하십시오. 왜냐하면 그것이 그대로 주석으로 더 적합 할 것이기 때문입니다. 좋은 답변은 어떻게 작성하나요?
- 좋은 답변입니다. PIN 모드가 없습니다.