measuring current using arduino.

hi.
I want to measure current provided by the Solar Cell using the Arduino,the Solar Cells have the rating of 35 Watts to 400 Watts with a Nominal voltage of 12 volts.
I searched over the internet and found that a hall effect sensor can do this for me but this sensor is not available in my country and i cant bear the cost of importing that sensor so please suggest me is if there any other way of measuring current of this rating which is cheap and also accurate.

The most accurate way of measuring current is to put a small resistor in line with the current you are measuring and measuring the voltage drop across it.
You need a very small value (as you don't want to lose much voltage and heat it up) and a high power rating such as ceramic, then measure the voltage difference between the ends.

Low value high current resistors can be cheaply made from a suitable thickness of copper wire. Look up the
resistance-per-unit-length of the wire, cut to a suitable length. Make sure the wire is thick enough to take
the maximum expected current without getting hot (resistance changes with temperature).

If you arrange the resistance to produce say 1V at max current (0.05 ohms for 20A, for instance), then you
can use the internal voltage reference (about 1.1V) to get good measurement precision from the analog inputs.

If you buy a resistor make sure the power rating is high enough (the 0.05ohm resistor at 20A will be dissipating
20W, for instance).

Note that the 1.1V reference needs to be calibrated for each Arduino by comparison with a known good
voltmeter.