From 3eef8c019d6f01c6ec3017b22f73b5499466e1c6 Mon Sep 17 00:00:00 2001 From: fatimaxsen Date: Sun, 4 May 2025 09:49:20 +0300 Subject: [PATCH] Modifying --- README.md | 62 +++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 49 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 311afc6..885b57d 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,50 @@ # I2C Communication Library -This library provides functionalities for I2C communication, specifically designed for controlling devices that support the I2C protocol. It includes utilities for scanning I2C buses, changing slave addresses, and handling commands. +**I2CRelay** is an 8-relay module built around the ESP32-C3 Super Mini, featuring an I2C interface that allows it to be controlled by another MCU, enabling easy integration into complex control systems. Additionally, when paired with an ESP32-C3-based controller, it can leverage Wi-Fi and Bluetooth LE connectivity, expanding control options beyond wired I2C communication for wireless operation and enhanced flexibility in IoT and robotics applications. This combination of compact size, low power consumption, and versatile communication protocols makes the module indispensable for remote and automated control of multiple devices, offering scalable and reliable switching solutions for smart homes, industrial automation, and advanced robotics. + ## Table of Contents -1. [Overview](#overview) -2. [Files](#files) -3. [Class: I2CMasterUtils](#class-i2cmastertools) -4. [Class: I2CRelay](#class-i2crelay) -5. [Usage Example](#usage-example) +1. [Technical Drawings](#technical_drawings) +2. [Features](#Features) +3. [Hardware Components Used](#hardware_components_used) +4. [Installation](#installation) +5. [Versatility](#versatility) +6. [Usage](#usage) +7. [API Overview](#api-overview) +8. [Example Serial Commands](#example-serial-commands) +9. [Notes](#notes) +10. [Credits](#credits) +11. [License](#license) +12. [Project Image](#project-image) + +--- + +### Technical Drawings + +--- + +### Features + +..... + +--- + +### Hardware Components Used + +- 8 Relay Module. +- Esp32C3 Super Mini. +- Flywheel. + +--- + +### Installation + + + + -## Overview -The library provides functionalities for I2C communication, specifically designed for controlling devices that support the I2C protocol. It includes utilities for scanning I2C buses, changing slave addresses, and handling commands. ## Files @@ -30,9 +62,15 @@ The library is composed of several files, each with a specific role: 4. **I2CRelay.cpp** [4] - Contains the implementation of methods for the `I2CRelay` class. -## Class: I2CMasterUtils +--- -### Static Methods +### Versatility + +The I2CMotor offers exceptional versatility, as it can function as a standalone device and can be adapted to be USB-controlled instead of relying solely on I2C communication. This flexibility allows users to easily integrate the motor into a wide range of projects and control environments. Furthermore, the motor’s firmware can be reprogrammed to support Wi-Fi and Bluetooth connectivity, enabling wireless control and making it ideal for modern applications in robotics, automation, and IoT. This adaptability ensures that the I2CMotor can meet diverse requirements and evolve with your project’s needs. + +--- + +### API Overview - **scanI2C(Stream &output = Serial)** - Scans the I2C bus for connected devices and prints their addresses. @@ -43,9 +81,7 @@ The library is composed of several files, each with a specific role: - **parseChangeAddressCommand(const String &input, uint8_t &oldAddr, uint8_t &newAddr)** - Parses an input string to extract the old and new slave addresses from a "ch" command. -## Class: I2CRelay - -### Methods +#### Methods - **I2CRelay(uint8_t slaveAddress)** - Constructor that initializes the `I2CRelay` object with the given slave address.