Dear Readers: Welcome to The Engineering Projects


Sunday, 5 May 2013

How To Use Virtual Terminal in Proteus ISIS

Hello friends, first of all I wanna give a good news to all the readers that I have added a Google search engine in TEP, which was missing for quite a long time. I was receiving a lot of complaints regarding this issue that we are unable to search the topic in the blog so now you can quite easily search any topic in the blog using this search engine which is on the top right corner. Write any topic you wanna search and hit button and your search result will show up just above the blog posts. Must give your feedback and suggestions about this newly added feature. Hope it provide a comfort to many readers.

Let's come to today's topic, as the name suggests, today I will show you how to use a virtual terminal in Proteus and what is its use.Below are the parts in which I have divided the complete tutorial:
  • Component Designing in Proteus ISIS ( Part 4 )
  • PCB Designing in Proteus ARES ( Part 5 )
  • Design a package for components in Proteus ARES ( Part 6 )
  • Blank Write Now ( Part 7 )

What is Virtual Terminal ?

Virtual Terminal is a tool in Proteus, which is used to view data coming from Serial Port (DB9) and also used to send the data to the Serial Port. In windows XP, there's a built in tool named Hyper Terminal, which is also used for the same purpose but in windows 7 there's no such tool so for windows 7 users this virtual terminal is quite a great comfort. If you guys don't know about serial port then I would suggest you to read this tutorial to get the better idea of serial port:

Uses of Virtual Terminal

Virtual Terminal, as I explained above, is used to send or receive data to or from the serial port. Serial port is a 9 pin port which is mostly find on the computer. In most of the projects, the data is sent from the hardware to computer via this serial port and then user design some application on the computer to view that data in some representable form.

Now, in projects there are some testing steps which are quite helpful, if we use them properly, and these testing steps require some tools in order to test the process. Like, suppose some student have designed the hardware to send the data to the computer and have also design its application to receive it and now when he tests it he didn't receive any data. At that point student got tensed and don't know where's the error so at that point there's may be some error in the hardware or may be in the software.

Now, in order to be sure he need to test both of them separately and here is the point where virtual terminal is used. First connect your hardware with the computer and then run the hardware and check whether you are receiving data on the virtual terminal or not. If you are receiving it, means your hardware is okay and the problem is in software side and if you are not means your hardware is not so good.

Whenever I start working on some projects, I always make sure that I am going in right direction like if I have to made this project then after completing my hardware, I will first check it via this virtual terminal and once I got sure that my hardware is okay then I will move to the software part.

There are also many other applications of this terminal like suppose you wanna design some circuit in Proteus which involves serial port then you can add this terminal on your circuit and can test it before going to the hardware, which we will shortly see below.

How to Use Virtual Terminal in Proteus ISIS?

  • First of all open the Proteus ISIS and click on the P button to search for the components, as we seen in the previous tutorial and also shown in the below figure:
  • Now in the search box type "COMPIM" , when you search this a result will show up as shown in the below figure:
  •  After Selecting this, click OK to add this component in the database.
  • COMPIM is the serial port in Proteus and using its properties we can assign any COM pin of our computer to it and it will behave like that pin. We will change the properties shortly.
  • Now, click on the Virtual Instrument Mode and then on the Virtual Terminal as shown in the below figure and add it in the Proteus workspace.
  • Now join the TXD pin of COMPIM with the TXD pin of Virtual Terminal and RXD with RXD as shown in the figure below:
  • Now, double click on the COMPIM to open the Properties menu and set the properties as shown below:
  • I have selected COM1 and my baud rate is 9600, you can set it whatever you want like if you are using the COM3 then set the port to COM3 and baud rate of your own choice.
  • Similarly open the properties of the virtual terminal and make sure that the baud rate is same in both the cases.
  • Now connect your hardware with the computer and play the simulation. Again make sure that the port which you have selected for the COMPIM is same port with which you have attached your hardware.
  • After you play the simulation a black window will open up which will show the data coming from your hardware to the COM1 pin as shown below:
  • This black box is actually the Virtual Terminal which is showing data coming from my hardware.
  • If you play the simulation and this Virtual Terminal doesn't pop up then right click on the Virtual Terminal Component and then click on Virtual Terminal which will be at the end in the options and this black window will open up.
I think you guys have got much of the idea of this Virtual Terminal. If you have any problem anywhere, ask in comments and also subscribe to our newsletter via email to get these amazing tutorials right into your mailbox. Thanks, take care.

Views:

Knowing About Components Available in Proteus ISIS

Hello friends, hope you all are fine and enjoying good health. In this tutorial, my actual plan was to cover the mostly used components in Proteus like to give users an overview of component selection as there are many components in Proteus which are quite hidden and hence quite difficult to find. But, now I have changed my mind as I have received a lot of emails regarding this tutorial in which mostly have asked to elaborate this tutorial and explain other circuits as well just like the LCD one. So after that I thought of making separate tutorial for many different circuits.

