Social Icons

Featured Posts

Sunday, 28 April 2013

FYP 2 Week 14

This week is the presentation day. My assessors were Dr. Haji Zainudin Kornain and Mdm. Izanoordina Bte. Ahmad. I was calm at first but getting more nervous because the assessors were arriving late. I think I did good in the presentation even though I can't answer a few questions from Dr. Haji Zainudin. I managed to speak in English even though the assessors were talking in Bahasa Malaysia. Although I didn't get the top 20 FYP, I still feel relief because the long awaited day had come and passed and I did my best and I accept whatever outcome that I deserve. For now, I have to actually finish the report for the FYP. Alhamdulillah, a weight has been lifted off my shoulder.

Friday, 19 April 2013

FYP 2 Week 13

This week, I still trying to learn how to do Fritzing but I still don't have enough time to absorb it all. In the end I accepted that my circuit doesn't work on PCB board and I have to present my project on breadboard. At least my project does work. Moving on, this week I managed to print out the poster for my presentation day next week.






Sunday, 14 April 2013

FYP 2 Week 12

This week I still continue my etching work. Since I lack experience in etching, it's difficult for me to do it. I have to do my etching twice to make sure the PCB board has my circuit layout from Fritzing clearly. My mistake was I didn't choose the thick wiring for the layout on Fritzing. I only chose the standard wiring, so when I tried to soak the PCB board with acid, the wiring line became too thin and vanished. So I have to redo the etching process again. This time I managed to etch properly.


In the end the circuit constructed on PCB doesn't function because I made some mistakes on the Fritzing layout. I had to present my project on breadboard because I don't have enough time to do the layout on Fritzing again (I still lack the understanding to do the Fritzing). But I still feel relief because my circuit still works as I expected to.



Saturday, 6 April 2013

FYP 2 Week 11

Since I managed to make the circuit work on breadboard, I attempted to construct the circuit on the PCB board using the etching method. First I used the easy-to-use etching software, Fritzing. It is easy to understand for beginners who have never done etching and it is also a free software.

After attempting to do the schematic but still failed to do the wiring, my friend helped me to do this. Here is the result:




Sunday, 31 March 2013

FYP 2 Week 10

This week I still test the circuit on breadboard to achieve a much better results. For my project, it has 3 states. The first state is when the fan is not moving if the temperature sensor sense the temperature is below or equal 24°CThe second state is when the temperature is above 24°C, the fan then will move at the normal speed. The third state is when the temperature is above 37°C. If this occurred,  the fan will move at its maximum speed.

Here is the results from the serial monitor that you can see from the Arduino 1.0.3 software:
Fan started with the normal speed when it doesn't reach the certain temperature.

When the temperature sensor detected the temperature has risen to a certain degree, the fan will increase its speed to maximum.

If the temperature dropped from that certain degree, then the fan will return to its normal speed.




Below is videos of the results of this project on breadboard:
This is video for the first state to the second state (fan turn off -> fan turn on at normal speed)


And this is video for the second state to the third state (fan turn on at normal speed -> fan at maximum speed)

Sunday, 24 March 2013

FYP 2 Week 9

Alhamdulillah, now I finally found the code that works for my circuit. It works beautifully as I have expected. Here is the code:

#include <LiquidCrystal.h>

int pin = 0;                // analog pin
int tempc = 0,tempf=0;      // temperature variables
int samples[8];             // variables to make a better precision
int maxi = -100,mini = 100; // to start max/min temperature
int i;
int TIP122pin = 9;
int fanspeed = 0;
int fanStemp = 0;

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Customize for your connections.

void setup()
{
  Serial.begin(9600);       // start serial communication
  lcd.begin(16,2);          // set up the LCD's number of columns and rows
  pinMode(TIP122pin, OUTPUT); // Set pin for output to control TIP122 Base pin
  analogWrite(TIP122pin, 255); // control the fan speed by changing values from 0 to 255
  delay(200);
}

void loop()
{
  
tempc = 0;

for(i = 0;i<=7;i++){         // gets 8 samples of temperature
  samples[i] = ( 5.0 * analogRead(pin) * 100.0 ) / 1024.0;
  tempc = tempc + samples[i];
  delay(1000);
}


tempc = tempc/8;               // better precision
tempf = (tempc * 9)/ 5 + 32;     // converts to fahrenheit
if(tempc > maxi) {maxi = tempc;} // set max temperature
if(tempc < mini) {mini = tempc;} // set min temperature

 if ( tempc > 24 && tempc < 37 ) {
    fanStemp = tempc + 50;
    fanspeed = fanStemp + 100;
    analogWrite(9,fanspeed);
    Serial.print("Fan started at temp+50+100 speed\n");
    Serial.print(fanspeed,DEC);
    Serial.print("\n");
    delay(100);
  }
    else if ( tempc <= 24 ) {
    fanspeed = 0;
    analogWrite(9,fanspeed);
    Serial.print("Fan off\n");
    delay(100);
   }
   else{
     analogWrite(9,255);
     Serial.print("Fan started at full speed\n");
     delay(100);
   }
   
Serial.print(tempc,DEC); // serial print for debugging all serial.print commands
Serial.print(" Celsius, ");
Serial.print(tempf,DEC);
Serial.print(" fahrenheit -> ");
Serial.print(maxi,DEC);
Serial.print(" Max, ");
Serial.print(mini,DEC);
Serial.println(" Min");

lcd.setCursor(0, 0);  // set the cursor to (0,0)
lcd.print(tempc,DEC);  // print temp in C and F on the first row of the lcd
lcd.print(" C, ");
lcd.print(tempf,DEC);
lcd.print(" F");

lcd.setCursor(0, 1);  // set the cursor to (16,1)
lcd.print(maxi,DEC);   // Print max temp and min temp on the second row of lcd
lcd.print("  Max, ");
lcd.print(mini,DEC);
lcd.println(" Min.");

delay(1000);                   // delay before loop
}

These are the pictures of the constructed circuit on the breadboard:
The circuit before being plugged with power supply.

The circuit with the power supply, you can see the fan is moving and the LCD display is showing the temperature.









Sunday, 17 March 2013

FYP 2 Week 8

I still cannot come up with the code that works for my project. I try to combine the circuits and the coding but the results always not as what I expected. Because of this, I done some researching of the limitation of this project.

This project, if modified to be a cooling system for human can only work effectively in a small room. This is because the temperature in one room could change easily and the heat sensor could not pick up the sudden change of temperature thus making the fan speed remain the same. The temperature change and the area of the room is the factors here in making the automatic temperature controlled fan speed working effectively. It is also work best for cooling the electrical equipment or machines since it has a more efficient power consumption compared to air conditioner.