Estoy construyendo un proyecto usando un Arduino Nano. En él, estoy usando el pin 3 como salida PWM. Sin embargo, si le proporciono valores inferiores a 255, el pin no emite ningún voltaje.
De acuerdo con este diagrama, el pin 3 es PWM:
Lo he probado en dos placas, no funciona en ninguna. Tampoco es mi boceto (lo probé con un simple analogWrite();
).
Este es el 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); }
¿Cuál podría ser la razón de esto?
Comentarios
- Solicite que esto se mueva al stackexchange de arduino
- @JorenVaes, ¿cómo hago esto?
- No se muestra ningún código. ¿Sobre qué demonios se supone que debemos especular entonces?
- @Bort lo siento, agregó el código.
- Intente reemplazar #define E1 3 con #define E1 PD3 y vea si eso ayuda.
Respuesta
Intente reemplazar #define E1 3
con #define E1 PD3
y vea si eso ayuda.
El PBx
, PCx
y PDx
designaciones no son ambiguas, por lo que usarlas es una apuesta segura.
Comentarios
Respuesta
El tercer pin (pin 3) no es un pin PWM, es el pin RESET
.
Los pines PWM son 6, 8, 9, 12, 13 y 14 (para Arduino Nano).
Vea esta imagen :
mg src = «https://i.stack.imgur.com/8flVu.png» alt = «Nano pinout» title = «Nano pinout»>
Comentarios
- La URL abreviada redirige a imágenes. google.co.in/… , por lo que no tiene mucho sentido reemplazarlo.
- @Carolene de acuerdo con el esquema proporcionado por el OP, pin 3 significa pin digital 3 = PORTD 3. La parte de su respuesta " Los pines PWM son 6, 8, 9, 12, 13 y 14 (para Arduino Nano) " es completamente engañoso.
Answer
Reemplace digitalWrite con analogWrite (pin, value )
Comentarios
- No ' no estoy seguro de por qué cree que esto funcionaría. ¿Leyó la respuesta aceptada anterior o los comentarios debajo de la pregunta?
Respuesta
Use pinMode(NNN, OUTPUT)
en setup()
?
Comentarios
- Hola Denis, y bienvenido. a Stack Exchange! Si bien puede tener razón, amplíe su respuesta, ya que, tal como está, sería más adecuado como comentario. Lea ¿Cómo escribo una buena respuesta?
- Esta es una buena respuesta, falta el MODO PIN.
PD3
es#define
d como 3 y el número de pin de Arduino también es 3. Intente usarPB2
en lugar del pin número 10 de Arduino si no ' no me cree. Ni siquiera son inequívocos. Esos designadores se definen simplemente como números de bits (por ejemplo,PB3
también es 3).