Bách khoa toàn thư về an toàn cháy nổ

Báo động không dây dựa trên Arduino. Tạo báo động chống trộm bằng cảm biến chuyển động dựa trên Arduino và cảm biến hồng ngoại Báo động chống trộm trên arduino

Chúng là những nền tảng phần cứng đặc biệt trên cơ sở đó bạn có thể tạo ra các thiết bị điện tử khác nhau, bao gồm và. Các thiết bị loại này được đặc trưng bởi thiết kế đơn giản và khả năng lập trình các thuật toán hoạt động của chúng. Nhờ đó, được tạo bằng Arduino Báo động GSM, có thể được điều chỉnh tối đa cho đối tượng mà nó sẽ bảo vệ.

Mô-đun Arduino là gì?

Arduinos được thực hiện dưới dạng bảng nhỏ có bộ vi xử lý và bộ nhớ riêng. Bảng cũng chứa một tập hợp các liên hệ chức năng mà các thiết bị điện khác nhau có thể được kết nối với nhau, bao gồm cả các cảm biến được sử dụng cho các hệ thống an ninh.

Bộ xử lý Arduino cho phép bạn tải một chương trình do chính người dùng viết. Bằng cách tạo thuật toán độc đáo của riêng bạn, bạn có thể cung cấp các chế độ hoạt động tối ưu của hệ thống báo động an ninh cho các đối tượng khác nhau và cho điều kiện khác nhau sử dụng và các nhiệm vụ cần giải quyết.

Làm việc với Arduino có khó không?

Các mô-đun Arduino rất phổ biến đối với nhiều người dùng. Điều này đã được thực hiện do tính đơn giản và khả năng tiếp cận của nó.

Các chương trình điều khiển mô-đun được viết bằng C ++ thông thường và các phần bổ sung dưới dạng các hàm đơn giản để kiểm soát các quá trình đầu vào / đầu ra trên các tiếp điểm của mô-đun. Ngoài ra, môi trường phần mềm miễn phí Arduino IDE, hoạt động trên Windows, Linux hoặc Mac OS, cũng có thể được sử dụng để lập trình.

Với mô-đun Arduino, quy trình lắp ráp thiết bị được đơn giản hóa rất nhiều. Báo động GSM trên Arduino có thể được tạo mà không cần mỏ hàn - quá trình lắp ráp diễn ra bằng cách sử dụng bảng mạch, jumper và dây.

Làm thế nào để tạo báo thức với Arduino?

Các yêu cầu chính mà hệ thống cảnh báo gsm do-it-yourself tạo trên Arduino phải đáp ứng bao gồm:

  • thông báo cho chủ sở hữu của đồ vật về việc đột nhập, xâm nhập;
  • hỗ trợ các hệ thống bên ngoài như còi âm thanh, đèn tín hiệu;
  • điều khiển báo động qua tin nhắn SMS hoặc cuộc gọi;
  • Hoạt động tự động mà không cần nguồn điện bên ngoài.

Để tạo báo thức, bạn sẽ cần:

  • Mô-đun Arduino;
  • một bộ cảm biến chức năng;
  • hoặc modem;
  • nguồn điện tự trị;
  • các thiết bị điều hành bên ngoài.

Một tính năng khác biệt của các mô-đun Arduino là sử dụng các bảng mở rộng đặc biệt. Với sự trợ giúp của họ, tất cả các thiết bị bổ sung được kết nối với Arduino, được yêu cầu để xây dựng cấu hình. hệ thống an ninh. Các bảng như vậy được lắp đặt trên đầu mô-đun Arduino dưới dạng "bánh sandwich" và các thiết bị phụ trợ tương ứng được kết nối với chính bảng.

Làm thế nào nó hoạt động?

Khi một trong các cảm biến được kết nối được kích hoạt, một tín hiệu sẽ được truyền đến bộ xử lý mô-đun Arduino. Sử dụng phần mềm người dùng đã tải xuống, bộ vi xử lý xử lý nó theo một thuật toán nhất định. Do đó, lệnh khởi động bộ truyền động bên ngoài có thể được tạo ra, lệnh này được truyền tới nó thông qua bảng giao diện mở rộng tương ứng.

Để cung cấp khả năng gửi tín hiệu cảnh báo cho chủ sở hữu ngôi nhà hoặc căn hộ đang được canh gác, một mô-đun GSM đặc biệt được kết nối với mô-đun Arduino thông qua một bảng mở rộng. Nó lắp thẻ SIM từ một trong các nhà cung cấp giao tiếp di động.

Trong trường hợp không có bộ chuyển đổi GSM đặc biệt, điện thoại di động thông thường cũng có thể phát huy vai trò của nó. Ngoài việc gửi cảnh báo SMS về báo thức và quay số, sự hiện diện của kết nối di động sẽ cho phép bạn điều khiển cảnh báo GSM trên Arduino từ xa, cũng như theo dõi trạng thái của đối tượng bằng cách gửi các yêu cầu đặc biệt.

"Ghi chú!

Để giao tiếp với chủ sở hữu của đối tượng, ngoài các mô-đun GSM, cũng có thể sử dụng các modem thông thường, cung cấp thông tin liên lạc qua Internet.

Trong trường hợp này, khi cảm biến được kích hoạt, tín hiệu do bộ xử lý xử lý sẽ được truyền qua modem đến một cổng hoặc trang web đặc biệt. Và từ trang web, tự động tạo tin nhắn SMS cảnh báo hoặc gửi thư đến e-mail đính kèm được thực hiện.

kết luận

Việc sử dụng các mô-đun Arduino sẽ cho phép người dùng thiết kế độc lập các cảnh báo GSM có thể hoạt động với các cảm biến chức năng khác nhau và điều khiển các thiết bị bên ngoài. Nhờ khả năng sử dụng các cảm biến khác nhau, các chức năng cảnh báo có thể được mở rộng đáng kể và một tổ hợp có thể được tạo ra để giám sát không chỉ sự an toàn của đối tượng mà còn cả tình trạng của nó. Ví dụ, có thể kiểm soát nhiệt độ tại cơ sở, phát hiện rò rỉ nước và khí đốt, ngắt nguồn cung cấp của chúng trong trường hợp xảy ra tai nạn, v.v.

Trong thập kỷ qua, trộm cắp xe hơi đã chiếm một trong những vị trí quan trọng nhất trong cơ cấu tội phạm trên thế giới. Điều này không phải do tỷ trọng cụ thể của loại tội phạm trộm cắp này so với tổng số tội phạm, mà là do tầm quan trọng của thiệt hại gây ra do giá xe ô tô cao. Hiệu quả yếu kém của các biện pháp đấu tranh chống trộm cắp phương tiện cơ giới đến cuối những năm 90 đã dẫn đến việc hình thành các ổ nhóm ổn định chuyên thực hiện các loại tội phạm này và có dấu hiệu là tội phạm có tổ chức; chắc hẳn bạn đã từng nghe đến thuật ngữ "kinh doanh xe hơi màu đen". Bãi đỗ xe của các quốc gia châu Âu hàng năm bỏ sót ≈ 2% số xe ô tô trở thành đối tượng của tội phạm xâm phạm. Vì vậy, tôi có ý tưởng tạo một cảnh báo gsm cho ô tô của mình dựa trên Arduino Uno.

Hãy bắt đầu!

Chúng tôi sẽ thu thập từ những gì?

Chúng ta phải chọn trung tâm của hệ thống của mình. Theo tôi, đối với tín hiệu như vậy, không có gì tốt hơn Arduino Uno. Tiêu chí chính là đủ số lượng “chân cắm” và giá cả.


Các tính năng chính của Arduino Uno

Vi điều khiển - ATmega328
Điện áp hoạt động - 5 V
Điện áp đầu vào (khuyến nghị) - 7-12 V
Điện áp đầu vào (giới hạn) - 6-20 V
I / O kỹ thuật số - 14 (6 trong số đó có thể được sử dụng làm đầu ra PWM)
Đầu vào tương tự - 6
Dòng điện một chiều thông qua đầu vào / đầu ra - 40 mA
Dòng điện một chiều cho đầu ra 3.3V - 50mA
Bộ nhớ flash - 32 KB (ATmega328) trong đó 0,5 KB được sử dụng cho bộ nạp khởi động
RAM - 2 Kb (ATmega328)
EEPROM - 1 Kb (ATmega328)
Tần số đồng hồ - 16 MHz


Vừa vặn!

Bây giờ bạn cần chọn một mô-đun gsm, vì hệ thống báo động của chúng tôi có thể thông báo cho chủ sở hữu xe. Vì vậy, bạn cần phải “google” ... Ở đây, một cảm biến tuyệt vời là SIM800L, kích thước thật tuyệt vời.


Tôi đã nghĩ và đặt mua nó từ Trung Quốc. Tuy nhiên, mọi thứ không được hồng hào như vậy. Cảm biến chỉ đơn giản là từ chối đăng ký thẻ SIM trên mạng. Mọi thứ có thể đã được thử - kết quả là số không.
tìm người tốt bụng, người đã cung cấp cho tôi một thứ tuyệt vời hơn - Sim900 Shield. Bây giờ đây là một số công cụ nghiêm trọng. Shield có cả giắc cắm micrô và tai nghe, một chiếc điện thoại chính thức.


Các tính năng chính của Sim900 Shield

4 tiêu chuẩn tần số hoạt động 850/900/1800/1900 MHz
Lớp đa khe cắm GPRS 10/8
Trạm di động GPRS loại B
Tuân theo GSM giai đoạn 2/2 +
Loại 4 (2 W @ 850/900 MHz)
Loại 1 (1 W @ 1800 / 1900MHz)
Điều khiển thông qua các lệnh AT (GSM 07.07, 07.05 và các lệnh AT mở rộng SIMCOM)
Tiêu thụ điện năng thấp: 1,5mA (chế độ ngủ)
Phạm vi nhiệt độ hoạt động: -40 ° C đến + 85 ° C


Vừa vặn!

Được, nhưng bạn cần đọc kết quả từ một số cảm biến để thông báo cho chủ sở hữu. Đột nhiên xe được sơ tán, khi đó vị trí của xe hiển nhiên sẽ thay đổi theo không gian. Lấy một gia tốc kế và một con quay hồi chuyển. Xuất sắc. Taxi, bây giờ chúng tôi đang tìm kiếm một cảm biến.

Tôi nghĩ rằng GY-521 MPU6050 chắc chắn sẽ phù hợp. Hóa ra nó cũng có cảm biến nhiệt độ. Nó là cần thiết để sử dụng nó, sẽ có một "tính năng giết người" như vậy. Giả sử chủ xe để dưới nhà rồi bỏ đi. Nhiệt độ bên trong xe sẽ thay đổi một cách “trơn tru”. Điều gì xảy ra nếu một kẻ đột nhập cố gắng vào trong xe? Ví dụ, anh ta sẽ có thể mở cửa. Nhiệt độ trong xe sẽ bắt đầu thay đổi nhanh chóng, vì không khí trong cabin sẽ bắt đầu trộn lẫn với không khí Môi trường. Tôi nghĩ rằng nó sẽ hoạt động.


Các tính năng chính của GY-521 MPU6050

Mô-đun con quay hồi chuyển 3 trục + gia tốc kế 3 trục GY-521 trên chip MPU-6050. Cho phép bạn xác định vị trí và chuyển động của một đối tượng trong không gian, vận tốc góc trong quá trình quay. Nó cũng có một cảm biến nhiệt độ tích hợp. Nó được sử dụng trong các chương và mô hình máy bay khác nhau, và dựa trên các cảm biến này, bạn có thể lắp ráp một hệ thống chụp chuyển động.

Chip - MPU-6050
Điện áp cung cấp - từ 3,5V đến 6V (DC);
Phạm vi con quay hồi chuyển - ± 250 500 1000 2000 ° / s
Phạm vi gia tốc kế - ± 2 ± 4 ± 8 ± 16g
Giao diện truyền thông - I2C
Kích thước - 15x20 mm.
Trọng lượng - 5 g


Vừa vặn!

Cảm biến rung cũng rất hữu ích. Đột nhiên, họ sẽ cố gắng mở xe bằng "vũ lực", hoặc trong bãi đậu xe, một chiếc xe khác sẽ chạm vào xe của bạn. Hãy lấy cảm biến rung SW-420 (có thể điều chỉnh).


Các tính năng chính của SW-420

Điện áp cung cấp - 3,3 - 5V
Tín hiệu đầu ra - kỹ thuật số Cao / Thấp (thường đóng)
Cảm biến đã qua sử dụng - SW-420
Bộ so sánh đã sử dụng - LM393
Kích thước - 32x14 mm
Ngoài ra - Có một điện trở điều chỉnh.


Vừa vặn!

Vặn mô-đun thẻ nhớ SD. Hãy viết một tệp nhật ký.


Các tính năng chính của mô-đun thẻ nhớ SD

Mô-đun cho phép bạn lưu trữ, đọc và ghi vào thẻ SD dữ liệu cần thiết cho hoạt động của thiết bị dựa trên vi điều khiển. Việc sử dụng thiết bị có liên quan khi lưu trữ các tệp từ hàng chục megabyte đến hai gigabyte. Bo mạch chứa một hộp đựng thẻ SD, một bộ ổn định nguồn thẻ, một đầu nối cho giao diện và đường dây điện. Nếu bạn cần làm việc với âm thanh, video hoặc dữ liệu âm lượng khác, chẳng hạn như ghi nhật ký sự kiện, dữ liệu cảm biến hoặc lưu trữ thông tin máy chủ web, thì mô-đun thẻ nhớ SD cho Arduino sẽ giúp bạn có thể sử dụng thẻ SD cho những mục đích này. Sử dụng mô-đun, bạn có thể nghiên cứu các tính năng của thẻ SD.
Điện áp cung cấp - 5 hoặc 3,3 V
Dung lượng bộ nhớ thẻ SD - lên đến 2 GB
Kích thước - 46 x 30 mm


Vừa vặn!

Và thêm một ổ đĩa servo, khi các cảm biến được kích hoạt, ổ đĩa servo với DVR sẽ quay và quay video về sự cố. Sử dụng servo MG996R.


Các tính năng chính của MG996R servo

ổn định và bảo vệ đáng tin cậy khỏi thiệt hại
- Ổ kim loại
- Vòng bi hai hàng
- Chiều dài dây 300 mm
- Kích thước 40x19x43mm
- Trọng lượng 55 gr
- Góc quay: 120 độ
- Tốc độ hoạt động: 0,17 giây / 60 độ (4,8V không tải)
- Tốc độ hoạt động: 0,13 giây / 60 độ (6V không tải)
- Mômen khởi động: 9,4kg / cm ở nguồn điện 4,8V
- Mômen khởi động: 11kg / cm với nguồn 6V
- Điện áp hoạt động: 4.8 - 7.2V
- Tất cả các bộ phận truyền động được làm bằng kim loại


Vừa vặn!

Sưu tập

Có một số lượng lớn các bài báo về kết nối từng cảm biến trong Google. Và tôi không có mong muốn phát minh ra xe đạp mới, vì vậy tôi sẽ để lại các liên kết đến các tùy chọn đơn giản và hiệu quả.

Cảm biến hồng ngoại (IR) thường được sử dụng để đo khoảng cách, nhưng chúng cũng có thể được sử dụng để phát hiện vật thể. Bằng cách kết nối một số cảm biến IR với Arduino, chúng ta có thể tạo ra một cảnh báo trộm.

Kiểm tra lại

Cảm biến hồng ngoại (IR) thường được sử dụng để đo khoảng cách, nhưng chúng cũng có thể được sử dụng để phát hiện vật thể. Cảm biến hồng ngoại bao gồm một bộ phát hồng ngoại và một bộ thu hồng ngoại. Máy phát phát ra các xung bức xạ hồng ngoại trong khi máy thu phát hiện bất kỳ phản xạ nào. Nếu bộ thu phát hiện ra phản xạ, điều đó có nghĩa là có một số đối tượng ở phía trước bộ cảm biến ở một khoảng cách nào đó. Nếu không có phản chiếu thì không có đối tượng.

Cảm biến hồng ngoại mà chúng tôi sẽ sử dụng trong dự án này phát hiện phản xạ trong một phạm vi nhất định. Các cảm biến này có một thiết bị ghép nối tích điện tuyến tính nhỏ (CCD) phát hiện góc mà bức xạ IR quay trở lại cảm biến. Như trong hình bên dưới, cảm biến truyền một xung hồng ngoại vào không gian và khi một vật thể xuất hiện trước cảm biến, xung này sẽ phản xạ lại cảm biến theo một góc tỷ lệ với khoảng cách giữa vật thể và cảm biến. Bộ thu cảm biến phát hiện và xuất ra góc, và sử dụng giá trị này, bạn có thể tính toán khoảng cách.

Bằng cách kết nối một vài cảm biến IR với Arduino, chúng ta có thể thực hiện một cảnh báo trộm đơn giản. Chúng tôi sẽ đặt các cảm biến trên khung cửa và bằng cách căn chỉnh các cảm biến một cách hợp lý, chúng tôi sẽ có thể phát hiện khi ai đó bước qua cửa. Khi điều này xảy ra, đầu ra của cảm biến IR sẽ thay đổi và chúng tôi sẽ phát hiện sự thay đổi này bằng cách liên tục đọc đầu ra của cảm biến với Arduino. Trong ví dụ này, chúng ta biết rằng một đối tượng đi qua cửa khi đầu ra cảm biến IR vượt quá 400. Khi điều này xảy ra, Arduino sẽ kích hoạt cảnh báo. Để đặt lại báo thức, người dùng có thể nhấn nút.

Phụ kiện

  • 2 x cảm biến khoảng cách IR;
  • 1 x Arduino Mega 2560
  • 1 x còi;
  • 1 nút x;
  • Điện trở 1 x 470 ohm;
  • 1 x bóng bán dẫn NPN;
  • người nhảy.

Sơ đồ kết nối

Mạch cho dự án này được hiển thị trong hình dưới đây. Đầu ra của hai cảm biến IR được kết nối với chân A0 và A1. Hai chân còn lại được kết nối với chân 5V và GND. Một còi 12 volt được kết nối với chân 3 thông qua một bóng bán dẫn và một nút dùng để tắt báo động được kết nối với chân 4.


Bức ảnh dưới đây cho thấy cách chúng tôi dán các cảm biến vào khung cửa cho thí nghiệm này. Tất nhiên, trong trường hợp sử dụng liên tục, bạn sẽ cài đặt các cảm biến theo cách khác.


Cài đặt

  1. Kết nối các chân 5V và GND của bảng Arduino với nguồn và chân GND của cảm biến. Bạn cũng có thể cung cấp nguồn điện bên ngoài cho chúng.
  2. Kết nối các chân đầu ra của các cảm biến với các chân A0 và A1 của bảng Arduino.
  3. Kết nối chân 3 của Arduino với đế của bóng bán dẫn thông qua một điện trở 1K.
  4. Áp dụng 12V cho bộ thu của bóng bán dẫn.
  5. Kết nối dây dẫn dương của còi 12V với bộ phát và dây dẫn âm với đường sắt nối đất.
  6. Kết nối chân 4 với chân 5V thông qua một nút. Vì lý do an toàn, tốt nhất bạn nên thực hiện việc này thông qua một điện trở nhỏ bổ sung để tránh dòng điện cao.
  7. Kết nối bảng Arduino với máy tính của bạn qua cáp USB và tải chương trình lên bộ vi điều khiển bằng Arduino IDE.
  8. Cấp nguồn cho bảng Arduino bằng nguồn điện, pin hoặc cáp USB.

Mật mã

const int buzzer = 3; // chân 3 là đầu ra của buzzer const int pushbutton = 4; // chân 4 là đầu vào của nút void setup () (pinMode (buzzer, OUTPUT); // đặt chân 3 thành đầu ra pinMode (nút nhấn, INPUT); // đặt chân 4 thành đầu vào) void loop () (// đọc đầu ra của cả hai cảm biến và so sánh kết quả với giá trị ngưỡng int sensor1_value = analogRead (A0); int sensor2_value = analogRead (A1); if (sensor1_value> 400 || sensor2_value> 400) (while (true) (digitalWrite ( buzzer, HIGH); // bật báo thức if (digitalRead (nút bấm) == CAO) break;)) else (digitalWrite (buzzer, LOW); // tắt báo thức))

Video

Chào buổi chiều! Một lần nữa, một bài đánh giá nhiều về linh kiện điện tử Trung Quốc, như thường lệ, một chút về mọi thứ, tôi sẽ cố gắng ngắn hơn, nhưng liệu nó có hiệu quả không? Vì vậy, đáp ứng, hệ thống báo động GSM có giá lên đến 700 ₽. Thú vị? Xin vui lòng dưới "cắt"!

Bắt đầu nào! Trước khi bắt đầu, tôi khuyên bạn nên xem xét cái này, ít thành phần hơn và quyền tự chủ cao hơn. Vì vậy, "điều khoản tham chiếu", các yêu cầu cơ bản để báo hiệu:

1) Thông báo khi cảm biến được kích hoạt.
2) Trong trường hợp mất điện, một số quyền tự chủ phải được cung cấp.
3) Quản lý báo động qua sms và cuộc gọi.

Do quá trình tạo cảnh báo bị trì hoãn trong vài tháng và một số người bán không còn bán các thành phần đã mua từ họ nữa, các liên kết sẽ được cập nhật thành hàng hóa của những người bán khác có mức tối đa hoặc gần mức tối đa số lượng bán hàng hóa và giá tốt nhất. Giá trong bài đánh giá hiện tại tính đến ngày viết bài.

Danh sách những gì bạn cần:

Danh sách các thay đổi

GSM_03_12_2016-14-38.hex- Cố định hoạt động của thiết bị với modem M590.
GSM_05_12_2016-13-45.hex- Thêm memtest lệnh console, tối ưu hóa việc sử dụng RAM.
GSM_2016_12_06-15-43.hex- Đã thêm đầu ra kết quả lệnh vào bảng điều khiển, tối ưu hóa bộ nhớ. Chiếm: 49% SRAM.
GSM_2016_12_07-10-59.hex- bây giờ số điện thoại được thêm vào và loại bỏ một cách chính xác. Chiếm: 49% SRAM, 74% Bộ nhớ Flash.
GSM_2016_12_07-15-38.hex- thêm khả năng kết nối cảm biến chuyển động, kết nối với chân A0 (trong trường hợp này, chân A0 được sử dụng như một chân kỹ thuật số). Đã thêm lệnh SMS PIRON, PIR tắt. Chiếm: 48% SRAM, 76% bộ nhớ flash.
GSM_2016_12_08-13-53.hex- Bây giờ, sau khi thực hiện thành công một lệnh không gửi tin nhắn SMS phản hồi, thiết bị sẽ nhấp nháy đèn LED màu xanh lam một lần. Bây giờ, sau khi thực hiện sai một lệnh không gửi tin nhắn SMS theo phản hồi, thiết bị sẽ nhấp nháy hai lần với đèn LED màu xanh lam. Bây giờ, sau khi khởi tạo các thông số của thiết bị, nếu bật chế độ "im lặng" (SendSms = 0), thiết bị sẽ nhấp nháy nhanh với đèn LED màu xanh lam trong 2 giây. Sửa lỗi không phải lúc nào số điện thoại cũng bị xóa khỏi bộ nhớ bằng lệnh DeletePhone. Chiếm: 48% SRAM, 78% Bộ nhớ Flash.
GSM_2016_12_11-09-12.hex- Thêm lệnh console AddPhone và DeletePhone, cú pháp tương tự như lệnh SMS. Tối ưu hóa bộ nhớ. Chiếm: 43% SRAM, 79% Bộ nhớ Flash.
GSM_2017_01_03-22-51.hex- Đã triển khai hỗ trợ cho các bộ mở rộng cổng I / O tương tự trên chip PCF8574, để kết nối thêm 8 cảm biến, bao gồm cả công tắc sậy. Tìm kiếm tự độngđịa chỉ và cấu hình mô-đun tự động. Tên tiêu chuẩn của các cảm biến và mức độ logic của hoạt động của chúng được thay đổi bằng lệnh EditSensor. Đã thay đổi nội dung của SMS cảnh báo cho cảm biến chính (chân D0) “Báo động! cảm biến chính! và cảm biến chuyển động (chân A0) “Alarm! Cảm biến PIR! Đã thêm lệnh EditSensor và I2CScan. Chiếm: 66% SRAM, 92% bộ nhớ flash.
GSM_2017_01_15-23-26.hex- Hỗ trợ modem A6_Mini. Kiểm soát sự hiện diện của nguồn điện bên ngoài (chân D7). Đã thêm các lệnh SMS WatchPowerOn, WatchPowerOff. Đã thêm các lệnh console ListConfig, ListSensor. Bây giờ lệnh sms EditSensor hoạt động chính xác. Đầu ra của thông tin gỡ lỗi đến màn hình cổng đã bị "cắt giảm" một chút. Chiếm: 66% SRAM, 95% bộ nhớ Flash.
GSM_2017_01_16-23-54.hex- Bây giờ trong tin nhắn phản hồi với lệnh SMS "Thông tin" trạng thái của cảm biến chuyển động cũng được báo cáo. Đã sửa lỗi do đôi khi các tin nhắn SMS phản hồi trống được gửi. Giờ đây, thiết bị không chỉ thông báo về việc tắt máy mà còn thông báo về việc nguồn điện bên ngoài được nối lại. Tất cả các modem bắt đầu “ít nói hơn”, giờ đây, màn hình cổng đã trở nên gọn gàng hơn một chút. Chiếm: 66% SRAM, 95% bộ nhớ Flash.
GSM_2017_02_04-20-23.hex- Đã sửa lỗi "Watch the power on". Bây giờ, sau khi giải giáp, "pin báo động" đã tắt. Bây giờ, sau khi xóa số, thông tin chính xác được hiển thị trong bảng điều khiển. Có lẽ một lỗi đã được sửa do đôi khi các tin nhắn SMS phản hồi trống được gửi đi. Chiếm: 66% SRAM, 90% bộ nhớ flash.
GSM_2017_02_14-00-03.hex- Bây giờ, theo mặc định, tin nhắn SMS được gửi đi, thông số SendSms một lần nữa bằng 1. Bây giờ, khi các tiếp điểm của công tắc cây lau chính được đóng lại (cửa đóng), thiết bị sẽ nhấp nháy đèn LED màu xanh trong 2 giây, báo hiệu hoạt động bình thường của cảm biến. Chiếm: 66% SRAM, 90% bộ nhớ flash.
GSM_2017_03_01-23-37.hex- Lệnh WatchPowerOn đã bị loại bỏ. Đã thêm lệnh điều khiển WatchPowerOff, giống với lệnh SMS. Đã thêm các lệnh WatchPowerOn1, WatchPowerOn2. WatchPowerOn1 - giám sát nguồn bên ngoài được bật nếu cảnh báo được trang bị, WatchPowerOn2 - giám sát nguồn bên ngoài luôn được bật. Chức năng trang bị vũ khí và giải giáp bằng các thiết bị bên ngoài đã được thực hiện, cho mục đích này các đầu cuối A1 (D15) và A2 (D16) được sử dụng. Cảnh báo sẽ hoạt động / vô hiệu hóa khi nó xuất hiện trên đầu ra A1 (D15) cấp độ cao+ 5V hoặc tại chân A2 (D16) GND thấp. Chân A1 (D15) được kéo lên GND, chân A2 (D16) được kéo lên + 5V thông qua các điện trở 20 (10) kOhm. Đã thêm các lệnh GuardButtonOn và GuardButtonOff. Bây giờ, sau khi trang bị, đèn LED màu đỏ sẽ nhấp nháy cho đến khi kiểm tra tính toàn vẹn của mạch cảm biến cây sậy chính. Nếu mạch hoàn tất, đèn LED màu đỏ sẽ sáng. Chiếm: 66% SRAM, 95% bộ nhớ Flash.
GSM_2017_03_12-20-04.hex- Bây giờ bảng điều khiển thậm chí còn sạch hơn, nhưng nếu chế độ kiểm tra "TestOn" được bật, thông tin bổ sung sẽ được hiển thị trong bảng điều khiển. Lỗi "Đã gửi!" Đã được sửa, giờ đây thông tin về việc gửi tin nhắn được hiển thị chính xác trong bảng điều khiển. Đã sửa lỗi "lặp lại cuộc gọi giả". Bây giờ yêu cầu số dư sẽ hoạt động chính xác trên tất cả các modem. Chiếm: 67% SRAM, 95% bộ nhớ flash.
GSM_2017_04_16-12-00.hex- Đã sửa. Bây giờ các lệnh Thông tin và Tiền sẽ luôn gửi một tin nhắn SMS phản hồi. Lệnh GuardButtonOn đã được thay thế bằng các lệnh GuardButtonOn1 và GuardButtonOn2. Chiếm: 67% SRAM, 99% bộ nhớ flash.
GSM_2017_04_21-09-43.hex - không được khuyến khích sử dụng, chỉ dùng để kiểm tra, cảm ơn vì đã tìm thấy lỗi :) - Hiện tại thông số sendms không ảnh hưởng đến việc gửi tin nhắn SMS để giám sát lưới điện. Đã thêm lệnh SMS DelayBeforeGuard chịu trách nhiệm về độ trễ khi trang bị vũ khí, giá trị không được vượt quá 255 giây. Đã thêm lệnh SMS DelayBeforeAlarm chịu trách nhiệm trì hoãn việc gửi thông báo và bật "pin báo động" khi cảm biến được kích hoạt, giá trị không được vượt quá 255 giây. Đã xóa các lệnh ClearSMS, giờ đây các tin nhắn sẽ tự động bị xóa khi nhận được. Chiếm: 68% SRAM, 100% bộ nhớ Flash.
GSM_2017_04_22-20-42.hex- Sửa nhiều lỗi. Các lệnh ClearSMS đã trở lại trong chương trình cơ sở. Tối ưu hóa bộ nhớ. Chiếm: 68% SRAM, 98% Bộ nhớ Flash.
GSM_2017_04_23-17-50.hex- Bây giờ yêu cầu số dư sẽ hoạt động chính xác trên tất cả các modem. Việc trang bị và giải giáp bằng các thiết bị bên ngoài hiện hoạt động chính xác. Lệnh thông tin Tin nhắn phản hồi SMS không được để trống. Tối ưu hóa bộ nhớ. Chiếm: 68% SRAM, 98% Bộ nhớ Flash.
GSM_2017_04_24-13-22.hex- Hiện đang chuyển các lệnh bảng điều khiển tới Mô-đun GSM chỉ thực hiện nếu chế độ kiểm tra được bật. Bây giờ không có sự phân chia thành lệnh SMS và lệnh giao diện điều khiển, tất cả các lệnh hiện có có thể được gửi cả qua SMS và qua bàn điều khiển. Có thể đã sửa một lỗi với lệnh Info. Tối ưu hóa bộ nhớ. Chiếm: 68% SRAM, 94% Bộ nhớ Flash.
GSM_2017_04_25-20-54.hex- Sửa lỗi trong đó lệnh ListConfig đã thay đổi giá trị của sự kiện cuối cùng. Giờ đây, khi nhập lệnh thông qua bảng điều khiển, các tin nhắn SMS không cần thiết sẽ không được gửi đi. Có thể đã sửa một lỗi với lệnh Info. Tối ưu hóa bộ nhớ. Chiếm: 66% SRAM, 94% Bộ nhớ Flash.
GSM_2017_04_30-12-57.hex- Đầu ra tạm thời được kích hoạt thông tin thêm vào bảng điều khiển khi gửi tin nhắn SMS và tạo phản hồi cho lệnh Thông tin. Có thể đã sửa một lỗi với lệnh Info. Tối ưu hóa bộ nhớ. Chiếm: 66% SRAM, 92% bộ nhớ flash.
GSM_2017_05_06-11-52.hex- Đã sửa lỗi với chức năng DelayBeforeAlarm. Chiếm: 66% SRAM, 93% Bộ nhớ Flash.
GSM_2017_05_23-21-27.hex- Thay đổi một chút đầu ra của thông tin vào bảng điều khiển. Đã thêm hỗ trợ cho các mô-đun mở rộng cổng trên PCF8574A với các địa chỉ từ 0x38 đến 0x3f. Đã sửa lỗi c. Bây giờ thiết bị sẽ tự động khởi động lại sau các lệnh FullReset, ResetConfig, ResetPhone và trong trường hợp thực hiện thành công lệnh MemTest. Đã thêm lệnh WatchPowerTime. Bây giờ có thể đặt thời gian mà sau đó một tin nhắn SMS về việc nguồn điện bên ngoài bị ngắt kết nối sẽ được gửi đi. Chiếm: 67% SRAM, 94% bộ nhớ flash.
GSM_2017_05_26-20-22.hex- Cố định bộ nhớ cảm biến khởi tạo bảng mở rộng. Cú pháp của lệnh AddPhone đã được thay đổi. Đã thêm lệnh EditMainPhone. Nguyên tắc hoạt động của hệ thống thông báo đã được thay đổi, khi kích hoạt cảm biến, tin nhắn sms sẽ được gửi trước, sau đó sẽ thực hiện các cuộc gọi thoại. Tin nhắn sms báo động sẽ được gửi đến các số điện thoại có dấu "S" (SMS). Các cuộc gọi thoại sẽ được thực hiện đến các số có dấu "R" (Đổ chuông). Thông báo về việc tắt / bật nguồn điện bên ngoài sẽ được gửi đến các số điện thoại có ký hiệu "P" (Nguồn). Đã thêm lệnh RingTime. Bây giờ có thể cài đặt thời lượng của cuộc gọi thoại báo thức, thông số có thể có giá trị từ 10 đến 255 giây. Giờ đây, lệnh RingOn / RingOff bật / tắt thông báo bằng cuộc gọi thoại trên toàn cầu. Đã thêm lệnh ResetSensor. Chiếm: 68% SRAM, 99% Bộ nhớ Flash.
GSM_2017_06_02-17-43.hex- Tham số "I" (Thông tin) đã được thêm vào lệnh AddPhone và EditMainPhone, chịu trách nhiệm thông báo sms về việc trang bị hoặc giải giáp thiết bị. Bây giờ, sau khi thêm số chính, thiết bị sẽ tự động khởi động lại. Bây giờ bạn có thể nhập các số giống nhau vào bộ nhớ của thiết bị. Khi thêm các số trùng lặp thứ hai và tiếp theo, các thuộc tính "M", "S", "P" và "I" sẽ tự động bị xóa khỏi chúng. Những số này sẽ được sử dụng cho các cuộc gọi thoại lặp lại khi các cảm biến được kích hoạt. Đã sửa lỗi đầu ra sai cho bảng điều khiển sau khi thực hiện lệnh AddPhone, hiện thông tin không được hiển thị tự động sau khi thêm số. Đã thêm lệnh Khởi động lại. Chiếm: 69% SRAM, 99% Bộ nhớ Flash.
GSM_2017_06_11-00-07.hex- Bây giờ một lần nữa, khi các điểm tiếp xúc của công tắc cây lau chính được đóng lại (cửa đóng), thiết bị sẽ nhấp nháy với đèn LED màu xanh trong 2 giây, báo hiệu hoạt động bình thường của cảm biến, trong khi thiết bị không được tính đến khi thiết bị được trang bị vũ khí hoặc vũ khí. Các lệnh RingOn / RingOff đã bị loại bỏ. Bây giờ thiết bị có thể được tắt trong khi có cuộc gọi báo thức, bây giờ chúng được thực hiện ở chế độ nền. Chiếm: 69% SRAM, 99% Bộ nhớ Flash.
GSM_2017_07_04-21-52.hex- Bây giờ lệnh Tạm dừng không gửi tin nhắn SMS trả lời. Đã loại bỏ các lệnh TestOn và TestOff. Tất cả các số đều bị xóa dấu hiệu Quản lý. Chiếm: 68% SRAM, 96% bộ nhớ flash.
GSM_2017_07_24-12-02.hex- Đã thêm lệnh ReedSwitchOn / ReedSwitchOff để theo dõi cảm biến cây lau chính, giờ đây nó có thể được bật / tắt theo cách tương tự như cảm biến chuyển động. Đã sửa lỗi lệnh Thông tin. Các lệnh TestOn và TestOff đã trở lại trong chương trình cơ sở. Chiếm: 68% SRAM, 96% bộ nhớ flash.
GSM_2017_07_26-10-03.hex- Đã thêm lệnh ModemID. Modem chỉ tự động được phát hiện khi giá trị của thông số này bằng 0. Sau khi đặt giá trị thông số thành 0, thiết bị sẽ tự động được khởi động lại. Chiếm: 68% SRAM, 98% Bộ nhớ Flash.
GSM_2017_08_03-22-03.hex- Bây giờ báo động có thể điều khiển các thiết bị bên ngoài. Đầu ra tương tự A3 được sử dụng để điều khiển (D17 được sử dụng làm đầu ra kỹ thuật số). Có thể thay đổi mức logic đầu ra (+ 5V hoặc GND), sau khi thay đổi mức thông qua lệnh cài đặt, thiết bị sẽ tự động khởi động lại. Thời lượng của tín hiệu điều khiển thiết bị bên ngoài có thể được thay đổi. Đã thêm các lệnh ExtDeviceLevelLow, ExtDeviceLevelHigh, ExtDeviceTime, Open. Một số thay đổi trong logic của các lệnh điều khiển. Tối ưu hóa bộ nhớ. Chiếm: 68% SRAM, 99% Bộ nhớ Flash.
GSM_2017_08_10-12-17.hex- Đã xóa các lệnh SmsOn / SmsOff, ReedSwitchOn / ReedSwitchOff, PIROn / PIROff và mọi thứ được kết nối với chúng. Lệnh DelayBeforeAlarm đã được thay thế bằng các lệnh mở rộng. Đã thay đổi đầu ra của lệnh Info. Tối ưu hóa đầu ra của lệnh ListConfig vào bảng điều khiển. Giờ đây, bất kỳ cảm biến kỹ thuật số mức cao hoặc thấp nào, bao gồm cả công tắc sậy, đều có thể được kết nối với các chân D6 và A0. Các chân D6 và A0 phải được kéo xuống đất (GND) thông qua một điện trở 10 (20) kOhm. Nếu cảm biến được đặt ở mức hoạt động thấp (được bật trong chế độ chuyển đổi bằng cây sậy), thì tính toàn vẹn của mạch sẽ được kiểm tra. Mức logic hoạt động trên đầu vào D6 và A0 (+ 5V hoặc GND) có thể được thay đổi, sau khi thay đổi mức logic, thiết bị sẽ tự động được khởi động lại. Đối với mỗi cảm biến (thẻ chính, thẻ thứ hai, thẻ mở rộng PCF), khi được kích hoạt, có thể đặt một thời gian cụ thể, sau đó thông báo sẽ được thực hiện (sms và / hoặc cuộc gọi thoại). "Cảm biến PIR" được đổi tên thành "Cảm biến thứ hai". Đã sửa lỗi hoạt động của bảng mở rộng, một lỗi mà thiết bị luôn thông báo về hoạt động của các cảm biến, bất kể thiết bị có được trang bị hay không. Bây giờ bạn có thể chọn chế độ hoạt động trong đó thiết bị có thể giám sát các cảm biến của bảng mở rộng cả ở chế độ vũ trang (GuardOn) và ở chế độ tắt (GuardOff). Đã thêm lệnh PCFForceOn / PCFForceOff, MainSensorLevelHigh / MainSensorLevelLow / MainSensorLevelOff, SecondSensorLevelHigh / SecondSensorLevelLow / SecondSensorLevelOff, MainDelayBeforeAlarm, SecondDelayBeforeAlarm. Chiếm: 68% SRAM, 99% Bộ nhớ Flash.

* Các phiên bản phần sụn tiếp theo bao gồm các thay đổi đối với các phiên bản trước.


Sử dụng cổng Arduino Nano v3

D4- đầu ra của chân "cảnh báo", khi cảm biến được kích hoạt, tín hiệu mức cao được đặt trên chân này
D5- đầu ra đảo ngược của chân "cảnh báo", khi cảm biến được kích hoạt, tín hiệu mức thấp được đặt trên chân này

D6- cảm biến sậy. Bắt đầu từ phiên bản GSM_2017_08_10-12-17.hex, bất kỳ cảm biến kỹ thuật số nào có mức phản hồi cao hoặc thấp, bao gồm cả công tắc sậy, đều có thể được kết nối với chân D6. Chân D6 phải được kéo xuống đất (GND) thông qua điện trở 10 (20) kOhm.
D7- được kết nối với bộ phân áp từ nguồn điện + 5V bên ngoài. Cánh tay trên 2,2 kΩ, cánh tay dưới 3,3 kΩ.

Chia điện áp


D8- Modem TX
D9- Modem RX

D10- dẫn màu đỏ
D11- đèn LED xanh lam
D12- đèn LED xanh lục

Kết nối ngoại vi:
A0- Cảm biến chuyển động. Bắt đầu từ phiên bản GSM_2017_08_10-12-17.hex, bất kỳ cảm biến kỹ thuật số nào có mức phản hồi cao hoặc thấp, bao gồm cả công tắc sậy, đều có thể được kết nối với chân A0. Chân A0 phải được kéo xuống đất (GND) qua điện trở 10 (20) kOhm.

A1- Đầu vào cho kiểm soát bên ngoài. Báo động đặt / ngắt khi mức cao + 5V xuất hiện ở đầu vào.
A2- Đầu vào đảo ngược để điều khiển bên ngoài. Cảnh báo đặt / ngắt khi mức GND thấp xuất hiện ở đầu vào.

A3- Đầu ra có thể cấu hình (+ 5V hoặc GND) để điều khiển các thiết bị bên ngoài. Khi nhận được lệnh điều khiển, giá trị ở đầu ra này thay đổi tùy thuộc vào những gì đã được đặt trong khoảng thời gian đã đặt.

A4- SDA I2C
A5- SLC I2C
, để kết nối thêm 8 cảm biến.


Các lệnh điều khiển cho phần sụn hex

Chú ý! Các lệnh được đánh dấu in đậm chỉ có thể được thực hiện từ số chính, vì chúng chịu trách nhiệm về cấu hình của thiết bị. Các lệnh còn lại có thể được thực hiện từ các số có thuộc tính "Quản lý".

SMS - lệnh điều khiển không phân biệt chữ hoa chữ thường:
Thêm số điện thoại- Thêm số điện thoại. Tổng cộng, không thể thêm quá 9 số + 1 số chính, số này sẽ tự động được lưu trong bộ nhớ trong lần đầu tiên bạn gọi thiết bị sau khi đặt lại về cài đặt gốc bằng lệnh Đặt lại điện thoại hoặc Đặt lại hoàn toàn. Những thứ kia. người gọi thiết bị đầu tiên sau khi đặt lại thiết bị về cài đặt gốc là số "chính", số này được nhập vào ô nhớ đầu tiên và không thể thay đổi hoặc xóa nó qua SMS. Không thể cộng hai số giống nhau.
Ví dụ về lệnh:



Cú pháp lệnh:

Thêm số điện thoại- đội
: - dấu phân cách
5 - ghi vào ô nhớ thứ năm
+71234567890 - số điện thoại
Lên đến phiên bản GSM_2017_05_26-20-22.hex:
a - Tham số "Báo động" - Tin nhắn SMS sẽ được gửi đến các số có tham số này - tin nhắn báo động và tin nhắn để trang bị hoặc tước vũ khí.
Bắt đầu từ phiên bản GSM_2017_05_26-20-22.hex:
m - tham số "Quản lý" - cho phép quản lý cảnh báo
s - tham số "SMS" - một tin nhắn SMS sẽ được gửi khi cảm biến được kích hoạt
r - thông số "Đổ chuông" - cuộc gọi thoại sẽ được thực hiện khi các cảm biến được kích hoạt
p - Tham số "Nguồn" - một tin nhắn SMS sẽ được gửi khi bật / tắt nguồn bên ngoài
i - tham số "Thông tin" - một tin nhắn SMS sẽ được gửi khi trang bị hoặc giải giáp
Khi thiếu các tham số "m", "s", "r", "p", "i", điện thoại được lưu trong bộ nhớ, nhưng không được sử dụng theo bất kỳ cách nào.


Xóa điện thoại- Xóa số điện thoại.
Ví dụ về lệnh:

Cú pháp lệnh:

Lệnh DeletePhone
: - dấu phân cách
+71234567891 - số điện thoại


EditMainPhone- Thay đổi các thông số "s", "r", "p", "i" của điện thoại chính, số này được nhập vào ô nhớ đầu tiên.
Ví dụ về lệnh:

Cú pháp lệnh:

Lệnh EditMainPhone
: - dấu phân cách
srpi - thông số


BalanceNum- Thay đổi số lượng yêu cầu số dư và xử lý độ dài của phản hồi yêu cầu. Giá trị mặc định cho Beeline: # 100 # L22.
Ví dụ về lệnh:

Cú pháp lệnh:

BalanceNum - đội
: - dấu phân cách
# 103 # - số yêu cầu số dư
L24 - Độ dài (len) của phản hồi được chuyển tiếp là 24 ký tự, chúng tôi đã loại bỏ thư rác khỏi yêu cầu số dư.


EditSensor- Thay đổi tên của cảm biến và mức độ hoạt động hợp lý. Tổng cộng không thể có nhiều hơn 8 cảm biến bổ sung. Sau khi thay đổi cài đặt, thiết bị phải được khởi động lại.
Ví dụ về lệnh:
EditSensor: 1 + Datchik dvizheniya v koridore # h

Cú pháp lệnh:

EditSensor - lệnh
: - dấu phân cách
1 - ghi vào ô nhớ đầu tiên
+ - dấu phân cách
Datchik dvizheniya v koridore - tên của cảm biến, không được vượt quá 36 ký tự, kể cả dấu cách.
#h - Dấu hiệu của mức logic cao từ cảm biến, khi nhận được báo động sẽ được kích hoạt. Nếu thiếu "#h", cảnh báo sẽ được kích hoạt khi nhận được mức logic thấp từ cảm biến.


