พอร์ทัลเกี่ยวกับการซ่อมแซมห้องน้ำ คำแนะนำที่เป็นประโยชน์

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

ผู้เขียนของเธอต้องการเติมเต็มโฮมเมดให้ราคาถูกและไร้สาย
โฮมเมดนี้ใช้เซ็นเซอร์การเคลื่อนไหว PIR และการส่งข้อมูลเกิดขึ้นกับโมดูล RF

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


เพื่อให้ผู้เข้าชมมีความสะดวกในการดูแอสเซมบลีปลุกฉันตัดสินใจที่จะแบ่งบทความในขั้นตอนที่ 5:
ขั้นตอนที่ 1: การสร้างเครื่องส่งสัญญาณ
ขั้นตอนที่ 2: การสร้างเครื่องรับ
ขั้นตอนที่ 3: การติดตั้งซอฟต์แวร์
ขั้นตอนที่ 4: ทดสอบโมดูลที่เก็บรวบรวม
ขั้นตอนที่ 5: สร้างเคสและติดตั้งโมดูลลงในนั้น

ทุกสิ่งที่ต้องการผู้เขียนมันคือ:
- 2 Arduino Uno / Arduino Mini / Arduino Nano Boards สำหรับผู้รับและเครื่องส่งสัญญาณ;
- โมดูลรับ RF (433 MHz);
- เซ็นเซอร์การเคลื่อนไหว PIR;
- แบตเตอรี่ 9B (2 ชิ้น) และตัวเชื่อมต่อสำหรับพวกเขา
- กริ่ง;
- ไดโอดเปล่งแสง;
- ตัวต้านทานที่มีความต้านทาน 220 โอห์ม;
- กระดานขนมปัง
- จัมเปอร์ / สายไฟ / จัมเปอร์;
- แผงวงจร;
- ขั้วต่อ PIN ระหว่างจุด;
- สวิทช์;
- สิ่งห่อหุ้มสำหรับผู้รับและเครื่องส่งสัญญาณ;
- กระดาษสี
- เทปการประกอบ;
- มีดผ่าตัด
- ปืนเทอร์โมคลอด
- หัวแร้ง;
- ปลั๊ก / เครื่องมือสำหรับการลบการแยก;
- กรรไกรสำหรับโลหะ


ขั้นตอนที่ 1
เราเริ่มสร้างเครื่องส่งสัญญาณ
ด้านล่างเป็นรูปแบบของเซ็นเซอร์การเคลื่อนไหว


ตัวส่งตัวเองประกอบด้วย:
- เซ็นเซอร์การเคลื่อนไหว;
- บอร์ด Arduino;
- โมดูลของเครื่องส่งสัญญาณ


เซ็นเซอร์ตัวเองมีสามเอาต์พุต:
- VCC;
- GND;
- ออก.

หลังจากนั้นฉันตรวจสอบงานของเซ็นเซอร์


ความสนใจ !!!
ก่อนที่จะโหลดเฟิร์มแวร์ผู้เขียนเชื่อว่าในการตั้งค่า Arduino IDE บอร์ดปัจจุบันและพอร์ตอนุกรมติดตั้งอย่างถูกต้อง หลังจากนั้นโหลดร่าง:

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


ตามแผนการด้านล่าง


เครื่องส่งสัญญาณมี 3 เอาต์พุต (VCC, GND และข้อมูล) เชื่อมต่อ:
- VCC\u003e 5V พร้อมเอาต์พุตบนกระดาน
- GND\u003e GND;
- ข้อมูล\u003e 12 พร้อมเอาต์พุตบนกระดาน

ขั้นตอนที่ 2


ผู้รับเองประกอบด้วย:
- ตัวรับสัญญาณ RF โมดูล;
- ค่าธรรมเนียม Arduino
- Buzzer (Dynamics)

Scheme รับ:


ตัวรับสัญญาณรวมถึงเครื่องส่งสัญญาณมี 3 เอาต์พุต (VCC, GND และข้อมูล) ให้เชื่อมต่อ:
- VCC\u003e 5V พร้อมเอาต์พุตบนกระดาน
- GND\u003e GND;
- ข้อมูล\u003e 12 พร้อมเอาต์พุตบนกระดาน


ขั้นตอนที่ 3
พื้นฐานของเฟิร์มแวร์ทั้งหมดโดยผู้เขียนเลือกไฟล์ไลบรารี ฉันดาวน์โหลดซึ่งเขาและวางไว้ในโฟลเดอร์ที่มีห้องสมุด Arduino

ซอฟต์แวร์สำหรับเครื่องส่งสัญญาณ
ก่อนที่จะดาวน์โหลดรหัสเฟิร์มแวร์ตามค่าธรรมเนียมผู้เขียนใส่ พารามิเตอร์ต่อไปนี้ IDE:
- บอร์ด -\u003e Arduino Nano (หรือคณะกรรมการที่คุณใช้);
- พอร์ตอนุกรม -\u003e


หลังจากติดตั้งพารามิเตอร์ผู้เขียนจะดาวน์โหลดไฟล์เฟิร์มแวร์ Wireless_TX และโหลดตามค่าธรรมเนียม:

ซอฟต์แวร์สำหรับผู้รับ
ผู้เขียนทำซ้ำการกระทำเดียวกันสำหรับคณะกรรมการที่รับ:
- บอร์ด -\u003e Arduino UNO (หรือคณะกรรมการที่คุณใช้);
- พอร์ตอนุกรม -\u003e COM XX (ตรวจสอบพอร์ต COM ซึ่งค่าธรรมเนียมของคุณเชื่อมต่ออยู่)



หลังจากผู้เขียนตั้งค่าพารามิเตอร์ให้ดาวน์โหลดไฟล์ Wireless_rx และโหลดตามค่าธรรมเนียม:


หลังจากใช้โปรแกรมที่คุณสามารถดาวน์โหลดผู้เขียนสร้างเสียงสำหรับเสียงกริ่ง

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


ขั้นตอนที่ 5
ประกอบสุดท้ายของเครื่องส่งสัญญาณ
ตอนแรกผู้เขียนตัดข้อสรุปที่ยื่นออกมาจากเครื่องส่งสัญญาณเครื่องส่งสัญญาณ Arduino และอื่น ๆ


หลังจากนั้นรวมค่าธรรมเนียม ARDUINO ด้วยเซ็นเซอร์ตรวจจับความเคลื่อนไหวและเครื่องส่งสัญญาณ RF พร้อมจัมเปอร์


ผู้เขียนเริ่มที่จะทำให้เคสต่อไปสำหรับเครื่องส่งสัญญาณ

ตอนแรกมันตัดออก: หลุมสำหรับสวิตช์รวมถึงรูกลมสำหรับเซ็นเซอร์การเคลื่อนไหวหลังจากนั้นมันติดอยู่กับร่างกาย




จากนั้นผู้เขียนจะเปิดแผ่นกระดาษสีและติดกาวกับฝาครอบด้านหน้าของภาพเพื่อซ่อนส่วนด้านในของโฮมเมด


หลังจากนั้นผู้เขียนเริ่มเสียบไส้อิเล็กทรอนิกส์ภายในที่อยู่อาศัยด้วยความช่วยเหลือของเทปทวิภาคี



ตัวรับสมัชชาสุดท้าย
ผู้เขียนตัดสินใจที่จะเชื่อมต่อค่าธรรมเนียม Arduino ด้วยแผงวงจรเทปยางรวมทั้งติดตั้งตัวรับสัญญาณ RF


ผู้เขียนตัดสองหลุมต่อไปในกรณีอื่นหนึ่งสำหรับออดอีกหนึ่งสำหรับสวิตช์


และแท่ง


หลังจากนั้นผู้เขียนกำหนดรายละเอียดของจัมเปอร์ทั้งหมด




จากนั้นผู้เขียนจะแทรกค่าธรรมเนียมสำเร็จรูปในร่างกายและแก้ไขด้วยกาวสองหน้า

GSM Alarm บน Arduino

ในบทความนี้คุณจะได้เรียนรู้วิธีการที่ (ซื้อ) ทำให้ GSM เป็นสัญญาณเตือนด้วยโมดูล GSM และ Arduino นั้นราคาถูกมาก วัตถุป้องกันการเตือนภัย GSM เหมาะสำหรับ Cottage, House, Garage, Apartment


ขั้นตอนที่ 1: องค์ประกอบ
สำหรับโครงการนี้คุณจะต้อง:


GSM Shield

กริ่ง
ไซเรนปลุก 12V
แหล่งพลังงาน 12V

แป้นพิมพ์สำหรับ Arduino
กรณี.

ขั้นตอนที่ 2: การเชื่อมต่อคอมโพเนนต์


ก่อนอื่นคุณวางโมดูล GSM บน Arduino UNO คุณจะต้องบัดกรีสาย GND และ VCC พร้อมกับเซ็นเซอร์สองตัวออดและอินพุตของโมดูลรีเลย์ หลังจากนั้นเชื่อมต่อสายบัดกรีเหล่านี้กับขั้วต่อ GSM Shield ที่สอดคล้องกัน ต่อไปคุณจะทำการเชื่อมต่ออินพุต / เอาต์พุตของสัญญาณจากชิ้นส่วนเหล่านี้และสิ่งสุดท้ายที่จำเป็น - เพื่อเชื่อมต่อแป้นพิมพ์

เทอร์มินัล Arduino UNO / GSM:

บทสรุป 0: ไม่เกี่ยวข้อง;
บทสรุปที่ 1: ไม่เกี่ยวข้อง;
บทสรุปที่ 2: ไม่เกี่ยวข้อง (GSM จะใช้ PIN นี้);
เอาท์พุท 3: ไม่เกี่ยวข้อง (GSM จะใช้ PIN นี้);
บทสรุป 4: สตริงสุดท้ายโดยใช้แป้นพิมพ์ (คีย์บอร์ดติดต่อ 4 - จาก 8);
บทสรุปที่ 5: ไม่เกี่ยวข้อง;
บทสรุปที่ 6: คอลัมน์ที่สองใช้แป้นพิมพ์ (คีย์บอร์ดติดต่อ 6 - จาก 8);
บทสรุป 7: คอลัมน์ที่สามจากแป้นพิมพ์ (คีย์บอร์ดนิ้ว 7 - จาก 8);
บทสรุป 8: unbound (GSM จะใช้ PIN นี้);
สรุป 9: ไม่เกี่ยวข้อง (GSM จะใช้ PIN นี้);
บทสรุปที่ 10: หมายเลขเซ็นเซอร์ PIR หมายเลข 2;
บทสรุป 11: ไซเรนบี๊บ (เข้าสู่อินพุตของโมดูลรีเลย์);
สรุป 12: เซ็นเซอร์ข้อมูล PIR หมายเลข 1;
บทสรุป 13: สัญญาณอินพุตของออด;

อย่างที่คุณเห็นแม้ว่าแป้นพิมพ์มี 8 เอาต์พุตเพียงสาม (หนึ่งบรรทัดและสองคอลัมน์เชื่อมต่อกันซึ่งช่วยให้คุณใช้ตัวเลขสองตัวสำหรับการอ่าน - 1 × 2 เมทริกซ์) ดังนั้นฉันสามารถสร้างรหัสผ่านได้โดยใช้สายสามสายนี้และ ไม่จำเป็นต้องใช้ผู้ติดต่อทั้งหมดจากแป้นพิมพ์ เนื่องจากหลังจากที่เซ็นเซอร์ตรวจจับการเคลื่อนไหวตรวจพบบุคคลที่เดินเข้าไปในห้องบุคคลนั้นจะมีเพียง 5 วินาทีในการปิดการใช้งานการเตือนภัย หลังจากการเตือนไม่ได้ปิด ช่วงเวลานี้ เวลา, GSM Shield ส่ง SMS ให้คุณหรือเรียกหมายเลขโทรศัพท์ Arduino ได้รับการตั้งโปรแกรมให้โทรและทันทีที่คุณรับสายโทรศัพท์มันจะวางโทรศัพท์

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

ขั้นตอนที่ 3: รหัส

เพียงดาวน์โหลดรหัสด้านล่างและคอมไพล์ มันใช้ปุ่มกดไลบรารี H และ GSM.H
ดาวน์โหลดไฟล์: (วาง: 181)
ดาวน์โหลดไฟล์: (วาง: 104)

ขั้นตอนที่ 4: บทสรุป


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

วันนี้เราจะพูดถึงวิธีการ Arduino เก็บ ระบบรักษาความปลอดภัย. "Guard" ของเราจะดูรูปทรงหนึ่งและจัดการคนนอกศาสนาหนึ่ง

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

ความเรียบง่ายหลักการของการทำงานของอุปกรณ์นั้นง่ายขึ้น (รูปที่ 1) หลังจากเปิดเครื่องพลังงานอุปกรณ์จะสลับไปยังโหมดการทำงานและรอการป้องกัน การจัดเตรียมและการปลดอาวุธจะดำเนินการด้วยปุ่มเดียว เพื่อเพิ่มความปลอดภัยปุ่มนี้จะดีกว่าที่จะจัดเรียงภายในพื้นที่ที่ได้รับการป้องกัน (ปลอดภัยหรือโลงศพ) ก่อนที่จะเปิดโหมดความปลอดภัยประตูจะต้องเปิดประตู เมื่อคุณเปิดโหมดความปลอดภัย (กดปุ่ม) วงจรอิเล็กทรอนิกส์ รอจนกว่าคุณจะปิดประตูไปที่ห้อง (ประตูปลอดภัยฝาครอบโลงศพ ฯลฯ )

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

อุปกรณ์ ระบบรักษาความปลอดภัย ง่ายมาก (รูปที่ 2) หัวใจของค่าธรรมเนียม Arduino. สวิทช์ จำกัด เชื่อมต่อเป็นปุ่มปกติผ่านตัวต้านทานแบบดึงขึ้น ในการหดตัวจะหยุดแยกต่างหาก โดยปกติแล้วพวกเขาจะปิดและเปิดตามปกติ คุณสามารถเปิดใช้งานปุ่มปกติเป็นเทอร์มินัลเพียงแค่เส้นทางของปุ่มธรรมดามีขนาดใหญ่มากการเล่นของประตูมักจะมากขึ้น ดังนั้นจึงจำเป็นต้องมี pusher บางตัวสำหรับปุ่มและสปริงเพื่อที่จะไม่ทำลายปุ่มประตู ถ้าไม่ขี้เกียจเกินไปคุณสามารถเดินไปที่ร้านค้าและซื้อสวิตช์แม่เหล็ก (Gercon) (รูปที่ 3) ไม่กลัวฝุ่นและการปนเปื้อน

สวิตช์ จำกัด สำหรับสัญญาณเตือนอัตโนมัติที่เหมาะสม (รูปที่ 4) ควรสังเกตโปรแกรมนี้เขียนเป็นภาษาเยอรมัน เมื่อปิดประตูการติดต่อของมันจะถูกปิด หากคุณใช้สวิตช์จากสัญญาณเตือนรถจากนั้นปิดประตูมันจะเปิดส่วนใหญ่และในตำแหน่งที่เหมาะสมรหัสจะต้องมีการเปลี่ยนแปลง 0 ใน 1 และในทางกลับกัน

ในฐานะที่เป็นไซเรนเราเสนอให้ใช้เสียงของ Sound PKI-1 Ivolga ของการผลิตเบลารุส (รูปที่ 5) แหล่งจ่ายไฟ 9 - 15 V, ปฏิบัติการปัจจุบัน 20 - 30 mA สิ่งนี้ช่วยให้คุณใช้กับแบตเตอรี่ขับเคลื่อน ในเวลาเดียวกันเขา "ปัญหา" 95 - 105 เดซิเบล

ด้วยลักษณะดังกล่าวจากแบตเตอรี่ Crohn มันจะฟังดูน้อยหลายสิบนาที ฉันพบมันบนอินเทอร์เน็ตสำหรับ 110 รูเบิล มีเจอร์อนที่มีแม่เหล็กมีค่าประมาณ 30 รูเบิล สวิทช์จากการเตือนภัยรถยนต์ในชิ้นส่วนรถยนต์ถูกซื้อสำหรับ 28 รูเบิล ทรานซิสเตอร์ CT315 สามารถถ่ายด้วยตัวอักษรหรือแทนที่ทรานซิสเตอร์ซิลิกอนพลังงานต่ำที่ทันสมัยพร้อมการนำไฟฟ้าที่เหมาะสม หากปริมาตรของชุดหนึ่งไม่เพียงพอ (ใครจะรู้บางทีคุณอาจต้องการได้ยินหลายกิโลเมตร) คุณสามารถเชื่อมต่อสัญญาณเตือนหลายครั้งในแบบขนานหรือมีประสิทธิภาพมากขึ้นเท่านั้นในกรณีนี้และทรานซิสเตอร์จะต้องถูกแทนที่ด้วยพลังที่มีประสิทธิภาพมากขึ้น หนึ่ง (ตัวอย่างเช่นการประกอบทรานซิสเตอร์ที่คุ้นเคย ULN2003) ในฐานะที่เป็นตัวเชื่อมต่อสำหรับการเชื่อมต่อเฮอร์คอนและไซเรนฉันใช้ตัวเชื่อมต่อที่ง่ายที่สุดสำหรับอุปกรณ์เสียง / วิดีโอ - ราคาของ Radiore 5 รูเบิล สำหรับคู่รัก

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

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

รหัสตอนนี้

// ถาวร
ปุ่ม INT INT \u003d 12; // พินสำหรับปุ่ม
Const Int Gerkon \u003d 3; // พินสำหรับ Herkeon
Const Int Sirena \u003d 2; // Pin Expirene
INT LED \u003d 13; // ตัวบ่งชี้พิน
// ตัวแปร
int buttonstate \u003d 0; // สถานะปุ่ม
int gerkonstate \u003d 0; // สถานะของ Herkeon
int n \u003d 0; // Counter ปิดการใช้งานปุ่มป้องกัน
การตั้งค่าเป็นโมฆะ () (
// Sirena และการจัดการตัวบ่งชี้ - ออก
PinMode (Sirena, เอาท์พุท);
PinMode (LED, เอาท์พุท); // ปุ่มและ gueron - อินพุต
PinMode (Gerkon, อินพุต);
pinmode (ปุ่ม, อินพุต);
}
void loop () (
DigitalWrite (LED, HIGH);
ในขณะที่ (ButtonState \u003d \u003d 0) (// กำลังรอรอบจนกว่าคุณจะคลิกปุ่ม
buttonstate \u003d digitalread (ปุ่ม); // สำหรับการเปลี่ยนไปใช้โหมดความปลอดภัย
}
DigitalWrite (LED, ต่ำ);
buttonstate \u003d 0; // รีเซ็ตค่าของปุ่ม
ในขณะที่ (gerkonstate \u003d 0) (// รอบจนกว่าคุณจะปิดประตู

}
ล่าช้า (500); // :-)
DigitalWrite (Sirena, High); // รหัส
ล่าช้า (100); // ตัวชี้วัด
DigitalWrite (Sirena, Low); // การรวม
ความล่าช้า (70); // โหมด
DigitalWrite (Sirena, High); // การรักษาความปลอดภัย
ล่าช้า (100); // การแจ้งเตือน
DigitalWrite (Sirena, Low); // เสียง
ในขณะที่ (gerkonstate \u003d 1) (// เรากำลังรอการเปิดประตู
Gerkonstate \u003d Digitalread (Gerkon);
}
สำหรับ (int i \u003d 0; i<= 5; i++){ // 7,5 секунды на нажатие
buttonstate \u003d digitalread (ปุ่ม); // ปุ่มลับ
ถ้า (buttonstate \u003d \u003d high) (// ติดตามของคุณเอง - คนอื่น
n \u003d n + 1;
}
ล่าช้า (1500); // Secret Fich :-)))
}
ถ้า (n\u003e 0) (// ที่สำคัญที่สุดคือ
DigitalWrite (Sirena, Low); // อย่าเปิดไซเรน
}
อื่น (
DigitalWrite (Sirena, High); // หรือเปิดไซเรน
}
DigitalWrite (LED, HIGH); // เปิดตัวบ่งชี้ n \u003d 0;
buttonstate \u003d 0;
ล่าช้า (15000); // เตือน "กาน้ำชา" ซึ่งชอบ
DigitalWrite (LED, ต่ำ); // ใส่แรงกดบนปุ่มโดยไม่ชักช้าหยุดชะงัก (1,000);

สวัสดีทุกคนวันนี้เราจะดูอุปกรณ์ที่เรียกว่าเซ็นเซอร์ตรวจจับความเคลื่อนไหว พวกเราหลายคนได้ยินเกี่ยวกับเรื่องนี้มีคนจัดการกับอุปกรณ์นี้ เซ็นเซอร์การเคลื่อนไหวคืออะไร? ลองคิดออกเช่นกัน:

เซ็นเซอร์ตรวจจับความเคลื่อนไหวหรือเซ็นเซอร์การเดินทาง - อุปกรณ์ (อุปกรณ์) ตรวจจับการเคลื่อนไหวของวัตถุใด ๆ บ่อยครั้งที่อุปกรณ์เหล่านี้ใช้ในระบบป้องกันการเตือนภัยและการตรวจสอบ รูปแบบของปัจจัยของเซ็นเซอร์เหล่านี้มีชุดที่ยอดเยี่ยม แต่เราจะพิจารณาโมดูลเซ็นเซอร์การเคลื่อนไหวสำหรับการเชื่อมต่อกับค่าใช้จ่าย Arduino,และมันมาจาก บริษัทrobotdyn ทำไม บริษัท นี้ถึง ฉันไม่ต้องการมีส่วนร่วมในการโฆษณาร้านค้านี้และผลิตภัณฑ์ของมัน แต่เป็นผลิตภัณฑ์ของร้านนี้ที่ได้รับเลือกให้เป็นตัวอย่างในห้องปฏิบัติการเนื่องจากการให้อาหารที่มีคุณภาพสูงของผลิตภัณฑ์สำหรับผู้ใช้ปลายทาง ดังนั้นเราพบ - เซ็นเซอร์การเคลื่อนไหว(เซ็นเซอร์ PIR) จาก robotdyn:


เซ็นเซอร์เหล่านี้มีขนาดเล็กในมิติให้ใช้พลังงานน้อยและใช้งานง่าย นอกจากนี้เซ็นเซอร์การเคลื่อนไหวของ Robotdyn ยังมีป้ายกำกับด้วยหน้าจอผ้าไหมของผู้ติดต่อนี่เป็นเรื่องเล็ก ๆ น้อย ๆ แต่ก็ดีมาก ผู้ที่ใช้เซ็นเซอร์เดียวกัน แต่มีเพียง บริษัท อื่น ๆ ไม่ต้องกังวล - พวกเขาทั้งหมดมีฟังก์ชั่นเดียวกันและแม้ว่าผู้ติดต่อจะไม่ถูกทำเครื่องหมายไว้ฝ้าเพดานของเซ็นเซอร์ดังกล่าวนั้นง่ายต่อการค้นหาบนอินเทอร์เน็ต

ลักษณะทางเทคนิคหลักของเซ็นเซอร์การเคลื่อนไหว (เซ็นเซอร์ PIR):

โซนการทำงานของเซ็นเซอร์: จาก 3 ถึง 7 เมตร

มุมการติดตาม: สูงถึง 110 o

แรงดันไฟฟ้า: 4.5 ... 6 โวลต์

การบริโภคปัจจุบัน: สูงถึง 50mk

บันทึก: ฟังก์ชั่นมาตรฐานของเซ็นเซอร์สามารถขยายได้โดยการเชื่อมต่อเซ็นเซอร์ส่องสว่างเป็นหมุดในและ GND จากนั้นเซ็นเซอร์การเคลื่อนไหวจะทำงานในที่มืดเท่านั้น

การเริ่มต้นของอุปกรณ์

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

มุมและพื้นที่ตรวจจับ

มุมการตรวจจับ (การติดตาม) คือ 110 องศาช่วงของระยะการตรวจจับจาก 3 ถึง 7 เมตรภาพประกอบด้านล่างแสดงทั้งหมดนี้:

การปรับความไว (ระยะตรวจจับ) และการหน่วงเวลา

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


การเชื่อมต่อเซ็นเซอร์:

  • PIR Sensor - Arduino Nano
  • PIR Sensor - Arduino Nano
  • PIR Sensor - Arduino Nano
  • เซ็นเซอร์ PIR - สำหรับเซ็นเซอร์วัดแสง
  • เซ็นเซอร์ PIR - สำหรับเซ็นเซอร์วัดแสง

ไดอะแกรมการเชื่อมต่อทั่วไปจะได้รับในแผนภาพด้านล่างในกรณีของเราเซ็นเซอร์จะแสดงตามเงื่อนไขจากด้านหลังและเชื่อมต่อกับกระดานนาโน Arduino

Skatch แสดงการทำงานของเซ็นเซอร์ตรวจจับการเคลื่อนไหว (เราใช้โปรแกรม):

/ * * เซ็นเซอร์ PIR -\u003e Arduino Nano * PIR Sensor -\u003e Arduino Nano * PIR Sensor -\u003e Arduino Nano * / Void Setup () (// ตั้งค่าการเชื่อมต่อกับ Serial.Begin Port Monitor (9600);) เป็นโมฆะลูป (9600);) ) (// อ่านค่าเกณฑ์จากพอร์ต A0 // โดยปกติจะสูงกว่า 500 ถ้ามีสัญญาณ (Analogread (A0)\u003e 500) (// สัญญาณจาก Serial.Println Motion Sensor ("มีการเคลื่อนไหว !!! ");) อื่น (/ / ไม่มีสัญญาณ serial.println (" ทุกอย่างเงียบสงบ ... ");))

Sketch เป็นการตรวจสอบปกติของการทำงานของเซ็นเซอร์การเคลื่อนไหวมีข้อเสียมากมายในนั้นเช่น:

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

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

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

/ * * เซ็นเซอร์ PIR -\u003e Arduino Nano * เซ็นเซอร์ PIR -\u003e Arduino Nano * Sensor PIR -\u003e โมดูล ARDUINO NANO * RELAY -\u003e Arduino Nano * // Relout - PIN (สัญญาณเอาต์พุต) สำหรับ Const Int Relort \u003d 3 โมดูลรีเลย์; // prevmillis - ตัวแปรสำหรับการจัดเก็บช่วงเวลาของวงจรการสแกนโปรแกรมก่อนหน้า // ช่วงเวลา - ช่วงเวลาสำหรับการนับวินาทีก่อนที่จะปิดรีเลย์ที่ไม่ได้ลงนามในระยะยาว \u003d 0; ช่วง int \u003d 1,000; // DelayValue - ช่วงเวลาที่รีเลย์จัดขึ้นในสถานะ int ที่รวมอยู่ใน DelayValue \u003d 10; // Initsecond คือการวนซ้ำตัวแปร initsecond \u003d 60 รอบการเริ่มต้น; // countdelyoff - static int countdelyoff \u003d 0 ช่วงเวลาเคาน์เตอร์; // ทริกเกอร์ - สแตติก BOOL Trigger \u003d การเคลื่อนไหวที่ผิดพลาดเซ็นเซอร์การตอบสนอง: เท็จ; การตั้งค่าเป็นโมฆะ () () (// ขั้นตอนการเริ่มต้นพอร์ตมาตรฐานที่เชื่อมต่อโมดูลรีเลย์ // สำคัญ !!! - เพื่อให้โมดูลรีเลย์ยังคงอยู่ในสถานะเริ่มต้น // และไม่ทำงานเมื่อเริ่มต้นคุณต้องเขียนถึง พอร์ตอินพุต / เอาต์พุต // ค่าสูงนี้จะหลีกเลี่ยง "โมเต็ล" เท็จและจะบันทึก // สถานะของการถ่ายทอดตามที่เคยเป็นมาก่อนที่จะเปิดใช้งานโครงการทั้งหมดเพื่อทำงาน PinMode (Relout, เอาต์พุต); Digital เขียน , สูง); // ทุกอย่างง่าย - เรากำลังรอ 60 รอบ (initsecond ตัวแปร) // ยั่งยืนใน 1 วินาทีในช่วงเวลานี้เซ็นเซอร์ "เริ่มต้นด้วยตนเอง" สำหรับ (int i \u003d 0; i< initSecond; i ++) { delay(1000); } } void loop() { //Считать значение с аналогового порта А0 //Если значение выше 500 if(analogRead(A0) > 500) (// ตั้งค่าสถานะการตอบสนอง Motion Sensor Motion IF (! TRIGGER) (TRIGGER \u003d TRUE;)) // ในขณะที่ตั้งค่าสถานะเซ็นเซอร์การเคลื่อนไหวในขณะที่ (ทริกเกอร์) (// รันคำแนะนำต่อไปนี้ // บันทึกใน curmillis ตัวแปร // มิลลิวินาทีจากช่วงเริ่มต้น // การดำเนินการ currmillis ที่ยาวไม่ได้ลงนาม \u003d Millis () // เปรียบเทียบกับค่ามิลลิวินาทีที่คาดการณ์ไว้ // หากความแตกต่างเป็นมากกว่าช่วงเวลาที่ระบุจากนั้น: ถ้า (curmillis - prevmillis\u003e ช่วงเวลา ) (// บันทึกค่ามิลลิวินาทีในปัจจุบันใน prevmillis prevmillis \u003d curmillis; // ตรวจสอบมาตรวัดความล่าช้าเมื่อเปรียบเทียบกับค่าของระยะเวลา // ในระหว่างที่รีเลย์ต้องเก็บไว้ใน // countdelyoff\u003e \u003d delayValue) (// หากเปรียบเทียบค่าแล้ว: // รีเซ็ตการตอบสนองของเซ็นเซอร์การเคลื่อนไหวการเคลื่อนไหว Trigger \u003d FALSE; // รีเซ็ต CountDelayoff \u003d 0 Meter Meter; // ปิดรีเลย์ DigitalWrite (ย้อนกลับสูง) // ขัดจังหวะ ทำลายวงจร;) อื่น (// ถ้า ค่ายังน้อยกว่านั้น // เพิ่มความล่าช้ามิเตอร์ต่อหน่วย countdelayoff ++; // ถือรีเลย์ใน DigitalWrite ออนไลน์ (Relout, Low); ))))

โปรแกรมมีการออกแบบ:

prevmillis ยาวไม่ได้ลงนาม \u003d 0;

ช่วง int \u003d 1,000;

...

curmillis ยาวที่ไม่ได้ลงชื่อ \u003d Millis ();

ถ้า (curmillis - prevmillis\u003e ช่วงเวลา)

{

prevmillis \u003d curmillis;

....

// การดำเนินงานของเราอยู่ในร่างกายของการออกแบบ

....

}

เพื่อให้ความชัดเจนมีการตัดสินใจที่จะแสดงความคิดเห็นแยกต่างหากกับการออกแบบนี้ ดังนั้น, การออกแบบนี้ ช่วยให้คุณทำงานขนานในโปรแกรม ร่างกายของการออกแบบจะถูกกระตุ้นโดยประมาณหนึ่งครั้งต่อวินาทีสิ่งนี้มีส่วนช่วยให้ตัวแปร ช่วงเวลา. ก่อนอื่นตัวแปร curmillisกำหนดค่าที่ส่งคืนเมื่อเรียกใช้ฟังก์ชั่น millis (). ฟังก์ชั่น millis () ส่งคืนจำนวนมิลลิวินาทีที่ผ่านไปตั้งแต่เริ่มต้นโปรแกรม ถ้าแตกต่าง curmillis - Prevmillis มากกว่าค่าของตัวแปร ช่วงเวลาซึ่งหมายความว่ามันผ่านไปได้มากกว่าหนึ่งวินาทีจากการเริ่มต้นของโปรแกรมและคุณต้องบันทึกค่าของตัวแปร curmillisในตัวแปร prevmillisจากนั้นดำเนินการดำเนินการที่อยู่ในโครงสร้างร่างกาย หากความแตกต่าง curmillis - Prevmillis น้อยกว่าค่าของตัวแปร ช่วงเวลาระหว่างรอบการสแกนของโปรแกรมที่สองยังไม่ผ่านและการดำเนินการที่อยู่ในร่างกายจะถูกข้ามไป

ในตอนท้ายของวิดีโอบทความจากผู้แต่ง:

โปรดเปิดใช้งาน JavaScript เพื่อแสดงความคิดเห็น

ขอให้เป็นวันที่ดี! อีกครั้งการตรวจสอบหลายชิ้นส่วนอิเล็กทรอนิกส์ของจีนตามปกติของทุกสิ่งที่เราค่อยๆฉันจะพยายามสั้นลง แต่มันจะทำงานได้ไหม ดังนั้นพบสัญญาณเตือน 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 วินาทีส่งสัญญาณเกี่ยวกับ งานปกติ เซ็นเซอร์ ไม่ว่าง: 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 ไม่สามารถเพิ่มตัวเลขที่เหมือนกันสองหมายเลข
ตัวอย่างทีม:



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 วินาทีของการเปิด / ปิดการเตือนภัย


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

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