Professional Documents
Culture Documents
#include <Wire.h>
#include <EEPROM.h>
#include "RTClib.h"
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); // 0x27 là địa chỉ của lcd 16x2
RTC_DS1307 RTC;
DateTime now = 0;
const int chay = 2;// the number of the pushbutton pin
const int bat1 = 4;
const int bat2 = 7;
const int role = 13; // the number of the role pin
Wire.begin();
Wire.beginTransmission(0x68);// địa chỉ của ds1307
Wire.write(0x07); //
Wire.write(0x10); //
//Wire.endTransmission();
//RTC.begin();
if (! RTC.isrunning()) {
Serial.println("RTC is NOT running!");
lcd.print("DH KHONG CHAY");
//RTC.adjust(DateTime(__DATE__, __TIME__));
}
}
void loop(){
//lcd.setCursor(5, 1);
//lcd.print(now.day(), DEC);
//lcd.print("/");
//lcd.print(now.month(), DEC);
//lcd.print("/");
//lcd.print(now.year(), DEC);
//lcd.print("");
//delay(1000);
// read the state of the pushbutton value:
ttchay = digitalRead(chay);
ttbat1 = digitalRead(bat1);
ttbat2 = digitalRead(bat2);
//if (! RTC.isrunning()) {
// Serial.println("RTC is NOT running!");
// lcd.print("DH KHONG CHAY");
//RTC.adjust(DateTime(__DATE__, __TIME__));
lcd.setCursor(2,0);
lcd.print("DA TUOI DUOC");
DateTime now = RTC.now();
// RTC.adjust(DateTime(__DATE__, __TIME__));
lcd.setCursor(5, 1);
lcd.print(now.hour(), DEC);
lcd.print(":");
lcd.print(now.minute(), DEC);
lcd.print(":");
lcd.print(now.second(), DEC);
lcd.print(" ");
delay(10);
}
else(! RTC.isrunning()&& Wire.endTransmission());
while(ttbat1 == HIGH){
lcd.clear();
lcd.setCursor(2,0);
lcd.print("TU BAT SAU 1H");
digitalWrite(role, LOW);
delay(1000);
digitalWrite(role,HIGH);
delay(1000);
}
//#include <sim900a_ktphuhung.h>
#include <ktphuhung.h>
//#include <sim900a_ktphuhung.h>
/////////////////////////////////////////////////////////////////
// CHƯƠNG TRÌNH ĐIỀU KHIỂN GPIO ARDUINO //
// SỬ DỤNG MODULE SIM 900 //
// NGƯỜI VIẾT: HUỲNH MINH PHÚ-NGUYỄN ANH HOÀNG //
// SẢN PHẨM MODULE SIM 900 HIỆN ĐƯỢC BÁN TẠI: www.ktphuhung.com//
// MỌI CHI TIẾT XIN LIÊN HỆ Gmail: hmphubt@gmail.com //
/////////////////////////////////////////////////////////////////
// CÁCH NỐI CHẦN NHƯ SAU : //
// BOAR ARDUINO MODULE SIM 900 //
// 5V VCC //
// GND GND //
// 2 TX //
// 3 RX //
/////////////////////////////////////////////////////////////////
// CÁCH SỬ DỤNG //
// THAY ĐỔI SỐ ĐIỆN THOẠI CỦA BẠN VÀO "SO_DT_CUA_BAN" //
// NẠP CHƯƠNG TRÌNH CHO ARDUINO //
// MỞ SERIAL TERMINAL VÀ CHỌN 9600 BAUND ĐỂ XEM SỐ GỌI TỚI //
// DÙNG ĐIỆN THOẠI VỚI SỐ VỪA THAY ĐỔI, GỌI TỚI SIM 900 //
// NẾU LED 13 ĐỔI TRẠNG THÁI LÀ BẠN ĐÃ LÀM ĐƯỢC //
// www.ktphuhung.com CHÚC BẠN THÀNH CÔNG //
/////////////////////////////////////////////////////////////////
#include <Wire.h>
#include "SoftwareSerial.h"
#include "ktphuhung.h"
ktphuhung sim900a;
int gia_tri_cam_bien=0;
void setup() {
Wire.begin();
pinMode(thu,OUTPUT);
pinMode(thu2,OUTPUT);
pinMode(A1,INPUT);
pinMode(A2,INPUT);
pinMode(A4,INPUT);
pinMode(A5,INPUT_PULLUP);
pinMode(kichhoat,OUTPUT);
pinMode(kichhoat2,OUTPUT);
//analogWrite(docdienapluoi,0); // Kéo chân A0 xuống mức thấp
//void baodienap();
// digitalWrite(thu, HIGH);delay( 3000);
// THAY CHÂN ARDUINO MUỐN ĐIỀU KHIỂN BẰNG CUỘC GỌI TẠI ĐÂY
sim900a.cai_dat_pin_goi(11);
// THAY MÃ ĐIỀU KHIỂN BẬT TẮT BẰNG TIN NHẮN CỦA BẠN TẠI ĐÂY
// CÁC CHÂN CÓ THỂ ĐIỀU KHIỂN GỒM
// 4-5-6-7-8-9-10-11-12-13
// LƯU Ý MÃ DÀI TỐI ĐA 20 KÝ TỰ VÀ TỐI THIỂU 3 KÝ TỰ
// THAY ĐỔI MÃ THEO CÚ PHÁP SAU :
// sim900a.pinx("MÃ BẬT","MÃ TẮT","MÃ KIỂM TRA");
//sim900a.pin4("4bat","4tat","4kt");
sim900a.pin5("5bat","5tat","5kt");
sim900a.pin6("6bat","6tat","6kt");
// sim900a.pin7("7bat","7tat","7kt");
//sim900a.pin8("8bat","8tat","8kt");
//sim900a.pin9("9bat","9tat","9kt");
//sim900a.pin10("10bat","10tat","10kt");
sim900a.pin11("11bat","11tat","11kt");
//sim900a.pin12("12bat","12tat","12kt");
sim900a.pin13("13bat","13tat","13kt");
analogWrite(A1, 0);
analogWrite(A2, 0);
analogWrite(A4, 0);
//analogWrite(A5, 0);
sim900a.init();//Khi module hu thi dong lenh nay de thu cac lenh khac
//digitalWrite(thu, LOW);
// void baodienap();
}
void loop() {
gia_tri_cam_bien = analogRead(A5);
giatridienap = analogRead(A1)*5/1023;
giatridienapcucdai = giatridienap*311/5;
giatridienapthucte = giatridienapcucdai/1.41;
//Serial.begin(9600 ); Serial.println(giatridienapthucte);
//Serial.println();
// delay(100);
// Serial.print(gia_tri_cam_bien );
//delay(1000);
// Serial.println((giatridienapthucte* 220)/3);
//delay(1000);
// Vùng nhận điện thế từ biến áp, tính toán và gởi tin nhắn cho người điều khiển báo
điện sụt áp. và thực hiện cuộc gọi đến máy người điều khiển.
if( giatridienap <3 ) {
// Serial.println(giatridienapthucte);
// delay(100);
while(k >=0 ){
sim900a.call("0978655137", 100);
k = k - 1;
digitalWrite(thu, HIGH);
sim900a.smsbegin("0978655137",20);
sim900a.smscontent("DIEN LUOI SUT AP: ");
sim900a.smscontent(giatridienapthucte);
// sim900a.smssend();
delay(500);
if(k == 0)k=0;break;digitalWrite(thu, LOW); }}
else k = 2; digitalWrite(thu, LOW);
//delay(10);
// Vùng nhận cuộc gọi,kích hoạt bật động cơ
if(analogRead(A4) * (5.0 / 1023.0)> 3){
while(m >=0 ){ m= m - 1; digitalWrite(kichhoat, HIGH);digitalWrite(kichhoat2,
LOW); //MOI
delay(2000);
if(m==0)m=0; break;digitalWrite(kichhoat, LOW);digitalWrite(kichhoat2, HIGH); }
}
else m=1 ; digitalWrite(kichhoat, LOW);digitalWrite(kichhoat2, HIGH); //MOI
if(analogRead(A2) * (5.0 / 1023.0)> 3){ while(p >=0 ){ p= p - 1;
digitalWrite(kichhoat, HIGH);
delay(1000);
if(p==0)p=0; break;digitalWrite(kichhoat, LOW);}}else p=2;digitalWrite(kichhoat,
LOW);
// Vùng nhận tín hiệu điện thế từ KĐT khi chạy ,thực hiện cuộc gọi, nhắn tin đến máy
người điều khiển.
if(analogRead(A2) * (5.0 / 1023.0)> 3){
while(i >=0 ){ i= i - 1; sim900a.smsbegin("0978655137",100);
sim900a.smscontent(" Dong co da bat");
//sim900a.smssend();
delay(3000);
if(i==0)i=0; break;}
}
else i=2 ;
// Vùng đọc dữ liệu từ cảm biến độ ẩm đất , tính toán và gởi tin nhắn cho người điều
khiển báo cần tưới nước.
if(gia_tri_cam_bien > 900){
gitridoam = 1-(gia_tri_cam_bien/ 1023);
while(l >=0 ){
//sim900a.call("0978655137");
l= l - 1;
digitalWrite(thu2, HIGH);
//sim900a.smsbegin("0978655137",20);
//sim900a.smscontent("Hello,DO AM THAP: ");
// sim900a.smscontent(gitridoam);
//sim900a.smssend();
// sim900a.call("0978655137");
delay(5000);
if(l==0)l=0; break;digitalWrite(thu2, LOW);}
}
else l=2 ;digitalWrite(thu2, LOW);
//Code nay cho nhan tin
//tham so thu 1 la so dien thoai
//tham so thu 2 la thoi gian goi tin nhan tiep theo sms.SendSMS(number, "Da bat");
//gửi tin nhắn phản hồi trạng thái,
//sim900a.smsbegin("0978655137",20);
//Noi dung tin nhan
//sim900a.smscontent("Hello ");
//sim900a.smscontent(gia_tri_cam_bien);
//sim900a.smssend();
//code nay cho goi dien
//tham so thu 1 la so dien thoai
//tham so thu 2 la thoi gian goi cuoc goi tiep theo
//sim900a.call("098xxxxxx",5);
//}
}
// het vong void loop
void thuchiencuocgoibaotat(){ if(analogRead(A2) * (5.0 / 1023.0)< 3){
while(n >=0 ){ n= n - 1; sim900a.call("0978655137");
delay(5000);if(n==0)n=0; break;}
}
else n=2 ; }