Advertisement
safwan092

Project_10934

Feb 4th, 2023
17
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. #include <SoftwareSerial.h>
  2.  
  3. #define TX_pin 10
  4. #define RX_pin 11
  5. #define Temp_pin A0
  6. #define Relay_pin 2
  7.  
  8. SoftwareSerial SIM900A(10, 11);
  9.  
  10. //--------------------------------------
  11. //These values are in the datasheet
  12. #define RT0 10000 // Ω
  13. #define B 3977 // K
  14. #define VCC 5 //Supply voltage
  15. #define R 10000 //R=10KΩ
  16. //Variables
  17. float RT, VR, ln, TX, T0, VRT;
  18. //--------------------------------------
  19.  
  20. void setup() {
  21. pinMode(Relay_pin,OUTPUT);
  22. pinMode(Temp_pin,INPUT);
  23. digitalWrite(Relay_pin,LOW);
  24. SIM900A.begin(9600);
  25. Serial.begin(9600); // Setting the baud rate of Serial Monitor (Arduino<--->PC)
  26. Serial.println ("SIM900A Ready");
  27. delay(100);
  28. Serial.println ("Type s to send message or r to receive message");
  29. SendMessage();
  30. T0 = 25 + 273.15; //Temperature T0 from datasheet, conversion from Celsius to kelvin
  31. }
  32.  
  33. void loop() {
  34. readTemprature();
  35. if (TX > 50) {
  36. SendMessage();
  37. digitalWrite(Relay_pin,LOW);
  38. }
  39. else{
  40. digitalWrite(Relay_pin,HIGH);
  41. }
  42. delay(1000);
  43. }
  44.  
  45. void readTemprature() {
  46. VRT = analogRead(Temp_pin); //Acquisition analog value of VRT
  47. VRT = (5.00 / 1023.00) * VRT; //Conversion to voltage
  48. VR = VCC - VRT;
  49. RT = VRT / (VR / R); //Resistance of RT
  50. ln = log(RT / RT0);
  51. TX = (1 / ((ln / B) + (1 / T0))); //Temperature from thermistor
  52. TX = TX - 273.15; //Conversion to Celsius
  53. Serial.print("Temperature:");
  54. Serial.print("\t");
  55. Serial.print(TX);
  56. Serial.println("C");
  57. }
  58.  
  59. void SendMessage()
  60. {
  61. Serial.println ("Sending Message");
  62. SIM900A.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
  63. delay(1000);
  64. Serial.println ("Set SMS Number");
  65. SIM900A.println("AT+CMGS=\"+966542828706\"\r"); //Mobile phone number to send message
  66. //552480998
  67. delay(1000);
  68. Serial.println ("Set SMS Content");
  69. SIM900A.println("power cut off");// Messsage content
  70. delay(100);
  71. Serial.println ("Finish");
  72. SIM900A.println((char)26);// ASCII code of CTRL+Z
  73. delay(1000);
  74. Serial.println ("Message has been sent ->SMS Selesai dikirim");
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement