Category Archives: Projects

contains the embedded / embedded linux projects

A little probing with a Quad

The biggest advantage of Winter is that you don’t have bath till just a few people say that u stinks! Umm, just the last week I got the parts for my quadcopter that I order from Hobbyking.  This was my first order and my first experience with the flying things, so I started up with a little goofing around at the forums and obviously went through a lot of tutorials.  Also, saw a few lists of components that people ordered at their first time.  But I had a few bents for a few things, so didn’t match with mine.   Then we (Shantanu and Saurabh) started reading the descriptions and googled a lot and finally came up with the following options. Read the rest of this entry

Advertisements

Here Comes Our TurtleBot! Person Follower

TurtleBot, our inspiration source.  You can read the whole of it.  I was too much excited reading that and looking a lot of videos of it, then decided to make one of my own.This post is all about the design and structure of the turtlebot that we made.  I am far from being a Pro, so no CAD software, just a direct integration of Me and a Carpenter. Read the rest of this entry

Part II: All Pin Interrupt method for RC in Arduino

I hope you are already aware of the basics of the RC communication and Hardware connection with the Arduino. If you are not, then just have a quick look at the previous blog in the series… 🙂

After looking into the problems of the polling method, The second method to interface the RC is Interrupt method. Well, as you know there are only two external hardware interrupts available in Arduino boards like Uno, Dueminalove etc.. (Ofcourse, Due is an exception 😛 ). For further clarification on this topic, click for Interrupts. I am taking Arduino Uno as a typical example here.

For interfacing all the six channels of RC you need 4 more interrupts. What can we do. Obviously we have to go for the software interrupts.

Here comes the PinChangeInterrupt for the rescue…

What are Pin Change interrupts? The ATmega processor has two different kinds of interrupts: “external”, and “pin change”. There are only two external hardware interrupt pins, INT0 and INT1, and they are mapped to Arduino pins 2 and 3. These interrupts can be set to trigger on RISING or FALLING signal edges, or on low level. Being hardware interrupts, they are very fast.

On the other hand the pin change interrupts can be enabled on any or all of the Arduino’s signal pins (Uno/Duemilanove/Nano). They are triggered equally on RISING or FALLING signal edges, so it is up to the interrupt code to set the proper pins to receive interrupts, to determine what happened (which pin? …did the signal rise, or fall?), and to handle it properly. Furthermore, the pin change interrupts are grouped into 3 “port”s on the MCU, so there are only 3 interrupt vectors (subroutines) for the entire body of 20 pins. This makes the job of resolving the action on a single interrupt even more complicated. The interrupt routine should be fast, but more the complication, lesser is the speed. The PinChangeInt library is designed to handle the Arduino’s pin change interrupts as quickly and reasonably as possible.

Well, how can you use it?? This is just a little finger’s work (literally :P)

1. Download the library from this link.

2. Extract the zip to the Arduino library folder on your computer.

3. Include the header file in the sketchbook.

4. Use it as normal interrupt function.

I used pinchangeint-v1.72, which contained 3 folders: PcChangeInt, cppfix,MemoryFree.

The skeleton sketchbook works like this after the inclusion of PcIntChange library.

PcIntChange Demonstration

Now the RC interfacing part…

We need to define the pinchange Interrupt for all the 6 pins to which channels are attached.

This is the code to get the value of the 1 channel to help you understand the code flow.. Read the rest of this entry

Working with RC and Arduino: Part 1

The HK-T6A V2 is a classic 6-channel RC Transmitter, best option for starters.

HK-T6XV2-M1
HK-T6XV2-M1

The 4 channels are used for flying while rest 2 can be used for landing purposes. It is programmable as well. For that purpose one need to have the programming cable. It requires 12 V as the optimum voltage supply level. However, the status of LED shows the voltage level.

NEVER EXCEED 12 V..

Red : Voltage < 9.1 V

Orange :  9.4 V < Voltage < 10.1 V

Green : 10.4 < Voltage < 12

I used 12 V adapter with 1 A current rating.

Its range is upto 1 km for LOS, which is quite sufficient. Another big point is its cheap receivers, which comes for 9 $ only.

That is enough for the blah blah.. 😛

Getting To The Interfacing Part: Read the rest of this entry

GUI: Plug n Play Duino

The main idea behind the “Plug n Play Duino” model was the ease of implementation of algorithms of line following, edge avoiding and all such sort of works… or “To make it a toy”(in english :P)

As Saurabh gave a detailed list of features of this board here,

http://www.embedded4fun.com/plug-n-play-du…a-new-approach/

We built a GUI for this board, which makes it a child play, when it comes to line following.

 

Line Followe GUI
Line Followe GUI

Well As you can see, the GUI allows you to : Read the rest of this entry

Rotary Encoder

Wheel mounts for rotary encoder

Basically, Rotary Encoder converts the angular motion of wheel or shaft intoanalog or digital codes, and by codes we can count the number of rotations of the same. That seems pretty simple. 😛


First thing one faces in robotics, is the motion update of the bot. This motion update requires the tracking of the number of rotation which when multiplied by the circumference of the wheel base gives the distance travelled. However, this approach is not for motion including turns 😛

Types of Rotary Encoders?

Generally, there are two types of rotary encoders: absolute and incremental. Read the rest of this entry

Automation!! My old persistant love! Part-I

Necessity is the mother of invention..Old saying – one more proof

So, winters are approaching and I was studying out one of the greatest creations of Walter Isaacson for Jobs.  Ahha, I have completed it more than half!! \m/

My room is situated at the upper corner of our house.  So, its pretty isolated and best suitable for any experimentations, work and Yes, watching movies and the blue stuff too.. 😉   I know that I am a big LAZY guy, I dont get up to switch on the fan if I feel like hot from my Magical Chair at PC or If I am on bed using my laptop then there is no chance for me to get up easily and I remember in every winters I spend whole days without moving from bed…

Similar is the situation when I was reading the book, and felt cold today  so thought of switching the fan off, but being lazy I didn’t.  Lights and fan were on and I was thinking the way out to switch them off!!! Obviously without moving an inch!!

I decided not to switch off them and sleep as it is.  But cold is something than can make you feel heavily uncomfortable and can turn your AALAS/lazyness disappear.    At about 4.am. I quit, and actually have to stood up but not for turning them on, rather for making a quick and rapid solution for this on/off condition..
All time I am using my Android Mobile fone or my PC and sometimes my Laptop too.  My pc has got only Fedora installed over 250gb space which is now almost full.  😦  And in my laptop, I am having original genuine windows! (woahhh! I still have to rely on windows (sometimes) for the official documents because of the misalignment and other problems associated with the people and officials via openoffice or libreoffice.

So, I decided to simply control these lights and fans using these *objects*

pinouts from intel motherboard docs

In my PC, my serial port is all time busy, with my Single board computers, or GPS or GSM modem etc.  So I cann’t use the serial port.  Rest things were USB and the parallel port.  But guess what, My motherboard Intel GV41 doesn’t got a parallel or serial port 😦 .  I use a PCI card for two serial ports.  But yes, one thing to mention, these boards like that of Intels’ have got no connector for serial and parallel but they have got an onboard pins for those.  So one just have to got the motherboard related documents from the official site.

Looking at the pinouts, one can easily deduce out the required data pins.  I simply wired the pins to a relay board (our own product)of ours at ATRIM,    and did a little tweaking in the electricity board of my room and yes, the hardware part was over!! Read the rest of this entry

RF communication

During early days of mine as an electronic hobbyist, the wireless communication had always

Wired bot

got me excited . Afterall, who wouldnot grow tired of those tangling wires of wired bot. 😛 So i got the cheapest rf module available in the market, without knowing much about it. 😛

So this is a simple project for the beginners who are going to use rf modules for the first time. Here, the signals are generated by the user via push buttons and is sent to the receiver module kept at a distance.

Let us grasp some basic information on the working of a RF- module.

Rf modules

These RF modules work between 30Khz-300 Ghz. In our case, it’s frequency is around 400Mhz-500Mhz (434 MHz approaximately).  The digital data is represented as the variations in the amplitude of the carrier signal according to the message signal (known as ASK).It receives serial data and transmits it wirelessly through RF through its antenna. The transmission occurs at the rate of 1Kbps – 10Kbps.The transmitted data is received by an RF receiver operating at the same frequency as that of the transmitter.

Access Internet with 8/16 bit controllers…

Woah, Its been days, since my last post!  Actually I was busy out doing nothing..:)
You may declare me as the most LAZY guy ever!!

So, this time I actually come up with an idea to share upon, that is  how to have internet access on my 8 or 16 bit Embedded controllers.  A random thought gives me ideas like WiFi, USB dongle,  Ethernet, or a modem!!

Thats it!! I can`t  get some other ways(currently).  You are getting??,…Please do tell me over the comment box!!.

So I have my micro controller like that of 8051/AVR or PIC either of them.  Its actually not a problem at all, the concept remains same for all of them.  Ohh I forget the exceptional one our Open Source player Arduino!! yeah, for this the rules are quite different for different hardware(one may use shields with it).

Adding wifi/usb dongle support to 8-bit devices is like doing Insane work! (at least for me…lolz).  Also, making it work over ethernet ia also a mess because you will have to interface ethernet driver also and then write the  protocol!!!!!!!!!
I can`t! So, the only thing remained with me was GSM/GPRS modem.

Making the internet work out of it was really a bad experience for me for the first time.  Literally, It took me almost 3 days at my second try for such a simple work!!!!

I would really like to thank GsmMan at EDABOARD and  my friend Avik Dhupar for helping me in this. Read the rest of this entry

Energy Saver

An advanced energy saver project with DTMF capabilities to use electricity efficiently by reducing the unwanted uses.

energy saver circuit

  • INTRODUCTION:   A lot of electricity is wasted due to ignorance or fault of the user. Sometimes a person in the room turns on all the electric equipments which is of no use to them. As an example, supposedly a person enters in the hall or conference hall (where a large number of tube lights or fans are available). In the default scenario, all the equipments would be turned on  which is just wastage of electricity or what if the number of people is not up to the capacity of the hall and the whole lot of equipment is being fed unnecessarily by the current. Also what if all the people went out leaving the switches on, consuming the energy until any one sees and turns them off. Read the rest of this entry