2nd Place in Microsoft ImagineCup Egypt 2010
by Khaled Raed Sharaf on Apr.25, 2010, under Achievements
After 9 month working on the project that we (me and my team) created for the poland imaginecup 2010, and making a hardware software solution. We won the 2nd place! 
We have passed over 3 different stages. The first stage, each team had to send their proposals by email to the ImagineCup Committee. After a week, from the deadline… They sent us an email, congratulating us for qualifying into the next round! There was 16 teams who qualified in this round. Half of them where from an institute called ITI (first time to hear about it).
The first presentation that we made was in the morning at 11:00 AM, and it was very nice and we showed them the live demo of the Software (C#, SQL Server, WPF, GMaps) and Hardware (GM862
, GPRS, GSM, RC car). Looking at the reactions of the judges they were thrilled and very impressed about the idea that we came with. There was one MSP member telling us that this was one of the best presentations that he have ever seen.
The next day, they sent us an email telling us that we have qualified to the next round (Top 8). So we went there the next Saturday to give our presentation to another judging team and they were thrilled. One judge told us “Very impressive work” while the other said “very good work”. I was so happy to hear that from the judges…
The next day, they sent us an email telling us that we have qualified to the final round. And the next presentation was on the next Saturday (yesterday).
We were there at 9:00 AM to rehearse for 30 minutes and then start at 11:00 AM. In the end of the day (at about 3:30 PM) the winners were announced.
Team19- First Place
G-Cubed – Second Place (That is me
)
Wiiii – Third Place
We are now waiting for Microsoft to send us the certificates, but this might take a couple of months as one staff member told us.
Our solution that we offered was going to save more than 1,300 Life/Day!
In the end, I wanted to say to the team who got 1st place, best of luck in the Global Finals!
1st Place Tanta University
by Khaled Raed Sharaf on Mar.06, 2010, under Achievements
This was an idea that we made with Vodafone as a sponsor. And we won the first place in the contest that Tanta University – Faculty of Engineering made. We were supposed to meet the Minister of State for Administer Development Dr. Ahmed Darwish, but I was in Germany. So I didn’t have the chance to meet him, but one of my team mates went there and we were awarded 1st Place.
After a year, IEEE Egypt made a ceremony for the people who got awarded in several contests. It was really something, to get awarded for a project that you did and will help the people in their daily life later on.
The project that we created was handed to Vodafone.
MySQL remote accesing using C#
by Khaled Raed Sharaf on Mar.05, 2010, under MySQL
Some might be thinking now “what does this relates to the Telit GM862 module?”. And a simple answer would be “TRACKING”
We need to know a way to access our Database so that we can extract the needed data (longitude, latitude, seen satellite, and etc.). After getting all these information we want to put some markers on a map (ex. Google Maps or Bing Maps), to show us exactly where our device is located. In other words, we are going to put this module in a car, and using the application that we are going to do, we will be able to easily track the module from a computer at home. Sounds cool!
We will write our code using C#, and the database that I am using will be MySQL DB. I worked on the open source MySQL database because my web server is running on linux, and it has MySQL server installed on it. But defiantly you can have this application running on any type of database server out there like Oracle, SQL server, etc. Our application will be a desktop application not a web-based one.
First we need to download the connector that enables us to make the connection to the DB server. You can easily download this connector from MySQL website CLICK HERE
For me, I will be working on Connector-Net 6.1.3. After that, install the MySQL connector on your computer.
To be continued…
Connecting to the Internet via GPRS
by Khaled Raed Sharaf on Feb.06, 2010, under GSM/GPRS
Now lets get this party started!
OK, now we are ready to go into details on how to make an internet connection from the PIC18F450. This sounds fun!
We need some login information that enables us to access the internet. This is called by the network provider “internet settings” , “internet setting file” or something like that. For example if you bought a brand new Nokia phone, and when you insert the SIM card into it, some providers sends the internet settings as soon as they detect that this phone is for the first time to be connected to there network (they do that by IMEI). Other providers, you have to call the customer service so that they send you the internet settings. So, we really need to know the contents of the internet setting file that the provider send so that we can know: APN, username and password.
Before going into details, the first thing that you must do, is call the customer service from the SIM that you are going to use from any cellular phone, and ask them if SIM is GPRS enables or not. Because some providers are not default enabled, so you need to call them first.
What is APN?
It stands for Access Point Name. This name gives you a gateway rout to the network that you want to connect to like WAP or internet or VPN. The question now is how am I going to get the APN of my network provider?
Two ways to get the APN:
GPS to buy and NOT to buy
by Khaled Raed Sharaf on Feb.01, 2010, under GPS
To tell you the truth, the idea of making a GPS circuit wasn’t in my mind at all, until I have seen this video on Youtube 3 years ago.
Then I thought to myself why not make a GPS circuit as well, it seems easy and pretty cool! I will just buy this GPS module called Parallax GPS from Grand Studios and then I could start my very own GPS Navigation System!
I did buy this Parallax GPS module under this link: CLICK HERE. To tell you the truth 80 bucks for this GPS module is pretty expensive. I was so excited to make this module work, and show me my coordinates where I am testing this module from. But the result where pretty shocking and not good!
Pause
by Khaled Raed Sharaf on Jan.13, 2010, under GSM/GPRS
I will not post that much this month, as I have FINALS to study for. So just pray for me!
Interfacing the GM862 with PIC18F452
by Khaled Raed Sharaf on Jan.10, 2010, under GSM/GPRS
Interfacing the PIC18F452 with the GM862 module is relatively simple. What will be left is only the code that needs to be burned on the PIC. By the way,no full codes will be posted here. I will only post the codes that will give you a good kick start because I think it is better to understand than to copy and paste. And there is a Chinese saying:
Give a man a fish, you feed him for a day.
Teach him to fish, and you feed him for lifetime.
This is a sample project that I made and it only deals with making phone calls and I will upload other videos for SMS, GPRS and Data Call:
Now looking at the schematics you will find all the details on how to connect both the module and the PIC.

