El pin Arduino Nano PWM no funciona

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:

Pinout NANO

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

  • Este es un consejo absolutamente incorrecto. Las funciones de Arduino toman números de pin de Arduino. En este caso, simplemente funcionó porque PD3 es #define d como 3 y el número de pin de Arduino también es 3. Intente usar PB2 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).

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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *