Estou construindo um projeto usando um Arduino Nano. Nele, estou usando o pino 3 como saída PWM. No entanto, se eu fornecer valores menores que 255 para ele, o pino não emitirá nenhuma tensão.
De acordo com este diagrama, o pino 3 é PWM:
Eu testei em duas placas, não funciona em nenhuma delas. Também não é meu esboço (testei com um simples analogWrite();
).
Este é o código:
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); }
Qual poderia ser a razão disso?
Comentários
- Solicite que seja movido para o arduino stackexchange
- @JorenVaes como faço isso?
- Nenhum código mostrado. Sobre o que deveríamos especular então?
- @Bort desculpe, adicionou o código.
- Tente substituir #define E1 3 por #define E1 PD3 e veja se isso ajuda.
Resposta
Tente substituir #define E1 3
por #define E1 PD3
e veja se isso ajuda.
O PBx
, PCx
e PDx
designações não são ambíguas, então usá-las é uma aposta segura.
Comentários
Resposta
O terceiro pino (pino 3) não é um pino PWM, é o pino RESET
.
Os pinos PWM são 6, 8, 9, 12, 13 e 14 (para Arduino Nano).
Veja esta imagem :
mg src = “https://i.stack.imgur.com/8flVu.png” alt = “Nano pinout” title = “Nano pinout”>
Comentários
- URL encurtado redireciona para imagens. google.co.in/… então não faz muito sentido substituí-lo.
- @Carolene de acordo com o esquema dado pelo OP, pino 3 significa pino digital 3 = PORTD 3. A parte da sua resposta " Os pinos PWM são 6, 8, 9, 12, 13 e 14 (para Arduino Nano) " é completamente enganoso.
Resposta
Substitua digitalWrite por analogWrite (pin, valor )
Comentários
- Eu ' Não tenho certeza de por que você acha que isso funcionaria. Você leu a resposta aceita acima ou os comentários abaixo da pergunta?
Resposta
Use pinMode(NNN, OUTPUT)
em setup()
?
Comentários
- Olá, Denis, e bem-vindo para empilhar o Exchange! Embora você possa estar correto, expanda sua resposta, porque, do jeito que está, seria mais adequado como um comentário. Leia Como escrevo uma boa resposta?
- Esta é uma boa resposta, falta o MODO PIN.
PD3
é#define
d como 3 e o número do pino do Arduino também é 3. Tente usarPB2
em vez do pino número 10 do Arduino, se você não ' acreditar em mim. Eles não são nem mesmo inequívocos. Esses designadores são definidos apenas como números de bits (por exemplo,PB3
também é 3).