Budget GSM Alarm พร้อมสมองจาก Arduino หน้าแรกปลุกหรือใช้เซ็นเซอร์การเคลื่อนไหวและจอ LCD พร้อม Arduino จากสิ่งที่เราจะรวบรวม

ขอให้เป็นวันที่ดี! อีกครั้งการตรวจสอบหลายชิ้นส่วนอิเล็กทรอนิกส์ของจีนตามปกติของทุกสิ่งที่เราค่อยๆฉันจะพยายามสั้นลง แต่มันจะทำงานได้ไหม ดังนั้นพบ, สัญญาณเตือน GSM ราคาสูงถึง 700 ₽ ที่น่าสนใจ? ฉันขอ "ตัด"!

เบเสอ ก่อนที่จะเริ่มฉันขอแนะนำให้ดูสิ่งนี้ส่วนประกอบน้อยลงและอิสระขนาดใหญ่ ดังนั้น "การศึกษาด้านเทคนิค" ข้อกำหนดการเตือนภัยขั้นพื้นฐาน:

1) แจ้งเตือนเมื่อเซ็นเซอร์ถูกทริกเกอร์
2) ในกรณีที่ปิดเครื่องควรมีอิสระบางอย่าง
3) การจัดการการเตือนภัยผ่าน SMS และการโทร

เนื่องจากกระบวนการสร้างสัญญาณเตือนภัยล่าช้าเป็นเวลาหลายเดือนและผู้ขายบางรายจะไม่ขายส่วนประกอบเหล่านั้นที่ซื้อจากพวกเขาอีกต่อไปลิงก์จะได้รับการอัปเดตเกี่ยวกับสินค้าของผู้ขายรายอื่นที่มีจำนวนสูงสุดหรือใกล้เคียงกับจำนวนสูงสุดของการขาย สินค้าและ ราคาที่ดีที่สุด. ราคาในการตรวจสอบมีความเกี่ยวข้อง ณ วันที่เขียนของเขา

รายการสิ่งที่จะต้อง:

รายการการเปลี่ยนแปลง

gsm_03_12_2016-14-38.hex - แก้ไขการทำงานของอุปกรณ์ด้วยโมเด็ม M590
GSM_05_12_2016-13-45.HEX - เพิ่มคำสั่งคอนโซล MemTest การเพิ่มประสิทธิภาพของ RAM
gsm_2016_12_06-15-43.hex - เพิ่มผลลัพธ์ของคำสั่งไปยังคอนโซลการเพิ่มประสิทธิภาพหน่วยความจำ ไม่ว่าง: 49% SRAM
gsm_2016_12_07-10-59.Hex - ตอนนี้หมายเลขโทรศัพท์ถูกเพิ่มและลบออกอย่างถูกต้อง ไม่ว่าง: 49% SRAM หน่วยความจำแฟลช 74%
gsm_2016_12_07-15-38.hex - เพิ่มความสามารถในการเชื่อมต่อเซ็นเซอร์การเคลื่อนไหวเชื่อมต่อกับ PIN A0 (ในกรณีนี้ PIN A0 ใช้เป็นดิจิตอล) เพิ่ม SMS - คำสั่ง เพียรอน, Piroff. ไม่ว่าง: 48% SRAM หน่วยความจำแฟลช 76%
gsm_2016_12_08-13-53.hex - ตอนนี้หลังจากการดำเนินการที่ประสบความสำเร็จของคำสั่งซึ่งในการตอบสนองไม่ได้ส่งข้อความ SMS อุปกรณ์จะกะพริบเป็นไฟ LED สีน้ำเงินหนึ่งครั้ง ตอนนี้หลังจากการดำเนินการที่ไม่ถูกต้องของคำสั่งซึ่งในการตอบสนองไม่ได้ส่งข้อความ SMS อุปกรณ์จะกะพริบไฟ LED สีน้ำเงินสองครั้ง ตอนนี้หลังจากเริ่มต้นพารามิเตอร์ของอุปกรณ์แล้วหากเปิดใช้งานโหมด "เงียบ" (SendSMS \u003d 0) อุปกรณ์มักจะกะพริบด้วยไฟ LED สีน้ำเงินเป็นเวลา 2 วินาที แก้ไขข้อผิดพลาดเนื่องจากจำนวนไม่ถูกลบออกจากคำสั่ง deletephone เสมอ ไม่ว่าง: 48% SRAM หน่วยความจำแฟลช 78%
GSM_2016_12_11-09-12.HEX - เพิ่ม ทีมคอนโซล Addphone และ Deletephone ไวยากรณ์คล้ายกับคำสั่ง SMS การเพิ่มประสิทธิภาพหน่วยความจำ ไม่ว่าง: 43% SRAM, หน่วยความจำแฟลช 79%
GSM_2017_01_03-22-51.HEX - การสนับสนุนที่ใช้งานและส่วนขยายส่วนขยายอินพุต / เอาต์พุตที่คล้ายกันบนชิป PCF8574 เพื่อเชื่อมต่อเซ็นเซอร์เพิ่มเติมอีก 8 ตัวรวมถึงตัวแกร์ค การค้นหาที่อยู่อัตโนมัติและการตั้งค่าโมดูลอัตโนมัติ ชื่อเซ็นเซอร์มาตรฐานและระดับตรรกะของการตอบสนองของพวกเขาแตกต่างกันไปโดยใช้คำสั่ง editsensor เปลี่ยนเนื้อหาของ SMS Alarm สำหรับเซ็นเซอร์หลัก (PIN D0) "ปลุก! เซ็นเซอร์หลัก! " และเซ็นเซอร์ตรวจจับความเคลื่อนไหว (Idu A0) "ปลุก! เซ็นเซอร์ PIR! " เพิ่มคำสั่ง editsensor และ i2cscan ไม่ว่าง: 66% SRAM หน่วยความจำแฟลช 92%
GSM_2017_01_15-23-26.Hex - รองรับโมเด็ม A6_mini การควบคุมแหล่งจ่ายไฟภายนอก (PIN D7) เพิ่ม SMS WatchPoweron คำสั่ง WatchPowerOff เพิ่ม listConfig, ListSensor Console คำสั่ง ตอนนี้ SMS คำสั่ง editsensor ทำงานอย่างถูกต้อง "ตัดแต่ง" เล็กน้อยด้วยข้อมูลการดีบักลงในจอภาพพอร์ต ไม่ว่าง: 66% SRAM, หน่วยความจำแฟลช 95%
gsm_2017_01_16-23-54.hex - ตอนนี้ในข้อความตอบกลับไปยังคำสั่ง SMS "ข้อมูล" ยังประกอบด้วยสถานะของเซ็นเซอร์การเคลื่อนไหว แก้ไขข้อบกพร่องเนื่องจากข้อความ SMS ตอบกลับที่ว่างเปล่าถูกส่ง ตอนนี้อุปกรณ์ไม่เพียง แต่ไม่เพียง แต่เกี่ยวกับการปิดเครื่อง แต่ยังอยู่ในการเริ่มต้นใหม่ของโภชนาการภายนอก โมเด็มทั้งหมดกลายเป็นน้อยกว่าการแชทตอนนี้ในจอภาพพอร์ตมันกลายเป็นน้ำยาทำความสะอาดเล็กน้อย ไม่ว่าง: 66% SRAM, หน่วยความจำแฟลช 95%
gsm_2017_02_04-20-23.hex - แก้ไขข้อผิดพลาด "ดูพลังงาน" ตอนนี้หลังจากลบการป้องกัน "พินที่น่าตกใจ" จะปิด ตอนนี้หลังจากลบหมายเลขในคอนโซลข้อมูลที่ถูกต้องจะปรากฏขึ้น อาจมีการแก้ไขข้อผิดพลาดเนื่องจากบางครั้งการตอบกลับข้อความ SMS บางครั้งส่ง ไม่ว่าง: 66% SRAM หน่วยความจำแฟลช 90%
GSM_2017_02_14-00-03.HEX - ตอนนี้ข้อความ SMS จะถูกส่งโดยค่าเริ่มต้นพารามิเตอร์ SendSMS จะเท่ากับ 1 ตอนนี้เมื่อสัมผัสกับผู้ติดต่อของเซ็นเซอร์ทั่วไปหลัก (ปิดประตู) อุปกรณ์กะพริบในไฟ LED สีน้ำเงินเป็นเวลา 2 วินาทีส่งสัญญาณเกี่ยวกับ 2 วินาที การทำงานปกติของเซ็นเซอร์ ไม่ว่าง: 66% SRAM หน่วยความจำแฟลช 90%
GSM_2017_03_01-23-37.HEX - คำสั่ง WatchPoweron ถูกลบออก เพิ่มคำสั่งคอนโซล WatchPowerOff เหมือนกับคำสั่ง SMS เพิ่มคำสั่ง watchpoweron1, watchpoweron2 WatchPoweron1 - เปิดใช้งานการตรวจสอบพลังงานภายนอกหากสัญญาณเตือนติดอาวุธ WatchPoweron2 - การตรวจสอบพลังงานภายนอกจะเปิดใช้งานอยู่เสมอ ใช้งานฟังก์ชั่นของอาวุธและการปลดอาวุธโดยอุปกรณ์ภายนอกสำหรับข้อสรุป A1 (D15) และ A2 (D16) ชุดสัญญาณเตือน / ลบการป้องกันเมื่อ A1 (D15) ปรากฏบนเอาต์พุต ระดับสูง + 5V หรือบนเอาท์พุท A2 (D16) ของ GND ระดับต่ำ เอาท์พุท A1 (D15) ถูกกระชับเป็น GND, เอาท์พุท A2 (D16) ถูกดึงขึ้นไปที่ + 5V ผ่านตัวต้านทาน 20 (10) com เพิ่มคำสั่ง GuardButtonon และ GuardButtonoff ตอนนี้หลังจากวางการป้องกันไฟ LED สีแดงจะกะพริบจนกระทั่งมีการตรวจสอบความสมบูรณ์ของการวนรอบของเซ็นเซอร์ทั่วไปหลักจะถูกตรวจสอบ หากร่างไฟ LED สีแดง ไม่ว่าง: 66% SRAM, หน่วยความจำแฟลช 95%
gsm_2017_03_12-20-04.hex - ตอนนี้คอนโซลได้กลายเป็นที่สะอาดกว่า แต่หากเปิดใช้งานโหมดทดสอบเทสซอนข้อมูลเพิ่มเติมจะปรากฏขึ้นในคอนโซล แก้ไขข้อผิดพลาด "ส่ง!" ตอนนี้ข้อมูลเกี่ยวกับการส่งข้อความถูกแสดงอย่างถูกต้อง แก้ไขข้อผิดพลาด "โทรที่ผิดพลาด" ตอนนี้คำขอสมดุลต้องทำงานอย่างถูกต้องในโมเด็มทั้งหมด ไม่ว่าง: 67% SRAM หน่วยความจำแฟลช 95%
gsm_2017_04_16-12-00.hex - แก้ไขแล้ว. ตอนนี้คำสั่งข้อมูลและเงินจะส่ง SMS ตอบกลับเสมอ คำสั่ง GuardButtonon ถูกแทนที่ด้วยคำสั่ง GuardButtonOn1 และ GuardButtonon2 ไม่ว่าง: 67% SRAM หน่วยความจำแฟลช 99%
GSM_2017_04_21-09-43.hex - ไม่แนะนำให้ใช้เป็นเพียงการทดสอบขอบคุณสำหรับข้อผิดพลาดที่ระบุ :) - ตอนนี้พารามิเตอร์ SendSMS ไม่ส่งผลกระทบต่อการส่งข้อความตรวจสอบเครือข่ายไฟฟ้า เพิ่มทีม SMS ขั้นที่ล่าช้าสำหรับการล่าช้าในการล่าช้าเมื่ออาวุธค่าไม่สามารถเกิน 255 วินาที เพิ่มคำสั่ง SMS DelayBeforealarm รับผิดชอบการส่งการแจ้งเตือนล่าช้าและการรวม "สัญญาณเตือนภัย" เมื่อเซ็นเซอร์ถูกทริกเกอร์ค่าไม่เกิน 255 วินาที คำสั่ง clearsms ถูกลบแล้วตอนนี้ข้อความจะถูกลบออกโดยอัตโนมัติหลังจากได้รับ ไม่ว่าง: 68% SRAM หน่วยความจำแฟลช 100%
gsm_2017_04_22-20-42.hex - แก้ไขข้อผิดพลาดหลายอย่าง คำสั่ง clearsms มีอยู่อีกครั้งในเฟิร์มแวร์ การเพิ่มประสิทธิภาพหน่วยความจำ ไม่ว่าง: 68% SRAM หน่วยความจำแฟลช 98%
gsm_2017_04_23-17-50.hex - ตอนนี้คำขอสมดุลต้องทำงานอย่างถูกต้องในโมเด็มทั้งหมด การแสดงละครและการปลดอาวุธกับอุปกรณ์ภายนอกกำลังทำงานอย่างถูกต้อง ข้อความคำสั่ง SMS คำสั่งไม่ควรว่างเปล่า การเพิ่มประสิทธิภาพหน่วยความจำ ไม่ว่าง: 68% SRAM หน่วยความจำแฟลช 98%
gsm_2017_04_24-13-22.hex - ตอนนี้การส่งคำสั่งคอนโซลในโมดูล GSM จะดำเนินการเฉพาะในกรณีที่เปิดใช้งานโหมดทดสอบ ขณะนี้ไม่มีการแยกตามคำสั่ง SMS และคำสั่งคอนโซลคำสั่งที่มีอยู่ทั้งหมดสามารถส่งผ่าน SMS และผ่านคอนโซล บางทีแก้ไขข้อผิดพลาดด้วยคำสั่ง info การเพิ่มประสิทธิภาพหน่วยความจำ ไม่ว่าง: 68% SRAM หน่วยความจำแฟลช 94%
gsm_2017_04_25-20-54.hex - แก้ไขข้อผิดพลาดที่คำสั่ง listConfig มีการเปลี่ยนแปลงค่าของเหตุการณ์ล่าสุด ตอนนี้เมื่อคุณป้อนคำสั่งผ่าน CAP ข้อความ SMS ที่ไม่จำเป็นจะถูกส่ง บางทีแก้ไขข้อผิดพลาดด้วยคำสั่ง info การเพิ่มประสิทธิภาพหน่วยความจำ ไม่ว่าง: 66% SRAM หน่วยความจำแฟลช 94%
GSM_2017_04_30-12-57.HEX - เปิดใช้งานเอาต์พุตข้อมูลเพิ่มเติมลงในคอนโซลชั่วคราวเมื่อส่งข้อความ SMS และตอบสนองต่อคำสั่ง info บางทีแก้ไขข้อผิดพลาดด้วยคำสั่ง info การเพิ่มประสิทธิภาพหน่วยความจำ ไม่ว่าง: 66% SRAM หน่วยความจำแฟลช 92%
GSM_2017_05_06-11-52.HEX - แก้ไขด้วยฟังก์ชั่น delaybeforealarm ไม่ว่าง: 66% SRAM หน่วยความจำแฟลช 93%
gsm_2017_05_23-21-27.hex - เปลี่ยนเอาต์พุตข้อมูลลงในคอนโซลเล็กน้อย เพิ่มการสนับสนุนสำหรับโมดูลการขยายพอร์ตบน PCF8574A พร้อมที่อยู่จาก 0x38 ถึง 0x3F รวม แก้ไขข้อผิดพลาด c. ตอนนี้อุปกรณ์รีสตาร์ทโดยอัตโนมัติหลังจากคำสั่ง FullReset, ResetConfig, Resetphone และในกรณีที่ประสบความสำเร็จในการเรียกใช้งานคำสั่ง memtest เพิ่มคำสั่ง watchpowertime ตอนนี้เป็นไปได้ที่จะตั้งเวลาหลังจากที่ SMS จะถูกส่งเพื่อตัดการเชื่อมต่อแหล่งพลังงานภายนอก ไม่ว่าง: 67% SRAM หน่วยความจำแฟลช 94%
gsm_2017_05_26-20-22.hex - การเริ่มต้นคงที่ของเซ็นเซอร์หน่วยความจำของคณะกรรมการส่วนขยาย ไวยากรณ์คำสั่ง addphone มีการเปลี่ยนแปลง เพิ่มคำสั่ง editmainphone หลักการของการทำงานของระบบการแจ้งเตือนมีการเปลี่ยนแปลงเมื่อเซ็นเซอร์ถูกเรียก SMS จะถูกส่งครั้งแรกหลังจากที่จะทำการโทรด้วยเสียง ข้อความ SMS Alarm จะถูกส่งไปยังหมายเลขโทรศัพท์ที่มีเครื่องหมาย "S" (SMS) การโทรด้วยเสียงจะดำเนินการกับตัวเลขด้วยเครื่องหมาย "R" (RING) การจ่าย / การเปิดใช้งานข้อความจะถูกส่งไปยังหมายเลขโทรศัพท์ที่มีคุณสมบัติ "P" (พลังงาน) เพิ่มคำสั่งขยายเวลา ตอนนี้เป็นไปได้ที่จะตั้งค่าระยะเวลาการโทรด้วยเสียงเตือนพารามิเตอร์อาจอยู่ที่ 10 ถึง 255 วินาที ตอนนี้คำสั่ง Ringon / Ringoff ทั่วโลกรวมถึง / ปิดใช้งานการแจ้งเตือนการโทรด้วยเสียง เพิ่มคำสั่ง resetsensor ไม่ว่าง: 68% SRAM หน่วยความจำแฟลช 99%
gsm_2017_06_02-17-43.hex - Addphone และคำสั่ง editmainphone เพิ่มพารามิเตอร์ "i" (ข้อมูล) ซึ่งรับผิดชอบการแจ้งเตือน SMS ของการกำหนดสูตรหรือการลงทะเบียนของอุปกรณ์ ตอนนี้หลังจากเพิ่มหมายเลขหลักอุปกรณ์จะรีบูตโดยอัตโนมัติ ตอนนี้คุณสามารถสร้างหมายเลขเดียวกันในอุปกรณ์ เมื่อเพิ่มหมายเลขที่ซ้ำกันที่สองและต่อมาแอตทริบิวต์ "M", "S", "P" และ "I" จะถูกลบออกโดยอัตโนมัติ ตัวเลขเหล่านี้จะถูกใช้เพื่อโทรออกด้วยเสียงซ้ำเมื่อเซ็นเซอร์ถูกเรียกใช้ แก้ไขข้อผิดพลาดของเส้นโค้งเอาต์พุตไปยังคอนโซลหลังจากดำเนินการคำสั่ง addphone ตอนนี้ข้อมูลจะไม่แสดงโดยอัตโนมัติหลังจากที่เพิ่มหมายเลข เพิ่มคำสั่ง Reboot ไม่ว่าง: 69% SRAM หน่วยความจำแฟลช 99%
GSM_2017_06_11-00-07.HEX - ตอนนี้อีกครั้งเมื่อติดต่อผู้ติดต่อของเซ็นเซอร์ทั่วไปหลัก (ปิดประตู) อุปกรณ์กะพริบไฟ LED สีน้ำเงินเป็นเวลา 2 วินาทีส่งสัญญาณเกี่ยวกับการทำงานปกติของเซ็นเซอร์และอุปกรณ์จะไม่ถูกนำมาใช้ในบัญชีหรือลบออก คำสั่ง ringon / ringoff ถูกลบออก ตอนนี้อุปกรณ์สามารถลบออกจากการป้องกันในระหว่างการเตือนภัยตอนนี้พวกเขาจะดำเนินการในพื้นหลัง ไม่ว่าง: 69% SRAM หน่วยความจำแฟลช 99%
gsm_2017_07_04-21-52.hex - ตอนนี้คำสั่งหยุดชั่วคราวไม่ส่ง SMS ตอบกลับ คำสั่ง Teston ที่ถูกลบและทดสอบ testoff ตัวเลขทั้งหมดลบสัญญาณการจัดการ ไม่ว่าง: 68% SRAM หน่วยความจำแฟลช 96%
gsm_2017_07_24-12-02.hex - เพิ่มคำสั่ง reedswitchon / reedswitchoff เพื่อตรวจสอบเซ็นเซอร์ Germovgo หลักตอนนี้สามารถเปิด / ปิดแบบเดียวกับเซ็นเซอร์การเคลื่อนไหว แก้ไขในข้อผิดพลาดของทีมข้อมูล คำสั่ง Teston และ Testoff มีอยู่ในเฟิร์มแวร์ ไม่ว่าง: 68% SRAM หน่วยความจำแฟลช 96%
GSM_2017_07_26-10-03.HEX - เพิ่มโมเด็มคำสั่ง นิยามโมเด็มอัตโนมัติจะดำเนินการเฉพาะในกรณีที่ค่าของพารามิเตอร์นี้คือ 0 หลังจากตั้งค่าพารามิเตอร์ของ 0 อุปกรณ์จะถูกรีบูตโดยอัตโนมัติ ไม่ว่าง: 68% SRAM หน่วยความจำแฟลช 98%
gsm_2017_08_03-22-03.hex - ตอนนี้สัญญาณเตือนสามารถควบคุมอุปกรณ์ภายนอกได้ สำหรับการควบคุมการใช้งานอะนาล็อก A3 (D17 - ใช้เป็นดิจิตอล) ระดับตรรกะของเอาต์พุต (+ 5V หรือ GND) สามารถเปลี่ยนแปลงได้หลังจากเปลี่ยนระดับผ่านคำสั่งการตั้งค่าอุปกรณ์จะถูกรีบูตโดยอัตโนมัติ ระยะเวลาของสัญญาณควบคุมภายนอกสามารถเปลี่ยนแปลงได้ เพิ่ม extdevicelevellow, extdevicelevelhigh, extdevicetime, เปิดคำสั่ง การเปลี่ยนแปลงบางอย่างในตรรกะของทีมผู้บริหาร การเพิ่มประสิทธิภาพหน่วยความจำ ไม่ว่าง: 68% SRAM หน่วยความจำแฟลช 99%
GSM_2017_08_10-12-17.HEX - SMSON / SMSOFF, Reedswitchon / Reedswitchoff, Piron / Piroff จะถูกลบออกและเชื่อมต่อกับพวกเขาทั้งหมด ทีม DelayFeForeAlarm ถูกแทนที่ด้วยคำสั่งขั้นสูง เปลี่ยนเอาต์พุตของคำสั่ง Info เพิ่มประสิทธิภาพคำสั่ง listconfig ลงในคอนโซล ตอนนี้เซ็นเซอร์ดิจิตอลใด ๆ ที่มีการตอบสนองระดับสูงหรือต่ำสามารถเชื่อมต่อกับ PIN D6 และ A0 รวมถึง Herkes Pins D6 และ A0 จะต้องดึงดูดไปยังพื้นดิน (GND) ผ่านความต้านทาน 10 (20) com หากเซ็นเซอร์ได้รับการกำหนดค่าให้อยู่ในระดับการตอบกลับต่ำ (เปิดใช้งานในโหมด Herrock) ความสมบูรณ์ของโซ่จะถูกตรวจสอบ ระดับการตอบสนองเชิงตรรกะของอินพุต D6 และ A0 (+ 5V หรือ GND) สามารถเปลี่ยนแปลงได้หลังจากเปลี่ยนระดับตรรกะอุปกรณ์จะถูกรีบูตโดยอัตโนมัติ สำหรับเซ็นเซอร์แต่ละตัว (หลัก, ที่สอง, การ์ดส่วนขยาย PCF), เมื่อถูกเรียกมันสามารถติดตั้งได้ที่การแจ้งเตือนจะได้รับการแจ้งเตือน (SMS และ / หรือการโทรด้วยเสียง) "เซ็นเซอร์ PIR" ถูกเปลี่ยนชื่อเป็นเซ็นเซอร์ที่สอง แก้ไขการทำงานของคณะกรรมการส่วนต่อขยายข้อผิดพลาดเนื่องจากอุปกรณ์ได้รับแจ้งเกี่ยวกับการเรียกเซ็นเซอร์เสมอโดยไม่คำนึงว่าอุปกรณ์จะให้หรือไม่ ตอนนี้คุณสามารถเลือกโหมดการทำงานที่อุปกรณ์สามารถตรวจสอบเซ็นเซอร์นามสกุลของบอร์ดได้ทั้งในโหมด Guardon และเมื่อ Guardoff) ปิดอยู่ เพิ่มคำสั่ง pcfforceon / pcfforceoff, mainsensorlevelhigh / mainsensenorlevellow / mainsensorleveloff, excessensensorlevelhigh / excessensensorlevellow / secondsensensensorleoff, maindelaybeforealarm, seconddelaybeforealarm, pcfdelaybeforealarm ไม่ว่าง: 68% SRAM หน่วยความจำแฟลช 99%

* เฟิร์มแวร์รุ่นที่ตามมารวมถึงการเปลี่ยนแปลงในเวอร์ชันก่อนหน้า


ใช้พอร์ต Arduino Nano V3

D4 - เอาท์พุทของ "Alarm" Pina เมื่อเซ็นเซอร์ถูกเรียกใช้สัญญาณระดับสูงจะถูกติดตั้งบน PIN นี้
D5 - การผกผัน "Alarm" Pina เมื่อเซ็นเซอร์ถูกเรียกใช้สัญญาณระดับต่ำจะถูกติดตั้งบน PIN นี้

D6 - เซ็นเซอร์วัดรูปแบบ เริ่มต้นจากรุ่น GSM_2017_08_10-12-17.HEX เป็น PIN D6 เซ็นเซอร์ดิจิตอลใด ๆ ที่มีการตอบสนองระดับสูงหรือต่ำสามารถเชื่อมต่อรวมถึงโฮสต์ PIN D6 จะต้องดึงดูดลงไปที่พื้น (GND) ผ่านความต้านทาน 10 (20) com
D7 - เชื่อมต่อกับตัวแบ่งแรงดันไฟฟ้าจากแหล่งพลังงานภายนอก + 5V ไหล่ส่วนบน 2.2 com, ต่ำกว่า 3,3 com

ตัวแบ่งแรงดันไฟฟ้า


D8 - โมเด็ม TX
D9 - โมเด็ม Rx

D10 - LED สีแดง
D11 - ไฟ LED สีน้ำเงิน
D12 - ไฟ LED สีเขียว

การเชื่อมต่อของรอบนอก:
A0 - เซ็นเซอร์ตรวจจับความเคลื่อนไหว เริ่มต้นจากรุ่น GSM_2017_08_10-12-17.HEX เซ็นเซอร์ดิจิตอลใด ๆ ที่มีระดับการตอบสนองสูงหรือต่ำสามารถเชื่อมต่อกับ PIN A0 รวมถึงเยอรมัน PIN A0 จะต้องดึงดูดลงไปที่พื้น (GND) ผ่านความต้านทาน 10 (20) com

A1 - รายการสำหรับการควบคุมภายนอก ชุดสัญญาณเตือน / ลบการป้องกันเมื่อระดับสูงปรากฏขึ้นที่อินพุต + 5V
A2 - อินพุตผกผันสำหรับการควบคุมภายนอก ชุดสัญญาณเตือน / ลบการป้องกันเมื่อ GND ระดับต่ำปรากฏขึ้นที่อินพุต

A3 - ทางออกที่ปรับแต่งได้ (+ 5V หรือ GND) สำหรับการจัดการอุปกรณ์ภายนอก เมื่อได้รับคำสั่งควบคุมค่าที่เอาต์พุตนี้จะแตกต่างกันไปตามที่ตั้งไว้ในช่วงเวลาที่กำหนด

A4 - SDA I2C
A5 - SLC I2C
เพื่อเชื่อมต่อเซ็นเซอร์เพิ่มเติม 8 ตัว


คำสั่งควบคุมสำหรับ Hex - เฟิร์มแวร์

ความสนใจ! ทีมที่มีความสุข ตัวหนา สามารถดำเนินการได้จากหมายเลขหลักเนื่องจากมีหน้าที่รับผิดชอบในการกำหนดค่าอุปกรณ์ คำสั่งที่เหลือสามารถทำได้จากตัวเลขที่มีคุณสมบัติ "การจัดการ"

SMS - คำสั่งควบคุมไม่ไวต่อการลงทะเบียน:
addphone - เพิ่มหมายเลขโทรศัพท์ ไม่เกิน 9 หมายเลขสามารถเพิ่ม + 1 หมายเลขหลักที่บันทึกโดยอัตโนมัติในหน่วยความจำเมื่อการโทรครั้งแรกไปยังอุปกรณ์หลังจากรีเซ็ตไปยังคำสั่งการตั้งค่าจากโรงงาน รีเซ็ตโทรศัพท์ หรือ fullreset. ที่. ผู้ที่เรียกว่าอุปกรณ์หลังจากการปลดประจำการจากโรงงานเหมือนกันและ "หลัก" หมายเลขนี้จะถูกป้อนลงในเซลล์หน่วยความจำแรกและเป็นไปไม่ได้ที่จะเปลี่ยนหรือลบผ่าน SMS เป็นไปได้ที่จะเพิ่มตัวเลขที่เหมือนกันสองหมายเลข แต่ตัวเลขที่ซ้ำกันจะยังคงเป็นเพียงเครื่องหมาย "r" - เฉพาะสำหรับการโทรด้วยเสียงซ้ำ ๆ
ตัวอย่างทีม:



Team Syntax:

addphone - ทีม
: - ตัวคั่น
5 - เขียนถึงเซลล์หน่วยความจำที่ห้า
+71234567890 - หมายเลขโทรศัพท์
ก่อนที่จะ gsm_2017_05_26-20-22.hex:
A - พารามิเตอร์ "Alarm" - ตัวเลขที่มีพารามิเตอร์นี้จะถูกส่งไปยังข้อความ SMS เกี่ยวกับข้อความเตือนภัยและข้อความหรือข้อความ
เริ่มต้นด้วยรุ่น GSM_2017_05_26-20-22.Hex:
M - พารามิเตอร์ "การจัดการ" - อนุญาตการจัดการสัญญาณเตือนได้
S - พารามิเตอร์ "SMS" - ข้อความ SMS จะถูกส่งเมื่อเซ็นเซอร์ถูกเรียกใช้
R - พารามิเตอร์ "แหวน" - การโทรด้วยเสียงจะทำเมื่อเซ็นเซอร์ถูกเรียกใช้
P - พารามิเตอร์ Power - ข้อความ SMS จะถูกส่งเมื่อ / ตัดการเชื่อมต่อพลังงานภายนอก
I - พารามิเตอร์ "ข้อมูล" - ข้อความ SMS จะถูกส่งเมื่อตั้งค่าหรือปลดอาวุธ
ในกรณีที่ไม่มีพารามิเตอร์ "M", "S", "R", "P", "I" โทรศัพท์ถูกป้อนเข้าสู่หน่วยความจำ แต่ไม่ได้ใช้


เทลเลท - ลบหมายเลขโทรศัพท์
ตัวอย่างทีม:

Team Syntax:

Deletephone - ทีม
: - ตัวคั่น
+71234567891 - หมายเลขโทรศัพท์


editmainphone - เปลี่ยนพารามิเตอร์ "S", "R", "P", "I" ของโทรศัพท์หลักหมายเลขนี้จะถูกป้อนลงในเซลล์หน่วยความจำแรก
ตัวอย่างทีม:

Team Syntax:

EditMainphone - ทีม
: - ตัวคั่น
SRPI - พารามิเตอร์


Balancenum - การเปลี่ยนหมายเลขแบบสอบถามสมดุลและประมวลผลความยาวการตอบกลับแบบสอบถาม ค่าเริ่มต้นสำหรับ Beeline: # 100 # L22
ตัวอย่างทีม:

Team Syntax:

Balancenum - ทีม
: - ตัวคั่น
# 103 # - หมายเลขคำขอยอดคงเหลือ
L24 - ความยาว (len) ของการตอบสนองการตอบสนอง 24 สัญลักษณ์ตัดสแปมจากแบบสอบถามความสมดุล


editsensor - เปลี่ยนชื่อของเซ็นเซอร์และระดับตรรกะของการเรียก อาจมีเซ็นเซอร์เพิ่มเติมไม่เกิน 8 ตัว หลังจากเปลี่ยนพารามิเตอร์จำเป็นต้องใช้อุปกรณ์รีสตาร์ทของอุปกรณ์
ตัวอย่างทีม:
Editsensor: 1 + Datchik Dvizheniya V Koridore # H

Team Syntax:

EditSensor - ทีม
: - ตัวคั่น
1 - เขียนในเซลล์หน่วยความจำแรก
+ - แยก
Datchik Dvizheniya V Koridore - ชื่อของเซ็นเซอร์ต้องไม่เกิน 36 ตัวอักษรรวมถึงช่องว่าง
#h - สัญลักษณ์ของระดับตรรกะสูงจากเซ็นเซอร์เมื่อได้รับสัญญาณเตือนจะทำงาน หากไม่มี "#h" การเตือนจะถูกเรียกเมื่อใบเสร็จรับเงินจากเซ็นเซอร์ระดับตรรกะต่ำ


เวลานอน. - เวลาของการเตือน "การนอนหลับ" เมื่อได้รับคำสั่ง SMS "หยุดชั่วคราว" ที่ระบุในไม่กี่นาที ค่าเริ่มต้น: 15 ไม่สามารถน้อยกว่า 1 หรือมากกว่า 60
ตัวอย่างทีม:

Team Syntax:

Sleeptime - ทีม
: - ตัวคั่น
20 - 20 นาที "นอนหลับ"


Alarmpintime - เวลาที่เปิด / ปิดสัญญาณเตือน / การผกผันจะถูกระบุในไม่กี่วินาที ค่าเริ่มต้นคือ: 60, ไม่น้อยกว่า 1 วินาทีและมากกว่า 43200 วินาที (12 ชั่วโมง)
ตัวอย่างทีม:

Team Syntax:

Alarmpintime - ทีม
: - ตัวคั่น
30 - 30 วินาทีของการเปิด / ปิดการเตือนภัย


delayborefuard - เวลาในการตั้งค่าอุปกรณ์เพื่อป้องกันหลังจากได้รับทีมที่เกี่ยวข้อง
ตัวอย่างทีม:

Team Syntax:

delayborefuard - ทีม
: - ตัวคั่น
25 - 25 วินาทีก่อนการติดอาวุธ


delaybeforealarm - เวลาหลังจากนั้นจะถูกส่ง "ปลุก" การแจ้งเตือนทาง SMS หากในช่วงเวลานี้การเตือนไม่ได้ถูกลบออกจากการป้องกัน แทนที่ด้วยคำสั่งขั้นสูงที่เริ่มต้นจากเวอร์ชัน GSM_2017_08_10-12-17.Hex
ตัวอย่างทีม:

