TTL Phòng gửi vào
- 30831 lượt xem
I.Giới thiệu
Xin chào mọi người, để tiếp nối chuỗi bài về Sim900A của anh PhuPOP, hôm nay mình xin giới thiệu với mọi người về một chức năng nữa cũng rất mạnh mẽ của Sim900A đó là "ĐIỀU KHIỂN THIẾT BỊ BẰNG CUỘC GỌI". Lần đầu viết bài có gì thiếu sót mong mọi người thông cảm và góp ý!
II.Đặc điểm
1.Ưu điểm
- Không tốn kém chi phí khi vận hành liên tục.(như thế nào thì lát mọi người biết ngay!).
- Không dễ bị nhiễu và khoảng cách rất xa hơn các phương pháp sử dụng sóng FM hay hồng ngoại.
Mọi người có thể đi du lịch ở Dubai mà vẫn tưới vườn ở Lâm Đồng chẳng hạn.....................................nhưng ở Dubai chẳng có chú Viettel hay ông cậu Vina nào đâu mà có mạng để gọi!!!hehehe chắc phải đổi mạng hay gì đấy, ai đi nước ngoài rồi chắc biết!
- Điều khiển được bằng nhiều số khác nhau tới 1 sim/mô đun. số không được cài đặt thì không được!
2. Nhược điểm
- Phải ở nơi phủ sóng điện thoại.
- Phương thức hiện tại mình viết chỉ điều khiển được một thiết bị.
Mình cũng đang cải tiến lên có thể điều khiển thiết bị nhiều thiết bị bằng cách gọi tới rồi ấn các số chẳng hạn nhưng chắc chắn là nó sẽ phức tạp và tốn kém hơn rất nhiều.
III. Chuẩn bị
Điều quan trọng nhất là.............
Một khối óc sáng tạo và niềm đam mê mãnh liệt! và
1. Phần cứng
- Bo ardunio nano, uno, mega...
- Bộ Sim900A mini hay shield... ai chưa rõ đặc điểm hay cách nối dây mời xem lại các bài viết trước về Sim900A.
Lấy sim ra và gắn vào một cái điện thoại để lưu các số có thể điều khiển, chú ý đến thứ tự! Khi mọi người lưu có tên thì các số sẽ sắp xếp theo bảng chữ cái tiếng anh, còn nếu không tên thì nõ sẽ được lưu theo thời gian trước sau! (cái điện thoại của mình thế).
- Điện thoại và các sim còn tiền. Điều đó là hiển nhiên không thì sẽ có một giọng khá là truyền cảm hứng cho ta mở ví lãnh lót cất lên! "muốn nhá thì cũng phải có tiền"!
2. Phần mềm
- Các phần mềm để nạp mã: Ardunio IDE, codebender...
- Thư viện Sim900A, download ở bài viết này.
IV. Mã tham khảo
#include "SIM900.h" #include <SoftwareSerial.h> #include "sms.h" #include "call.h" CallGSM call; SMSGSM sms; char number[20]; byte stat = 0; char value_str[5]; int trangthai = 0; //dùng xác định trạng thái thiết bị void setup() { pinMode(13, OUTPUT); digitalWrite(13, LOW); Serial.begin(9600); Serial.println("GSM Shield testing."); if (gsm.begin(2400)) Serial.println("\nstatus=READY"); else Serial.println("\nstatus=IDLE"); } void loop() { stat = call.CallStatusWithAuth(number, 1, 5); //kiểm tra trạng thái xem có cuộc gọi nào đến không //Nếu có số được lưu trong sim từ vị trí 1 đến 5 if (stat == CALL_INCOM_VOICE_AUTH) { call.HangUp(); //gác máy khỏi tốn hehehe! delay(1000); if (trangthai == 0) { digitalWrite(13, HIGH); sms.SendSMS(number, "Da bat"); //gửi tin nhắn phản hồi trạng thái, cái này tốn tiền,mọi người có thể bỏ đi! trangthai = 1; } else { if (trangthai == 1) { digitalWrite(13, LOW); sms.SendSMS(number, "Da tat"); trangthai = 0; } } } delay(1000); }
V. Kết thúc
Mong mọi người có cho mình những đề tài hay. Mã này giúp người mới cũng có thể dễ hiểu được, mọi khúc mắc hay góp ý mọi người gửi ở bên dưới, mình sẽ cố trả lời sớm nhất (kinh tế khó khăn ké mạng nhà hàng xóm nhưng hơi xa nên nó chập chờn biết đâu một ngày một người nào đó trong cộng đồng phát minh ra cái gì đấy làm mạng internet mạnh hơn, xa hơn, rẽ hơn...giúp những người như mình và phát triển đất nước hehehe, chào thân ái! Cảm ơn mọi người!