I want to use L298N bridge to power up and control simple smart lock. It requires 12V power supply, so I've used L298N bridge to power this smart lock.
I removed jumper from enA pin and connected enA 12V to Arduino Nano D8 pin.
I sent value 255 through this pin but smart lock did nothing. Any suggestions?
I'm using BLE controller to send turn on/off signal from Android App (but its not relevant in this case, because analogWrite is called).
Lock: https://www.aliexpress.com/item/32949292074.html
Here is code:
#define enA 8
void setup() {
pinMode(enA, OUTPUT);
}
void loop() {
String msg = bluetooth.read(); //using BLE controller to get message from Android app.
if(msg == "ON"){
analogWrite(enA, 255);
} else if(msg == "OFF"){
analogWrite(enA, 0);
}
}
Here is setup:
-
majenko.co.uk/blog/importance-sharing-groundsMajenko– Majenko04/23/2020 15:14:04Commented Apr 23, 2020 at 15:14
-
Also: you need to control the direction pins or it won't know what to do.Majenko– Majenko04/23/2020 15:14:40Commented Apr 23, 2020 at 15:14
-
So I have to ground everything including BLE controller through breadboard like this? i.imgur.com/ZueUc82.png (and I'm powering Arduino through USB port)Martin– Martin04/23/2020 15:39:40Commented Apr 23, 2020 at 15:39
-
that item from aliexpress is not a smart lock ... it is a solenoidjsotola– jsotola04/23/2020 16:34:51Commented Apr 23, 2020 at 16:34
-
It looks to me like you failed to tie the grounds of the Arduino and the H-Bridge together.Duncan C– Duncan C04/23/2020 17:33:46Commented Apr 23, 2020 at 17:33
1 Answer 1
You really don't want an L239D to control that lock. It's overkill. The L239D is a H-bridge that is designed to drive loads in two different polarities (forward / backwards on a motor for example).
That lock is merely a spring-loaded solenoid. You give it power and it pulls the lock back. You remove power and the spring closes it again.
All you need is a simple transistor circuit just like you'd use for a relay.
Since you insist on using an L239D, here's a schematic for you:
schematic
simulate this circuit – Schematic created using CircuitLab
-
I understand that but I dont have time to buy transistor and everything is delayed due to corona. I know that its overkill :D Also I have to apply power to IN1 pin too? IN1 ---- D9 and
digitalWrite(9, HIGH);
?Martin– Martin04/23/2020 15:51:52Commented Apr 23, 2020 at 15:51 -
And IN2, which has to be the opposite level to IN1. IN1 and IN2 define the direction of current flow through the load. EN1 defines the level of current through the load.Majenko– Majenko04/23/2020 15:53:51Commented Apr 23, 2020 at 15:53
-
Ive tried to connect ground pins through breadboard but now L298N is not powered for some reason. Before red LED turn on as I powered adapter. Isnt Arduino powered by USB from laptop a reason?Martin– Martin04/23/2020 16:23:40Commented Apr 23, 2020 at 16:23
-
1Don't forget the L239D's ground needs connecting.Majenko– Majenko04/23/2020 16:24:20Commented Apr 23, 2020 at 16:24
-
Ahh so i.imgur.com/ZueUc82.png L239D ground can go to minus pins or straight to the top GND pin in ArduinoMartin– Martin04/23/2020 16:31:12Commented Apr 23, 2020 at 16:31