Friday, 9 November 2012

FYP SEM 2 (WEEK 14)

this is the last week of study week.. and also this is the presentation week.. alhamdullillah.. the presentation had done yesterday.. my project was fully function without any interruption  the presentation held at the level 2, admin building..  My assessor are Mr Mohd Razif Abd Razak and Miss Nor Khairiah bt Ibrahim. Both of them are from communication section. Before the final presentation, there are many things that i have need to do for fyp..

Week 14 schedule:

- focused more to complete the project
- still try to combine the configuration
-change the plan, which did not used the lcd display
- and also the program of GPS and data logger was split without the combination
- make a GPS measurament, got the last result for the project
- present the project

for the final project, i have change the plan that i do not used the lcd display and do no combine the configuration. to get the tracking maps, the data configuration can be used. The disadvantage not combining these two configuration is, the project is not applicable and need to do one by one. Last configuration only used the GPS and data logger program.


Last result - example of tracking route


Final Project


FYP Poster



The final year project presentation had done. Special thanks to my project's supervisor, Sir Saiful Yusri b. Mohd Yassin  because gave me many advises and supervision to complete this project and got the final result. ~ ^^

Friday, 2 November 2012

FYP SEM 2 (WEEK 12 & 13)

the final project presentation around the corner.. owh.. so nervous.. still tend to complete the project and get the final result of the project.. there were so many things to do on this week..

Week 12 & 13 fyp schedule:

- focused more to complete the project
- try to find the lcd program configuration
- obtain to get a final result of the project which is the tracking route of the GPS movement
- Still tring to combine the GPS and data logger configuration
- Prepare FYP report
- Prepare FYP poster


method:
- do the configuration
- study for final presentation
- do the final report
- do the FYP poster

example of LCD display configuration;


/* YourDuino.com Example Software Sketch
 LCD Display Blue/Yellow: I2C/TWI Interface
 terry@yourduino.com */

/*-----( Import needed libraries )-----*/
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
/*-----( Declare Constants )-----*/
/*-----( Declare objects )-----*/
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27
/*-----( Declare Variables )-----*/


void setup()   /*----( SETUP: RUNS ONCE )----*/
{
  Serial.begin(9600);
  lcd.init(); // initialize the lcd
  lcd.backlight();
  // Print a message to the LCD.
  lcd.setCursor(0, 0);
  lcd.print("2-Line DISPLAY");
  delay(1500);
  lcd.setCursor(0, 1);
  lcd.print("YourDuino: HI!");  
}/*--(end setup )---*/


void loop()   /*----( LOOP: RUNS CONSTANTLY )----*/
{
  {
    // when characters arrive over the serial port...
    if (Serial.available()) {
      // wait a bit for the entire message to arrive
      delay(100);
      // clear the screen
      lcd.clear();
      // read all the available characters
      while (Serial.available() > 0) {
        // display each character to the LCD
        lcd.write(Serial.read());
      }
    }
  }

}/* --(end main loop )-- */

/*-----( Declare User-written Functions )-----*/


/* ( THE END ) */


Data for GPS at serial monitor



GPS data stored in SD card



reference:

- project supervisor
- Arduino forum

Thursday, 25 October 2012

FYP SEM 2 (WEEK 10 & 11)

Week 10 & 11 schedule:

- study detail about the project
- search the solution, how to combine the program of GPS and data logger
- the combination still have an error
- buy the new micro SD card ( to stored a GPS data)

purpose :

 to get  a final result of the project


method:
- do the configuration of combining the GPS and data logger program.

Error occurs when combining the GPS and data logger configuration

reference:
-project's supervisor
- Arduino forum

Thursday, 11 October 2012

FYP SEM 2 ( WEEK 9)

Week 9 schedule;
- meet my supervisor to show the progress of the project
- get the GPS data and data logger in a proptiary senteces
- try to used lcd display (to display the latitude and longitude)

purpose:

-to get  a final result of the project

method:

