Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SoftwareSerial.h>
- #define TX_pin 10
- #define RX_pin 11
- #define Temp_pin A0
- #define Relay_pin 2
- SoftwareSerial SIM900A(10, 11);
- //--------------------------------------
- //These values are in the datasheet
- #define RT0 10000 // Ω
- #define B 3977 // K
- #define VCC 5 //Supply voltage
- #define R 10000 //R=10KΩ
- //Variables
- float RT, VR, ln, TX, T0, VRT;
- //--------------------------------------
- void setup() {
- pinMode(Relay_pin,OUTPUT);
- pinMode(Temp_pin,INPUT);
- digitalWrite(Relay_pin,LOW);
- SIM900A.begin(9600);
- Serial.begin(9600); // Setting the baud rate of Serial Monitor (Arduino<--->PC)
- Serial.println ("SIM900A Ready");
- delay(100);
- Serial.println ("Type s to send message or r to receive message");
- SendMessage();
- T0 = 25 + 273.15; //Temperature T0 from datasheet, conversion from Celsius to kelvin
- }
- void loop() {
- readTemprature();
- if (TX > 50) {
- SendMessage();
- digitalWrite(Relay_pin,LOW);
- }
- else{
- digitalWrite(Relay_pin,HIGH);
- }
- delay(1000);
- }
- void readTemprature() {
- VRT = analogRead(Temp_pin); //Acquisition analog value of VRT
- VRT = (5.00 / 1023.00) * VRT; //Conversion to voltage
- VR = VCC - VRT;
- RT = VRT / (VR / R); //Resistance of RT
- ln = log(RT / RT0);
- TX = (1 / ((ln / B) + (1 / T0))); //Temperature from thermistor
- TX = TX - 273.15; //Conversion to Celsius
- Serial.print("Temperature:");
- Serial.print("\t");
- Serial.print(TX);
- Serial.println("C");
- }
- void SendMessage()
- {
- Serial.println ("Sending Message");
- SIM900A.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
- delay(1000);
- Serial.println ("Set SMS Number");
- SIM900A.println("AT+CMGS=\"+966542828706\"\r"); //Mobile phone number to send message
- //552480998
- delay(1000);
- Serial.println ("Set SMS Content");
- SIM900A.println("power cut off");// Messsage content
- delay(100);
- Serial.println ("Finish");
- SIM900A.println((char)26);// ASCII code of CTRL+Z
- delay(1000);
- Serial.println ("Message has been sent ->SMS Selesai dikirim");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement