Advertisement
Guest User

Untitled

a guest
Oct 21st, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. int analogPin= A0;
  2. int raw= 0;
  3. int Vin= 5.0;
  4. float Vout= 0;
  5. float R1= 330;
  6. float R2= 0;
  7. float buffer= 0;
  8. //PWM code
  9. int fanpwm= 9; // Declare fanpwm to be arduino pin 9
  10. int writeValue; // Use this variable for writing to fanpwm
  11. int rawtemp;
  12. //safety code
  13. int tempMax = 632; // the maximum temperature before power kill safty
  14. int safety = 13; // Main relay enable-disable Safety disable (currently TEST led)
  15.  
  16. void setup()
  17. {
  18. pinMode(fanpwm, OUTPUT); //set fanpwm to be an OUTPUT
  19. pinMode(safety, OUTPUT); //set safety control pin to be an output
  20. Serial.begin(9600);
  21. }
  22.  
  23. void loop ()
  24.  
  25. {
  26. raw= analogRead(analogPin);
  27. if(raw)
  28. {
  29. buffer= raw * Vin;
  30. Vout= (buffer)/1024.0;
  31. buffer= (Vin/Vout) -1;
  32. R2= R1 * buffer;
  33. writeValue = map(raw, 585, 615, 0, 255);
  34. writeValue = constrain(writeValue, 64, 255);
  35.  
  36. //safety code
  37. if(raw > tempMax) { // if temp is higher than tempMax
  38. digitalWrite(safety, LOW); // turn on safety (TURN off main relay and send Estop code)
  39. } else { // else turn on Relay (thumbs up all is good)
  40. digitalWrite(safety, HIGH);
  41. }
  42.  
  43. analogWrite(fanpwm, writeValue); //Write to the fanpwm control speed by temp
  44. Serial.print("raw = ");
  45. Serial.println(raw);
  46. Serial.print("Vout: ");
  47. Serial.println(Vout);
  48. Serial.print("R2: ");
  49. Serial.println(R2);
  50. Serial.print("writeValue = ");
  51. Serial.println(writeValue);
  52. delay(1000);
  53. }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement