DC motor wont work with enableA

hey guys,

im working on a project for some time now.
the goal is to use a potmeter to control the output to (pwm) a dc motor and monitor it with a LED bargraph and LCD(i2c). everything works except the motor… the “mSpeed” i use for the PMW is monitord and when i turn the potmeter it goes to 255 and back. is it someting with the code for the L298n driver? for battery i used a 7.5v battery for the L298n and the USB port for the arduino. Thank you!

  #include <Arduino.h>
  #include <LiquidCrystal_I2C.h>
  #include <Wire.h>

  const int enableA = 5;                                  // pin 5 is the enableA for PWM
  const int in1 = 4;                                      // pin 4 is the in1
  const int in2 = 2;                                      // pin 2 is the in2

  LiquidCrystal_I2C lcd(0x27, 16, 2);                            
  int ledPins[] = {13, 12, 11, 10, 9, 8};                         // array for the LED`s
                                                                  
                                                                  
  int schakelaar = 7;                                             // Switch forward/backward
  int potMeter = A0;                                              // analog input for the potentionmeter
  int ledCount = 6;                                               // number of LED`s


void setup(){
  pinMode(enableA, OUTPUT);                               
  pinMode(in1, OUTPUT);                                   
  pinMode(in2, OUTPUT);
  pinMode(schakelaar, INPUT);                                     
  Serial.begin(9600);
  lcd.begin(16,2);
  lcd.backlight();
  
  for(int actieveLED =0; actieveLED < ledCount; actieveLED++){    // making ledPins as outputs
    pinMode(ledPins[actieveLED], OUTPUT);                         
  }
 digitalWrite(in1, LOW);                    // zeroize motors
 digitalWrite(in2, LOW);
}



void loop(){
  int sensorVal = analogRead(potMeter);                           // snesorVal gets value from potmeter
    niveauRegeling(sensorVal);                                             
    
  int statusSchakelaar = digitalRead(schakelaar);                 
    if(statusSchakelaar== HIGH)                                   // switch to control forward or backward 
      PWMcontrolVooruit(sensorVal);                              
    
    else{                                                         
      PWMcontrolAchteruit(sensorVal);                              
    }
  }



void niveauRegeling(int sensorVal){                               
  int ledLevel = map(sensorVal, 0, 1023, 0, ledCount);             
  for(int actieveLED= 0; actieveLED < ledCount; actieveLED++)     
                                                                  
    if(actieveLED < ledLevel){                                   
      digitalWrite(ledPins[actieveLED], HIGH);                  
    }                                                             
     else{                                                       
        digitalWrite(ledPins[actieveLED], LOW);                           
    }
  }


void PWMcontrolVooruit(int sensorVal){                             
  int mSpeed = map(sensorVal, 0, 1023, 0, 255);                    
  int LCDspeed = map(sensorVal, 0, 1023, 0, 100);                  
    analogWrite(enableA, mSpeed);                          
    digitalWrite(in1, HIGH);
    digitalWrite(in2, LOW);
    delay(50);                                                    
    Serial.println(mSpeed);                                        
   lcd.setCursor(0,0);
   lcd.print("ForWard speed:");
   lcd.setCursor(0,1);
   lcd.print(LCDspeed);
   lcd.print(" %");
  }


void PWMcontrolAchteruit(int sensorVal){                           
  int mSpeed = map(sensorVal, 0, 1023, 0, 255);                    
  int LCDspeed = map(sensorVal, 0, 1023, 0, 100);
    analogWrite(enableA, mSpeed);
    digitalWrite(in1, LOW);
    digitalWrite(in2, HIGH);
    delay(50);
    Serial.println(mSpeed);
    lcd.setCursor(0,0);
    lcd.print("BackWard speed:");
    lcd.setCursor(0,1);
    lcd.print(LCDspeed);
    lcd.print(" %");
  }

Do you have the 7.5V battery negative connected to the Arduino GND?

Have you tested with a basic program that simply writes to the motor to test that the L298 and motor wiring are correct? Post a circuit diagram so we know how you have set it up.

Steve