Team__206.github.io

Block Diagram

Alt Text

“Figure 15: Block Diagram”

The block diagram depicted comprises four distinct subsystems: a PIC microcontroller, a temperature sensor, a motor driver responsible for motor control, and a switching regulator circuit powered by a pushbutton, providing a regulated 3.3-volt output voltage to the microcontroller. The temperature sensor interfaces with the microcontroller via three GPIO pins, facilitating communication through the I2C interface. Similarly, the motor driver connects to four microcontroller pins, enabling communication through the SPI interface. Additionally, two pins from the motor driver link to the 9V DC motor. This comprehensive diagram illustrates the interconnected components and their respective communication protocols, offering a clear overview of the system architecture.

Our block diagram effectively fulfills the product requirements by incorporating the necessary subsystems and communication interfaces essential for the concurrent operation of our system components. Each subsystem, including the PIC microcontroller, temperature sensor, motor driver, and switching regulator circuit, is seamlessly integrated, ensuring the fulfillment of our system’s functionalities. By employing the appropriate communication interfaces, such as I2C for the temperature sensor and SPI for the motor driver, our design enables synchronized operation, allowing all subsystems to function simultaneously and meet the desired performance objectives.

The ESP32, a versatile microcontroller, is proficient in handling MQTT (Message Queuing Telemetry Transport) protocols, facilitating efficient communication with IoT devices and cloud services. The ESP32 microcontroller is connected to all the sensors and actuators of our system via UART. It is connected to the MQTT server through a Wi-Fi network to enable internet connectivity. This shall then be used as a means to transmit and receive data back and forth from the microcontroller to the MQTT server. The ESP32 processes the incoming messages, extracting the data and performing certain actions and can then publish messages back to the MQTT server to provide status updates. Additionally, incorporating a debugger allows for advanced debugging capabilities, empowering developers to identify and resolve issues efficiently during the software development process.