Team Syntax:

DelayBeforealarm - ทีม
: - ตัวคั่น
40 - 40 วินาทีก่อนที่จะส่งประกาศ "น่าตกใจ"


watchpowertime - เวลาในไม่กี่นาทีหลังจากที่ข้อความ SMS จะถูกส่งเพื่อตัดการเชื่อมต่อแหล่งจ่ายไฟภายนอก หากพลังงานภายนอกถูกกู้คืนก่อนเวลาที่กำหนดจะหมดอายุข้อความจะไม่ถูกส่ง
ตัวอย่างทีม:

Team Syntax:

WatchPowerTime - ทีม
: - ตัวคั่น
5 - 5 นาทีก่อนส่งข้อความ SMS


เสียงเรียกเข้า - ระยะเวลาของการโทรปลุกเสียงพารามิเตอร์อาจมาจาก 10 ถึง 255 วินาที
ตัวอย่างทีม:

Team Syntax:

Ringtime - ทีม
: - ตัวคั่น
40 - 40 ระยะเวลาการโทรจะ 40 วินาทีหลังจากนั้นสมาชิกคนต่อไปจะถูกเรียก


โมเด็ม - การติดตั้งแบบบังคับของโมเดลที่ใช้แล้ว ค่าที่เป็นไปได้: 0 - การตรวจจับอัตโนมัติโมเด็ม, 1 - M590, 2 - SIM800L, 3 - A6_mini
ตัวอย่างทีม:

Team Syntax:

โมเด็ม - ทีม
: - ตัวคั่น
2 - โมเด็ม ID


extdevicetime - จำนวนวินาทีที่ระดับสัญญาณจะเปลี่ยนไปที่เอาต์พุตของอุปกรณ์ภายนอก
ตัวอย่างทีม:

Team Syntax:

extdevicetime- ทีม
: - ตัวคั่น
5 - 5 วินาที


extdevicelevlow - อุปกรณ์ภายนอกที่เชื่อมต่อกับเอาต์พุต A3 ถูกควบคุมโดยระดับสัญญาณต่ำ (GND) ที่เอาท์พุทเริ่มต้นจะมีระดับสูง + 5V จนกว่าคำสั่งควบคุมภายนอกจะได้รับ
extdevicelevelhigh - อุปกรณ์ภายนอกที่เชื่อมต่อกับเอาต์พุต A3 ถูกควบคุมโดยสัญญาณระดับสูง (+ 5V) ที่เอาต์พุตเริ่มต้นจะมีระดับ GND ต่ำจนกว่าคำสั่งควบคุมภายนอกจะได้รับ

resetsensor - รีเซ็ตพารามิเตอร์เซ็นเซอร์ Port Expander

resetconfig - รีเซ็ตการตั้งค่าสำหรับการตั้งค่าจากโรงงาน

รีเซ็ตโทรศัพท์ - ลบจากหน่วยความจำของทั้งหมด หมายเลขโทรศัพท์

fullreset - รีเซ็ตการตั้งค่าลบหมายเลขโทรศัพท์ทั้งหมดจากหน่วยความจำคืนค่าเริ่มต้นของคำสั่ง balancenum

กริ่ง - เปิดใช้งานการแจ้งเตือนการโทรไปยังหมายเลข "หลัก" ที่บันทึกไว้ในเซลล์หน่วยความจำแรกเมื่อเซ็นเซอร์ถูกเรียกใช้ ระยะไกลจากรุ่น GSM_2017_06_11-00-07.HEX
แหวน - ปิดการแจ้งเตือนการโทรเมื่อเซ็นเซอร์ถูกเรียกใช้ ระยะไกลจากรุ่น GSM_2017_06_11-00-07.HEX

Smson - เปิดใช้งานการแจ้งเตือนทาง SMS เมื่อเซ็นเซอร์ถูกเรียกใช้ ระยะไกลจากรุ่น GSM_2017_08_10-12-17.HEX
smsoff - ปิดการแจ้งเตือน SMS เมื่อเซ็นเซอร์ถูกเรียกใช้ ระยะไกลจากรุ่น GSM_2017_08_10-12-17.HEX

เพียรอน - เปิดใช้งานการประมวลผลเซ็นเซอร์การเคลื่อนไหว
Piroff - ปิดการประมวลผลของเซ็นเซอร์การเคลื่อนไหว

reedswitchon - เปิดใช้งานการประมวลผลของเซ็นเซอร์ทั่วไปหลัก
reedswitchoff - ปิดการประมวลผลของเซ็นเซอร์ทั่วไปหลัก

watchpoweron - เปิดใช้งานการควบคุมพลังงานภายนอกพลังงาน SMS ปิดการใช้งาน SMS พลังงานจะถูกส่งภายใต้เงื่อนไขที่สัญญาณเตือนติดอาวุธ ลบออกจากรุ่น GSM_2017_03_01-23-37

watchpoweron1 - เปิดใช้งานการควบคุมพลังงานภายนอกพลังงาน SMS ปิดการใช้งาน SMS พลังงานจะถูกส่งภายใต้เงื่อนไขที่สัญญาณเตือนติดอาวุธ
watchpoweron2 - เปิดใช้งานการควบคุมพลังงานภายนอกข้อความ SMS เกี่ยวกับปิดไฟภายนอกในกรณีใด ๆ จะถูกส่ง

watchpoweroff - ปิดการควบคุมพลังงานภายนอก

GuardButtonon - การควบคุมการส่งสัญญาณด้วยอุปกรณ์ภายนอกหรือปุ่มเปิดขึ้นเริ่มต้นจากรุ่น GSM_2017_04_16-12-00
GuardButtonon1 - ฟังก์ชั่น การตั้งค่าหรือการลบ การป้องกันโดยอุปกรณ์ภายนอกหรือเปิดใช้งานปุ่ม
GuardButtonon2 - ฟังก์ชั่น การตั้งค่าเท่านั้น ในการป้องกันอุปกรณ์ภายนอกหรือปุ่มถูกเปิดใช้งานการลบออกจากความปลอดภัยที่ทำโดยการโทรไปยังอุปกรณ์หรือใช้คำสั่ง SMS
GuardButtonoff - ควบคุมการส่งสัญญาณโดยอุปกรณ์ภายนอกหรือปุ่มปิด

pcfforceon - การตรวจสอบอย่างถาวรของกลุ่มเซ็นเซอร์โมดูลการขยายตัวทั้งหมด
pcfforceoff - การตรวจสอบกลุ่มเซ็นเซอร์ทั้งหมดของโมดูลการขยายตัวเท่านั้นเมื่อตั้งค่าอุปกรณ์เพื่อความปลอดภัย

mainsensorlevelhigh - การแจ้งเตือนการเตือนจะถูกส่งเมื่อสัญญาณระดับสูงปรากฏขึ้น (+5 v) ที่อินพุต (D6) จากเซ็นเซอร์
mainsensorlevelow - การแจ้งเตือนการแจ้งเตือนจะถูกส่งเมื่อสัญญาณระดับต่ำปรากฏขึ้น (GND) ที่อินพุต (D6) จากเซ็นเซอร์
mainsensorleveloff - การประมวลผลของเซ็นเซอร์ที่อินพุต (D6) ถูกปิดใช้งาน

วินาทีส่วนใหญ่ - การแจ้งเตือนการเตือนภัยจะถูกส่งเมื่อสัญญาณระดับสูงปรากฏขึ้น (+5 v) ที่อินพุต (A0) จากเซ็นเซอร์
วินาที orlevelow - การแจ้งเตือนการเตือนภัยจะถูกส่งเมื่อสัญญาณระดับต่ำปรากฏขึ้น (GND) ที่อินพุต (A0) จากเซ็นเซอร์
excessensorleveloff - การประมวลผลของเซ็นเซอร์ที่อินพุต (A0) ถูกปิดใช้งาน

maindelaybeforealarm - เวลาหลังจากนั้นจะถูกส่ง "สัญญาณเตือนภัย" การแจ้งเตือน SMS เมื่อเซ็นเซอร์หลักถูกเรียก (D6) หากสำหรับช่วงเวลานี้การเตือนจะไม่ถูกลบออกจากการป้องกัน ไวยากรณ์คล้ายกับคำสั่ง delaybeforealarm
seconddelaybeforealarm - เวลาหลังจากนั้นจะถูกส่ง "การแจ้งเตือน" การแจ้งเตือน SMS เมื่อเซ็นเซอร์เพิ่มเติมถูกเรียก (A0) หากในช่วงเวลานี้สัญญาณเตือนไม่ได้ถูกลบออกจากการป้องกัน ไวยากรณ์คล้ายกับคำสั่ง delaybeforealarm
pcfdelaybeforealarm - เวลาหลังจากนั้นจะถูกส่ง "ปลุก" การแจ้งเตือน SMS เมื่อเซ็นเซอร์ค่าธรรมเนียมการขยายตัวถูกเรียก (PCF8574) หากในช่วงเวลานี้การเตือนภัยยังไม่ถูกลบออกจากการป้องกัน ไวยากรณ์คล้ายกับคำสั่ง delaybeforealarm

พิทักษ์ - ใส่ยาม
Guardoff - ลบยาม

เปิด - ทีมการจัดการอุปกรณ์ภายนอก

ข้อมูล - ตรวจสอบสถานะในการตอบสนองต่อข้อความนี้จะถูกส่ง SMS พร้อมข้อมูลเกี่ยวกับหมายเลขใดที่เปิด / ปิด Guard

Pause - ระงับระบบของระบบสำหรับเวลาที่กำหนดโดยคำสั่ง Sleeptime ในไม่กี่นาทีระบบจะไม่ตอบสนองต่อการตอบสนองของเซ็นเซอร์

Teston - โหมดทดสอบเปิดใช้งานกะพริบด้วยไฟ LED สีน้ำเงิน
Testoff - โหมดทดสอบปิดอยู่

LEDOFF - ปิดไฟ LED สแตนด์บาย
Ledon - รวมถึงไฟ LED สแตนด์บาย

เงิน - คำขอยอดคงเหลือ

Clearsms - ลบ SMS ทั้งหมดออกจากหน่วยความจำ

คำสั่งคอนโซล (มากถึงรุ่น GSM_2017_04_24-13-22.hex) - ป้อนในการตรวจสอบพอร์ต arduino IDE:

addphone - sms sms addphone

Deletephone - คล้ายกับ SMS คำสั่ง deletephone

EditSensor - คล้ายกับ SMS EditSensor

ListPhone - เอาท์พุทไปยังรายการของรายการที่บันทึกไว้ในหน่วยความจำของโทรศัพท์

ResetConfig - คล้ายกับคำสั่ง resetconfig sms

รีเซ็ตโทรศัพท์ - คล้ายกับคำสั่ง sms รีเซ็ตโทรศัพท์

FullReset - FullReset SMS SMS

Clearsms - คล้ายกับ SMS Command Clearsms

WatchPoweron1 - คล้ายกับคำสั่ง SMS WatchPoweron1
WatchPoweron2 - คล้ายกับคำสั่ง WatchPoweron2 SMS
WatchPowerOff - คล้ายกับ SMS WatchPowerOff

GuardButtonon คล้ายกับคำสั่ง GuardButtonon SMS รีโมทจากรุ่น GSM_2017_04_16-12-00
GuardButtonon1 - คล้ายกับ SMS Team GuardButtonon1
GuardButtonon2 - คำสั่ง SMS GuardButtonon2
GuardButtonoff - คล้ายกับทีม SMS GuardButtonoff

Memtest เป็นการทดสอบหน่วยความจำอุปกรณ์ที่ไม่ลบเลือนการตั้งค่าอุปกรณ์ทั้งหมดจะถูกรีเซ็ตคล้ายกับคำสั่ง FullReset

I2CSCAN - ค้นหาและเริ่มต้นของอุปกรณ์ที่รองรับบนรถบัส I2C

listConfig - เอาต์พุตไปยังหน้าจอพอร์ตของการกำหนดค่าอุปกรณ์ปัจจุบัน

Listsensor - เอาท์พุทไปยังหน้าจอพอร์ตของการกำหนดค่าเซ็นเซอร์ปัจจุบัน

อัพเดต เมื่อใช้เซ็นเซอร์การเคลื่อนไหวเพื่อกำจัดข้อดีที่ผิดพลาดเมื่อโมเด็มทำงานคุณต้องการ ระหว่าง บทกวี gnd และ A0 Arduino ใส่ความต้านทานขอบคุณพูดคุยกับเพื่อน
AllowPhone \u003d ("70001234501", "70001234503", "70001234504", "70001234505") - ตัวเลขที่ได้รับอนุญาตให้ควบคุมการป้องกัน
Alarmphone \u003d ("70001234501", "70001234502") - ตัวเลขสำหรับการส่งการแจ้งเตือนทาง SMS เมื่อเซ็นเซอร์ถูกเรียกและแจ้งเตือนสำหรับการกำจัดหรืออาวุธ หมายเลขแรกในรายการจะถูกเรียกว่าเมื่อเซ็นเซอร์ถูกเรียกใช้หากคำสั่ง ringon ถูกเรียกใช้งานตัวเลือกเริ่มต้นจะเปิดใช้งาน สิ่งนี้ทำเนื่องจากข้อความ SMS สามารถมาพร้อมกับความล่าช้าบางอย่างและการโทรจะต้องไปทันที

หากคุณได้รับสายจากหมายเลขที่อนุญาตหรือข้อความ SMS ที่มีคำสั่ง Guardon / Guardoff ขึ้นอยู่กับสถานะความปลอดภัยปัจจุบันข้อความ SMS บนเวทีหรือการลบจากความปลอดภัยไปยังตัวเลขที่ระบุไว้ในอาร์เรย์ AlarmPhone จะ ถูกส่งไปยังข้อความ SMS ไปยังหมายเลขที่เขาได้รับสาย

เมื่อเรียกเซ็นเซอร์ ข้อความ SMS จะถูกส่งไปยังหมายเลขทั้งหมดจาก MASSIF (รายการ) ของ Alarmphone และจะเรียกว่าการโทรด้วยเสียงเป็นหมายเลขแรกจากอาร์เรย์นี้

บ่งชี้แสง:
ไฟ LED เรืองแสงในสีแดง - ใส่ยาม
LED เรืองแสง สีเขียว - ปิดการใช้งานด้วยความปลอดภัยเปิด / ปิดคำสั่ง SMS Ledon / LEDOFF
ไฟ LED กะพริบเป็นสีน้ำเงินอย่างต่อเนื่อง - สัญญาณที่ C Arduino นั้นถูกต้องค่าธรรมเนียมไม่ได้ขึ้นอยู่กับใช้สำหรับการดีบักเท่านั้นมันเปิด / ทดสอบ SMS Testoff
* รหัสมีอยู่ในรหัส ledtest () มันกะพริบไฟ LED สีน้ำเงินทำเท่านั้นที่จะตรวจสอบ Arduino, Flashes - หมายความว่ามันไม่กะพริบ - มันแขวน ยังไม่ได้แขวน :)

ไม่เกี่ยวข้อง!

การเชื่อมต่อเซ็นเซอร์ 2 ตัวขึ้นไปสำหรับเฟิร์มแวร์เปิด (เฉพาะ Firmware Sketch_02_12_2016.ino)
ในการเชื่อมต่อเซ็นเซอร์ทั่วไปเพิ่มเติมให้ใช้ Digital Pins D2, D3, D5 หรือ D7 ฟรี แผนภาพการเชื่อมต่อที่มีเซ็นเซอร์เพิ่มเติมบน D7

