Yordanos Negusu

Good day, I am Yordanos Negusu, a fourth-year Software Engineering student at Addis Ababa Science and Technology University. It is my pleasure to introduce myself as a member of Group 29 for the 2023 Integrated Engineering Team Project (IETP). Within this portfolio site, I will provide ongoing documentation of my contributions to our team's project on a weekly basis. Each status update will outline the tasks I completed during the prior seven days in support of our objectives. Through these regular posts, visitors will gain visibility into my progress and role within the group over time.

Week One  - Meeting

In November 2023, on a Friday, my group and I had our initial meeting with our advisor. He provided us with some important information regarding the project, including attendance requirements. He instructed us to create a portfolio and individually search for project ideas. Our advisor suggested that we have a team meeting without him to discuss and choose our top three ideas. We were then scheduled to meet with him again on Wednesday to present our chosen ideas.

Week Two - Idea sharing

On November 7, 2023, our group gathered for a meeting on Wednesday to share and discuss our ideas. I presented: a smart waste management system . Additionally, each group member contributed their own ideas. Following careful consideration and extensive discussion, we reached a collective decision to shortlist the top three ideas for further evaluation and exploration. The chosen top three ideas were a automated irrigation system,  smart lock and a micro turbine.

Today, on Wednesday, we had our scheduled meeting with our advisor. During the meeting, we discussed the ideas that each student brought to the table. We explained the top three ideas and provided our reasoning for selecting them as the top choices. After a thorough discussion, we narrowed down our options to two interesting ideas: the automated irrigation system and the IoT-based security system and waste management system.

Our advisor gave us the freedom to choose between these two ideas. Following the meeting, our team members engaged in further discussions to assess the potential of each idea. And we reached a decision to pursue the development of an automated irrigation system as our primary project focus.

I have attached my project idea submission form below:

team project form

Week Three - Researches

This week, since we all agreed on the automated irrigation system as our integrated engineering project topic, I:

Resources:



Week Four- some technical tasks

Initial Meeting

Roles and Responsibilities

Technical Work

Functional Requirements:

Non-Functional Requirements:



Here are also some YouTube videos I have been looking at over the past 2 days to get a clearer and more insightful understanding of the project. The software demonstrated may not be exactly the same as what our project entails, as there might be some differences, but to get introduced to the concepts they are good resources.

References


Simple Gantt Chart

Week Five - Poster Design

As my initial experience making a Gantt chart, it took some trial and error to understand the proper formatting.

However, with research I was able to clearly lay out our project plan and timeline visually.

Providing a critical eye helped strengthen the proposal by trimming unnecessary content and adding important details.

The proposal is now tighter and more focused as a result of the revisions.

Week Six - Poster Design

Exploring Tinkercad, Project Poster Design, and Simulation:

Recently, I signed up on Tinkercad.com, an online platform that enables users to transform their ideas into designs quickly. By immersing myself in its features, I aimed to familiarize myself with the platform's capabilities and explore its potential for our project.

During this period, I also decided to try my hand at creating a project poster. Recognizing the importance of visually representing our project's key aspects, I took the initiative and started working on the project poster two days ago.

I understand that while the project poster is a crucial component, it may not necessarily be a priority at this early stage. There may be other tasks that need to be addressed first. However, considering the uncertainty of future time availability and the fact that we don't need to wait for materials to begin working on the poster, I believe it is beneficial to allocate time to tasks that can be accomplished regardless of material availability.Since these are just first trials, I understand that there is room for improvement. As we progress and gather feedback, we can refine and enhance the project poster to better communicate our project's essence. I am open to suggestions and excited to collaborate with the team to create a more polished and impactful representation of our project.

This journey of exploring Tinkercad, project poster design, and simulation has been a valuable learning experience. It has allowed me to develop my skills in presenting information and reinforced my commitment to delivering a comprehensive project.

Looking ahead, my plan for the upcoming week is to finish the simulation. This will involve exploring various simulation techniques to visualize the functionality of our project. Additionally, I aim to start working on the user interface of the system, recognizing its significance in creating an intuitive and user-friendly experience for our end-users.

Circuit design Powerful Crift _ Tinkercad - Personal - 1st simulation.mp4

The code below to further explanation:

// C++ code

#include <Adafruit_LiquidCrystal.h>

int M = 0;

float MP = 0;

Adafruit_LiquidCrystal lcd_2(0);

void setup()

{

  lcd_2.begin(16, 2);

  pinMode(A0, INPUT);

  Serial.begin(9600);

}

void loop()

{

  lcd_2.display();

  M = analogRead(A0);

  MP = ((M / 539.00) * 100);

  Serial.println(MP);

  if (MP < 20) {

    lcd_2.print("TIME TO WATER ");

    lcd_2.setCursor(0, 1);

    lcd_2.print("THE PLANT  :7             ");

    lcd_2.clear();

  } else if(MP < 40 && MP > 20){

    lcd_2.print("Keep the ");

    lcd_2.setCursor(0, 1);

    lcd_2.print("water ready ! :)           ");

    lcd_2.clear();

  } else if(MP < 70 && MP > 40){

    lcd_2.print("Everything's ");

    lcd_2.setCursor(0, 1);

    lcd_2.print("going good.  :]           ");

    lcd_2.clear(); 

  } else if(MP <= 100 && MP > 70){

    lcd_2.print("What a nice ");

    lcd_2.setCursor(0, 1);

    lcd_2.print("day, it is!  :->           ");

    lcd_2.clear(); 

  }

  delay(100); // Delay a little bit to improve simulation performance

}

