WEEK 11



Title of activity

  • 2nd briefing (F.Y.P) at (T.T.L 2).
  • Do it research about the water level sensor.
  • Plan how to design the output project.




Objective


    In this week, my partners and i go to the briefing which held at the (T.T.L 1) around 4.00 pm until 5.00 pm. At the briefing, the briefing which be conducted by fyp coordinator was explain and tell what we gonna to do around week 14 until week 17. Its also tells about our project (f.y.p) can be claim by money which maximum RM 300 per student which the claim form must be submitted to advisory with the project and the term and condition which are already set up. At the same time, we must open the RPS Unikl Bmi to tske the FYP Assessment Schemes, FYP Project Submission and others. We also can check our assessors at engineering day around week 14. In addition, we also meet our supervisor to discuss and ask him about our project is functioning or not. We also present to him our new simple circuit that we create to solve the problem which our main circuit have a problem. When the project already troubleshoot the problem, we can focus what we must to do around week 14. In this week, we also do the research about the water level sensor that we want to use it in our project, at the same time we have to think how to do the output design.















WEEK 10








Title of activity

Design Hardware


Aquarium


Regular aquarium before been designed
Mini MAT REMPIT inside the aquarium  !!
First pet for our project experiment!!HAHAHA


Drill the aquarium with Hole Saw for pipe fitting




Water Level Sensor Design

Tools been used


Rod been cutting to make water level sensor

Rod been tied to a holder

Screw the Rod and Holder together

Place the Rod inside aquarium for Water Level Sensor







Turbidity Sensor 



As mention in week 3, Turbidity sensor works by placing water in between LED and LDR.

How it works?
LDR changes it resistor with presence of light. By connecting LDR to analog input of arduino the measure change can be determine. Source HERE.

Now we know how Turbidity Sensor works the only problem is where to design the sensor. There are many possible way to design the sensor include:
  • By placing the LDR and LED beside the aquarium tank
  • By placing a mirror that can reflect the LED direct to the LDR
Reflected LED by a mirror in the aquarium
  • pull out the water by a tube and place it between LDR and LED
  • place the LED in the water and LDR be placed beside the aquarium

Lastly we decide to pull the water out by a tube and place it between the LDR and LED.


Cosntruct LDR to Arduino



Turbidty Sensor been designed

WEEK 9

Title of activity

Design PCB circuit for output( Solenoid and Water Pump)

Objective

  • After the circuit been tested on simulation, we start progress with PCB.
  • Before we go to etching process, firstly we construct the circuit in the Diptrace software, after that print the circuit that have done on the transparent paper.
  • After produced the circuit on DipTrace, my partner and i  do etching. So we go to PCB Laboratory Workshop, UNIKL BMI to do it at 1st floor.
  • After that, soldering component on PCB.
  • Learn how to etching using all the chemical.
  • To try our best to make a clean and tidy PCB board.
  • Learn how to Drilling PCB and soldering the component on PCB.



Etching Proces


First step : Scan the circuit that print on the transparent paper,then put the UV board on   
it,after that scan it in the UV board scanner.


PCB before been printed and transparent paper with circuit printing





Print the Circuit from Transparent Paper to the PCB by UV




  • Second step : Start etching Process






  • The result of the process

Printed Circuit from DipTrace to transparent paper and to the PCB



Drilling Proces


For the process of drilling at the UV board,  we have to drill the hole at UV board, its have different drill bit which have small,normal and large. But in my (F.Y.P) UV board, we just use a small drill bit. The process we doing maybe not take a long time to make it.

The equipment that we used to doing the process are drill machine,and drill bit and spreader.




There is a box equipment that we used to do this process which are "super mini drill 1PK-500".


Inside the box, the component we used are drill machine (which used battery and can be rechargeable), drill bit and charger.

Make sure the drill is straight to make precise hole


And Finally, The produced PCB Relay Circuit For Solenoid and Water Pump.

Soldering Component

Component Place on PCB



WEEK 8


Title of activity

Circuit Simulation on ISIS Proteus based on Arduino MicroController

Objective


  • Test Arduino Coding on Proteus
  • Integrate Software and Hardware by Simulation 

Introduction 

First of all, there's a slight change when conducted simulation compare to the real project. It is due to the sensor part. In real project the sensor will detect water, but in simulation there is no water. So,the sensor would be change to Potentiometer where if the voltage is high the motor will run and likewise. But the main objective is to test the coding and integrate it with the hardware. The hardware part is still using relay circuit like in the project, the only difference is the type of motor.

First, Construct the relay circuit, arduino and the sensor part(potentiometer) on ISIS Proteus.
Constructed Circuit on ISIS Proteus
 
From this circuit there is 3 part:
  1. Arduino in the centre as Mictocontroller Unit
  2. Sensor Part (Potentiometer) below Arduino
  3. Relay Circuit (TWO motor for OUTLET and INLET)
The sensor part been connected to analog input of Arduino Pin A1 and A2 and the output part; OUTLET connect to Pin 13 and INLET connect to Pin12.



Next, after construct the circuit we can start design the coding on Arduino software.

coding in snippet below,



int sensorLOW = A1;    //
int sensorHIGH = A2;
int LowValue, HighValue;
int OUTLET = 13;      // select the pin for
int INLET = 12;  // variable to store the value coming from the sensor
int x=1;
int y=1;

void setup() {
  // declare the ledPin as an OUTPUT:
  pinMode(OUTLET, OUTPUT);
  pinMode(INLET, OUTPUT); 
}

void loop() {
  
  while(x!=0){
    // read the value from the sensor:
    LowValue = analogRead(sensorLOW);
     
    // turn the ledPin on
    if (LowValue<500){
      digitalWrite(OUTLET, LOW);
      delay(1000);
      x=0;
    }
     
    else{
      digitalWrite(OUTLET, HIGH);
      delay(1000);
    }    
  }
 
  while(y!=0){
    // read the value from the sensor:
    HighValue = analogRead(sensorHIGH); 
    // turn the ledPin on
    if (HighValue>500){
      digitalWrite(INLET, LOW);
      delay(1000);
      x=0;
    }
   
    else{
      digitalWrite(INLET, HIGH); } 
      delay(1000); 
    }
}



So how the coding Works?

First, Arduino will check the potentiometer at LowLevel......IF the voltage level below than half the OUTLET motor will stop, else the OUTLET motor will running.

Then, After the OUTLET motor stop.....Arduino will check the potentiometer at HighLevel...... 
IF the voltage level above than half the INLET motor will stop
else the INLET motor will continue running.


After compile the coding the HEX file can be found in here,

Compiled coding on Arduino




Get the HEX file

After uploading the HEX file to Proteus, before start the simulation notice that the motor in stop condition (see above picture) because the relay circuit is OPEN

When START the simulation, the OUTLET motor is running because LowLevel voltage is above than half

Outlet motor START

the OUTLET motor is stop because LowLevel voltage is below than half

OUTLET motor STOP


After that, the INLET motor start running because the HighLevel voltage is below than half

INLET motor Start

the INLET motor will stop when HighLevel voltage is above than half

INLET motor Stop


 Conclusion

From the simulation above there are things that can be verified
  1. Relay Circuit is working
  2. Hardware and Software can be integrated
  3. Although the simulation are not exactly as the project, but the concept is still the same. The sensor are detect analog voltage, maybe in real project the value are not stable, therefore the only thing need to adjust is in the software part (coding).
Finally, the simulation is succeed and proved that software and hardware for this project can be integrated.

Next we will start on design PCB for our project...

WEEK 7



Title of activity

  • Make the research about the Arduino software because our project are use Arduino programming.
  • Research on ISIS Proteus for simulation

Objective


  • To identified the suitable Arduino coding for our project.
  • To try an error of the coding.
  • Integrate Software and Hardware on ISIS Proteus Simulation



Arduino

As mention earlier in the previous week there has a control unit that connect the input part and output part. This project is based on Arduino as the control unit. This week activity is get to know about Arduino. What is the main characteristic of the micro controller. What type of input to use ADC and more.


Analog Input

The real world is not digital. Considering temperature fluctuation as an example, it changes within some range of values and generally does not make abrupt changes over time. We often measure environmental parameters like temperature, light intensity, or whatever using analog sensors. These resulting signals are stored as sequential digital data.

Analog Signals

An example would be to measure and record room temperature every minute. One could watch a thermometer and write down the readings. The sequence of data would look like (in Celsius): 20.3, 20, 20.5, 21, 20.8 ...
We face a number of issues here. First of all Arduino cannot understand temperature as such, it needs to be translated into an electrical value. Second that electrical value has to be translated into a number that can be processed within Arduino.
As said, microprocessors cannot handle temperature values as humans do. We need to translate that to something the microchip can read. In order to do so, we can use sensors that will transform, in this case, temperature into a voltage value between 0 and 5 volts. This values are different from the HIGH and LOW that characterize digital signals, because they can take any value between 0 and 5 volts. 0.3 volts, 3.27 volts, 4.99 volts are possible values.
This is what we call an analog signal. It differs from the digital ones in being able of taking many more than just two values. The amount of possibilities depends only in the capabilities of the processor/micro-controller you are working with in each case. As we will see later, Arduino can only distinguish 1024 different levels between 0 and 5 volts.

Bringing Analog Signals into Arduino

Each sensor can translate a range of physical world values into electrical values. Let's imagine that our temperature sensor reads between 0C and 100C. Typically it should then assign 0 volts to 0C and 5 volts to 100C. Thanks to this we can easily translate levels of voltage into temperature and vice-versa.
The next issue has to do with the finite resolution of digital technology. Arduino has the possibility of reading values from the real world, which have been translated into electrical values between 0 and 5 volts. Try now to answer this question for a second: how many voltage values are there between 0 and 5 volts? The answer is simple: endless. Imagine two voltage values in the range we are working with, that are as close as possible, e.g. 3.4 and 3.41 volts. It is possible to have endless values in between those two: 3.401, 3.403, 3.402539 ...
This means that we would need a processor with the ability to represent endless numbers, but Arduino cannot. Therefore, we speak about different levels. In particular Arduino divides the range of 0 to 5 volts into 1024 different voltage levels or intervals. 0 volts is in the interval 0, and 5 volts in the interval 1023. In this way, 2.5 volts would be in the interval 511 as well as 2.52 volts or 2.5103.

This operation of translating an analog voltage value into different levels is what we call Analog to Digital Conversion. One small hardware part inside the microprocessor that comes with the Arduino I/O board is dedicated to translate analog voltages into these values, it is the Analog to Digital Converter also called ADC. 


Source is
HERE

 
ISIS Proteus


Alhamdulillah we found some info on youtube that Arduino can be integrated with ISIS Proteus. Simply just download the library as below:


Arduino Library        - This link will make instruction on how to get arduino inside ISIS Proteus
Youtube Video Link  - This link will show how to get HEX code from arduino and upload to Proteus



 So, Next week we will start on simulation about the project.