New to Arduino, Need some help,have some questions

Hey guys, I'm new to this Arduino board, I found it while googling different micro-controllers and it seems to be an awesome board especially since you can add so many expansion parts to it. I need to build a project for school by Tuesday so I am getting some arduino parts overnighted. I have very basic skills in Java programming but from searching it seems that there is a lot of written code online for the board although I'm not sure if it will do what I need it to.

What I need to do:
Alright, so what I need to do is measure the voltage coming in from a solar panel and log it, I also need to measure the temperature from it, and log it, and I also need to measure the angle. This data needs to be transmitted to a computer via wifi or saved on an SD card. I have found some tilt/angle sensors but they are wayyy to expensive so I will leave them out for now. I also need to display the voltage being measure in real time on the LCD. I already have built a circuit with the solar panel to step down the voltage from the panels max which is 24V down to about 20mV when the panel is at max output in direct sunlight.

Parts I am purchasing
I am in the process of purchasing the following parts from robotshop.com (if you have any other places you recommend, please tell me, but I need these parts by tomorrow and robotshop said they can overnight them to me.)

(1) AsyncLabs Arduino WiFi BlackWidow
(1) DFRobot LM35 Linear Temperature Sensor
(1) Phidgets Precision Voltage
(1) Seeedstudio SD Card Shield V2.1
(1) Seeedstudio SD Card Shield V2.1
(1) DFRobot LCD Keypad Shield for Arduino

Are there any other parts you guys recommend? I've been reading about I2C expansion because I'm not sure if there are enough I/O on the arduino board itself for me to be able to use all these things at once. I don't fully understand the I2C expansion, is it possible to buy a pre-built one if I need it? I have found instructions on how to build it, but I only have a total of 4 days to build this thing.

Also, if you guys could give me links for programs to log voltage, temp, and display it to the LCD, that would be awesome. I have found a few different programs already, but I'm not sure what would work best for me.

Thank you very much for your time!!

Just to reassure you a bit.
An ordinary Arduino has 18 I/O connections
6 analogue to digital (ADC)
6 PWM (pulse width modulation) a way of simulating analogue efficiently
6 digital I/O's

It also has two pins dedicated to usb I/O

The ADC will measure 0 to 5V with a resolution of 10 bits, about 5mv. So you'd ideally scale your solar collector to 0 to 4V (to leave a bit of headroom). It can sample any one of the 6 ADC inputs, and convert to a 10-bit number almost 10,000 times/second

The wifi connection seems to use about 5 or 6 of the 18 I/O

So, assuming you use:
1 ADC for solar cell output
1 for temperature
1 for angle (somehow)
6 for WiFi
Depending on the SD card shield, there may be a bit of juggling to get SPI to talk to the WiFi and SD card, so say one more

so about 8 I/O's remaining for an LCD and buttons.
I've never used that LCD shield, but I had a quick look, and it might clash with the WiFi on a pin or two, I'd need to check more carefully.

There are lots of pieces of code to drive LCD's. There is an example in a DFRobot manual (again I've only skimmed), but I'd also suggest searching for the LCD part number in the Arduino.cc playground, where you'll get quite polished results, or the web.

This is going to be hard to get all of it working in time.
I'd suggest making the barest minimum end-to-end solution, with only one sensor, and either WiFi, SD, or LCDS, and try to avoid getting bogged down in one area.

Start Preaching { Do not assume that you'll get it all working. Many folks fail, even after a week of 'all-nighters' to get everything working. Assume you might be lucky and maybe get half of it working, so choose the best value pieces. If you get more, think of it as 'free money'. Plan to have it finished by Sunday evening, and partition the work accordingly. Having an extra day is better than a day short.}

HTH

Gbulmer, thank you very much for all the information! And yes, I agree, I just really need the bare minimum working, although the LCD would be a nice add-on. Ideally I just need either the SD card or WiFi to transmit the data being taken, I don't need to do both, I am just ordering both parts incase one doesn't work. Also, what do you think about the Phidgets Precision Voltage board? Do I need that or will the arduino itself be OK for measure the small voltages? Thank you so much again!!

I agree, I just really need the bare minimum working, although the LCD would be a nice add-on. Ideally I just need either the SD card or WiFi to transmit the data being taken, I don't need to do both

Sorry for getting preachy, you have already planned for difficulties.

Also, what do you think about the Phidgets Precision Voltage board? Do I need that or will the arduino itself be OK for measure the small voltages?

I don't understand. Is the voltage reduction from 24V to a few mV a critical element? My 'knee jerk' reaction would be to use a voltage divider (5:1, e.g. 10K to 2K) to get the 24V to about 4V, and feed that into an ADC input (maybe a bit of Input protection).
Could you explain the reduction a bit, so we can understand what is going on, and someone may be able to help.

I don't understand. Is the voltage reduction from 24V to a few mV a critical element? My 'knee jerk' reaction would be to use a voltage divider (5:1, e.g. 10K to 2K) to get the 24V to about 4V, and feed that into an ADC input (maybe a bit of Input protection).
Could you explain the reduction a bit, so we can understand what is going on, and someone may be able to help.

Well we have been using something called a DATAQ to acquire data, but the whole idea is for us to do this from scratch and not buy a pre-built data logging device. The panel is 5Watts and 24V so we bought a power resistor from RadioShack which was 5W and .47ohms to reduce the voltage to keep the DATAQ from getting damaged. I can of course easily swap out this large resistor and with smaller ones to change the voltage. Thats the only reason for stepping down the voltage, just to prevent damage to any devices. Thank you!

Okay. I had a quick look at a DATAQ, and I think I get it.

That big resistor is turning all of that nice electricity into global warming heat :slight_smile:

In the time available, I'd try to remove as many parts as I could.
You could try 2 resistors to divide down the voltage. You want the largest one to be about 10K, so 10K to 2K is about right. If in doubt, make the 2K smaller (so the voltage into the Arduino is even less than 4V). You could do that before the Arduino arrives if you have access to a voltmeter or multimeter and can get a couple of resistors.

I'd also add some input protection. Get some diodes (a few hundred milli amps capacity will do), two per input sensor, and tie each input signals from sensors to ground and +5V with two, in case there is a voltage spike coming down a wire. I'd get a few 270 ohm resistors for the other sensors.

Look at Grump_Mike's for a good tutorial: Protection

HTH

Gbulmer, thank you so much for all your help! I went ahead and ordered the parts I listed, although the voltage board was out of stock, I ordered a smaller one made by the same company. I also ordered the LCD just to play with it, and since you said there wouldn't be enough I/O's on the small board, I went ahead and ordered the "Mega" version of the board and got the wireless add-on board separately since the Asynclabs board was also out of stock. Thank you again for all the help!