Giờ ngủ- Thời gian báo thức khi nhận được tin nhắn SMS - lệnh "Tạm dừng", được chỉ định bằng phút. Giá trị mặc định: 15, không được nhỏ hơn 1 và lớn hơn 60.
Ví dụ về lệnh:

Cú pháp lệnh:

SleepTime - nhóm
: - dấu phân cách
20 - 20 phút "ngủ".


AlarmPinTime- Thời gian bật / tắt chân báo động / pin nghịch đảo được chỉ định bằng giây. Giá trị mặc định: 60, không được dưới 1 giây và hơn 43200 giây (12 giờ).
Ví dụ về lệnh:

Cú pháp lệnh:

AlarmPinTime - lệnh
: - dấu phân cách
30 - 30 giây để bật / tắt mã pin báo động.


DelayBeforeGuard- Thời gian cho đến khi thiết bị được trang bị, sau khi nhận được lệnh thích hợp.
Ví dụ về lệnh:

Cú pháp lệnh:

Lệnh DelayBeforeGuard
: - dấu phân cách
25-25 giây trước khi trang bị


DelayBeforeAlarm- Thời gian sau đó thông báo SMS "báo động" sẽ được gửi, nếu báo động chưa được tắt trong khoảng thời gian này. Được thay thế bằng các lệnh mở rộng bắt đầu từ phiên bản GSM_2017_08_10-12-17.hex
Ví dụ về lệnh:

Cú pháp lệnh:

DelayBeforeAlarm - lệnh
: - dấu phân cách
40 - 40 giây trước khi gửi thông báo "báo thức"


WatchPowerTime- Thời gian tính bằng phút sau đó một tin nhắn SMS sẽ được gửi về việc ngắt kết nối nguồn điện bên ngoài. Nếu nguồn điện bên ngoài được khôi phục trước khi hết thời gian đã đặt, tin nhắn sẽ không được gửi.
Ví dụ về lệnh:

Cú pháp lệnh:

WatchPowerTime - nhóm
: - dấu phân cách
5 - 5 phút trước khi gửi tin nhắn SMS


RingTime- Thời lượng của cuộc gọi thoại báo động, thông số có thể có giá trị từ 10 đến 255 giây.
Ví dụ về lệnh:

Cú pháp lệnh:

RingTime - lệnh
: - dấu phân cách
40 - 40 thời lượng cuộc gọi sẽ là 40 giây, sau đó thuê bao tiếp theo sẽ được gọi.


ModemID- Buộc cài đặt mô hình của modem đang sử dụng. Các giá trị có thể có: 0 - tự động phát hiện modem, 1 - M590, 2 - SIM800l, 3 - A6_Mini.
Ví dụ về lệnh:

Cú pháp lệnh:

ModemID - lệnh
: - dấu phân cách
2 - ID modem.


ExtDeviceTime- Số giây mà mức tín hiệu ở đầu ra điều khiển thiết bị bên ngoài sẽ thay đổi.
Ví dụ về lệnh:

Cú pháp lệnh:

Lệnh ExtDeviceTime
: - dấu phân cách
5 - 5 giây


ExtDeviceLevelLow- Một thiết bị bên ngoài được kết nối với đầu ra A3 được điều khiển ở mức thấp (GND). Đầu ra mặc định sẽ ở mức cao + 5V cho đến khi nhận được lệnh điều khiển thiết bị bên ngoài.
ExtDeviceLevelHigh- Một thiết bị bên ngoài kết nối với đầu ra A3 được điều khiển bởi mức tín hiệu cao (+ 5V). Đầu ra sẽ mặc định ở mức GND thấp cho đến khi nhận được lệnh điều khiển thiết bị bên ngoài.

ResetSensor- thiết lập lại các thông số của các cảm biến của bộ mở rộng cổng

resetconfig- khôi phục cài đặt gốc

Đặt lại điện thoại- xóa tất cả các số điện thoại khỏi bộ nhớ

Đặt lại hoàn toàn- Đặt lại cài đặt, xóa toàn bộ số điện thoại khỏi bộ nhớ, khôi phục giá trị mặc định của lệnh BalanceNum.

Đổ chuông- cho phép thông báo bằng cuộc gọi đến số "chính" được ghi trong ô nhớ đầu tiên khi cảm biến được kích hoạt. Đã xóa kể từ phiên bản GSM_2017_06_11-00-07.hex
Đổ chuông- tắt thông báo bằng cuộc gọi khi cảm biến được kích hoạt. Đã xóa kể từ phiên bản GSM_2017_06_11-00-07.hex

SmsOn- kích hoạt thông báo sms khi cảm biến được kích hoạt. Đã xóa kể từ phiên bản GSM_2017_08_10-12-17.hex
tắt sms- tắt thông báo sms khi cảm biến được kích hoạt. Đã xóa kể từ phiên bản GSM_2017_08_10-12-17.hex

PIRON- cho phép xử lý cảm biến chuyển động
PIR tắt- vô hiệu hóa xử lý cảm biến chuyển động

ReedSwitchOn- cho phép xử lý cảm biến cây lau chính
ReedSwitchOff- tắt quá trình xử lý của cảm biến cây lau chính

WatchPowerOn- Bật điều khiển nguồn bên ngoài, một tin nhắn SMS về sự cố mất điện bên ngoài sẽ được gửi, với điều kiện hệ thống báo động được trang bị. Đã xóa kể từ phiên bản GSM_2017_03_01-23-37.

WatchPowerOn1- Bật điều khiển nguồn bên ngoài, một tin nhắn SMS về sự cố mất điện bên ngoài sẽ được gửi, với điều kiện hệ thống báo động được trang bị.
WatchPowerOn2- Bật điều khiển nguồn bên ngoài, tin nhắn SMS về sự cố mất điện bên ngoài sẽ được gửi trong mọi trường hợp

Xem tắt nguồn- tắt điều khiển nguồn bên ngoài

GuardButtonOn- điều khiển cảnh báo bằng các thiết bị bên ngoài hoặc một nút được bật Đã xóa bắt đầu từ phiên bản GSM_2017_04_16-12-00.
GuardButtonOn1- hàm số đặt hoặc rút tiền bảo vệ bởi các thiết bị bên ngoài hoặc nút được bật
GuardButtonOn2- hàm số chỉ biểu diễnđược trang bị bởi các thiết bị bên ngoài hoặc bằng nút được bật, việc giải giáp được thực hiện bằng cuộc gọi đến thiết bị hoặc sử dụng lệnh SMS.
GuardButton Tắt- điều khiển báo động bằng các thiết bị bên ngoài hoặc bằng nút bấm bị tắt

PCFForceOn- giám sát liên tục một nhóm tất cả các cảm biến của mô-đun mở rộng
PCFForceOff- giám sát một nhóm tất cả các cảm biến của bộ mở rộng chỉ khi thiết bị được trang bị

MainSensorLevelHigh- thông báo cảnh báo sẽ được gửi khi tín hiệu mức cao (+5 V) xuất hiện ở đầu vào (D6) từ cảm biến
MainSensorLevelLow- thông báo cảnh báo sẽ được gửi khi tín hiệu mức thấp (GND) xuất hiện ở đầu vào (D6) từ cảm biến
MainSensorLevelOff- vô hiệu hóa xử lý cảm biến đầu vào (D6)

SecondSensorLevelHigh- thông báo cảnh báo sẽ được gửi khi tín hiệu mức cao (+5 V) xuất hiện ở đầu vào (A0) từ cảm biến
SecondSensorLevelLow- thông báo cảnh báo sẽ được gửi khi tín hiệu mức thấp (GND) xuất hiện ở đầu vào (A0) từ cảm biến
SecondSensorLevelOff- vô hiệu hóa xử lý cảm biến đầu vào (A0)

MainDelayBeforeAlarm- thời gian sau đó thông báo SMS "báo động" sẽ được gửi khi cảm biến chính (D6) được kích hoạt, nếu báo động chưa được ngắt trong khoảng thời gian này. Cú pháp giống như lệnh DelayBeforeAlarm.
SecondDelayBeforeAlarm- thời gian mà sau đó một thông báo SMS "đáng báo động" sẽ được gửi khi được kích hoạt cảm biến bổ sung(A0) nếu báo động chưa được ngắt trong khoảng thời gian này. Cú pháp giống như lệnh DelayBeforeAlarm.
PCFDelayBeforeAlarm- thời gian mà sau đó một thông báo SMS “báo động” sẽ được gửi khi các cảm biến của bo mạch mở rộng (PCF8574) được kích hoạt, nếu cảnh báo chưa được ngắt trong khoảng thời gian này. Cú pháp giống như lệnh DelayBeforeAlarm.

GuardOn - cánh tay
GuardOff - loại bỏ bảo vệ

Mở - lệnh điều khiển thiết bị bên ngoài

Thông tin - kiểm tra trạng thái, để trả lời tin nhắn này, một SMS sẽ được gửi với thông tin về số mà từ đó bảo mật đã được bật / tắt

Tạm dừng - tạm dừng hệ thống trong khoảng thời gian được đặt bởi lệnh thời gian ngủ tính bằng phút, hệ thống không phản hồi với các kích hoạt cảm biến.

TestOn - chế độ kiểm tra được bật, đèn LED màu xanh lam nhấp nháy.
TestOff - chế độ kiểm tra bị tắt.

LedOff - tắt đèn LED chờ.
LedOn - bật đèn LED chờ.

Tiền - yêu cầu số dư.

ClearSms - Xóa tất cả sms khỏi bộ nhớ

Các lệnh của bảng điều khiển (lên đến phiên bản GSM_2017_04_24-13-22.hex) - được nhập vào màn hình cổng Arduino IDE:

AddPhone - tương tự như lệnh AddPhone sms

DeletePhone - tương tự như lệnh DeletePhone sms

EditSensor - tương tự như lệnh sms EditSensor

ListPhone - xuất ra màn hình cổng một danh sách các điện thoại được lưu trong bộ nhớ

ResetConfig - tương tự như lệnh ResetConfig sms

ResetPhone - tương tự như lệnh ResetPhone sms

FullReset - tương tự như lệnh SMS FullReset

ClearSms - tương tự như lệnh ClearSms sms

WatchPowerOn1 - tương tự như lệnh SMS WatchPowerOn1
WatchPowerOn2 - tương tự như lệnh sms WatchPowerOn2
WatchPowerOff - tương tự như lệnh sms WatchPowerOff

GuardButtonOn - tương tự như lệnh GuardButtonOn sms. Đã xóa kể từ phiên bản GSM_2017_04_16-12-00
GuardButtonOn1 - tương tự như lệnh SMS GuardButtonOn1
GuardButtonOn2 - tương tự như lệnh SMS GuardButtonOn2
GuardButtonOff - tương tự như lệnh GuardButtonOff sms

Memtest - kiểm tra bộ nhớ không bay hơi của thiết bị, tất cả các cài đặt của thiết bị sẽ được thiết lập lại, tương tự như lệnh FullReset.

I2CScan - tìm kiếm và khởi tạo các thiết bị được hỗ trợ trên bus I2C.

ListConfig - xuất ra màn hình cổng của cấu hình hiện tại của thiết bị.

ListSensor - xuất ra màn hình cổng của cấu hình cảm biến hiện tại.

CẬP NHẬT. Khi sử dụng cảm biến chuyển động, để tránh dương tính giả trong quá trình vận hành modem, cần phải giữa ghim GNDA0 Arduino đặt kháng cự cảm ơn bạn
AllowPhone = ("70001234501", "70001234502", "70001234503", "70001234504", "70001234505") - Các số được phép quản lý bảo mật.
AlarmPhone = ("70001234501", "70001234502") - Các số để gửi thông báo SMS khi cảm biến được kích hoạt và thông báo về việc giải giáp hoặc trang bị. Số đầu tiên trong danh sách sẽ được gọi khi cảm biến được kích hoạt nếu lệnh RingOn được thực thi, theo mặc định, tùy chọn này được bật. Điều này được thực hiện vì tin nhắn sms có thể đến với một số độ trễ và cuộc gọi sẽ được thực hiện ngay lập tức.

Nếu nhận được cuộc gọi từ một số được ủy quyền hoặc tin nhắn SMS với lệnh GuardOn / GuardOff, thì tùy thuộc vào trạng thái bảo vệ hiện tại, một tin nhắn SMS về việc trang bị hoặc giải trừ vũ khí sẽ được gửi đến các số được liệt kê trong mảng AlarmPhone, một Tin nhắn SMS cũng sẽ được gửi đến số mà cuộc gọi đến.

Khi cảm biến được kích hoạt Tin nhắn SMS được gửi đến tất cả các số từ mảng Báo thức (danh sách) và cuộc gọi thoại được thực hiện đến số đầu tiên từ mảng này.

Chỉ báo ánh sáng:
Đèn LED phát sáng màu đỏ - được trang bị.
Đèn LED sáng lên trong màu xanh lá cây- vô hiệu hóa, bật / tắt bằng lệnh SMS LedOn / LedOff.
Đèn LED liên tục nhấp nháy màu xanh lam - nó báo hiệu rằng mọi thứ đều theo thứ tự với Arduino, bo mạch không bị treo, nó được sử dụng riêng để gỡ lỗi, nó được bật / tắt bởi lệnh TestOn / TestOff sms.
* Hàm LedTest () có trong mã, nó nhấp nháy với đèn LED màu xanh lam, nó chỉ được tạo ra để theo dõi Arduino, nó nhấp nháy - có nghĩa là nó đang hoạt động, nó không nhấp nháy - nó bị đóng băng. Vẫn chưa cúp máy :)

Không liên quan!

Kết nối 2 hoặc nhiều cảm biến để mở chương trình cơ sở (chỉ áp dụng cho chương trình cơ sở này sketch_02_12_2016.ino)
Để kết nối các cảm biến sậy bổ sung, chúng tôi sử dụng các chân kỹ thuật số miễn phí D2, D3, D5 hoặc D7. Sơ đồ đấu dây với cảm biến bổ sung trên D7.

Thay đổi phần sụn cần thiết
... #define DoorPin 6 // Số đầu vào kết nối với cảm biến chính int8_t DoorState = 0; // Biến lưu trữ trạng thái của cảm biến chính int8_t DoorFlag = 1; // Biến để lưu trữ trạng thái của cảm biến chính #define BackDoorPin 7 // Số đầu vào được kết nối với cảm biến bổ sung int8_t BackDoorState = 0; // Biến để lưu trữ trạng thái của cảm biến bổ sung int8_t BackDoorFlag = 1; // Biến để lưu trữ trạng thái của cảm biến bổ sung ...
void setup () (... pinMode (DoorPin, INPUT); pinMode (BackDoorPin, INPUT); ...
... void Detect () (// Đọc giá trị từ cảm biến DoorState = digitalRead (DoorPin); BackDoorState = digitalRead (BackDoorPin); // Xử lý cảm biến chính nếu (DoorState == LOW && DoorFlag == 0) (DoorFlag = 1; delay (100); if (LedOn == 1) digitalWrite (GLed, LOW); Alarm ();) if (DoorState == HIGH && DoorFlag == 1) (DoorFlag = 0; delay (100);) // Xử lý cảm biến bổ sung if (BackDoorState == LOW && BackDoorFlag == 0) (BackDoorFlag = 1; delay (100); if (LedOn == 1) digitalWrite (GLed, LOW); Alarm ();) if (BackDoorState = = HIGH && BackDoorFlag == 1) (BackDoorFlag = 0; delay (100);)) ...

Và một điều nữa:
1. Tốt hơn là sử dụng điốt được thiết kế cho dòng điện 2 A, vì mô-đun nhiễm dòng điện 1 A và chúng ta vẫn cần cung cấp thứ gì đó cho Arduino và modem. Trong trường hợp này, điốt 1N4007 được sử dụng, nếu chúng bị lỗi, tôi sẽ thay thế chúng bằng 2 A.
2. Tôi đã sử dụng tất cả các điện trở cho đèn LED ở 20 kOhm, để không chiếu sáng toàn bộ hành lang vào ban đêm.
3. Tôi cũng treo một điện trở 20 kOhm trên cảm biến sậy giữa chân GND và chân D6.

Đó là tất cả cho bây giờ. Cám ơn vì sự quan tâm của bạn! :)

Tôi định mua +207 Thêm vào mục yêu thích Đã thích bài đánh giá +112 +243

Xin chào các bạn, hôm nay chúng ta sẽ xem xét một thiết bị có tên là cảm biến chuyển động. Nhiều người trong chúng ta đã nghe nói về điều này, thậm chí có người đã xử lý thiết bị này. Cảm biến chuyển động là gì? Hãy cố gắng tìm ra nó, vì vậy:

Cảm biến chuyển động hoặc cảm biến dịch chuyển - một thiết bị (thiết bị) phát hiện chuyển động của bất kỳ đối tượng nào. Các thiết bị này rất thường được sử dụng trong các hệ thống an ninh, báo động và giám sát. Có rất nhiều yếu tố hình thức của các cảm biến này, nhưng chúng tôi sẽ xem xét mô-đun cảm biến chuyển động để kết nối với bo mạch arduino,và từ công ty RobotDyn. Tại sao lại là công ty cụ thể này? Tôi không muốn quảng cáo cửa hàng này và các sản phẩm của cửa hàng, nhưng các sản phẩm của cửa hàng này đã được chọn làm mẫu thí nghiệm do chất lượng sản phẩm của họ được trình bày cho người tiêu dùng cuối cùng. Vì vậy, hãy đáp ứng - cảm biến chuyển động(Cảm biến PIR) từ RobotDyn:


Các cảm biến này có kích thước nhỏ, tiêu thụ ít điện năng và dễ sử dụng. Ngoài ra, cảm biến chuyển động của RobotDyn còn có các điểm tiếp xúc được đánh dấu bằng cách in lụa, điều này tất nhiên là chuyện vặt, nhưng rất dễ chịu. Vâng, đối với những người sử dụng cùng một cảm biến, nhưng chỉ từ các công ty khác, đừng lo lắng - tất cả chúng đều có chức năng giống nhau và ngay cả khi các địa chỉ liên lạc không được đánh dấu, sơ đồ chân của các cảm biến đó vẫn dễ dàng tìm thấy trên Internet.

Chính thông số kỹ thuật cảm biến chuyển động (Cảm biến PIR):

Khu vực làm việc của cảm biến: từ 3 đến 7 mét

Góc theo dõi: lên đến 110 o

Điện áp hoạt động: 4,5 ... 6 Volts

Mức tiêu thụ hiện tại: lên đến 50uA

Ghi chú: Chức năng tiêu chuẩn của cảm biến có thể được mở rộng bằng cách kết nối cảm biến ánh sáng với chân IN và GND, sau đó cảm biến chuyển động sẽ chỉ hoạt động trong bóng tối.

Khởi tạo thiết bị.

Khi được bật, cảm biến mất gần một phút để khởi tạo. Trong thời gian này, cảm biến có thể đưa ra tín hiệu sai, điều này cần được lưu ý khi lập trình vi điều khiển với cảm biến được kết nối với nó, hoặc trong mạch của bộ truyền động nếu kết nối được thực hiện mà không sử dụng vi điều khiển.

Góc và khu vực phát hiện.

Góc phát hiện (theo dõi) là 110 độ, phạm vi khoảng cách phát hiện từ 3 đến 7 mét, hình minh họa bên dưới cho thấy tất cả:

Điều chỉnh độ nhạy (khoảng cách phát hiện) và độ trễ thời gian.

Bảng bên dưới cho thấy các điều chỉnh chính của cảm biến chuyển động, bên trái là điều khiển độ trễ thời gian tương ứng, ở cột bên trái là mô tả về các cài đặt có thể. Cột bên phải mô tả các điều chỉnh khoảng cách phát hiện.


Kết nối cảm biến:

  • Cảm biến PIR - Arduino Nano
  • Cảm biến PIR - Arduino Nano
  • Cảm biến PIR - Arduino Nano
  • Cảm biến PIR - cho cảm biến ánh sáng
  • Cảm biến PIR - cho cảm biến ánh sáng

Sơ đồ kết nối điển hình được đưa ra trong sơ đồ bên dưới, trong trường hợp của chúng tôi, cảm biến được hiển thị có điều kiện từ mặt sau và được kết nối với bảng Arduino Nano.

Bản phác thảo mô tả hoạt động của cảm biến chuyển động (chúng tôi sử dụng chương trình):

/ * * Cảm biến PIR -> Arduino Nano * Cảm biến PIR -> Arduino Nano * Cảm biến PIR -> Arduino Nano * / void setup () (// Thiết lập kết nối với màn hình cổng Serial.begin (9600);) void loop () (// Đọc giá trị ngưỡng từ cổng A0 // thường nó cao hơn 500 nếu có tín hiệu if (analogRead (A0)> 500) (// Tín hiệu từ cảm biến chuyển động Serial.println ("Có chuyển động !!! ");) else (/ / Không có tín hiệu Serial.println (" Mọi thứ đều im lặng ... ");))

Bản phác thảo là một thử nghiệm bình thường của cảm biến chuyển động, nó có nhiều thiếu sót, chẳng hạn như:

  1. Có thể có báo động sai, cảm biến cần tự khởi động trong vòng một phút.
  2. Ràng buộc cứng nhắc với màn hình cổng, không có bộ truyền động đầu ra (rơ le, còi báo động, đèn LED)
  3. Thời gian tín hiệu ở đầu ra cảm biến quá ngắn; khi phát hiện chuyển động, cần lập trình trì hoãn tín hiệu trong một khoảng thời gian dài hơn.

Bằng cách làm phức tạp mạch và mở rộng chức năng của cảm biến, có thể tránh được những nhược điểm trên. Để làm điều này, bạn sẽ cần bổ sung mạch bằng mô-đun rơ le và kết nối đèn 220 vôn thông thường thông qua mô-đun này. Bản thân mô-đun chuyển tiếp sẽ được kết nối với chân 3 trên bảng Arduino Nano. Vì vậy, khái niệm là:

Bây giờ đã đến lúc cải thiện một chút bản phác thảo, trong đó đã thử nghiệm cảm biến chuyển động. Trong bản phác thảo, độ trễ tắt rơ le sẽ được thực hiện, vì bản thân cảm biến chuyển động có thời gian tín hiệu đầu ra quá ngắn khi được kích hoạt. Chương trình thực hiện độ trễ 10 giây khi cảm biến được kích hoạt. Nếu muốn, thời gian này có thể được tăng hoặc giảm bằng cách thay đổi giá trị của biến DelayValue. Dưới đây là bản phác thảo và video về công việc của toàn bộ mạch lắp ráp:

/ * * Cảm biến PIR -> Arduino Nano * Cảm biến PIR -> Arduino Nano * Cảm biến PIR -> Arduino Nano * Mô-đun chuyển tiếp -> Arduino Nano * / // relout - pin (tín hiệu đầu ra) cho mô-đun chuyển tiếp const int relout = 3 ; // presMillis - biến để lưu trữ thời gian của chu kỳ quét chương trình trước đó // khoảng - khoảng thời gian để đếm giây cho đến khi tắt rơ le không được đánh dấu long prevMillis = 0; int khoảng = 1000; // DelayValue - khoảng thời gian mà rơle được giữ trên int DelayValue = 10; // initSecond - Biến lặp của vòng lặp khởi tạo int initSecond = 60; // countDelayOff - bộ đếm khoảng thời gian static int countDelayOff = 0; // trigger - cờ kích hoạt cảm biến chuyển động static bool trigger = false; void setup () (// Quy trình chuẩn để khởi tạo cổng mà mô-đun chuyển tiếp được kết nối // QUAN TRỌNG !!! - để mô-đun chuyển tiếp vẫn ở trạng thái tắt ban đầu // và không hoạt động trong quá trình khởi tạo, bạn cần ghi giá trị HIGH vào cổng đầu vào / đầu ra //, điều này sẽ tránh "nhấp nháy" sai, và sẽ giữ // trạng thái của rơle như trước khi toàn bộ mạch được đưa vào hoạt động pinMode (relout, OUTPUT); digitalWrite (relout, HIGH); // Ở đây mọi thứ đều đơn giản - chúng ta đợi hết 60 chu kỳ (biến initSecond) // thời lượng 1 giây, trong thời gian này cảm biến "tự khởi tạo" for (int i = 0; tôi< initSecond; i ++) { delay(1000); } } void loop() { //Считать значение с аналогового порта А0 //Если значение выше 500 if(analogRead(A0) >500) (// Đặt cờ kích hoạt cảm biến chuyển động if (! Trigger) (trigger = true;)) // Trong khi cờ kích hoạt cảm biến chuyển động được đặt trong khi (trigger) (// Thực hiện Tuân theo chỉ dẫn// Lưu trong biến currMillis // giá trị mili giây đã trôi qua // khi bắt đầu thực thi chương trình unsigned long currMillis = millis (); // So sánh với giá trị mili giây trước đó // nếu chênh lệch lớn hơn khoảng thời gian được chỉ định, thì: if (currMillis - presMillis> khoảng) (// Lưu giá trị hiện tại là mili giây vào biến presMillis prevMillis = currMillis; // Kiểm tra bộ đếm độ trễ bằng cách so sánh nó với giá trị của khoảng thời gian / / trong thời gian đó rơle phải được giữ ở trạng thái bật if (countDelayOff> = DelayValue) (// Nếu giá trị bằng nhau thì: // reset the cờ để kích hoạt bộ kích hoạt cảm biến chuyển động = false; // Đặt lại bộ đếm độ trễ countDelayOff = 0; // Tắt rơle digitalWrite (relout, HIGH); // Hủy ngắt vòng lặp;) else (// Nếu giá trị vẫn là ít hơn, sau đó // Tăng bộ đếm độ trễ lên một countDelayOff ++; // Giữ relay trên digitalWrite (relout, LOW);))))

Chương trình có cấu trúc:

unsigned long presMillis = 0;

int khoảng = 1000;

...

unsigned long currMillis = millis ();

if (currMillis - prevMillis> khoảng thời gian)

{

presMillis = currMillis;

....

// Các hoạt động của chúng ta được bao bọc trong phần thân của cấu trúc

....

}

Để làm rõ, nó đã được quyết định bình luận riêng về việc xây dựng này. Vì vậy, cấu trúc này cho phép bạn thực hiện một nhiệm vụ song song trong chương trình. Phần thân của cấu trúc bắn ra khoảng một lần mỗi giây, điều này được tạo điều kiện bởi biến khoảng thời gian. Đầu tiên, biến currMillis giá trị trả về khi hàm được gọi được gán mili (). Hàm số mili () trả về số mili giây đã trôi qua kể từ khi bắt đầu chương trình. Nếu sự khác biệt currMillis-prevMillis lớn hơn giá trị của biến khoảng thời gian thì điều này có nghĩa là hơn một giây đã trôi qua kể từ khi bắt đầu thực thi chương trình và bạn cần lưu giá trị của biến currMillis thành một biến trước đây sau đó thực hiện các hoạt động kèm theo trong phần thân của cấu trúc. Nếu sự khác biệt currMillis-prevMillis nhỏ hơn giá trị của biến khoảng thời gian, sau đó một giây vẫn chưa trôi qua giữa các chu kỳ quét của chương trình và các hoạt động chứa trong phần thân của cấu trúc bị bỏ qua.

À, ở cuối bài viết, một video của tác giả:

Vui lòng kích hoạt javascript để nhận xét hoạt động.

Bài viết tương tự