These are the parts in which I have divided this tutorial and as you can see I have added the news topics as well which are requested by the readers. If you guys need any tutorial then let me know via Contact Form, and I will try to post that as well.
  • Component Designing in Proteus ISIS ( Part 4 )
  • PCB Designing in Proteus ARES ( Part 5 )
  • Design a package for components in Proteus ARES ( Part 6 )
  • Blank Write Now ( Part 7 )

So, now in this tutorial, we are gonna see different circuits designed in Proteus. I will explain them step by step so that the users get the better idea of them and also there are many different components in Proteus which are very handy but users mostly don't know about them and I will also explain them to you. I have divided this part of the tutorial into following different parts:
  • How To Use Virtual Terminal in Proteus ISIS.
In this tutorial, I will design a simple serial port circuit and then get the data on the Virtual Terminal. Virtual Terminal is quite same as the Hyper Terminal in the windows XP. It shows the data coming from serial port and also sends the data to the serial port.
  • How To use Oscilloscope in Proteus ISIS.
Oscilloscope is great functionality in Proteus and it works as same as the oscilloscope you have seen in your electronics lab. It shows waveforms and using it you can make variations in your model and can get the desired output.
  • DC Motor Drive Circuit in Proteus ISIS.
In this tutorial, we will check the DC Motor circuit with microcontroller and will drive it.
  •  Stepper Motor Circuit in Proteus ISIS.
In this tutorial, we will check the Stepper Motor circuit with microcontroller and will drive it.
  • Servo Motor Circuit Design in Proteus ISIS.
 In this tutorial, we will check the Servo Motor circuit with microcontroller and will drive it.
  • How to use Serial Registers in Proteus ISIS.
In this tutorial, we will use serial registers with microcontroller. Microcontrollers have limited I/O pins but what if you need 50 pins, which happens mostly in LEDs, then there's a need to increase the pins of microcontroller and for that purpose we use serial registers.

That's what I have planned so far, I may add few more tutorial in it depends on the suggestions os keep inform me with your suggestions. Thanks.

Views:

Saturday, 27 April 2013

Circuit Designing of LCD with PIC on Proteus ISIS

Hello friends, hope you all are fine and enjoying good health. Today I am posting the next part of Proteus tutorial. In the previous post of this tutorial, we have seen the basics of Proteus and discussed various functions of Proteus ISIS. If you are new to Proteus then I would recommend that before starting this tutorial, you should first read the first part so that you get the better idea of Proteus as I wont go in detail in today's post. Today, we will first design a circuit on Proteus ISIS which includes PIC microcontroller and then we will see how to burn the microcontroller in Proteus and at the end we will run our circuit and will display some text on the LCD. It will be quite a fun so let's start.

If anyone having any problem at any point, ask in comments and I will try my best to resolve them. These are the parts in which I have divided this tutorial:
  • Knowing About Components Available in Proteus ISIS ( Part 3 )
    • How To Use Virtual Terminal in Proteus ISIS ( Part 3 - a )
    • How To Use Oscilloscope in Proteus ISIS ( Part 3 - b )
    • DC Motor Drive Circuit in Proteus ISIS ( Part 3 - c )
    • Stepper Motor Drive Circuit in Proteus ISIS ( Part 3 - d )
    • Servo Motor Drive Circuit in Proteus ISIS ( Part 3 - e )
    • How to use Serial Registers in Proteus ISIS ( Part 3 - f )
  • Component Designing in Proteus ISIS ( Part 4 )
  • PCB Designing in Proteus ARES ( Part 5 )
  • Design a package for components in Proteus ARES ( Part 6 )
  • Blank Write Now ( Part 7 )

Circuit Designing in Proteus

  • First of all, open the Proteus ISIS software.
  • In the start, it will look exactly the same as in below image.
  • Now click on button P as shown in below figure.
  • When you click this button a new window will pop up as shown in below figure.
  • This is the place where we search our components, like as I want 7805 so I searched for this component and the Proteus has given me the related components.
  • Once you get your desired component, simply double click on it and it will be added in your database so that you can use them.
  • The below image shows the components which we are gonna use in this project, so simply search for all the components and then double click on them and finally you will get all the components as shown below:
  • Now place these components in the Proteus workspace and connect them.
  • Design exactly the same circuit as shown in the below figure:

Now our circuit in Proteus is ready to use, the next step is to write a code for the PIC Microcontroller 18F452 and then burn it into the Proteus and check its working.

Code of LCD with PIC18F452

  • There are different compilers to write the code for PIC Microcontroller. Here I am using MikroC Pro for PIC. You can get it easily from the official site of MikroC.
  • I am not going in the details of coding as its beyond the scope of this tutorial, but still I am posting the code.
  • So now create a new project in the MikroC Pro For PIC and copy the below code and paste it in the project and compile.
  • When you compile the project, it will create a .hex file in the same folder where you have saved this project. We will use this hex file shortly.
// LCD module connections
sbit LCD_RS at RD2_bit;
sbit LCD_EN at RD3_bit;
sbit LCD_D4 at RD4_bit;
sbit LCD_D5 at RD5_bit;
sbit LCD_D6 at RD6_bit;
sbit LCD_D7 at RD7_bit;

sbit LCD_RS_Direction at TRISD2_bit;
sbit LCD_EN_Direction at TRISD3_bit;
sbit LCD_D4_Direction at TRISD4_bit;
sbit LCD_D5_Direction at TRISD5_bit;
sbit LCD_D6_Direction at TRISD6_bit;
sbit LCD_D7_Direction at TRISD7_bit;
// End LCD module connections

char txt1[] = "www.TheEngineeri";
char txt2[] = "ngProjects.com";

char i;                              // Loop variable

void Move_Delay() {                  // Function used for text moving
  Delay_ms(500);                     // You can change the moving speed here
}

void main(){

  Lcd_Init();                        // Initialize LCD
  Lcd_Cmd(_LCD_CURSOR_OFF);          // LCD Cursor Off
  Lcd_Cmd(_LCD_CLEAR);               // Clear display

  Lcd_Out(1,1,txt1);                 // Write text in first row
  Lcd_Out(2,1,txt2);                 // Write text in second row

  Delay_ms(2000);


  while(1);
}

Burn the Code in PIC Microcontroller in Proteus ISIS

  • Now we have the hex file, we need to burn this hex file in the microcontroller in Proteus.
  • So, double click on the Microcontroller in Proteus and it will open up the properties menu of PIC microcontroller.
  • Now click, as shown in the below figure, and browse for the hex file and click OK.
  • We need to add this hex file in Proteus here and also select the oscillation frequency which I have selected 16MHz.
Note: Make sure that the oscillation frequency remain same both in the MikroC and the Proteus.
  • After adding the file in the Proteus now click OK and play the simulation, ifeverything goes fine, you will get the results as shown in below image.
Note:
  • Proteus ISIS simulation file and the .hex file has been emailed to all the subscribed members. If anyone need it, subscribe to our newsletter via email and it will be emailed to you as well.
That's all for today, I have tried my best to explain everything but still if someone having problem ask in comments and I will try to resolve. In the next part, we will discuss various components of Proteus which are commonly used like motors, serial port, hyper terminal etc. So stay tuned and also subscribe us via email so that you get all the tutorials straight into your mail box. Have fun. Take care.

Views:

Saturday, 20 April 2013

Interfacing of EasyVR Shield with Arduino UNO

Hello friends, in the last post of this tutorial we have seen how to add commands in the EasyVR shield using EasyVR Commander. It was quite simple and if you follow the steps carefully you wont stuck anywhere but still if you into some trouble i am here. Now this tutorial is quite a quick and important one as it contains the real code using which we will control our robot. After adding the voice commands, now close the EasyVR Commander and open the Arduino Software. Connect the arduino board with computer and double check that your jumper J12 in on position SW.

The complete parts of this tutorial are shown in the below. Today's the last part of this project.


Voice Recognition Project Using EasyVR Shield

Steps to Follow

  • First of all, download the Arduino Libraries for EasyVR Shield, you can easily find them from the official website of EasyVR.
  • Simply connect your Arduino UNO with computer.
  • Open the Arduino Software and copy paste the below code into it.
  • Burn your code in the Arduino Board.
  • Now open your Serial Monitor of ARduino UNO, and you will first see the message saying EasyVR Detected.
  • Now speak any of the command you saved in the board on mic and you will see when the command match the serial terminal will send a specific character.
  • You can change this character if you want to by make a simple change in the code.

#if defined(ARDUINO) && ARDUINO >= 100
  #include "Arduino.h"
  #include "SoftwareSerial.h"
  SoftwareSerial port(12,13);
#else // Arduino 0022 - use modified NewSoftSerial
  #include "WProgram.h"
  #include "NewSoftSerial.h"
  NewSoftSerial port(12,13);
#endif

#include "EasyVR.h"

EasyVR easyvr(port);

//Groups and Commands
enum Groups
{
  //GROUP_0  = 0,
  GROUP_1  = 1,
};

enum Group0
{
  G0_ARDUINO = 0,
};

enum Group1
{
  G1_FORWARD = 0,
  G1_REVERSE = 1,
   G1_LEFT = 2,
  G1_RIGHT = 3,
   G1_STOP = 4,

};


