Problema con l298n, motori DC e sensore. Infinito riavvio della scheda arudino

Salve a tutti, avevo finito finalmente la mia macchinina, costruita usando un semplice sketch e una basetta l298n con sensore ultrasuoni. Sono riuscito a trasportare il tutto usando 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 subito dopo un pò. Successivamente nell'arco di un'ora vado per riaccendere il mio robottino e questo si riavviava sempre più spesso. Ho notato che la scheda Arduino UNO si riavviava sempre, 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.

codice:

#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 --> http://www.instructables.com/id/Arduino-Modules-L298N-Dual-H-Bridge-Motor-Controll/

Immagine del mio schema

ciao

Senza sfera di cristallo è un po' difficile aiutarti.
Molto probabilmente è l'alimentazione insufficiente che erogano le batterie a 9 volts.

Meglio sarebbe vedere uno schema dei collegamenti fatti.

ciao
pippo72

pippo72:
ciao

Senza sfera di cristallo è un po' difficile aiutarti.
Molto probabilmente è l'alimentazione insufficiente che erogano le batterie a 9 volts.

Meglio sarebbe vedere uno schema dei collegamenti fatti.

ciao
pippo72

Ciao pippo72 come posso inviarti l'immagine dello schema?

Sono 2 possibilitá:
Incolli il link all'imagine messa da qualce parte in internet.

Sotto la finestra del editore c'é Attachments and other options
se chlicci sopra si apre una parte dove puoi aggiungere un allegato.

Ciao Uwe

UweFederer:
Sono 2 possibilitá:
Incolli il link all'imagine messa da qualce parte in internet.

Sotto la finestra del editore c'é Attachments and other options
se chlicci sopra si apre una parte dove puoi aggiungere un allegato.

Ciao Uwe

Grazie, mi sono iscritto da poco al forum, perdonate la mia ignoranza :')