Week Seven - Updated poster design & some trials on the simulation

This week I continued working on my project poster and simulation. On Monday, after making 1-2 additional posters to refine the design, I began exploring the simulation software to better understand how it works.  By the way I have changed the website I used to make posters - I am now using Canva, which I personally think is much better. The link to the Canvas website is below.

At first, the simulation was quite confusing as the tools and materials weren't clearly labeled or organized in an intuitive way. As a first-time user, it took some time to figure out where different components were located. I also found it challenging to find the right materials to build parts of the simulation since the naming wasn't always obvious.

To help learn the software better, I spent time on Tuesday and Wednesday reviewing example projects and simulations that others have created within the tools. Browsing the "Projects" section gave me a better sense of what is possible and how components connect together. I found this really helpful for seeing how simulations are constructed.

By Thursday, things started to make more sense as I played around building simple test simulations. However, there is still a learning curve to fully utilizing all the capabilities. I plan to continue practicing with the tools and may ask my teammates for tips if I get stuck on anything complex.

Here by the end of this week I tried to build this simple simulation with an Arduino, soil moisture sensor and LCD display and also connecting wires. It doesn't fully represent our full project design though, as it is just meant to demonstrate the basic idea of how an Arduino, LCD display and moisture sensor can work together to sense and display soil moisture readings. The tools used were:

Name      Quantity    Component

U1                1                Arduino Uno R3

SEN1           1               Soil Moisture Sensor

U2                 1                MCP23008-based, 32 LCD 16 x 2 (I2C)

By this device, when texts are displayed like "time to water the plant", "keep the water ready", "everything is going good..." based on the moisture level it senses using soil moisture level. 

Code Explanation

***  

I have included a screen recorded video demonstration of the simulation in this weekly update. Please view the video embedded on the left side of this page to see the simulation in action.

Canva Free 

www.tinkercad.com

Week Eight - Implementation of remote control (not practical yet)

This week, I dedicated my time to learning about the implementation of remote control for a smart irrigation system with a user interface using Arduino IoT Cloud. Although I didn't have the opportunity to apply the knowledge practically, I gained valuable insights into the capabilities of Arduino IoT Cloud for irrigation systems.

Key Learnings:

Application and Reflection:

Although I didn't have hands-on experience implementing remote control for a smart irrigation system using Arduino IoT Cloud, the knowledge I gained has sparked my interest in exploring practical applications in the future. By reading documentation and tutorials, I developed a solid theoretical foundation to build upon.

I realized that while reading about IoT concepts and platforms is valuable, applying the knowledge in practical projects is crucial to fully grasp the intricacies and challenges involved. I plan to allocate time in the coming weeks to work on a practical project using Arduino IoT Cloud for a smart irrigation system.

Arduino Cloud | Arduino Documentation 

https://docs.arduino.cc/tutorials/edge-control/smart-irrigation-system

Week Nine - Arduino Iot Cloud

This week, Nebiyou and I worked collaboratively on development of the automated irrigation system interface and prototype. As a software engineering student on our project team, my contributions included:

Here are some screenshots we took:



Week Ten

The team finalized materials needed for our control prototype build. I participated fully in discussions and approved cost estimates before transferring funds.

Upon receiving parts, we began connecting hardware while testing initial code. We wrote Arduino sketches to interface with and read soil moisture sensors. I also set up our proof of concept IoT system on the cloud platform.

Challenges

The network connection was slow, posing difficulties. Connecting diverse devices presented compatibility challenges requiring repeated redesign. Specifically, connecting the soil sensor involved pin fitting issues.

The board was not displaying the soil moisture level - it was only showing temperature and humidity values. Even after repeated trials and staying up the whole night troubleshooting, there were still some things remaining to solve like getting the board to read the soil sensor properly.

Moving forward, we plan to revisit the challenges with the soil sensor readings and board functionality. The soil reading code will need refinement, and the prototypes must be tested fully to validate lessons learned during integration.

Week Eleven

This week our team made significant progress in completing our automated irrigation system prototype. As the software engineering department, my colleague Neba and I focused on developing the key software components.

We finished building the mobile app that will allow users to remotely control and monitor the irrigation system. The app is connected to the Arduino IoT cloud database where it retrieves sensor data uploaded from the NodeMCU board. We tested the app functionality extensively and it is working as intended.

On the hardware side, I integrated our NodeMCU code with the soil moisture and temperature sensors. The NodeMCU is successfully receiving sensor readings and uploading this real-time data to the cloud. This demonstrates the end-to-end IoT connectivity of our system.

Another task I completed this week was designing the project poster. I aimed to clearly explain the key features and functionality of our automated irrigation system in a visually engaging layout. I posted the poster in our group Telegram channel and received positive feedback from my teammates. However, if they have any suggestions for improvement, I am open to receiving feedback and modifying the design. At the bottom of this week's task description, I have included a link to the PDF file of the poster so others can view the design as well. I believe effective visual communication is important, so I want to ensure the poster clearly conveys the goals and workings of our system to various audiences.

Overall, I'm pleased with the software development progress we made as a team this week. By Friday evening, all of our prototypes and code were finished except for some minor mechanical tasks. We are prepared to demonstrate our fully functioning system to our advisor on Monday for feedback before the official presentation on Wednesday. I believe if we continue working collaboratively, we will impress the evaluators with the quality of our work. It was a productive week and I'm looking forward to seeing the finished product.

Smart Irrigation University Research Poster.pdf