Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int analogPin= A0;
- int raw= 0;
- int Vin= 5.0;
- float Vout= 0;
- float R1= 330;
- float R2= 0;
- float buffer= 0;
- //PWM code
- int fanpwm= 9; // Declare fanpwm to be arduino pin 9
- int writeValue; // Use this variable for writing to fanpwm
- int rawtemp;
- //safety code
- int tempMax = 632; // the maximum temperature before power kill safty
- int safety = 13; // Main relay enable-disable Safety disable (currently TEST led)
- void setup()
- {
- pinMode(fanpwm, OUTPUT); //set fanpwm to be an OUTPUT
- pinMode(safety, OUTPUT); //set safety control pin to be an output
- Serial.begin(9600);
- }
- void loop ()
- {
- raw= analogRead(analogPin);
- if(raw)
- {
- buffer= raw * Vin;
- Vout= (buffer)/1024.0;
- buffer= (Vin/Vout) -1;
- R2= R1 * buffer;
- writeValue = map(raw, 585, 615, 0, 255);
- writeValue = constrain(writeValue, 64, 255);
- //safety code
- if(raw > tempMax) { // if temp is higher than tempMax
- digitalWrite(safety, LOW); // turn on safety (TURN off main relay and send Estop code)
- } else { // else turn on Relay (thumbs up all is good)
- digitalWrite(safety, HIGH);
- }
- analogWrite(fanpwm, writeValue); //Write to the fanpwm control speed by temp
- Serial.print("raw = ");
- Serial.println(raw);
- Serial.print("Vout: ");
- Serial.println(Vout);
- Serial.print("R2: ");
- Serial.println(R2);
- Serial.print("writeValue = ");
- Serial.println(writeValue);
- delay(1000);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement