Tuesday, June 20, 2023

Week 15 - Final Report, Slide Presentation & Progress Report Submission

In the final week, our group was assigned to complete the final report for the System Engineering subject after last week's final presentation. There are five chapters to be included in the report. Chapter 1 is the introduction, Chapter 2 is the literature review, Chapter 3 is the methodology, Chapter 4 is the results and discussion, and Chapter 5 is the conclusion. The report should include a cover page, table of contents, references, and appendices. Furthermore, a progress report through a blog was also required. Finally, all the assessments, including the final report, slide presentation, and progress report, were completed and submitted to my lecturer, Sir Zaki Ayob, on Wednesday for evaluation and grading.




Friday, June 16, 2023

Week 14 - Last Troubleshoot and Final Presentation & Demonstration Day

This week, once again, our group went through the troubleshooting process to address the issues we faced the previous week. We carefully examined the code, reviewed the connections, and conducted various tests to identify the source of the problem. After several iterations of troubleshooting, we finally identified the issues. For the battery indicator system issue, it was discovered that there was a minor wiring inconsistency causing intermittent interruptions in the connection between the battery charger module and the battery itself. I promptly replaced the battery charger module with a new one, corrected the wiring, and retested the system. This time, the OLED and LED consistently displayed the correct and stable battery readings during the charging process, providing accurate information to the user.

Regarding the movement system issue, it was found that the motor driver, responsible for providing electrical signals to the DC motor for movement, was faulty. This was identified after comparing the coding and conducting tests on the existing motor driver with a new one. I checked the resistance using a multimeter to confirm the component's damage. I replaced the faulty component with a new one, reestablished the circuit connection, and retested the system. This time, the system operated well in manual mode. While the automatic control could still move the system without obstacles, the sensitivity to detect obstacles while in motion was not satisfactory. It would require some additional time to develop this automatic option further. However, we were satisfied, and the project was ready to be demonstrated on the final presentation day.

On the final presentation day, the overall presentation went well and smoothly. However, during the demonstration session, our group encountered an issue with the Wi-Fi connection to Blynk at the last moment. Blynk did not show an online status despite having a Wi-Fi connection, which prevented us from displaying the voltage and percentage readings and receiving low battery state notifications. To assure the evaluator, we could only present the successful results from the slides to demonstrate that Blynk had been successfully implemented previously. As for the movement system, it couldn't effectively showcase the efficient automatic feature due to its insensitivity to obstacles. Apart from these issues, the project still functioned well as planned. Our group received positive feedback from the lecturer and other groups, and we welcomed their suggestions for improvements and enhancements to the project.




Friday, June 9, 2023

Week 13 - Preparing Slide Presentation & Final Testing of The Project

This week, our group collaborated to prepare for an upcoming final presentation and demonstration. After discussing with my group partner, we decided to reduce the content in the slides, such as the literature review, hardware components, safety features, and testing plan, as these were already covered in the proposal stage. The focus of this presentation is solely on the results of the system testing. Therefore, the content of our presentation slides includes a cover page, introduction, objectives, problem statement, context diagram with functional description, block diagram, flow chart, circuit diagram, V-Model, and conclusion results. We worked on and completed each of these sections throughout the week.

In the same week, as part of the preparation for the demonstration, we conducted the final testing on the project to check for any issues with the outputs. Unfortunately, the readings of the battery voltage and percentage showed unbalanced output during the charging process, resulting in the microcontroller not receiving power from the battery and relying on the 5V supply connected to the microcontroller's USB port to operate. Both automatic and manual control via the remote web server was not functioning correctly for the movement system. We will address these issues in the coming week before the final presentation day.

Friday, June 2, 2023

Week 12 - Integration of Battery Indicator System with Movement System

This week, the mini cleaning robot development process continues with the integrated battery indicator system with the movement system. With the successful implementation of the battery indicator system, I was thrilled to collaborate with my group partner, Qamarul, who had been working on the movement system for the mini-cleaning robot. Both systems were crucial for achieving the ultimate purpose of the robot.

My group partner and I started by coordinating the efforts and ensuring their respective systems' hardware and software components were compatible. We synchronized the microcontrollers, ensuring smooth communication between the battery indicator and movement systems. To integrate the designs, we devised a plan to exchange data between the microcontrollers. I modified the battery indicator system code to transmit the battery status information to my group partner's microcontroller. This information included the current battery voltage and percentage readings. My group partner, on the other hand, incorporated this incoming data into his movement system code. He programmed the microcontroller to monitor the battery status continuously during the robot's operation. If the battery voltage dropped below a certain threshold, the movement system would automatically slow down to conserve power and extend the robot's operating time.