After doing the above connections, you need to start the module first and then initiate the baudrate that both of them will work on. The Telit module works on different values of baudrates (300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200). For me I shall work with baudrate 19200, but you can choose whatever baudrate that you want.
To start the module, you simply connect the ON_OFF pin to the ground for at least 1 sec (note: this pin is normally high). So you can do this by two ways. First way is to connect a switch and give the ON signal by hand, which is not a good idea. The second way which all of you will do, is to let the PIC18F452 do the job of turning the module ON. We will connect a transistor as shown in the schematic (PN2222A) such that when the base voltage is high, it allows the current to pass to the ground. So, you will need to make PORTC.PIN5 to be HIGH for 1 sec and then toggle it back to LOW (safety factor make it 1.1 sec).
So, after initializing the baudrate on the PIC you need to do the following at the start of your program:
while(recieved_serial!='AT;\nOK\r\n'){
send_serial('AT\r');
delay_ms(300); //Delay 300 mSec
}
Level shifter using 74HC4050
by Khaled Raed Sharaf on Jan.09, 2010, under GSM/GPRS
Some people will say that we can reduce the voltage of the PIC18F452 or any type of PIC to 4.1v as it operates from 2.0V to 5.5V. But sadly this is not possible because to run the USART of the PIC18F452 it needs a minimum voltage of 4.9 volt (as far as I know). And we are not allowed to put the 5v input directly to the GM862 because this will ruin the whole module. What need now is a level shifter.
There are many techniques out there that enables you to make a level shifter. I used the 2 of 74HC4050 (Datasheet) and it worked fine with baudrate 19600. When you use these level shifter, one will be from low to high (4.0v ->5.0v) and the other will be from high to low (5.0v -> 4.0).
First we need to test everything is working fine before making any connections. In the IC that is used as a high to low converter; insert 5.0v as an input and check with a voltmeter the reading of the output. If its not 4.0v then you did something wrong with the connections and you need to revise the 74HC4050 connection. And do the vice versa to the second IC.
After the test, you are now ready to connect the PIC18F452.
Before connecting the PIC18F452
by Khaled Raed Sharaf on Jan.08, 2010, under GSM/GPRS
Now we can start working with the GM862 module. Before connecting the microcontroller we have to make sure that the module itself turns on. Basically, what we will do is connect the following pins:
Pin 1,3,5,7 (Vbatt) ——to——> Vdd
Pin 2,4,8 (GND) ——to——> Ground
Pin 45 (RTS) ——to——> Ground
For us to debug this module, we will connect both the STATUS_LED (Pin 39) and PWRMON (Pin 21). These are output pins used to make sure that the module turns ON, look at the schematic to see how we connect the LEDs on these pins. Also, we will connect a normally opened switch where one side is connected to the ground while the other side is connected to the module pin 17 (ON_OFF).
Note in the schematic there are two extra pins (pin 51 & pin 52). These pins I added because when you use the Mikroelektronika board it will come with 52 pins (2 extra pins that are Not Connected – NC).



