News: dopo qualche imprecazione penso di aver determinato la causa principale, ossia la batteria, ma i problemi non sono ancora finiti.
Temo che il circuito non riceva una potenza sufficiente. Il "rumore" che sentivo inizialmente sulla scheda L298N (d'ora in poi la chiamerò semplicemente "scheda") era dovuto ai motori DC che cercavano di azionarsi, ma che non riuscivano a vincere la frizione, con quella poca potenza.
Lo schema di collegamento è questo allegato, dove abbiamo il collegamento diretto alla batteria (che dovrebbe fornire potenza) ed i collegamenti verso Arduino: 9 e 11 WPN, 12, 13 (A) 8,7 (B) [L298N.jpg]
Lo schema elettronico della scheda è questo [77.jpg]
Ho provato ad eseguire il codice qua sotto SENZA l'ausilio della batteria, cioè con arduino attaccato a pc tramite USB (e chiaramente con i pin verso la batteria scollegati), ma appunto non riceve abbastanza potenza
Ho provato allora ad aggiungere la batteria da 9V, e le cose sono andate leggermente meglio: le ruote, quando eseguono il ciclo a velocità crescente (i<0, i++), si azionano solo a partire dal 60% della velocità massima (100).
Il fatto che altri pezzi di codice facciano girare i motori a 25% e 50% implicano che questo comportamento è anomalo...
Devo aumentare il voltaggio o la corrente? Entrambi?
Mi fa strano comunque che una pila da 9V non riesca a fornire abbastanza potenza per far girare arduino, la scheda e un paio di motori DC..
Spero di essere stato esaustivo questa volta 
Qui di seguito il codice
#include <Robojax_L298N_DC_motor.h>
// motor 1 settings
#define IN1 12
#define IN2 13
#define ENA 11 // this pin must be PWM enabled pin
// motor 2 settings
#define IN3 8
#define IN4 7
#define ENB 9 // this pin must be PWM enabled pin
const int CCW = 2; // do not change
const int CW = 1; // do not change
#define motor1 1 // do not change
#define motor2 2 // do not change
// use the line below for single motor
//Robojax_L298N_DC_motor motor(IN1, IN2, ENA, true);
// use the line below for two motors
Robojax_L298N_DC_motor motor(IN1, IN2, ENA, IN2, IN3, ENB, true);
void setup() {
Serial.begin(115200);
motor.begin();
//L298N DC Motor by Robojax.com
}
void loop() {
motor.demo(1);
motor.demo(2);
motor.rotate(motor1, 60, CW);//run motor1 at 60% speed in CW direction
motor.rotate(motor2, 60, CCW);//run motor2 at 60% speed in CCW direction
delay(3000);
motor.brake(1);
motor.brake(2);
delay(2000);
motor.rotate(motor1, 100, CW);//run motor1 at 60% speed in CW direction
motor.rotate(motor2, 100, CCW);//run motor2 at 60% speed in CCW direction
delay(3000);
motor.brake(1);
motor.brake(2);
delay(2000);
for(int i=0; i<=100; i++)
{
motor.rotate(motor1, i, CW);// turn motor1 with i% speed in CW direction (whatever is i)
delay(100);
}
delay(2000);
motor.brake(1);
motor.brake(2);
delay(2000);
motor.rotate(motor1, 70, CCW);//run motor1 at 70% speed in CCW direction
motor.rotate(motor2, 5, CW);//run motor2 at 50% speed in CW direction
delay(4000);
motor.brake(3);
delay(2000);