The mini-cleaning robot seamlessly coordinates between battery monitoring and operational efficiency by integrating the battery indicator system with the movement system. This ensured that the robot could continue its cleaning tasks without interruption and without burdening the user with manual intervention.


Friday, May 26, 2023

Week 11 - Progress Presentation & Improvement Discussion

This week, we had a presentation session on Thursday, where each group shared their progress and discussed the issues they encountered during the project. We also discussed with all the groups how to improve the project. Additionally, a design discussion was conducted to consolidate all the systems of the mini-cleaning robot developed by each group. As part of my group, one suggestion from the progress presentation was to increase the battery capacity by connecting it to a power bank.



Friday, May 19, 2023

Week 10 - Troubleshooting The Problem from The Project & Add IoT Features

During this week, the issues encountered with the output of the battery indicator system were carried forward and resolved through a troubleshooting process. The process involved carefully examining the code, reviewing the connections, and conducting various tests to pinpoint the source of the problem. After several iterations of troubleshooting, the issue was finally identified. It turned out that there was a minor wiring inconsistency that was causing intermittent interruptions in the communication between the OLED display and the microcontroller. I swiftly corrected the wiring and retested the system. This time, the OLED show consistently displayed the correct battery readings, providing accurate information to the user. 

Buoyed by the successful resolution of the previous issue, I continue enhancing the mini-cleaning robot by incorporating an IoT feature using Blynk. The addition of Blynk would enable the robot to connect to the internet, provide real-time updates on the battery status, and notify the user when the battery was running low. I installed the Blynk mobile application and created an account to begin the setup process. Next, the Blynk library was added to the Arduino IDE, allowing seamless microcontroller integration. I did a new project by configuring the Blynk app with the library. The project was then linked to the mini-cleaning robot by generating an authentication token, which was used to establish a connection between the microcontroller and the Blynk server.

Once the setup was complete, I began programming the microcontroller to communicate with the Blynk server. This involved defining virtual pins within the code that would be used to send and receive data between the robot and the Blynk app. I implemented a condition within the code to check the battery level regularly to enable the battery notification feature. If the battery voltage fell below a predetermined threshold, the microcontroller would send a signal to the Blynk server, triggering a notification to the user's mobile device. Excited to see the IoT feature, I uploaded the code to the microcontroller and launched the Blynk app. The moment of truth had arrived. As the mini cleaning robot powered on, I monitored the Blynk app, eagerly awaiting updates.

Sure enough, as the battery level dropped to the predefined threshold, a notification promptly appeared on the Blynk app, alerting the user that the battery was running low. The information provided a timely reminder to recharge the robot, ensuring its continued operation and preventing interruptions during cleaning sessions. With the successful integration of Blynk and the implementation of battery notifications, the mini-cleaning robot has evolved into an innovative and user-friendly device. Users could now stay informed about the battery status in real-time and receive timely alerts when the battery needed attention. After going through the system development, The project was ready to make a positive impact, empowering users with reliable information about the battery's status and ensuring the efficient operation of the robot.





Friday, May 12, 2023

Week 9 - Coding Development, Circuit Installation & Testing The Functionality Operation of The Project

This week, I will continue the development of this project by working on the coding for the battery indicator system, as I am responsible for managing this system. With a clear vision in mind, I began working diligently on the code, carefully planning each step of the process. The goal was to create a reliable and accurate battery indicator system to provide real-time updates on the battery's voltage and percentage.

I started by setting up the necessary variables and defining the input and output pins for the battery indicator components. The code must interact with the TP4056 battery charger module, the LiPo rechargeable battery, the I2C OLED display, the LED traffic light module, and the voltage divider circuit. Next, I focused on the logic of the code. The battery voltage was accurately measured and converted into a percentage value using appropriate conditional statements and mathematical calculations. This value would determine the battery level on the OLED display and the LED traffic light module. To ensure the code was robust and user-friendly, I implemented error-handling mechanisms. This allowed the code to handle unexpected situations, such as incorrect readings or communication failures, ensuring the reliable operation of the battery indicator system.

After countless days of coding, debugging, and testing, I succeeded. The battery indicator system flow was fully functional and provided accurate and real-time information about the battery's status. With a sense of accomplishment, I integrated the code into the mini-cleaning robot by making a circuit installation connecting all the components and observing the battery indicator system in action. However, as with any complex project, there were also some challenges. During the testing phase, I encountered an issue where the OLED display intermittently showed incorrect battery readings. The displayed voltage and percentage would fluctuate rapidly or display inaccurate information. Therefore, the troubleshooting process and the addition of IoT features will continue next week using the Blynk IoT platform.



Week 15 - Final Report, Slide Presentation & Progress Report Submission

In the final week, our group was assigned to complete the final report for the System Engineering subject after last week's final presen...