EasyVRBridge bridge;

int8_t group, idx;

void setup()
{
  // bridge mode?
  if (bridge.check())
  {
    cli();
    bridge.loop(0, 1, 12, 13);
  }
  // run normally
  Serial.begin(9600);
  port.begin(9600);

  if (!easyvr.detect())
  {
    Serial.println("EasyVR not detected!");
    for (;;);
  }

  easyvr.setPinOutput(EasyVR::IO1, LOW);
  Serial.println("EasyVR detected!");
  easyvr.setTimeout(5);
  easyvr.setLanguage(EasyVR::ENGLISH);

  group = EasyVR::TRIGGER; //<-- start group (customize)
  
  
  pinMode(2, OUTPUT);
  digitalWrite(2, LOW);    // set the LED off
   pinMode(3, OUTPUT);
  digitalWrite(3, LOW);
   pinMode(4, OUTPUT);
  digitalWrite(4, LOW);
   pinMode(5, OUTPUT);
  digitalWrite(5, LOW);
   pinMode(6, OUTPUT);
  digitalWrite(6, LOW);
  
}

void action();

void loop()
{
  easyvr.setPinOutput(EasyVR::IO1, HIGH); // LED on (listening)

  Serial.print("Say a command in Group");
  Serial.println(group);
  easyvr.recognizeCommand(group);

  do
  {
    // can do some processing while waiting for a spoken command
  }
  while (!easyvr.hasFinished());
  
  easyvr.setPinOutput(EasyVR::IO1, LOW); // LED off

  idx = easyvr.getWord();
  if (idx >= 0)
  {
    // built-in trigger (ROBOT)
    // group = GROUP_X; <-- jump to another group X
    return;
  }
  idx = easyvr.getCommand();
  if (idx >= 0)
  {
    // print debug message
    uint8_t train = 0;
    char name[32];
    Serial.print("Command: ");
    Serial.print(idx);
    if (easyvr.dumpCommand(group, idx, name, train))
    {
      Serial.print(" = ");
      Serial.println(name);
    }
    else
      Serial.println();
    easyvr.playSound(0, EasyVR::VOL_FULL);
    // perform some action
    action();
  }
  else // errors or timeout
  {
    if (easyvr.isTimeout())
      Serial.println("Timed out, try again...");
    int16_t err = easyvr.getError();
    if (err >= 0)
    {
      Serial.print("Error ");
      Serial.println(err, HEX);
    }
    
    
    group = GROUP_1;
  }
}

void action()
{
    switch (group)
    {
   // case GROUP_0:
    // switch (idx)
    //  {
    //  case G0_ARDUINO:
        // write your action code here
    //      group = GROUP_1; //<-- or jump to another group X for composite commands
    //    break;
    //  }
    //  break;
    case GROUP_1:
      switch (idx)
      {
      case G1_FORWARD:
          Serial.print("9");
           digitalWrite(2, HIGH);
        break;
      case G1_REVERSE:
         Serial.print("Q");
        digitalWrite(3,HIGH); 
        break;
         case G1_LEFT:
         Serial.print("X");
     digitalWrite(4,HIGH);    
        break;
         case G1_RIGHT:
         Serial.print("Y");
      digitalWrite(5,HIGH);   
        break;
         case G1_STOP:
         Serial.print("Z");
      digitalWrite(6,HIGH);   
        break;
      }
      break;
    }
}
Finally this project closes here, I tried to convey some knowledge. Hope I got succeeded in it. I will now continue the Proteus Tutorial in the next posts so cya in the next posts. Have fun, take care.

Views:

Getting Started with EasyVR Commander

In the previous post we have seen the project description, today we will see how to start with EasyVR shield. EasyVR shield is a module which is used for voice recognition. First of all, we save our commands in the EasyVR shield and then we use these commands to control anything. In this project, I need to control the robot with voice commands like when someone says FORWARD then the robot start moving in forward direction. Now first of all what I need to do is to save this FORWARD voice in the shield, which we will see today how to save the command in the shield and after that I need to use that command with arduino programming so that when I say Forward the motor start to move in forward direction, which we will see in the next post.

These are the parts in which I have divided this project. If you guys have any problem using EasyVR, ask in comments and I will resolve them.
Voice Recognition Project Using EasyVR Shield

What is EasyVR Commander?

  • EasyVR Commander is a software using which we save the voice commands in the EasyVR Shield. You guys can easily find it using google and its totally free.
  • Download this software and install it.

How to use EasyVR Commander?

  • First of all connect your EasyVR shield with the Arduino UNO Shield as shown in below figure.
  • Now be careful in this step as it took the most of my time, on EasyVR shield you will find a jumper J12. Put this jumper on position PC.
Note: When you are adding commands in EasyVR shield using EasyVR Commander, then this jumper J12 must be on position PC and when you are using this shield in the circuit with arduino then this jumper J12 must be on position SW.
  • Connect your Arduino UNO shield with the computer and run the software EasyVR commander. The software will open up as shown in the figure below.
  • Now select the COM Port on which Arduino UNO is attached, which in my case was at COM20.
  • After selecting the COM Port, click the Connect icon as shown in below figure.
  •  When you hit on Connect icon, the software will connect to the COM Port and will open up as shown below:
  •  If you check the left pane, there are many groups and wordset. 
  • In wordset, there are pre defined words, which are already saved in the EasyVR shield.
  • The words which I want to save in the shield, will be saved in the Groups.
  • Now to save these words click on any group where you want to save.
  • In the below figure, I have selected Group 2 and then click on the Add Command button (Click # 1) shown in the figure.
  • It will add the command in the group as you can see I have saved the command OK.
  • Now I have saved the command OK but I have to give it some voice to this command.
  • In order to do so, click on the Train Command icon ( Click # 2 ).
  •  Now when you click on the Train Command icon, a message box will pop up as shown in below figure.
  • Click on the button which says Phase 1.
  • Now as you click on this button, a box appears which say "speak now", now its the time to say your command in the mic like I said OK. 
  • After listening the command this pop up will again show up and this time the button will be Phase 2.
  • Again click on the button and it will ask for "speak now" and you again speak the same command in the mic.
  • After that the software verifies the two words and if they are same it will confirm the command.
  • In my case, I have saved total 5 commands in my software as shown in the below figure.
  • These were my five commands to control my robot.
  • Now after adding the commands, simply close the software as the voice commands are now saved in the EasyVR shield.
  • Place the jumper J12 back to position SW.
Note:
  • You can also test your added commands,to do so click on Test Command icon on the software and speak up any of the commands from the selected group.
  • If the command matches, then the software will indicate it. Test it and you will see.
In the next post we will check the arduino side of controlling this shield. I will post the code as well so that you can easily test it. If someone's having any problem in using this shield post in comments and I will surely help you out and subscribe us via email to get such exciting tutorials rite in your mailbox. Take care !!!

Views:

Tuesday, 16 April 2013

Voice Recognition Project Using EasyVR Shield

Hello friends, today's post is, as the name suggests, about the voice recognition. Voice recognition is quite a difficult task and usually done on software like MATLAB, but what if someone needs a stand alone project, a kind of autonomous voice recognition project, which doesn't use computer. EasyVR is the solution for such projects. I recently did one project on this module and it worked really cool so I thought to share this new technology with you guys. I couldn't write the next part of Proteus tutorial, actually firstly I was busy in this project and then I thought to share this one as its quite exciting one. After completing this project, I will come back to Proteus tutorial.

I have divided this project in three parts, which are as follows:
Voice Recognition Project Using EasyVR Shield

Project Description

  • The complete project was quite messy, it involves a lot of sensors as well as dtmf control, so I am not explaining that part in this tutorial. In this project I will explain that section of the project where we used this module.
  • The functioning of this module is to control the robot movement using voice.
  • So, when someone says FORWARD in the mic of this module, the robot moves forward. Someone says RIGHT and the robot moves right and so on.
In the next posts, we will first see how to add these voice commands in the EasyVR shield and after that we will have a look at the code, I used in Arduino.

Views:

Saturday, 30 March 2013

Getting Started With Proteus

Hello readers, today's post is the first regular post on Proteus tutorial. Today's tutorial is for beginners who don't have much knowledge of Proteus but wants to start working with it. We don't design any circuit in today's post instead we will check the different functions of Proteus which provides ease in circuit designing. Proteus has different functions in it and in order to design a circuit, one must have sound knowledge of each of them.

I have divided this tutorial in the following parts and today we will discuss the first part of this tutorial.
  • Knowing About Components Available in Proteus ISIS ( Part 3 )
    • How To Use Virtual Terminal in Proteus ISIS ( Part 3 - a )
    • How To Use Oscilloscope in Proteus ISIS ( Part 3 - b )
    • DC Motor Drive Circuit in Proteus ISIS ( Part 3 - c )
    • Stepper Motor Drive Circuit in Proteus ISIS ( Part 3 - d )
    • Servo Motor Drive Circuit in Proteus ISIS ( Part 3 - e )
    • How to use Serial Registers in Proteus ISIS ( Part 3 - f )
  • Component Designing in Proteus ISIS ( Part 4 )
  • PCB Designing in Proteus ARES ( Part 5 )
  • Design a package for components in Proteus ARES ( Part 6 )
  • Blank Write Now ( Part 7 )

Actual Use of Proteus

Usually, I got many such questions from the students that our circuit is working perfectly on proteus but when we have implemented it on hardware, it's not working. That's why I am first explaining the use of proteus here.
  • Never trust the circuit you design on Proteus. Proteus is very lenient in circuits designing and it works on ideal conditions like if you don't add pull up resistors etc in the proteus then it wont bother at all and runs the circuit.
So, as the circuit designing is concerned you must have sound knowledge of components, only then you can design a working circuit. So, now the question arises what's the use of proteus then ???
  • The main and foremost use of Proteus is the PCB designing.
 In normal practice, I myself first design the circuit on either the wero board or the bread board and then when I got sure that my circuit is fully working then I design its PCB in the proteus.
  • Second use of Proteus is the Code Checking.
 When you are designing some code like writing some strings on the LCD then its quite annoying to burn the microcontroller several times. Instead, design a circuit in your Proteus and after that simply design your PIC code and then run it on Proteus and get your best result and now when you are sure you are getting perfect output then burn your PIC and test it on your hardware. Quite easy and handy. In the coming classes, I will show you how to burn code in microcontrollers in Proteus.
Note: In testing of code, there's again a possibility that your output on hardware doesn't match with that of Proteus but its quite rare and mostly happens in delays.

Getting Started With Proteus

So now let's have a look at different features Proteus offers. I have a full registered version of Proteus but I can't post it here as its not allowed so if someone need it then Subscribe to our mailing list and post your subscribed emails in the comments below and I will send it to you. So now I suppose you have installed Proteus and ready to work on it.
  • Click on Proteus ISIS and it will be appear as shown in image below. Right click the image and open in new tab to get a better look of the image. In the central area, we design our circuit i.e. place the components and then join them.
  • In the below image, I have divided the Proteus in several sections. Section 1 is a toolbar which you have seen on many software, it has simple functionality like first icon on the toolbar is to create a new layout, second is to open an existing layout, next one is to save your layout, then there comes few zooming options and also some tools which we will further discuss in next tutorials and at the end of section 1, you can see ARES icon and we will also see its use when we will design the PCB layout.
  • Let's come to section 2, it has two buttons on it, one is P and other is E. P changes with the selection change of section 3 mostly it is used for opening the part list i.e component list and E is used for editing purposes, like you want to edit the properties of any component then simply click on that component and then click on E and it will open the properties of that component and you can easily edit it.
  • Section 3 is most commonly used section of proteus. It has a lot of functions on it. We will check them today one by one in complete detail.
  • Now finally the section 4, this section shows different buttons like play, stop etc. When you design some circuit in Proteus, then you want to run it in order to check whether its working or not. So in order to run the circuit, you have to click on this play button. So when you click on play button the circuit starts to run, now click on Pause button and it will pause and Stop to stop the circuit running. 
  •  Now let's discuss the section 3, one by one. In the below image you can see the icon on which I have written Click # 1.When you click on this icon, your Proteus goes in the component state. We select components by clicking this icon. Suppose I want to use PIC16F877A in my circuit so what will I do, I will click on this Component Mode Icon and then Click on the P button and a new window will open up as shown in the below figure.
  • In this new window there's a textbox on which Keyword is written, this text box is used for the component search. Proteus database has unlimited components in it so now in order to get your desired component, you have to search for it as I did.
  • I have search PIC16F877A and proteus automatically show me that component as you can see below and not only the component name but also its preview in the top right corner and then the PCB preview as well. Unfortunately my Proteus doesn't have the PCB preview of PIC16F877A that's why it is showing blank.
  • So after you are sure that you have selected the right component, either double click on it or click on the OK button as shown in figure below.
  • If I just want to search one component then I will click OK but its not mostly the case as in circuit design, as we will see in our next classes, we have to add a lot of components so what we do is we simply search our component in text box and double click on it and then search the next component and so on.
  •  Now move to next icon as shown in figure below. This is also another most commonly used icon in Proteus. As you can see when you click on it the white are shows few options. In circuit designing, there are lot of components which are getting with ground or power up, so if we are gonna add wires for each of them then it got quite messy.
  • Proteus provide a very easy way of doing it. Ground and Power , as shown below, are treated as component so wherever we need GND we simply pick the Ground from here and place it there and same for the Power. Default value of this Power is +5V.

  • The icon shown in the below figure also used quite often. It has many components which are very useful and this section is used for visualization. Like there's an oscilloscope, we use it for viewing the behavior of different signals generated. Its as same as an oscialloscope you found in your lab.
  • Another important component of this mode is the Virtual Terminal, it is shown on the fourth number. This Virtual Terminal is used for checking data coming through Serial Port. Its just like the hyper terminal we have in our windows.
  • Then there's Signal Generator, it is used to generate signal like sine wave of desired frequency.
  • You can test them by yourself to get a better idea.
  • Now, let check few of them quickly, the icon which I have shown by A is the Graph mode. Like in some circuit you want to analyze the graphs of voltage and current then you can do this using the graph mode, it has different style of graphs. We will also add a tutorial in which we will see how to make graphs.
  • B and C in the below figure are the voltage and current probes respectively. Suppose you have designed some circuit in Proteus and now you want to check the value of voltage at any point in the circuit. In order to do so, simply select this voltage probe and place it there and when you run your circuit, the probe will show the value of voltage above it and same for current probe.
  • D has lots of functionality, it is used when we want to design our own component in proteus.
  • E in the below figure is simply text section, like you want to add some text indication you use this one.
  •  So today, we have checked the initial features of Proteus, hope you find this post informative. If you have any question feel free to ask in comments and also subscribe through email to our mailing list so that you don't miss any part of this tutorial. Stay blessed. Take care.

Views:

Friday, 29 March 2013

A Complete Tutorial on How To Use Proteus ISIS & ARES

Hello friends hope you all are fine and well. I couldn't write any tutorial for quite a long time actually I was very busy in programming stuff. Anyways let's come to the today's tutorial, yesterday I got a mail from a student in which he asked me to help him out about Proteus. According to him, he is good in programming but not much in electronics and wants to test his circuit first on Proteus and then want to make PCB of it. After reading his email, this thing clicked my mind that I didn't post any tutorial on Proteus on TEP. So today I thought of posting about it.

If you guys have any problem anywhere, ask in comments and I will try my best to resolve your issues and also subscribe to our newsletter so that you get these burning tutorials rite in your mail box. Let's come towards the tutorial.
Note: If you guys want tutorial on any topic, dont hesitate and just write it down to me using the Contact Us form.

Course Content of This Tutorial

I have divided this tutorial in few sections. Its a quite lengthy tutorial in which we will start from the basics of Proteus and then will go into deeper and finally we will go some pro. Here are few of the sections of this tutorial:
  • In today's part, we will just have a look at the complete course which we will cover in this tutorial. I am calling this a chapter zero of this tutorial.
  • In first part of this tutorial, I will introduce few features of Proteus which are very essential for a beginner to know.
  • In second part, we will design a complete circuit using Proteus. I will design a LCD circuit using PIC microcontroller and then I will show you how you can test your PIC code in Proteus.
  • In third part, we will discuss the various components available in Proteus. I know there's countless components in its database and we can't discuss them all but we will discuss which are commonly in use by the students like motors,serial port, microcontrollers etc.
  • After that, we will see how to design a component in Proteus if it's not already in its database. Its important when you need to design a PCB in Proteus.
  • After that, we will finally design our PCB in Proteus, both single layered and multi-layered.
  • In the end we will see how to design a package for a component, if its not already in Proteus. May be some guys don't know about it but sooner you will get it.
  • In the last part, I will post on request if something's left in the tutorial. 
So, that's the whole course for this tutorial. Now, I am writing the names of the parts in my conventional style and as soon as I post the chapters I will update the links here.
  • Knowing About Components Available in Proteus ISIS ( Part 3 )
    • How To Use Virtual Terminal in Proteus ISIS ( Part 3 - a )
    • How To Use Oscilloscope in Proteus ISIS ( Part 3 - b )
    • DC Motor Drive Circuit in Proteus ISIS ( Part 3 - c )
    • Stepper Motor Drive Circuit in Proteus ISIS ( Part 3 - d )
    • Servo Motor Drive Circuit in Proteus ISIS ( Part 3 - e )
    • How to use Serial Registers in Proteus ISIS ( Part 3 - f )
  • Component Designing in Proteus ISIS ( Part 4 )
  • PCB Designing in Proteus ARES ( Part 5 )
  • Design a package for components in Proteus ARES ( Part 6 )
  • Blank Write Now ( Part 7 )
So these are the the seven parts of this tutorial on which I will start tutoring soon. If you guys stuck at any point, feel free to ask in comments and I will try my best to satisfy you as much as I can. Moreover subscribe to our mailing list so that you get these tutorials rite into your mail box. Stay blessed & take care.

Views:

Wednesday, 27 March 2013

18B20 Temperature Sensor Available in Pakistan

  • Price : Rs. 500 in Pakistan.
  • Delivered : Within 2 days. 
  • To Buy : Click on the Add to Cart button below.
  • Model Name : DALLAS 18B20
  • Secure payments through bank deposits & Reliable shipping through TCS.
  • Note: Shipment charges will be Rs. 190/- within Pakistan which is the TCS fee.
  • 30 Units in stock. 

Working

        • This temperature sensor works on Dallas One Wire protocol.
        • One Wire enabled devices should have open collector drivers (with single pull-up resistor) on the shared data line.
        • It has total 3 pins, one is +Vcc, other is GND and third one is the signal pin.
        • This temperature sensor gives accuracy up to four decimals.
        • I will soon post a small tutorial on its working.

                Views:

                Monday, 4 March 2013

                How to Burn MikroC code Using PICkit3

                Today's post based on my personal experience so I thought of sharing it with you guys. Today I thought of using PICkit3 for programming PIC microcontroller. Before that, I was using PIC JDM Programmer for PIC , the only reason for switching is the usb port as I want to burn the PIC on my laptop instead of PC, as my laptop don't have serial port. So, I connected PICkit3 with my laptop and tested it with MPLAB and it worked well. But actually the project on which I am currently working demands MikroC (Client's requirement to use MikroC compiler but personally I always prefer MPLAB).

                Anyways I thought it wont be much of an issue to connect it but when i practically did that i was kind of surprised, there was no method anywhere (at least i didn't find any) not even in the mikroC forums of how to connect PICkit3 with mikroC. I almost spent two to three hours finding some direct way to connect PICkit3 with mikroC but didn't find any. Although I got few tips from the forums, that's what I love most about forum discussion, and finally I got able to program the MikroC code through PICkit3. Although its not a direct way but quite quick and working great for me. If anyone knows any better than this one, kindly post in comments or send me directly.Now just follow these simple steps and you are on.

                Requirements for Connecting PICkit3 with MikroC

                • PICkit3 Programmer
                • External Simple Hardware to connect PICkit3 with PIC Microcontroller
                • MikroC Pro (Full Version)
                • MPLAB with C18 compiler
                Note:
                •  If anyone needs any of the above software than Subscribe to our Newsletter and post your email ID in the comments and I will email them to you.

                Step 1: Create program in MikroC

                • First of all, create your program in MikroC which you want to burn via PICkit3.
                • Now when you are done, go to Project > Build and build your program.
                • When you click on Build, the MikroC will create a hex file of your program which will be in the same folder in which you have saved your program.

                Step 2: MPLAB settings

                • Now open the MPLAB software and make sure that you don't have any open project in your workspace. If you have, then simply go to File and click on Close Workspace, it will automatically close all the files.
                • After that click on Configure and then Select Device and select the microcontroller on which you want to burn the program. Make sure that it is the same one which you have selected in MikroC, and then click OK.
                • Now, again click on Configure and then on Configuration Bits and make sure to tick the option above the table which says Configuration Bits set in code. I have also shown it in the below figure.
                •  Now connect your PICkit3 with the computer, if MPLAB is installed than its driver will be automatically installed and soon you will get a prompt that hardware is working.
                • After that again go to MPLAB and click on Programmer and then Select Programmer and from the list, select PICkit3, it will be on 4th number.
                • Here comes the role of external hardware you are using to connect your PICkit3 with the PIC microcontroller. If this external hardware is self powered i.e. externally powered than you wont get any error and the PICkit3 will successfully Connected but if your external hardware is not self powered means you are using PICkit3 to power it up then you will get the below error.
                • So if your external hardware is self powered then you can skip this point but if you got this error than click on Programmer and then on Settings and a dialog box will open up. In this dialog box click on Power and then tick the option which says Power target circuit from PICkit3 as shown in below figure.
                • Now click OK and again click on Programmer and then on Reconnect and you will get no error this time, your PICkit3 will successfully connect to the MPLAB and also support your PIC microcontroller.

                Step 3 : Importing Hex file in MPLAB

                • Now the last step is to import the hex file we generated in the step 1 using mikroC into MPLAB. To do so, click on File menu in MPLAB and then click on Import and select your hex file you want to burn in your microcontroller.
                • Output pane will show that file is loading and when its loaded click on Programmer and then on Program and your program start to burn in your microcontroller and soon a message will show up in output pane that program/verify completed. Hurrah! your program is successfully burned in the microcontroller.
                •  Now, you don't need to do anything, these all setting are just one time only save these settings, now just make your program in MikroC, compile it and then program it using MPLAB just two clicks. .... :))
                Important Note:
                • Don't Import hex file before connecting the PICkit3, the sequel must remain same otherwise it will create problem.
                • The PIC chip must be same for both MPLAB and MikroC otherwise although the program will burn but it wont work on your hardware as I have mistakenly experienced it.
                • Dont use any third party software for programming through PICkit3, i tried the beta version software but it didn't work on my system and just crashed.
                If you having any problem in any part of this tutorial ask in comments, I will try my best to resolve it and if you like this tutorial then Subscribe to our Newsletter so that you got such tutorials right into your mail box. Ok than let's meet in the next tutorial. Take care. 
                 

                Views:

                 

                Recent Posts

                Join Me On Facebook

                3000+ Followers

                Followers

                Recent Comments

                Follow Me On Twitter

                1112+ Followers