Add ReadMe
commit
b4de6853f2
145
ReadMe.md
Normal file
145
ReadMe.md
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
**L298N_ESP32 Library Documentation**
|
||||||
|
=====================================
|
||||||
|
|
||||||
|
### Table of Contents
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
* [Introduction](#introduction)
|
||||||
|
* [Installation](#installation)
|
||||||
|
* [Functions](#functions)
|
||||||
|
+ [Constructor](#constructor)
|
||||||
|
+ [begin()](#begin)
|
||||||
|
+ [setMin()](#setmin)
|
||||||
|
+ [setMax()](#setmax)
|
||||||
|
+ [invert()](#invert)
|
||||||
|
+ [forward()](#forward)
|
||||||
|
+ [backward()](#backward)
|
||||||
|
+ [goMin()](#gomax)
|
||||||
|
+ [goMax()](#gomax)
|
||||||
|
+ [setSpeed()](#setspeed)
|
||||||
|
+ [setPercentage()](#setpercentage)
|
||||||
|
+ [override()](#override)
|
||||||
|
+ [stop()](#stop)
|
||||||
|
+ [command()](#command)
|
||||||
|
|
||||||
|
### Introduction
|
||||||
|
---------------
|
||||||
|
|
||||||
|
The L298N_ESP32 library is a dual H-bridge motor driver with ESP32 support. It provides a simple and easy-to-use API for controlling DC motors using the L298N IC.
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
-------------
|
||||||
|
|
||||||
|
1. Install the Arduino IDE.
|
||||||
|
2. Install the ESP32 board package.
|
||||||
|
3. Clone or download this repository into your Arduino library folder (`~/.arduino/libraries/L298N_ESP32`).
|
||||||
|
4. Import the library in your sketch by adding `#include <L298N_ESP32.h>`.
|
||||||
|
|
||||||
|
### Functions
|
||||||
|
-------------
|
||||||
|
|
||||||
|
#### Constructor
|
||||||
|
----------------
|
||||||
|
|
||||||
|
* Initializes the motor driver with the specified pins and channel.
|
||||||
|
* Parameters:
|
||||||
|
+ `in1`: Pin for input 1 ( HIGH for direction).
|
||||||
|
+ `in2`: Pin for input 2 (HIGH for direction).
|
||||||
|
+ `en`: Pin for enable signal (PWM output).
|
||||||
|
+ `channel`: PWM channel number (optional, default: 0).
|
||||||
|
|
||||||
|
#### begin()
|
||||||
|
----------------
|
||||||
|
|
||||||
|
* Initializes the motor driver and sets up the pins.
|
||||||
|
* Sets the PWM frequency to 30kHz and resolution to 8-bit.
|
||||||
|
|
||||||
|
#### setMin() and setMax()
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
* Sets the minimum and maximum speed values for the motor.
|
||||||
|
* Parameters:
|
||||||
|
+ `value`: Minimum/maximum speed value (0-255).
|
||||||
|
|
||||||
|
#### invert()
|
||||||
|
-------------
|
||||||
|
|
||||||
|
* Inverts the direction of the motor.
|
||||||
|
|
||||||
|
#### forward() and backward()
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
* Sets the motor to move forward or backward.
|
||||||
|
* Note: These functions override any previous speed setting.
|
||||||
|
|
||||||
|
#### goMin() and goMax()
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
* Sets the motor to run at minimum or maximum speed.
|
||||||
|
|
||||||
|
#### setSpeed() and setPercentage()
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
|
* Sets the motor speed using a percentage value (0-100) or an absolute speed value (0-255).
|
||||||
|
* Note: These functions are equivalent to `setSpeed()` and override any previous setting.
|
||||||
|
|
||||||
|
#### override()
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
* Manually sets the PWM output value.
|
||||||
|
* Parameters:
|
||||||
|
+ `value`: PWM output value (0-255).
|
||||||
|
|
||||||
|
#### stop()
|
||||||
|
------------
|
||||||
|
|
||||||
|
* Stops the motor by setting the speed to 0.
|
||||||
|
|
||||||
|
#### command()
|
||||||
|
--------------
|
||||||
|
|
||||||
|
* Provides a serial interface for interacting with the motor driver.
|
||||||
|
* Returns the last tried value as an unsigned integer.
|
||||||
|
* Note: This function is not recommended for use in production code.
|
||||||
|
|
||||||
|
Example usage:
|
||||||
|
|
||||||
|
Here's an example Arduino code that utilizes the `L298N_ESP32` library:
|
||||||
|
|
||||||
|
```c
|
||||||
|
#include <L298N_ESP32.h>
|
||||||
|
|
||||||
|
// Create an instance of the L298N motor driver
|
||||||
|
L298N_ESP32 myMotor(2, 3, 4);
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
Serial.begin(9600);
|
||||||
|
myMotor.begin();
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
// Set the motor to move forward at maximum speed
|
||||||
|
myMotor.forward();
|
||||||
|
delay(2000);
|
||||||
|
|
||||||
|
// Set the motor to move backward at maximum speed
|
||||||
|
myMotor.backward();
|
||||||
|
delay(2000);
|
||||||
|
|
||||||
|
// Set the motor to run at minimum speed
|
||||||
|
myMotor.goMin();
|
||||||
|
delay(2000);
|
||||||
|
|
||||||
|
// Set the motor to run at 50% of maximum speed
|
||||||
|
myMotor.setPercentage(50);
|
||||||
|
delay(2000);
|
||||||
|
|
||||||
|
// Manually set the PWM output value to 150
|
||||||
|
myMotor.override(150);
|
||||||
|
delay(2000);
|
||||||
|
|
||||||
|
// Stop the motor
|
||||||
|
myMotor.stop();
|
||||||
|
delay(2000);
|
||||||
|
}
|
||||||
|
```
|
Loading…
x
Reference in New Issue
Block a user