- do the configuration of GPS data logger
- try to find the I2C (lcd display capable with Arduino) configuration for display latitude and longitude of the point.

the sample configuration of GPS data logger:

#include <SD.h>

const int chipSelect = 10;

void setup()

{
  
Serial.begin(9600);
  

 pinMode(10, OUTPUT);
  
if (!SD.begin(chipSelect)) {
   
   
 return;

 }


}


void loop()

{
  
// make a string for assembling the data to log:

 char index = 0;
  
char temp = 0;
  
String dataString = "";

 // open the file. note that only one file can be open at a time,

 // so you have to close this one before opening another.

 /*
    
while(Serial.available())
   
 {
    
  File dataFile = SD.open("datalog.txt", FILE_WRITE);
     
 if(dataFile)
     
 {
        
temp = Serial.read();
        
dataString += String(temp);
        
dataFile.print(dataString);
        
dataString = "";
        
dataFile.close();
    
  }
  
  }
  
*/ 

File dataFile = SD.open("datalog.txt", FILE_WRITE);

 if(dataFile)

{
   
while(Serial.available())
  
 {
   
  temp = Serial.read();

    dataString += String(temp);
   
  index++;
    
 if(index>200)
  
     break;

   }
  
 dataFile.print(dataString);
  
 dataFile.close();

 }





reference:
- Arduino forum
- Books
- Arduino expertise


Thursday, 4 October 2012

FYP SEM 2 ( WEEK 8)

assalamualaikum w.b.t.. still in a holiday mood ^^ owh my gosh.. this is week 8.. the decline of the final project presentation less than two month from now. as usually, the fyp schedule not very different with previous week schedule..

Week 8 schedule
- do a configuration of GPS and data logger
- monitor the error
- solve the problem during the configuration
- learn from Arduino expertise

The latest configuration to get GPS data.


//http://arduino.cc/playground/Tutorials/GPS
//http://aprs.gids.nl/nmea/
//http://arduino.cc/playground/Tutorials/GPS

//Tx at gps to pin 0
//Rx at gps to pin 1 

/*
eg. $GPRMC,225446,A,4916.45,N,12311.12,W,000.5,054.7,191194,020.3,E*68

           225446       Time of fix 22:54:46 UTC
           A            Navigation receiver warning A = OK, V = warning
           4916.45,N    Latitude 49 deg. 16.45 min North
           12311.12,W   Longitude 123 deg. 11.12 min West
           000.5        Speed over ground, Knots
           054.7        Course Made Good, True
           191194       Date of fix  19 November 1994
           020.3,E      Magnetic variation 20.3 deg East
           *68          mandatory checksum

*/



#include <string.h>
 #include <ctype.h>

 int ledPin = 13;                  // LED test pin
 int rxPin = 0;                    // RX PIN 
 int txPin = 1;                    // TX TX
 int byteGPS=-1;
 char linea[300] = "";
 char date[8] = "";
 char comandoGPR[7] = "$GPRMC";
 int cont=0;
 int bien=0;
 int conta=0;
 int indices[13];

 void setup() {
   pinMode(ledPin, OUTPUT);       // Initialize LED pin
   pinMode(rxPin, INPUT);
   pinMode(txPin, OUTPUT);
   Serial.begin(9600);
   for (int i=0;i<300;i++){       // Initialize a buffer for received data
     linea[i]=' ';
   }   
 }

 void loop() {
   digitalWrite(ledPin, HIGH);
   byteGPS=Serial.read();         // Read a byte of the serial port
   if (byteGPS == -1) {           // See if the port is empty yet
     delay(100); 
   } else {
     linea[conta]=byteGPS;        // If there is serial port data, it is put in the buffer
     conta++;                      
     ////////////////Serial.print(byteGPS, BYTE); display all at serial monitor
     if (byteGPS==13){            // If the received byte is = to 13, end of transmission
       digitalWrite(ledPin, LOW); 
       cont=0;
       bien=0;
       for (int i=1;i<7;i++){     // Verifies if the received command starts with $GPR
         if (linea[i]==comandoGPR[i-1]){
           bien++;
         }
       }
       if(bien==6){               // If yes, continue and process the data
         for (int i=0;i<300;i++){
           if (linea[i]==','){    // check for the position of the  "," separator
             indices[cont]=i;
             cont++;
           }
           if (linea[i]=='*'){    // ... and the "*"
             indices[12]=i;
             cont++;
           }
         }//linea[19])
         Serial.println("");      // ... and write to the serial port
         Serial.println("---------------");
        if(linea[19]=='A')
        {
//UTC - Universal Time Coordinate
          String time_h1=linea[8];
          String time_h2=linea[9]; 
          String time_m1=linea[10];
          String time_m2=linea[11]; 
          String time_s1=linea[12];
          String time_s2=linea[13]; 
          String time = "UTC:"+time_h1+time_h2+":"+time_m1+time_m2+":"+time_s1+time_s2;

//Date
          String date_d1=linea[52];
          String date_d2=linea[53]; 
          String date_m1=linea[54];
          String date_m2=linea[55]; 
          String date_y1=linea[56];
          String date_y2=linea[57]; 
          String date = "Date:"+date_d1+date_d2+"/"+date_m1+date_m2+"/"+date_y1+date_y2;
          
          String r1=date+ " " +time;
          Serial.println(r1);

//Latitude
          String lat_d1=linea[21];
          String lat_d2=linea[22]; 
          String lat_d3=linea[23];
          String lat_d4=linea[24]; 
          String lat_d5=linea[26];
          String lat_d6=linea[27]; 
          String lat_d7=linea[28];
          String lat_d8=linea[29]; 
          String lat_d9=linea[31]; 
          String lat = "Lat:"+lat_d1+lat_d2+"."+lat_d3+lat_d4+lat_d5+lat_d6+lat_d7+lat_d8+" "+lat_d9;

          Serial.println(lat);
//Longitude
          String lon_d1=linea[33];
          String lon_d2=linea[34]; 
          String lon_d3=linea[35];
          String lon_d4=linea[36]; 
          String lon_d5=linea[37];
          String lon_d6=linea[39]; 
          String lon_d7=linea[40];
          String lon_d8=linea[41];
          String lon_d9=linea[42]; 
          String lon_d10=linea[44]; 
          String lon = "Lon:"+lon_d1+lon_d2+lon_d3+"."+lon_d4+lon_d5+lon_d6+lon_d7+lon_d8+lon_d9+" "+lon_d10;

          Serial.println(lon);          
       }// signal
       else{
          Serial.println("NO GPS SIGNAL");
       }
       }     
       conta=0;                    // Reset the buffer
       for (int i=0;i<300;i++){    //  
         linea[i]=' ';             
       }                 
     }
   }
 }

this configuration currently have no errors. 


purpose :

to get  a final result of the project

reference:

- Arduino website
- Arduino forum
- Arduino expertise

Thursday, 20 September 2012

FYP SEM 2 (WEEK 7)

assalamualaikum w.b.t.. this is week 7.. phase test week.. for this week, i focused more on the studying the subject that have a phase test.. for this semester, i have two subjects that have a phase test.. the fyp schedule for this week was little bit typical with the last two weeks schedule.. not many things that can do in this week ^^

week 7 schedule

- meet my supervisor to show the progress of the project
- continuous do a research for a final report

purpose:

- continiously do the configuration
- keep looking if there is an error of the configuration

references:
Arduino expertise
Arduino Forum


Wednesday, 12 September 2012

FYP SEM 2 (WEEK 5 & 6)

assalamualaikum w.b.t.. this week is week 5.. very fast.. huhu..  for this week, not many things that can be share in this blog.. ^^

Week 5 & 6 schedule

- still do the configuration of GPS
- try to find a solution of the error occurs
- continue did a research to write a report
- learn about Arduino GPS and data logger

Example of error occurs


purpose:

- to make sure that the project can run smoothly


reference:

- Arduino website
- Arduino forum