Advertisement
programajster

arduino

Jan 8th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. #include <math.h>
  2. // Skala:
  3. // c - Celsius
  4. // f - Fahrenheit
  5. int redPin = 2;
  6. int greenPin = 3;
  7. int fotoPin = 5;
  8. int fotoDane;
  9. float B = 4300.0f, T0 = 298.15f, R0 = 50000.0f, R_D = 10000.0f;
  10. float Temperature(int AinPin, char Skala, float B, float T0, float R0, float R_D)
  11. {
  12. float R,T;
  13. R=R_D*(1024.0f/float(analogRead(AinPin))-1);
  14. T=1.0f/(1.0f/T0+(1.0f/B)*log(R/R0));
  15. switch(Skala)
  16. {
  17. case 'c' :
  18. T = T - 273.15f;
  19. break;
  20. case 'f' :
  21. T = 9.0f*(T-273.15f)/5.0f+32.0f;
  22. break;
  23. default:
  24. break;
  25. };
  26. return T;
  27. }
  28. void setup() {
  29. pinMode(redPin, OUTPUT);
  30. pinMode(greenPin, OUTPUT);
  31. Serial.begin(9600);
  32. }
  33. void loop() {
  34.  
  35. float temp = Temperature(0,'c', B, T0, R0, R_D);
  36.  
  37. fotoDane = analogRead(fotoPin);
  38. Serial.print("Oswietlenie = ");
  39. Serial.println(fotoDane);
  40. delay(1000);
  41.  
  42.  
  43. if(temp<31 && fotoDane > 600)
  44. {
  45. digitalWrite(greenPin, LOW);
  46. digitalWrite(redPin, HIGH);
  47. }
  48. else
  49. {
  50. digitalWrite(redPin, LOW);
  51. digitalWrite(greenPin, HIGH);
  52. }
  53.  
  54. Serial.print("Temp:");
  55. Serial.print(temp);
  56. Serial.println(" C");
  57. delay(500);
  58.  
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement