Sorry about that forgot to send code. Decided to use Ethernet shield, got it to upload to Arduino with Ethernet shield. Not sure if it is sending info back to computer. When I upload the code it shows as being right (No errors) but when I disconnect the USB and connect the Ethernet cable i don't get any info on PC screen or serial monitor. Also trying to get wireless router involved, any ideas how.
here is the code, can you look it over and see if you can figure out why it isn't sending the info back to PC? Thanks Michael
/*
* The purpose of this program is too monitor the voltage of a battery and depending on the voltage generator.
* The controller needs to handle a wide voltage range and a wide current range if connected to a turbine
* of varying speed. The speed can vary greatly and therefore the out will have to be carefully monitored.
*
* The controller will have the following states:
* - Battery voltage below 14.0v : charge the battery
* - Battery voltage 14.0v or above : dump the turbine generator power to a dummy load
*
*/
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0x90, 0xA2, 0XDA, 0X0D, 0X8B, 0X11 }; //MAC ADDRESS FOR ARDUINO//
byte ip[] = { 192, 168, 1, 1 }; //ip address//
// Voltage divider constants (ohms)
const int VD_R3 = 10000;
const int VD_R4 = 1000;
// Manual buttons
const int CHARGE_BUTTON = 2; // DIN
const int DUMP_BUTTON = 3; // DIN
// LED displays
const int STATUS_LED = 13; // DOUT
// Battery charging
const int BATTERY_MONITOR_PIN = 0; // AIN
const int INSTRUCTION_PIN = 6; // DOUT
const float BAT_VMIN = 11.9;
const float BAT_VMAX = 14.0;
// Turbine RPM monitoring
const int RPM_MONITOR_PIN = 1; // AIN
// Other
const int DELAY_TIME = 32; // 32 default
// Program variables
bool manual = false;
bool charging = false;
EthernetClient client;
void setup()
{
pinMode(STATUS_LED, OUTPUT);
pinMode(CHARGE_BUTTON, INPUT);
pinMode(DUMP_BUTTON, INPUT);
pinMode(INSTRUCTION_PIN, OUTPUT);
digitalWrite(STATUS_LED, HIGH);
Serial.begin(115200);
if (Ethernet.begin(mac) == 0){
Serial.println("Failed to configure Ethernet using DHCP");
for(;

;
}
Serial.println(Ethernet.localIP());
}
void loop()
{
int vin = analogRead(BATTERY_MONITOR_PIN);
float voltage = calculateBatteryVoltage(vin);
int rin = analogRead(RPM_MONITOR_PIN);
int rpm = calculateRPM(rin);
if (chargeButtonDown())
{
manual = true;
charge();
}
else if (dumpButtonDown())
{
manual = true;
dump();
}
if (!manual)
{
if (voltage < BAT_VMAX)
charge();
else
dump();
}
manual = false;
delay(DELAY_TIME);
}
float calculateBatteryVoltage(int vin)
{
float resconst;
if (VD_R3 == 0 || VD_R4 == 0)
resconst = 1.0;
else
resconst = ((VD_R3 + VD_R4) / VD_R4);
return (5.0 / 1023.0) * resconst * vin;
}
int calculateRPM(int rin)
{
// this function will determine the rpm from an analog value
// for now just return value passed
return rin;
}
inline bool chargeButtonDown() { return (digitalRead(CHARGE_BUTTON) == HIGH) ? true : false; }
inline bool dumpButtonDown() { return (digitalRead(DUMP_BUTTON) == HIGH) ? true : false; }
inline void charge() { digitalWrite(INSTRUCTION_PIN, HIGH); charging = true; }
inline void dump() { digitalWrite(INSTRUCTION_PIN, LOW); charging = false; }
inline bool getState() { return (charging) ? true : false; }
void SerialWriteData(float voltage, int rpm)
{
Serial.print("Voltage: ");
Serial.print(voltage);
Serial.print("V");
Serial.print("RPM: ");
Serial.print(rpm);
// TO DO: show whether charging or not
}