Infinito riavvio della scheda Arduino UNO.Componenti:L298N, HC-SR04, DC motors.

Salve a tutti, avevo finito finalmente la mia macchinina, costruita usando un semplice sketch e una basetta l298n con sensore ultrasuoni hc-sr04.Questa schiva gli ostacoli quando si trova in prossimità di un ostacolo.
Il tutto funzionava collegandolo al pc ma quando ho trasportato il tutto con una batteria ho riscontrato dei problemi. Ho usato una batteria da 9V, mettendo in comune sia la terra che il polo positivo alle due schede. Dopo qualche prova ho visto che il mio piccolo robot schiva ostacoli effettivamente schivava gli ostacoli ma si spegneva e riaccendeva sempre in un brevissimo lasso di tempo... Ho notato che la scheda Arduino UNO si riavvia sempre, in continuazione , non so quale sia il problema.

Grazie per chi mi aiuterà :slight_smile:

Per orientarvi meglio qui sotto troverete sia il codice che lo schema e anche la singola basetta l298n.

#include <NewPing.h>
#define PIN_TRIG 2
#define PIN_ECHO 3
#define MAX_DIST 3000
NewPing datoregistrato(PIN_TRIG,PIN_ECHO,MAX_DIST);
int ENA=11; 
int IN1=10; 
int IN2=9; 
int IN3=8; 
int IN4=7; 
int ENB=6;
unsigned int uS;
float cm;
void setup() {
  pinMode(ENA, OUTPUT);
  pinMode(ENB, OUTPUT);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
 Serial.begin(115200);
}

void loop() {
 Serial.print("Dista: ");
  
 Serial.print(cm);
 Serial.println(" cm");
  
   uS = datoregistrato.ping();
   cm = datoregistrato.convert_cm(uS);
if(cm>15)
 { 
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(ENA, 250);
analogWrite(ENB, 250);
 }

if (cm>=15 && cm<=50)
 {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(ENA, (int)(200*(cm-15)/35+50));
analogWrite(ENB, (int)(200*(cm-15)/35+50));
  }                                                                                                             

if (cm<=15) 
  {
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(ENA, 120);
analogWrite(ENB, 120);
 
  }

}

link l298n --> Come usare scheda motor driver L298N con Arduino | Lucio Sciamanna

schema del circuito che ho creato:

Se la pila che hai usato è quella dello schema è insufficiente. Prova con sei pile stilo AA in serie

Le pile da 9V hanno spesso una corrente massima di soli 200mA. Troppo pochi per tutto quello che hai collegato.
Come detto da pgiagno sostituiscila con un pacco di batterie stilo.

Grazie a entrambi finalmente la mia scheda Arduino UNO non si riavvia più.
Purtroppo si verifica un altro problema... Uno dei due motori DC non sta al passo con l'altro, va più lento e anche a scatti, cosa succede adessso?

@Marcolbr2001: Ti ricordo che il cross-posting è proibito da regolamento ... tu stai chiedendo qui ed hai aperto un nuovo thread QUI ... direi che, per cortesia ed educazione verso chi tu sta già aiutando, metti le stesse informazioni qui ed io chiudo il thread duplicato.

Guglielmo

il pin6 è collegato al timer0 che lavora a frequenza diversa del pin11 che lavora con il timer2.
Prova ad usare il pin3 al posto del 6