การเปลี่ยนแปลงที่จำเป็นในเฟิร์มแวร์
... #define doorpin 6 // หมายเลขอินพุตที่เชื่อมต่อกับเซ็นเซอร์หลัก int8_t doorstate \u003d 0; // ตัวแปรสำหรับการจัดเก็บสถานะของเซ็นเซอร์หลัก int8_t doorflag \u003d 1; // ตัวแปรสำหรับการจัดเก็บสถานะของเซ็นเซอร์หลัก #define backdoorpin 7 // หมายเลขอินพุตที่เชื่อมต่อกับ int8_t backdoorstate \u003d 0; // ตัวแปรสำหรับการจัดเก็บสถานะของเซ็นเซอร์เพิ่มเติม int8_t backdoorflag \u003d 1; // ตัวแปรสำหรับการจัดเก็บสถานะของเซ็นเซอร์เพิ่มเติม ...
การตั้งค่าเป็นโมฆะ () (... pinmode (doorpin, อินพุต); pinmode (backdoorpin, อินพุต); ...
... void detect () (// อ่านค่าจากประตูหน้าประตู \u003d digitalRead; backdoorstate \u003d digitalread; // การประมวลผลเซ็นเซอร์หลักถ้า (doorstate \u003d\u003d low && doorflag \u003d\u003d 0) (doorflag \u003d 1; (100) ถ้า (Ledon \u003d\u003d 1) digital เขียน (GLED, ต่ำ); Alarm ();) ถ้า (doorstate \u003d\u003d high && doorflag \u003d\u003d 1) (doorflag \u003d 0; ล่าช้า (100);) // การประมวลผลเพิ่มเติม หากเซ็นเซอร์ (backdoorstate \u003d\u003d ต่ำ && backdoorflag \u003d\u003d 0) (backdoorflag \u003d 1; ล่าช้า (100) ถ้า (ledon \u003d\u003d 1) digital เขียน (GLED, ต่ำ);) ถ้า (backdoorstate \u003d\u003d high && backdoorflag \u003d\u003d 1) (backdoorflag \u003d 0; ล่าช้า (100);)) ...

และอีกสิ่งหนึ่ง:
1. ไดโอดจะดีกว่าที่จะใช้ 2 กระแสในขณะที่โมดูลติดเชื้อในปัจจุบันที่ 1 A และเรายังคงต้องป้อน Arduino และโมเด็ม อินสแตนซ์นี้ใช้ไดโอด 1N4007 หากเราล้มเหลวในการแทนที่ 2 A.
2. ตัวต้านทานทั้งหมดสำหรับ LED ที่ใช้ใน 20 com เพื่อไม่ให้แสงทั้งทางเดินในเวลากลางคืน
3. บนเซ็นเซอร์ไม่มีแขนระหว่าง PIN GND และ PIN D6 ยังแขวนตัวต้านทานใน 20 com

นั่นคือทั้งหมดที่ ขอบคุณที่ให้ความสนใจ! :)

ฉันวางแผนที่จะซื้อ +207 เพิ่มในรายการโปรด ฉันชอบรีวิว +112 +243

สัญญาณเตือนความปลอดภัยที่เรียบง่ายสำหรับบ้านบน Arduino Uno เป็นหัวข้อของรีวิวนี้ แม้จะมีความจริงที่ว่าไมโครคอนโทรลเลอร์ของครอบครัวนี้ได้รับการออกแบบมาเพื่อสอนนักเรียน แต่มันค่อนข้างสมจริงในการสร้างโครงการที่มีประโยชน์จริงๆใน Arduino สัญญาณเตือนความปลอดภัยสำหรับบ้านหรือ พล็อตสวน จะถูกเตือนโดยเจ้าของ PE และส่งข้อความจากเซ็นเซอร์ไปยังสมาร์ทโฟน

ปลุกสำหรับบ้านบน Arduino

พิจารณาวิธีการทำ ARDUINO UNO หรือ NANO Alarm สำหรับบ้านสวนคันทรีหรือโรงรถ ในโครงการเราใช้เซ็นเซอร์ตรวจจับความเคลื่อนไหวเซ็นเซอร์น้ำและอุณหภูมิเป็นชุดของเซ็นเซอร์พื้นฐานสำหรับระบบการแจ้งเตือนที่ง่ายที่สุด คุณจะได้เรียนรู้เกี่ยวกับการพัฒนาน้ำประปาลดอุณหภูมิในบ้านหรือการรุกของคนต่างชาติในห้องได้ทุกที่ทุกเวลา

เซ็นเซอร์ Arduino สำหรับการเตือนความปลอดภัย

ในโครงการนี้เราใช้สมาร์ทโฟนเก่าเพื่อถ่ายโอนข้อมูลบนอินเทอร์เน็ต ตามที่ตั้งของทรัพย์สินของคุณจะต้องมีสัญญาณ GPRS และผู้ประกอบการมือถือใด ๆ ที่เชื่อมต่อกับภาษีที่ง่ายที่สุดที่มีการเข้าถึงอินเทอร์เน็ต หากเงื่อนไขเหล่านี้ไม่ได้ดำเนินการไซเรนเสียงมีให้ในระบบรักษาความปลอดภัยซึ่งยังสามารถขอร้องโจรได้

โครงการใช้เซ็นเซอร์ที่ง่ายที่สุด - เซ็นเซอร์อุณหภูมิ DHT11, เซ็นเซอร์การรั่วไหลของน้ำซึ่งสามารถทำเช่นเดียวกับเซ็นเซอร์การเคลื่อนไหว หากคุณตัดสินใจที่จะส่งสัญญาณที่ซับซ้อนมากขึ้น - เราขอแนะนำให้คุณดูโครงการ สัญญาณเตือนไฟไหม้ หรือปลุกบน GSM คุณจะต้องติดตั้งแอปพลิเคชันบนสมาร์ทโฟนของคุณและลงทะเบียนบัญชี Twitter สองบัญชี

วิธีการทำให้ Arduino Alarm

สำหรับโครงการนี้เราจะต้อง:

  • aRDUINO UNO / ARDUINO NANO / ARDUINO MEGA ค่าธรรมเนียม;
  • สมาร์ทโฟนพร้อมอินเทอร์เน็ต
  • เซ็นเซอร์อุณหภูมิและความชื้น DHT11;
  • เซ็นเซอร์การรั่วไหลของน้ำ (เซ็นเซอร์น้ำ);
  • เซ็นเซอร์การเคลื่อนไหวและปุ่ม (สวิทช์);
  • ไฟ LED, ตัวต้านทาน, สายไฟ, ฯลฯ


Skatch สำหรับการส่งสัญญาณไลบรารีที่จำเป็นทั้งหมดและแอปพลิเคชันสมาร์ทโฟนสามารถดาวน์โหลดได้โดยหนึ่งไฟล์เก็บถาวร โปรดทราบว่าเป็นไปไม่ได้ที่จะจัดการ Arduino จากระยะไกลเนื่องจากโครงการง่ายที่สุดเท่าที่จะเป็นไปได้ คุณสามารถรับรู้ได้เฉพาะเกี่ยวกับการอ่านเซ็นเซอร์ที่ติดตั้งในบ้านหลังจากระยะเวลาที่กำหนดหรือเมื่อเซ็นเซอร์ถูกเรียกใช้

Skatch Security Alarm บน Arduino Uno / Nano

#include // การเชื่อมต่อไลบรารี SoftwareSerial.h Softwareserial Myserial (2, 3); // ระบุ pins rx และ tx ตามลำดับ #include // เชื่อมต่อไลบรารีสำหรับเซ็นเซอร์ DHT DHT (16, DHT11); // เราแจ้งว่าเซ็นเซอร์จะเป็นอะไร int tmp; #define pir 5 // พอร์ตสำหรับเชื่อมต่อเซ็นเซอร์การเคลื่อนไหว INT PIR; #define knp 7. // พอร์ตสำหรับการเชื่อมต่อสวิตช์ int knp; #define WTR 19 // พอร์ตสำหรับเชื่อมต่อเซ็นเซอร์น้ำ int wtr; #define led 11 // พอร์ตสำหรับการเชื่อมต่อไฟ LED #define buz 9. // พอร์ตสำหรับเชื่อมต่อ piezodynamics // แถวสำหรับการระบุข้อมูลที่ได้รับบนสมาร์ทโฟน สตริง stringt \u003d string (* "); สตริง stringp \u003d string ("^"); สตริง stringw \u003d string ("-"); สตริง stringh \u003d string ("#"); // ตัวแปรสำหรับเคาน์เตอร์รอบการนับ ฯลฯ การเคลื่อนไหวที่ยาวนานที่ไม่ได้ลงนาม; ชั่วโมงที่ไม่ได้ลงนาม; ไบต์ M, S1, S2, S3, C \u003d 10; การตั้งค่าเป็นโมฆะ () () (myserial.begin (9600); แบบอนุกรม .begin (9600); dht.begin (); pinmode (pir, อินพุต); analogwrite (pir, low); pinmode (knp, อินพุต); Analogwrite (KNP, ต่ำ); PinMode (WTR, อินพุต); Analogwrite (WTR, ต่ำ); // การตรวจสอบไฟ LED และคุกกี้เมื่อเปิดเครื่อง PinMode (Buz, เอาท์พุท); PinMode (LED, เอาท์พุท); Analogwrite (LED, 255); โทน (Buz, 100); ล่าช้า (1,000); Analogwrite (LED, 0); Notone (BUZ); ล่าช้า (1,000); ) เป็นโมฆะลูป () (tmp \u003d dht.readtemperature (); pir \u003d digitalread (pir); knp \u003d digitalread (knp); WTR \u003d analogread (WTR); // เรียกใช้เคาน์เตอร์ ชั่วโมง \u003d มิลลิลิตร (); // 3600000 มิลลิวินาที - นี่คือ 1 ชั่วโมง, 10800,000 - 3 ชั่วโมง // ถ้า 3 ชั่วโมงผ่าน - เราส่งข้อมูลไปยังสมาร์ทโฟน // หากจำเป็นให้ใส่ค่าของคุณแทน 10800000 ถ้า (Millis () - ชั่วโมง\u003e 10800000) (myserial.println (tmp + stringt); myserial.println (stringh); // ส่งสัญญาณว่า 3 ชั่วโมงผ่านไป } // เราดำเนินการรอบแต่ละรอบสิบเราส่งข้อมูลไปยังสมาร์ทโฟน ค--; serial .print (c); serial .println ("- วงจร"); serial .println (""); ล่าช้า (1,000); Notone (BUZ); ถ้า (c\u003e 10) (c \u003d 10;) ถ้า (c< 1) { s1 = 0; s2 = 0; s3 = 0; mySerial.println (tmp + stringT); // ส่งอุณหภูมิ myserial.println (pir + stringp); // ส่งการเคลื่อนไหวของการเคลื่อนไหวในบ้าน myserial.println (WTR + stringw); // ส่งข้อมูลจากเซ็นเซอร์น้ำ // Motion Sensor ทำงานและปิดปุ่ม - เปิดไฟ ถ้า (pir \u003d\u003d high && knp \u003d\u003d ต่ำ) (Analogwrite (LED, 255);) // ปิดเซ็นเซอร์การเคลื่อนไหวแล้วปุ่มปิด - ปิดไฟ ถ้า (pir \u003d\u003d low && knp \u003d\u003d ต่ำ) (Motion \u003d Millis (); ในขณะที่ (pir \u003d\u003d ต่ำ) (tmp \u003d dht.readtemperature () pir \u003d digitalread (pir); knp \u003d digitalread (knp); knp \u003d digitalread; wtr \u003d Analogread (WTR); c--; serial .print (c); serial .println ("- cycle"); serial .println (""); ความล่าช้า (1000); notone (buz); ถ้า (c\u003e 10 ) (c \u003d 10;) ถ้า (c< 1) { s1 = 0; s2 = 0; s3 = 0; mySerial.println (tmp + stringT); // ส่งอุณหภูมิ myserial.println (pir + stringp); // ส่งการเคลื่อนไหวของการเคลื่อนไหวในบ้าน myserial.println (WTR + stringw); // ส่งข้อมูลจากเซ็นเซอร์น้ำ // แสดงหมายเลขบนหมายเลขมอนิเตอร์ข้อมูลทั้งหมดจากเซ็นเซอร์ Serial .print ("TMP \u003d"); Serial .println (TMP); serial .print ("pir \u003d"); serial .println (pir); Serial .print ("KNP \u003d"); Serial .println (KNP); Serial .print ("WTR \u003d"); serial .println (WTR); Serial .println (""); ) // ช่วงเวลาปิดไฟในมิลลิวินาที ถ้า (Millis () - Motion\u003e 5000) (Analogwrite (LED, 0); แบ่ง;) ถ้า (PIR \u003d\u003d สูง) (Analogwrite (LED, 255);)) // Motion Sensor ทำงานและเปิดปุ่ม - เรียกใช้ตัวจับเวลา ถ้า (pir \u003d\u003d high && knp \u003d\u003d high) (Motion \u003d millis (); ความล่าช้า (1,000); analogwrite (LED, 255);. println ( "เซ็นเซอร์ทำงาน"); serial .println (""); ล่าช้า (1,000); ในขณะที่ (KNP \u003d\u003d สูง) (tmp \u003d dht.readtemperature () pir \u003d digitalread (pir); knp \u003d digitalread (knp); wtr \u003d analogread (WTR); c--;.; Println ("- cycle"); Serial .println (""); ล่าช้า (1,000); Notone (BUZ); ถ้า (c\u003e 10) (c \u003d 10;) ถ้า (c \u003d 10;) ถ้า (c< 1) { s1 = 0; s2 = 0; s3 = 0; mySerial.println (tmp + stringT); // ส่งอุณหภูมิ myserial.println (pir + stringp); // ส่งการเคลื่อนไหวของการเคลื่อนไหวในบ้าน myserial.println (WTR + stringw); // เราส่งข้อมูลจากเซ็นเซอร์น้ำ // แสดงบนหมายเลขพอร์ตตรวจสอบข้อมูลทั้งหมดจากเซ็นเซอร์ Serial .print ("TMP \u003d"); Serial .println (TMP); serial .print ("pir \u003d"); serial .println (pir); Serial .print ("KNP \u003d"); Serial .println (KNP); Serial .print ("WTR \u003d"); serial .println (WTR); serial .println (""); ) // หากเซ็นเซอร์ตรวจจับการเคลื่อนไหวถูกปิดใช้งาน - ส่งข้อความถึงบลูทู ธ if (KNP \u003d\u003d ต่ำ) (อนุกรม. println ( "ปิดการใช้งานการเตือนภัย"); serial .println (""); ล่าช้า (1,000); ) // หากมากกว่า 10 วินาทีผ่านไป - ส่งข้อความถึง Bluetooth ถ้า (Millis () - Motion\u003e 10000 && S1! \u003d 1) (m \u003d 1; goto message1;) ล่าช้า (1,000); ) // หากเกิดการรั่วไหลของน้ำ - ส่งข้อความถึงบลูทู ธ ถ้า (WTR\u003e 500 && S2! \u003d 2) (m \u003d 2; goto message2;) ถ้า (WTR\u003e 500) (โทน (BUZ, 400);) ถ้า (WTR<= 500) { noTone (BUZ); } // หากอุณหภูมิลดลง - ส่งข้อความถึงบลูทู ธ ถ้า (TMP< 20 && s3 != 3) { m = 3; goto message3; } if (tmp < 20) { tone (BUZ, 200); } if (tmp >\u003d 20) (Notone (BUZ);) message1: ในขณะที่ (m \u003d\u003d 1) (. println serial ( "สัญญาณเตือนส่งถึงบลูทู ธ " // ส่งอุณหภูมิ myserial.println (1 + stringp); // ส่งการเคลื่อนไหวของการเคลื่อนไหวในบ้าน myserial.println (WTR + stringw); // ส่งข้อมูลจากเซ็นเซอร์น้ำ S1 \u003d 1; m \u003d 0; หยุดพัก; ) message2: ในขณะที่ (m \u003d\u003d 2) (. println serial ( "สัญญาณการรั่วไหลของน้ำส่งไปที่บลูทู ธ "); serial .println (""); ล่าช้า (1,000); myserial.println (tmp + stringt); // ส่งอุณหภูมิ myserial.println (pir + stringp); // ส่งการเคลื่อนไหวของการเคลื่อนไหวในบ้าน myserial.println (500 + stringw); // ส่งข้อมูลจากเซ็นเซอร์น้ำ S2 \u003d 2; m \u003d 0; หยุดพัก; ) message3: ในขณะที่ (m \u003d\u003d 3) (serial .println ( "สัญญาณอุณหภูมิส่งถึงบลูทู ธ "); serial .println (""); ล่าช้า (1,000); myserial.println (20 + stringt); // ส่งอุณหภูมิ myserial.println (pir + stringp); // ส่งการเคลื่อนไหวของการเคลื่อนไหวในบ้าน myserial.println (WTR + stringw); // ส่งข้อมูลจากเซ็นเซอร์น้ำ s3 \u003d 3; m \u003d 0; หยุดพัก; )

คำอธิบายเกี่ยวกับรหัส:

ในการแวบแรกโครงการอาจดูยาก แต่ก็ไม่ได้ สัญญาณเตือนสามารถรวบรวมได้บนกระดานใด ๆ รวมถึง Arduino UNO แทนที่จะเป็นไฟ LED คุณสามารถใช้เทป LED แต่พลังงานสำหรับบอร์ดจะต้องใช้ 12 โวลต์และเชื่อมต่อเทป LED ไม่ได้เป็น 5V แต่เพื่อพิน Vin Arduino ด้วยไฟ LED คุณสามารถใช้แผนภาพการชาร์จปกติจากโทรศัพท์ 5 โวลต์

การติดตั้งแอปพลิเคชันบนสมาร์ทโฟนสำหรับการส่งสัญญาณ

ในการติดตั้งแอปพลิเคชันให้ดาวน์โหลดไฟล์ home_twit.apk ไปยังโทรศัพท์ของคุณผ่านสาย USB ค้นหาในหน่วยความจำของโทรศัพท์แล้วคลิก "ตั้งค่า" โทรศัพท์นี้ควรอยู่ในโซนสัญญาณบลูทู ธ Arduino เสมอ หลังจากการติดตั้งให้เปิดแอปพลิเคชันแล้วคลิกปุ่ม "กำหนดค่า" ที่นี่คุณจะต้องระบุค่าอุณหภูมิขั้นต่ำและสูงสุดที่ข้อความจะถูกส่ง

และตอนนี้ที่ยากที่สุดคือการกำหนดค่าบัญชีใน Twitter ระบุในการตั้งค่าการเข้าสู่ระบบของผู้ใช้บน Twitter ที่คุณจะส่งข้อความ นอกจากนี้ยังจำเป็นต้องระบุการเข้าสู่ระบบ คีย์ API และ API รหัสลับ จากใบหน้าของใครจะถูกรายงาน นวัตกรรมล่าสุดเกิดจากการต่อสู้กับสแปมและการรวบรวมข้อมูลเกี่ยวกับผู้ใช้ในเครือข่ายสังคมออนไลน์ วิธีรับคีย์ API และ API Secret - อ่านในรีวิวนี้

บนโทรศัพท์ซึ่งจะอยู่กับคุณเสมอและจะได้รับข้อความคุณจะต้องติดตั้งแอปพลิเคชัน Twitter อย่างเป็นทางการกับ PlayMarket และเข้าสู่ระบบภายใต้การเข้าสู่ระบบ เป็นผลให้แอปพลิเคชัน Signalizaciya.apk จากโทรศัพท์ที่อยู่ในบ้านจะรวบรวมข้อมูลจากเซ็นเซอร์ ARDUINO และส่งไปยังข้อความส่วนตัวผ่าน Twitter ไปยังผู้ใช้ภายใต้การเข้าสู่ระบบที่คุณติดตั้งแอปพลิเคชัน Twitter

หากคุณมีปัญหาใด ๆ กับการตั้งค่าการเตือนภัยบน Arduino - เขียนคำถามของคุณในความคิดเห็นเกี่ยวกับรีวิวนี้

พวกเขาเป็นแพลตฟอร์มฮาร์ดแวร์พิเศษบนพื้นฐานของที่คุณสามารถสร้างอุปกรณ์อิเล็กทรอนิกส์ต่างๆรวมถึง อุปกรณ์ประเภทนี้โดดเด่นด้วยการออกแบบที่เรียบง่ายและความสามารถในการตั้งโปรแกรมอัลกอริทึมของงานของพวกเขา เนื่องจากสิ่งนี้สร้างขึ้นโดยใช้ ARDUINO GSM Alarm , สามารถปรับได้อย่างย่อสำหรับวัตถุที่จะป้องกัน

โมดูล Arduino คืออะไร

Arduino ดำเนินการในรูปแบบของบอร์ดขนาดเล็กที่มีไมโครโปรเซสเซอร์และหน่วยความจำของตัวเอง บอร์ดยังมีชุดของผู้ติดต่อที่ใช้งานได้ซึ่งสามารถเชื่อมต่ออุปกรณ์ไฟฟ้าต่าง ๆ รวมถึงเซ็นเซอร์ที่ใช้สำหรับระบบรักษาความปลอดภัย

โปรเซสเซอร์ Arduino ช่วยให้คุณสามารถอัปโหลดโปรแกรมที่เขียนโดยผู้ใช้ด้วยตัวคุณเอง การสร้างอัลกอริทึมที่เป็นเอกลักษณ์ของตัวเองคุณสามารถให้โหมดการทำงานที่ดีที่สุดของการเตือนความปลอดภัยสำหรับวัตถุต่าง ๆ และสำหรับเงื่อนไขที่แตกต่างกันของการใช้งานและแก้ไขภารกิจ

มันยากที่จะทำงานกับ Arduino หรือไม่?

โมดูล Arduino เป็นที่นิยมอย่างมากในหมู่ผู้ใช้หลายคน สิ่งนี้เป็นไปได้เนื่องจากความเรียบง่ายและการเข้าถึง

โปรแกรมสำหรับการจัดการโมดูลกำลังเขียนโดยใช้ C ++ และ Add-on ทั่วไปในรูปแบบของฟังก์ชั่นการจัดการกระบวนการอินพุต / เอาต์พุตที่เรียบง่ายบนผู้ติดต่อโมดูล นอกจากนี้การเขียนโปรแกรมยังสามารถใช้สภาพแวดล้อมซอฟต์แวร์ ARDUINO IDE ที่ใช้งานภายใต้ Windows, Linux หรือ Mac OS

โมดูล Arduino นั้นง่ายขึ้นขั้นตอนสำหรับการประกอบอุปกรณ์อย่างมีนัยสำคัญ GSM Alarm บน Arduino สามารถสร้างขึ้นได้หากไม่มีการบัดกรีเหล็ก - การชุมนุมเกิดขึ้นโดยใช้ถังขยะจัมเปอร์และสายไฟ

วิธีสร้างการเตือนด้วย Arduino?

เพื่อข้อกำหนดพื้นฐานที่ GSM สร้างการเตือนภัยบน Arduino จะต้องมี:

  • แจ้งให้เจ้าของวัตถุของการแฮ็กหรือการรุก
  • รองรับระบบภายนอกเช่นไซเรนเสียงไฟสัญญาณ;
  • ควบคุมการส่งสัญญาณผ่าน SMS หรือโทร;
  • ทำงานออฟไลน์โดยไม่มีอาหารภายนอก

ในการสร้างการเตือนคุณจะต้อง:

  • โมดูล Arduino;
  • ชุดของเซ็นเซอร์ฟังก์ชั่น
  • หรือโมเด็ม;
  • แหล่งจ่ายไฟออฟไลน์
  • อุปกรณ์ผู้บริหารภายนอก

คุณสมบัติที่โดดเด่นของโมดูล Arduino คือการใช้บอร์ดส่วนขยายพิเศษ ด้วยความช่วยเหลือของพวกเขาเชื่อมต่ออุปกรณ์เพิ่มเติมทั้งหมดไปที่ Arduino ซึ่งจำเป็นต้องสร้างการกำหนดค่า ระบบรักษาความปลอดภัย. การ์ดดังกล่าวได้รับการติดตั้งที่ด้านบนของโมดูล Arduino ในรูปแบบของ "แซนวิช" และอุปกรณ์เสริมที่สอดคล้องกันเชื่อมต่อกับบอร์ดเอง

มันทำงานอย่างไร?

เมื่อหนึ่งในเซ็นเซอร์ที่เชื่อมต่อจะถูกเรียกใช้สัญญาณจะถูกส่งไปยังโปรเซสเซอร์โมดูล Arduino การใช้ซอฟต์แวร์ผู้ใช้ที่ดาวน์โหลดมาซึ่งไมโครโปรเซสเซอร์ผลิตการประมวลผลในอัลกอริทึมเฉพาะ เป็นผลให้คำสั่งสามารถเกิดขึ้นได้ในการทำงานของแอคชูเอเตอร์ภายนอกซึ่งส่งผ่านไปยังค่าธรรมเนียมการจับคู่ที่เหมาะสม

เพื่อให้แน่ใจว่ามีความเป็นไปได้ของ Mandrel ของสัญญาณเตือนต่อเจ้าของบ้านหรืออพาร์ทเมนต์ซึ่งได้รับการปกป้องไปยังโมดูล Arduino ผ่านค่าธรรมเนียมการขยายเชื่อมต่อเป็นพิเศษ โมดูล GSM. มันสร้างซิมการ์ดของหนึ่งในผู้ให้บริการ การสื่อสารเคลื่อนที่.

ในกรณีที่ไม่มีอะแดปเตอร์ GSM พิเศษบทบาทของมันสามารถทำได้โดยโทรศัพท์มือถือทั่วไป นอกเหนือจากการส่งข้อความ SMS พร้อมคำเตือนการเตือนภัยและการโทรการปรากฏตัวของมือถือจะช่วยให้คุณสามารถควบคุมการส่งสัญญาณ GSM ไปจนถึงระยะไกลที่เกิดขึ้นจากระยะไกลรวมทั้งตรวจสอบสถานะของวัตถุโดยส่งคำขอพิเศษ

"บันทึก!

ในการสื่อสารกับเจ้าของวัตถุนอกเหนือไปจากโมดูล GSM โมเด็มทั่วไปที่ให้การสื่อสารผ่านอินเทอร์เน็ตสามารถใช้งานได้ "

ในกรณีนี้เมื่อเซ็นเซอร์ประมวลผลโดยสัญญาณที่ประมวลผลโดยโปรเซสเซอร์จะถูกส่งผ่านโมเด็มไปยังพอร์ทัลพิเศษหรือไซต์ และแล้วจากเว็บไซต์จะสร้างการเตือนทาง SMS หรือส่งอีเมลไปยังอีเมลที่ผูกไว้โดยอัตโนมัติ

ข้อสรุป

การใช้โมดูล Arduino จะช่วยให้ผู้ใช้ออกแบบสัญญาณเตือน GSM อย่างอิสระที่สามารถทำงานกับเซ็นเซอร์ฟังก์ชั่นที่แตกต่างกันและจัดการอุปกรณ์ภายนอก เนื่องจากความเป็นไปได้ของการใช้เซ็นเซอร์ต่าง ๆ ฟังก์ชั่นการเตือนสามารถขยายและสร้างคอมเพล็กซ์ที่จะตรวจสอบไม่เพียง แต่ความปลอดภัยของวัตถุเท่านั้น แต่สำหรับสภาพของมัน ตัวอย่างเช่นมันจะเป็นไปได้ที่จะควบคุมอุณหภูมิบนวัตถุแก้ไขการรั่วไหลของน้ำและก๊าซทับซ้อนกันในกรณีที่เกิดอุบัติเหตุและอื่น ๆ อีกมากมาย

เซ็นเซอร์อินฟราเรด (IR, IR) มักใช้เพื่อวัดระยะทาง แต่สามารถใช้เพื่อตรวจจับวัตถุ การเชื่อมต่อเซ็นเซอร์ IR หลายตัวกับ Arduino เราสามารถสร้าง สัญญาณเตือนความปลอดภัย.

ภาพรวม

เซ็นเซอร์อินฟราเรด (IR, IR) มักใช้เพื่อวัดระยะทาง แต่สามารถใช้เพื่อตรวจจับวัตถุ เซ็นเซอร์ IR ประกอบด้วยเครื่องส่งสัญญาณอินฟราเรดและตัวรับสัญญาณอินฟราเรด ปัญหาเครื่องส่งสัญญาณรังสีอินฟราเรดพัลส์ในขณะที่ผู้รับจะตรวจจับการสะท้อนใด ๆ หากผู้รับตรวจพบการสะท้อนความหมายนี้หมายความว่าด้านหน้าของเซ็นเซอร์ในระยะไกลมีวัตถุบางชนิด หากไม่มีการสะท้อนไม่มีวัตถุ

เซ็นเซอร์ IR ซึ่งเราจะใช้ในโครงการนี้ตรวจจับการสะท้อนในช่วงเฉพาะ เซ็นเซอร์เหล่านี้มีขนาดเล็ก อุปกรณ์เชิงเส้น ด้วยลิงก์ค่าใช้จ่าย (CCD) ซึ่งตรวจพบมุมที่การแผ่รังสี IR กลับสู่เซ็นเซอร์ ดังที่แสดงในรูปด้านล่างเซ็นเซอร์จะส่งพัลส์อินฟราเรดเข้าไปในช่องว่างและเมื่อวัตถุปรากฏขึ้นก่อนเซ็นเซอร์ชีพจรจะสะท้อนกลับไปที่เซ็นเซอร์ที่มุมสัดส่วนกับระยะห่างระหว่างวัตถุและเซ็นเซอร์ ตัวรับสัญญาณเซ็นเซอร์ตรวจจับและแสดงมุมและการใช้ค่านี้คุณสามารถคำนวณระยะทาง

โดยการเชื่อมต่อเซ็นเซอร์ IR หนึ่งคู่กับ Arduino เราสามารถทำให้สัญญาณเตือนความปลอดภัยง่ายๆ เราจะตั้งเซ็นเซอร์ที่ก้านประตูและจัดตำแหน่งเซ็นเซอร์อย่างถูกต้องเราสามารถตรวจจับเมื่อมีคนผ่านประตู เมื่อสิ่งนี้เกิดขึ้นสัญญาณเอาต์พุตเซ็นเซอร์ IR จะเปลี่ยนไปและเราจะตรวจจับการเปลี่ยนแปลงนี้อ่านสัญญาณเอาต์พุตของเซ็นเซอร์อย่างต่อเนื่องโดยใช้ Arduino ในตัวอย่างนี้เรารู้ว่าวัตถุผ่านประตูเมื่อการอ่านที่เอาท์พุทของเซ็นเซอร์ IR เกิน 400 เมื่อสิ่งนี้เกิดขึ้น Arduino จะเปิดการเตือนภัย หากต้องการรีเซ็ตการเรียกสัญญาณเตือนภัยผู้ใช้สามารถคลิกที่ปุ่ม

เครื่องประดับ

  • เซ็นเซอร์วัดระยะทาง IR 2 x;
  • 1 x arduino mega 2560;
  • 1 x Buzzer;
  • ปุ่ม 1 x;
  • 1 x ตัวต้านทาน 470 โอห์ม;
  • 1 x ทรานซิสเตอร์ NPN;
  • จัมเปอร์

โครงการการเชื่อมต่อ

โครงการสำหรับโครงการนี้แสดงในรูปด้านล่าง เอาต์พุตของเซ็นเซอร์ IR สองตัวเชื่อมต่อกับข้อสรุป A0 และ A1 เอาต์พุตอีกสองรายการเชื่อมต่อกับข้อสรุป 5V และ GND Buzzer 12 โวลต์เชื่อมต่อกับเอาต์พุต 3 ผ่านทรานซิสเตอร์และปุ่มที่ใช้ในการปิดการเตือนจะเชื่อมต่อกับเอาต์พุต 4


ภาพด้านล่างแสดงให้เห็นว่าเราติดกาวเซ็นเซอร์ที่ jamb ประตูเพื่อการทดลองนี้ได้อย่างไร แน่นอนในกรณีของการใช้งานถาวรคุณจะได้ติดตั้งเซ็นเซอร์ในวิธีที่แตกต่างกัน


การติดตั้ง

  1. เชื่อมต่อบอร์ดเอาท์พุท 5V และ GND ARDUINO เพื่อเปิดรับสัญญาณและเซ็นเซอร์ GND นอกจากนี้คุณยังสามารถให้บริการกับอาหารภายนอก
  2. เชื่อมต่อเอาต์พุตเอาต์พุตของเซ็นเซอร์กับข้อสรุป A0 และ A1 ของคณะกรรมการ Arduino
  3. เชื่อมต่อเอาต์พุต 3 ARDUINO กับฐานทรานซิสเตอร์ผ่านตัวต้านทาน 1 com
  4. ส่งแรงดันไฟฟ้า 12 v ถึงนักสะสมของทรานซิสเตอร์
  5. เชื่อมต่อเอาต์พุตบวกของ Buzzer 12 โวลต์กับผู้ออกและลบกับรถบัสที่ดิน
  6. เชื่อมต่อเอาต์พุต 4 เป็นเอาต์พุต 5V ผ่านปุ่ม เพื่อเหตุผลด้านความปลอดภัยเพื่อหลีกเลี่ยงการไหลของกระแสขนาดใหญ่มันจะดีกว่าที่จะทำผ่านตัวต้านทานขนาดเล็กเพิ่มเติม
  7. เชื่อมต่อบอร์ด Arduino เข้ากับคอมพิวเตอร์ผ่านสาย USB และดาวน์โหลดโปรแกรมไปยังไมโครคอนโทรลเลอร์โดยใช้ Arduino IDE
  8. สมัครคณะกรรมการ Arduino โดยใช้แหล่งจ่ายไฟแบตเตอรี่หรือสาย USB /

รหัส

Const Int Buzzer \u003d 3; // ข้อสรุป 3 เป็นเอาต์พุตไปยัง Buzzer Const INT Pushbutton \u003d 4; // ข้อสรุป 4 คืออินพุตสำหรับปุ่มการตั้งค่าเป็นโมฆะ () (PinMode (Buzzer, เอาต์พุต); // กำหนดค่าเอาต์พุต 3 เป็นเอาต์พุต PinMode (ปุ่มกดอินพุต); // กำหนดค่าเอาต์พุต 4 เป็นอินพุต) เป็นโมฆะลูป () อ่านสัญญาณเอาต์พุตของเซ็นเซอร์ทั้งสองและเปรียบเทียบผลลัพธ์ด้วยค่า THRESHOLD SENTER1_VALUE \u003d Analogread (A0); INT SENSE2_VALUE \u003d Analogread (A1); หาก (SENSOR1_VALUE\u003e 400 || เซ็นเซอร์ 2_Value\u003e 400) (ในขณะที่ (จริง) ( DigitalWrite (Buzzer, High); // เปิดใช้งานถ้า (DigitalDalread (ปุ่มกด) \u003d\u003d สูง) แบ่ง;))) อื่น (DigitalWrite (Buzzer, Low); // ปิดการเตือน))

วิดีโอ

เพื่อปกป้องบ้านของคุณจากแขกที่ไม่มีเหตุผลทุกอย่าง ผู้คนมากขึ้น ติดตั้งปลุก พวกเขาอนุญาตให้คุณป้องกันการเจาะเข้าไปในห้องทันที วันนี้มีอยู่ ประเภทต่าง ๆ สัญญาณเตือนภัย แต่เมื่อเร็ว ๆ นี้เริ่มเพิ่มขึ้นในความนิยมของการเตือน GSM เนื่องจากพวกเขาอนุญาตให้คุณรับข้อมูลเกี่ยวกับการเจาะระยะทางใด ๆ สิ่งสำคัญคือเจ้าของมีโทรศัพท์ในเวลานี้และโทรศัพท์นี้เปิดอยู่ เครือข่าย. น่าเสียดายที่ระบบเหล่านี้ยังไม่ถูกเกินไปที่จะให้การตั้งค่ากับพวกเขาเท่านั้น แต่ในยุคของเรามันเป็นไปได้ที่จะทำให้ระบบ GSM ง่ายๆ และค่าธรรมเนียม ARDUINO ยอดนิยมจะช่วยในเรื่องนี้


โครงการนี้เป็นระบบรักษาความปลอดภัย (ปลุก) เพื่อเตือนการแทรกซึมของผู้บุกรุกในบ้าน ระบบใช้เทคโนโลยี GSM



บอร์ดไมโครคอนโทรลเลอร์ของระบบรักษาความปลอดภัยนี้เชื่อมต่อกับโมดูลการตรวจจับการเจาะซึ่งสามารถใช้งานได้เช่นเซ็นเซอร์ IR หรือเซ็นเซอร์การประมาณอัลตราโซนิก เมื่อได้รับสัญญาณจากโมดูลดังกล่าวข้อความ SMS เกี่ยวกับการเจาะเข้าไปในที่อยู่อาศัยจะถูกส่งไปยังผู้ใช้


รูปด้านล่างนำเสนอแผนภาพบล็อกความปลอดภัย



องค์ประกอบหลักของระบบคือไมโครคอนโทรลเลอร์ (ตัวอย่างเช่น Arduino UNO) และโมดูล GSM / GPRS SIM900A ระบบทั้งหมดสามารถรับประทานได้จากแหล่งพลังงาน 12V / 2A หนึ่งแหล่ง


ภาพด้านล่างแสดง แผนผังแผนผัง ระบบรักษาความปลอดภัยภายในบ้านพร้อมระบบ GSM ที่ใช้ Arduino



การทำงานของระบบนั้นง่ายมากและไม่จำเป็นต้องมีคำอธิบายพิเศษ เมื่อป้อนแหล่งจ่ายไฟระบบจะเปลี่ยนเป็นโหมดสแตนด์บาย อย่างไรก็ตามเมื่อ J2 ปิดข้อความเตือนจะถูกส่งไปยังหมายเลขโทรศัพท์มือถือที่กำหนดไว้ล่วงหน้าโดยอัตโนมัติ เซ็นเซอร์ตรวจจับใด ๆ สามารถเชื่อมต่อกับขั้วต่ออินพุต J2 ควรสังเกตว่าระดับต่ำในเอาต์พุต 1 ของขั้วต่อ J2 มีการใช้งานและรวมถึงระบบรักษาความปลอดภัย


นอกจากนี้ความสามารถในการโทรด้วยการกดปุ่ม S2 การใช้ปุ่ม S3 คุณสามารถรีเซ็ตการโทรนี้


ด้านล่างเป็นรหัสสำหรับ Arduino


// เชื่อมต่อเอาต์พุต TX กับเอาต์พุต D3 ของโมดูล GPS // เชื่อมต่อเอาท์พุท RX กับเอาต์พุต D4 ของโมดูล GPS // SMS ส่งสัญญาณเพื่อเชื่อมต่อกับเอาต์พุต D7 (ระดับการใช้งานต่ำ) // การโทรส่งสัญญาณไปที่ เชื่อมต่อกับเอาต์พุต D8 (ระดับต่ำที่ใช้งานอยู่) // การรีเซ็ตการโทรสิ้นสุดเชื่อมต่อกับเอาต์พุต D9 (ต่ำ) #include NewsOllSerial Myserial (3,4); // ข้อสรุป rx และ tx เชื่อมต่อการเชื่อมต่อกับ gsm #define msg_key 7 #define call_key 8 #define end_key 9 หมายเลขสตริง \u003d "0000000000"; // ที่นี่แทน zeros จำเป็นต้องป้อนหมายเลขโทรศัพท์มือถือหมายเลขโทรศัพท์มือถือ 10 หลัก () (serial.begin (9600); myserial.begin (9600); pinmode (msg_key, อินพุต); pinmode (call_key, อินพุต); pinmode (end_key , อินพุต); DigitalWrite (MSG_KEY, HIGH); DigitalWrite (Call_Key, High); DigitalWrite (end_key, high);) void loop () (// ส่ง SMS ทุกครั้ง msg_key ถ้า (digitalread (msg_key) \u003d\u003d ต่ำ) / / ตรวจสอบว่ากดปุ่มส่ง ("myserial.println (" ที่ + cmgf \u003d 1 ") // ตั้งค่าโหมดเป็นความล่าช้าของโหมดข้อความ (150); myserial.println (" at + cmgs \u003d \\ "+ 00" + หมายเลข + "\\" "); // ระบุจำนวนผู้รับในรูปแบบสากลแทนที่ Zeros Delay (150); Myserial.print (" คำเตือน! การแจ้งเตือนผู้บุกรุก! "); // ป้อนความล่าช้าของข้อความ (150) Myserial.Write ((ไบต์) 0x1a); // สัญลักษณ์ของจุดสิ้นสุดของข้อความ 0x1A: เทียบเท่า Ctrl + Z ล่าช้า (50); myserial.println ();) // โทรออกเมื่อ Call_Key อื่นหากทำงาน (DigitalRead (Call_Key) \u003d\u003d ต่ำ) // ตรวจสอบว่ากด Call_Key (myserial.println ("ATD + 91" + หมายเลข + ";"); // กำหนด n Omer สำหรับการโทรในขณะที่ (DigitalRead (Call_Key) \u003d\u003d ต่ำ); ล่าช้า (50); ) // รีเซ็ตการโทรอื่นถ้า (digitaldalread (end_key) \u003d\u003d ต่ำ) // ตรวจสอบว่ากดปุ่มรีเซ็ตการโทรแล้ว (myserial.println ("end_key (end_key) \u003d\u003d ต่ำ); ล่าช้า (50 );))

ดังนั้นจึงเป็นไปได้ที่จะสร้างการส่งสัญญาณ GSM ได้อย่างง่ายดายตามบอร์ด Arduino ด้วยมือของคุณเอง การเตือนดังกล่าวจะอยู่ในราคาเท่ากันแน่นอนจะถูกกว่า analogues ที่มีตราสินค้าที่นำเสนอในตลาดและมันจะเป็นหน้าที่เกือบเหมือนกัน

mob_info