รหัสล็อคพร้อมจอแสดงผลบนไมโครคอนโทรลเลอร์ avr การล็อคแบบรวมบนไมโครคอนโทรลเลอร์ PIC16F628A

คำตอบ

Lorem Ipsum เป็นเพียงข้อความจำลองของอุตสาหกรรมการพิมพ์และการเรียงพิมพ์ Lorem Ipsum เป็นข้อความจำลองมาตรฐานของอุตสาหกรรมนับตั้งแต่ช่วงปี 1500 เมื่อเครื่องพิมพ์ที่ไม่รู้จักได้เอาเครื่องพิมพ์ไปตะเกียกตะกายเพื่อสร้างหนังสือตัวอย่าง Lorem Ipsum มีอายุไม่เพียงแค่ห้าศตวรรษเท่านั้น http://jquery2dotnet.com/ แต่ยังเป็นการก้าวกระโดดไปสู่การเรียงพิมพ์แบบอิเล็กทรอนิกส์ โดยยังคงไม่เปลี่ยนแปลง โดยพื้นฐานแล้วได้รับความนิยมในทศวรรษ 1960 ด้วยการเปิดตัวแผ่น Letraset ที่มีข้อความ Lorem Ipsum และล่าสุดคือซอฟต์แวร์การเผยแพร่บนเดสก์ท็อปเช่น Aldus PageMaker รวมถึง Lorem Ipsum เวอร์ชันต่างๆ ด้วย

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

อุปกรณ์นี้สามารถใช้ในระบบควบคุมประตูโรงรถ ระบบควบคุมไฟ และระบบรักษาความปลอดภัย

องค์ประกอบหลักของวงจรคือไมโครคอนโทรลเลอร์ PIC16F628A ซึ่งจะตรวจสอบการกดปุ่ม แจ้งเตือนผู้ใช้ด้วยสายตาเมื่อได้รับคำสั่ง และควบคุมสถานะของรีเลย์ สำหรับการแสดงภาพจะใช้ LED ซึ่งเชื่อมต่อแบบขนานกับปุ่มสำหรับป้อนรหัสซึ่งช่วยให้คุณสามารถใช้สายไฟเพียงสองเส้นในการติดตั้งและเชื่อมต่อปุ่มในตำแหน่งที่ต้องการ
ในการจ่ายไฟให้อุปกรณ์จำเป็นต้องใช้แหล่งพลังงาน 12 V ในวงจรประกอบด้วยตัวควบคุมแรงดันไฟฟ้า LM7805 LED D3 หมายถึงแหล่งจ่ายไฟ
ระบบมีโหมดการทำงานสองโหมด: โหมดปกติและโหมดตั้งโปรแกรม ในโหมดปกติ อุปกรณ์จะทำหน้าที่หลัก โดยจะตรวจสอบการกดปุ่มและตอบสนองเมื่อป้อนรหัสอย่างถูกต้อง ในโหมดการเขียนโปรแกรม พารามิเตอร์พื้นฐานของระบบจะได้รับการกำหนดค่า: รหัส เวลาเปิดใช้งาน โหมดการทำงาน
หากต้องการเปลี่ยนโหมดการทำงาน (ปกติ/การเขียนโปรแกรม) ให้ใช้สวิตช์ JP1 เมื่อสวิตช์ปิดอยู่ - โหมดการทำงานปกติ เมื่อเปิด - โหมดการเขียนโปรแกรม (การตั้งค่า) ควรสังเกตว่ามีการป้อนโหมดหนึ่งหรือโหมดอื่นเมื่อมีการจ่ายไฟ (สถานะสวิตช์จะถูกตรวจสอบโดยไมโครคอนโทรลเลอร์เมื่อมีการจ่ายไฟ) ดังนั้น ในการเข้าสู่โหมดการตั้งค่า คุณต้องตั้งค่าสวิตช์และใช้พลังงาน เพื่อออกจากโหมด คุณต้องปิดสวิตช์ ปิดแล้วเปิดเครื่อง

หากต้องการป้อนรหัสแบบฟอร์ม 1234 ลำดับการดำเนินการจะเป็นดังนี้:
กดปุ่ม 1 ครั้ง;
รอการยืนยันด้วยภาพจากไฟ LED บนปุ่ม (ไฟ LED จะกระพริบหนึ่งครั้ง);
กดปุ่มสองครั้ง;

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

ตัวเลือกเมนู:

การเปลี่ยนแปลงรหัส– ใช้ในการเปลี่ยนรหัสผู้ใช้ หากต้องการเปลี่ยน ให้ป้อนรหัสในลักษณะเดียวกับการทำงานปกติ เมื่อบันทึกรหัสใหม่แล้ว ไฟ LED จะระบุสิ่งนี้ด้วยการกะพริบบ่อยครั้ง
การเปลี่ยนเวลาเปิดใช้งาน– ใช้เพื่อเปลี่ยนสถานะเวลาที่ใช้งานอยู่ การกดปุ่มหนึ่งครั้งในเมนูนี้จะเปลี่ยนเวลานี้เป็น 1 วินาที ตัวอย่างเช่น หากเวลาที่ต้องการคือ 10 วินาที คุณจะต้องกดปุ่ม 10 ครั้ง เมื่อบันทึกพารามิเตอร์แล้ว ไฟ LED จะระบุสิ่งนี้ด้วยการกะพริบบ่อยครั้ง
การเลือกโหมดการทำงาน– ใช้สำหรับเปลี่ยนโหมดควบคุมรีเลย์ มีโหมดการทำงานสองโหมด: การเปิดใช้งานรีเลย์เมื่อป้อนรหัสที่ถูกต้อง และสถานะรีเลย์เปลี่ยน (การเปิดใช้งาน/ปิดใช้งาน) เมื่อป้อนรหัสที่ถูกต้อง เมื่อเลือกโหมดที่สองอุปกรณ์จะทำหน้าที่ดังต่อไปนี้: หากเปิดใช้งานรีเลย์และป้อนรหัสที่ถูกต้อง รีเลย์จะถูกปิดใช้งาน ในครั้งต่อไปที่ป้อนรหัสที่ถูกต้อง รีเลย์จะถูกเปิดใช้งาน หากต้องการเปลี่ยนโหมดการทำงาน: กดปุ่มหนึ่งครั้งเพื่อเลือกโหมดแรก และสองครั้งเพื่อเลือกโหมดที่สอง

พารามิเตอร์ทั้งหมดจะถูกเก็บไว้ในหน่วยความจำแบบไม่ลบเลือนของไมโครคอนโทรลเลอร์

วงจรถูกประกอบบนแผงวงจรพิมพ์สองด้าน

อลัน ปาเรค

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

อุปกรณ์นี้สามารถใช้ในระบบควบคุมประตูโรงรถ ระบบควบคุมไฟ และระบบรักษาความปลอดภัย

แผนผังของอุปกรณ์

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

ในการจ่ายไฟให้อุปกรณ์คุณจะต้องมีแหล่งพลังงาน 12 V วงจรประกอบด้วยตัวควบคุมแรงดันไฟฟ้า LM7805 LED D3 หมายถึงแหล่งจ่ายไฟ

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

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

หากต้องการป้อนรหัสแบบฟอร์ม 1234 ลำดับการดำเนินการจะเป็นดังนี้:

  • กดปุ่ม 1 ครั้ง;
  • รอการยืนยันด้วยภาพจากไฟ LED บนปุ่ม (ไฟ LED จะกระพริบหนึ่งครั้ง);
  • กดปุ่มสองครั้ง;
  • กดปุ่มสามครั้ง;
  • รอการยืนยันด้วยภาพจาก LED บนปุ่ม
  • กดปุ่ม 4 ครั้ง

หลังจากป้อนหลักที่สี่แล้ว ระบบจะทำงานตามโหมดการทำงานที่ตั้งไว้ หากป้อนรหัสไม่ถูกต้อง ผู้ใช้จะเห็นการแจ้งเตือนด้วยภาพ (ไฟ LED กะพริบ)

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

ตัวเลือกเมนู:

  1. การเปลี่ยนแปลงรหัส- ใช้ในการเปลี่ยนรหัสผู้ใช้ หากต้องการเปลี่ยน ให้ป้อนรหัสในลักษณะเดียวกับการทำงานปกติ เมื่อบันทึกรหัสใหม่แล้ว ไฟ LED จะระบุสิ่งนี้ด้วยการกะพริบบ่อยครั้ง
  2. การเปลี่ยนเวลาเปิดใช้งาน- ใช้เพื่อเปลี่ยนเวลาของสถานะที่ใช้งานอยู่ การกดปุ่มหนึ่งครั้งในเมนูนี้จะเปลี่ยนเวลานี้เป็น 1 วินาที ตัวอย่างเช่น หากเวลาที่ต้องการคือ 10 วินาที คุณจะต้องกดปุ่ม 10 ครั้ง เมื่อบันทึกพารามิเตอร์แล้ว ไฟ LED จะระบุสิ่งนี้ด้วยการกะพริบบ่อยครั้ง
  3. การเลือกโหมดการทำงาน- ใช้สำหรับเปลี่ยนโหมดควบคุมรีเลย์ มีโหมดการทำงานสองโหมด: การเปิดใช้งานรีเลย์เมื่อป้อนรหัสที่ถูกต้อง และสถานะรีเลย์เปลี่ยน (การเปิดใช้งาน/ปิดใช้งาน) เมื่อป้อนรหัสที่ถูกต้อง เมื่อเลือกโหมดที่สองอุปกรณ์จะทำหน้าที่ดังต่อไปนี้: หากเปิดใช้งานรีเลย์และป้อนรหัสที่ถูกต้อง รีเลย์จะถูกปิดใช้งาน ในครั้งต่อไปที่ป้อนรหัสที่ถูกต้อง รีเลย์จะถูกเปิดใช้งาน หากต้องการเปลี่ยนโหมดการทำงาน: กดปุ่มหนึ่งครั้งเพื่อเลือกโหมดแรก และสองครั้งเพื่อเลือกโหมดที่สอง

พารามิเตอร์ทั้งหมดจะถูกเก็บไว้ในหน่วยความจำแบบไม่ลบเลือนของไมโครคอนโทรลเลอร์

วงจรถูกประกอบบนแผงวงจรพิมพ์สองด้าน






คลิกที่ภาพเพื่อขยาย

ดาวน์โหลด

ไฟล์ Hex สำหรับการเขียนโปรแกรมไมโครคอนโทรลเลอร์ -

  • ประกอบกระพริบใช้งานได้! กระดานถูกจัดวางเป็นชั้นเดียว
  • ฉันเย็บมันอย่างไร (ขอบคุณล่วงหน้า)
  • ฉันกำลังแฟลชโปรแกรม icprog105D แต่ฉันสร้างโปรแกรมเมอร์ไว้นานแล้วและฉันจำไม่ได้ว่าเรียกว่าอะไร แต่ไม่มีปัญหากับเฟิร์มแวร์ ฉันประกอบวงจรนี้ใน Proteus จากฉัน และมันก็ใช้ได้ที่นั่น
  • อัปโหลดโมเดลไปยัง Proteus
  • ไฟล์เก็บถาวรประกอบด้วยไดอะแกรม ภาพเคลื่อนไหว และตราสัญลักษณ์ใน Proteus 7.7 SP2 (Build 9151) ระดับ 3 บนแผงวงจรพิมพ์ รีเลย์ถูกนำมาจากสัญญาณเตือนรถบางประเภท และฉันก็สร้างแบบจำลองสำหรับ Proteus และวงจรอนิเมะเป็นสิ่งที่คุณสามารถเรียกใช้และตรวจสอบการทำงานของวงจรโดยรวมได้ ฉันติดตั้ง LED แทนรีเลย์เพื่อความชัดเจน
  • ความคิดในการล็อค MK นั้นไม่เลว แต่การพิมพ์รหัสนั้นไม่สะดวก ลองนึกภาพว่าคุณต้องกด 9 ต้องกดกี่ครั้ง คุณต้องมีตัวบ่งชี้หนึ่งหลัก คุณกดปุ่มค้างไว้จนกระทั่งหมายเลขที่ต้องการปรากฏขึ้น ปล่อยมัน และหมายเลขนั้นจะถูกจดจำหรือรับรู้ขึ้นอยู่กับโหมด น่าเสียดายที่ฉันไม่สามารถเขียนโปรแกรมได้ ไม่เช่นนั้นฉันก็จะทำแบบนี้ ความพยายามทั้งหมดในการศึกษาอย่างอิสระยังไม่ได้รับความสำเร็จ ดาวน์โหลดโมเดลแล้ว
  • คุณชอบสิ่งนี้อย่างไร รหัสง่ายๆ และไม่มีปุ่มใดๆ ที่ประตู http://shema.org.ua/forum/index.php?...&st=0#entry781
  • ล็อคเป็นแบบเดิม แต่คุณสามารถทำกุญแจหายได้และไม่สามารถผ่านประตูที่ล็อคไว้ได้ แต่ด้วยปุ่มเดียว! มันยากที่จะสูญเสีย แต่หายากยิ่งกว่า! การป้อนรหัสใช้เวลานาน แต่ถ้าคุณคิดขึ้นมา ใช้เป็นรหัสสำรองได้เลย! ในกรณีที่เรียบง่ายเล็กน้อย ประตูถูกกระแทก แต่กุญแจถูกทิ้งไว้หลังประตู และการออกแบบนี้ด้วยปุ่มเดียวก็จะช่วยได้! แต่อาจไม่มีปุ่มใด ๆ บทบาทของปุ่มจะเล่นโดยมือจับประตูเดียวกับที่ปิดสนิท ฉันจะไม่อธิบายเพิ่มเติมและชัดเจน
  • แน่นอนคุณอาจสูญเสียมันไปหรือฝากไว้กับเพื่อนบ้านเหมือนในสมัยก่อน :) แค่อย่าบอกรหัส

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

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

การเขียนโปรแกรมในวงจรและการแก้ไขข้อบกพร่องของไมโครคอนโทรลเลอร์ PIC16F628A ครบวงจรดำเนินการโดยใช้ MPLAB IDE v8.15 (สภาพแวดล้อมการพัฒนาแบบรวม), คอมไพเลอร์ MPASM v5.22 (รวมอยู่ใน MPLAB IDE v8.15) และ MPLAB ICD 2 (ใน ดีบักเกอร์วงจร) สำหรับผู้ที่ไม่มีเครื่องมือตามรายการข้างต้น แต่มีโปรแกรมของตัวเองสำหรับการทำงานกับไฟล์ HEX และโปรแกรมเมอร์อื่น คุณสามารถค้นหาไฟล์ 16F628ATEMP.HEX ได้ในโปรเจ็กต์ที่เกี่ยวข้อง

ไมโครคอนโทรลเลอร์ DD1 มีพินการทำงาน RA0, RB0 – RB7, CCP1 ซึ่งใช้สำหรับข้อมูลอินพุตและเอาต์พุต ไมโครคอนโทรลเลอร์ DD1 ไม่มีฟังก์ชันการรีเซ็ตแบบบังคับ พินรีเซ็ตเชื่อมต่อผ่านตัวต้านทาน R1 กับศักย์ไฟฟ้าที่เป็นบวก ออสซิลเลเตอร์ RC บนชิปใช้เพื่อสร้างความถี่สัญญาณนาฬิกา

ปุ่มชั้นเชิง SB1 เชื่อมต่อกับพิน RA0 ผ่านตัวต้านทานจำกัดกระแส R3 ในตำแหน่งที่ปล่อยปุ่มนาฬิกา SB1 ตัวต้านทาน R7 จะจำลองระดับลอจิกต่ำ ไมโครคอนโทรลเลอร์ DD1 รับรู้สามสถานะของปุ่มนาฬิกา SB1:

  1. ไม่กด;
  2. กดสั้น ๆ (น้อยกว่า 1 วินาที)
  3. กดค้างไว้ (มากกว่า 1 วินาที)

ตัวส่งสัญญาณเสียงพีโซ P1 ช่วยแยกแยะสถานะของปุ่มนาฬิกา SB1 ดังนั้นในสถานะ 1 จะไม่มีการสร้างเสียงเกิดขึ้น ในสถานะ 2 เสียงจะถูกสร้างขึ้นจนกว่าไมโครคอนโทรลเลอร์จะจดจำสถานะ 3 และในสถานะ 3 จะไม่เกิดการสร้างเสียง

จอแสดงผลคริสตัลเหลว HG1 ใช้เพื่อแสดงข้อมูล ข้อมูลทางเทคนิคสำหรับจอแสดงผลสามารถดูได้จากเว็บไซต์ มีตัวควบคุมที่ใช้ฟังก์ชันการสร้างตัวละคร แสดงสองบรรทัด บรรทัดละสิบหกอักขระ จอแสดงผลถูกควบคุมผ่านพินไมโครคอนโทรลเลอร์ RB0, RB1, RB4 – RB7 ข้อมูลถูกโหลดในรูปแบบ nibbles ผ่านพิน RB4 – RB7 "สลัก" - RB1 เราเลือกการลงทะเบียนสัญญาณที่ขา RB0 การใช้ตัวต้านทาน R5 และ R6 เราตั้งค่าคอนทราสต์ของจอแสดงผล HG1 ไฟแบ็คไลท์ของจอแสดงผลเชื่อมต่อกับพลังงานผ่านตัวต้านทานจำกัดกระแส R4 จอแสดงผล HG1 ถูกขันเข้ากับบอร์ดโดยใช้หมุดทองเหลืองขนาด 3 x 15 มม. และสกรูขนาด 3 x 6 มม.

ด้วยการสร้างลอจิกบน RB2 จึงสามารถเปิดหรือปิดทรานซิสเตอร์เอฟเฟกต์สนาม VT1 ได้ ซึ่งจะเปิดและปิดล็อคไฟฟ้าที่เชื่อมต่อกับแผงขั้วต่อ X1 ล็อคไฟฟ้าต้องได้รับการออกแบบสำหรับแรงดันไฟฟ้าที่ใช้งาน 9-15 V และใช้กระแสไฟฟ้าไม่เกิน 1 A เมื่อใช้แรงดันไฟฟ้ากับล็อคไฟฟ้าจะต้องเปิด หากไม่มีแรงดันไฟฟ้า ล็อค (ปิด) ).

ตัวส่งเสียงแบบเพียโซ P1 ที่มีความถี่ในการสร้างเสียงในการทำงาน 4 kHz เชื่อมต่อกับพิน CCP1 (การใช้งานฮาร์ดแวร์ของ PWM, ความถี่ 4 kHz, รอบการทำงาน 2) ผ่านตัวต้านทานจำกัดกระแส R2

อุปกรณ์ได้รับพลังงานจากแหล่งจ่ายแรงดันไฟฟ้า AC หรือ DC ที่เชื่อมต่อกับขั้วต่อ X2 แรงดันไฟฟ้าของแหล่งจ่ายไฟคือ 9 - 15 V กระแสไฟที่กำหนดของแหล่งจ่ายไฟคือ 1 A เพื่อรักษาเสถียรภาพของแหล่งจ่ายไฟจึงใช้วงจรทั่วไป: ไดโอดบริดจ์ VD1, โคลงเชิงเส้น DA1, ตัวเก็บประจุตัวกรอง C1 - ค4.

อุปกรณ์สามารถทำงานได้ในช่วงอุณหภูมิตั้งแต่ –20 °C ถึง +70 °C
ไมโครคอนโทรลเลอร์ได้รับการตั้งโปรแกรมในลักษณะที่มีสถานะการทำงานสิบเอ็ดสถานะ

  1. เมื่อเปิดอุปกรณ์ หน่วยความจำข้อมูล EEPROM แบบไม่ลบเลือนจะถูกอ่าน ซึ่งมีการดาวน์โหลดสถานะการล็อคและข้อมูลรหัส อุปกรณ์เปิดหรือปิดล็อคไฟฟ้าตามการลงทะเบียนสถานะล็อคการอ่าน อุปกรณ์จะเข้าสู่สถานะที่แสดงสถิติการเข้ารหัส เช่น 2.
  2. ในสถานะนี้ อุปกรณ์จะแสดง “สถานะ สเตตัส” และในบรรทัดล่างสุดจะแสดงสถิติการเข้ารหัส ได้แก่ จำนวนการเข้ารหัสและจำนวนการถอดรหัส* หลังจากกดปุ่มชั้นเชิงสั้นๆ หรือค้างไว้ อุปกรณ์ตามคำแนะนำของการลงทะเบียนสถานะล็อค จะเข้าสู่สถานะการเข้ารหัสหากล็อคเปิดอยู่ เช่น 3 และเข้าสู่สถานะถอดรหัสหากล็อคถูกปิด เช่น 4.
  3. อุปกรณ์จะแสดงคำจารึกว่า "รหัสรหัส" ที่บรรทัดบนสุดของจอแสดงผลและเข้าสู่สถานะที่ป้อนรหัส (รูทีนย่อย "รายการรหัส") เช่น 5. ตัวนับสำหรับจำนวนการเข้ารหัสจะเพิ่มขึ้น อุปกรณ์จะเข้าสู่สถานะที่เปลี่ยนสถานะของการล็อคการปิดเช่น 9.
  4. อุปกรณ์จะแสดงคำจารึก "Decode D.code" ในบรรทัดบนสุดของจอแสดงผลและเข้าสู่สถานะที่ป้อนรหัส (รูทีนย่อย "รายการรหัส") เช่น 5. ตัวนับหมายเลขถอดรหัสจะเพิ่มขึ้น อุปกรณ์จะเปรียบเทียบรหัสที่ป้อนกับรหัสที่จัดเก็บไว้ในหน่วยความจำ EEPROM แบบไม่ลบเลือน หากรหัสตรงกันอุปกรณ์จะเข้าสู่สถานะที่เปลี่ยนสถานะของการล็อคโดยเปิดออกเช่น 10 และหากรหัสไม่ตรงกัน รหัสจะเข้าสู่สถานะที่แสดงข้อมูลเกี่ยวกับข้อผิดพลาด เช่น 11.
  5. หลักแรกของรหัสสี่หลักจะถูกเน้นไว้ในวงเล็บเหลี่ยมที่บรรทัดล่างสุดของจอแสดงผล เมื่อกดปุ่มนาฬิกาสั้นๆ การลงทะเบียนของหลักที่ป้อน** จะเพิ่มขึ้น หากกดปุ่มชั้นเชิงค้างไว้นานกว่า 1 วินาที อุปกรณ์จะเข้าสู่สถานะที่เลือกรหัสหลักที่สอง เช่น 6.
  6. หลักที่สองของรหัสสี่หลักจะถูกเน้นไว้ในวงเล็บเหลี่ยมที่บรรทัดล่างสุดของจอแสดงผล เมื่อกดปุ่มนาฬิกาสั้นๆ การลงทะเบียนของหลักที่ป้อน** จะเพิ่มขึ้น หากกดปุ่มชั้นเชิงค้างไว้นานกว่า 1 วินาที อุปกรณ์จะเข้าสู่สถานะที่เลือกรหัสหลักที่สาม ได้แก่ 7.
  7. หลักที่สามของรหัสสี่หลักจะถูกเน้นไว้ในวงเล็บเหลี่ยมที่บรรทัดล่างสุดของจอแสดงผล เมื่อกดปุ่มนาฬิกาสั้นๆ การลงทะเบียนของหลักที่ป้อน** จะเพิ่มขึ้น หากกดปุ่มชั้นเชิงค้างไว้นานกว่า 1 วินาที อุปกรณ์จะเข้าสู่สถานะที่เลือกรหัสหลักที่สี่ ได้แก่ 8.
  8. ตัวเลขที่สี่ของรหัสสี่หลักจะถูกเน้นไว้ในวงเล็บเหลี่ยมที่บรรทัดล่างสุดของจอแสดงผล เมื่อกดปุ่มนาฬิกาสั้นๆ การลงทะเบียนของหลักที่ป้อน** จะเพิ่มขึ้น หากกดปุ่มชั้นเชิงค้างไว้นานกว่า 1 วินาที อุปกรณ์จะเข้าสู่สถานะที่มีการร้องขอรูทีนย่อย "ป้อนรหัส" เช่น 3 หรือ 4
  9. อุปกรณ์จะปิดล็อคและจัดเก็บสถานะและรหัสล็อค บรรทัดบนสุดแสดงข้อความว่า “ออมทรัพย์ บันทึก” และบรรทัดล่างสุดจะมีรหัสสี่หลัก จากนั้น อุปกรณ์จะเข้าสู่สถานะที่แสดงสถิติการเข้ารหัส เช่น 2.
  10. อุปกรณ์จะเปิดล็อคและจัดเก็บสถานะและรหัสล็อค บรรทัดบนสุดแสดงข้อความว่า “ออมทรัพย์ บันทึก” และบรรทัดล่างสุดจะมีรหัสสี่หลัก จากนั้น อุปกรณ์จะเข้าสู่สถานะที่แสดงสถิติการเข้ารหัส เช่น 2.
  11. จอแสดงผลแสดง "ข้อผิดพลาด" ที่บรรทัดบนสุดและรหัสสี่หลักที่บรรทัดล่างสุด (รูปภาพ 4) หลังจากกดปุ่มชั้นเชิงสั้นหรือยาว อุปกรณ์จะเข้าสู่สถานะที่แสดงสถิติการเข้ารหัส เช่น 2.

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

**เมื่อเพิ่มเลข 9 จะรีเซ็ตเป็นศูนย์

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

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

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

ไฟล์สำหรับทำแผงวงจรพิมพ์อยู่ในโฟลเดอร์

สามารถเปลี่ยนชิ้นส่วนต่อไปนี้ได้ในยูนิตนี้ ไมโครคอนโทรลเลอร์ DD1 จากซีรีส์ PIC16F628A-I/P-xxx ที่มีความถี่สัญญาณนาฬิกาในการทำงาน 20 MHz ในแพ็คเกจ DIP18 จอแสดงผล HG1 สามารถใช้ได้กับซีรีส์ WH1602x ทุกรุ่น ตัวปรับแรงดันไฟฟ้า DA1 ในประเทศ KR142EN5A (5 V, 1.5 A) ทรานซิสเตอร์สนามผล MOSFET VT1 (N-channel) ในแพ็คเกจ I-Pak (TO-251AA) อะนาล็อกของค่าที่ระบุในแผนภาพมีความเหมาะสม ตัวส่งสัญญาณเสียง Piezo P1 ที่มีความถี่ในการสร้างเสียงการทำงานที่ 4 kHz ไดโอดบริดจ์ VD1 สามารถใช้ได้จากซีรีย์ 2Wxx ใดก็ได้ ขั้วต่อสายไฟ X2 คล้ายกับที่แสดงในแผนภาพโดยมีหน้าสัมผัสส่วนกลาง d=2.1 มม. ตัวเก็บประจุแบบไม่มีขั้ว C1 และ C2 ที่มีค่าระบุ 0.01 – 0.47 µF x 50 V ตัวเก็บประจุด้วยไฟฟ้า C3 และ C4 มีพิกัดความจุเท่ากัน และแรงดันไฟฟ้าไม่ต่ำกว่าที่ระบุในแผนภาพ

ดาวน์โหลดไฟล์เก็บถาวรด้วยโครงการล็อคแบบรวม: 16F628Code_Lock.rar

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

แผนภาพการล็อคแบบรวมแสดงไว้ในรูปที่ 1 1. องค์ประกอบหลักของอุปกรณ์คือไมโครคอนโทรลเลอร์ เอทีนี่2313(DD1) ซึ่งใช้ออสซิลเลเตอร์ RC ในตัวและตัวต้านทานภายใน คุณต้องรู้รหัสจึงจะเปิดล็อคได้ หากต้องการเข้าไปให้ใช้แป้นพิมพ์ที่อยู่ด้านนอกประตูและประกอบด้วยปุ่ม SB1-SB 12 ปุ่ม SB 13 และ SB 14 อยู่ที่ด้านในของประตูปุ่มแรกมีไว้สำหรับเปิดและ ประการที่สองสำหรับการปิดมัน เมื่อใช้ตัวขับเคลื่อนล็อคประตูแบบเครื่องกลไฟฟ้า ไม่จำเป็นต้องมีปุ่ม SB 14 ไฟ LED สองสี HL1 ระบุสถานะของการล็อค: หากไฟ LED สีแดงเปิดอยู่ ประตูจะปิด สีเขียว แสดงว่าประตูเปิดอยู่ ตัวต้านทาน R3 ทำหน้าที่จำกัดกระแสผ่าน LED

รูปที่ 1

เพื่อควบคุมแอคชูเอเตอร์ - โซลินอยด์ YA1 (หรือไดรฟ์ระบบเครื่องกลไฟฟ้า) - ใช้ทรานซิสเตอร์สวิตชิ่งเอฟเฟกต์สนามอันทรงพลัง VT1 หากป้อนรหัสอย่างถูกต้อง แรงดันไฟฟ้าในการเปิดจะถูกส่งจากบรรทัด PD2 (พิน 6) ของไมโครคอนโทรลเลอร์ DD1 ไปยังเกตของทรานซิสเตอร์เอฟเฟกต์สนาม แรงดันไฟฟ้าจะถูกส่งไปยังโซลินอยด์ YA1 และจะเปิด ล็อค.

อุปกรณ์นี้ใช้พลังงานจากแหล่งจ่ายไฟที่มีความเสถียรของเครือข่าย 12 V โดยมีกระแสไฟเอาท์พุตเพียงพอที่จะใช้งานแอคชูเอเตอร์ แรงดันไฟฟ้าของไมโครคอนโทรลเลอร์จะเสถียรโดยตัวกันโคลงแบบรวม DA1 แบตเตอรี่แบบชาร์จไฟได้ GB1 ใช้เป็นแหล่งสำรองในกรณีที่ไม่มีแรงดันไฟฟ้าหลัก ไดโอด VD1, VD2 ให้การแยกแหล่งจ่ายไฟและแบตเตอรี่

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

หากต้องการปิดล็อค คุณต้องกดปุ่ม SB4 "*" หรือปุ่ม SB 14 "ปิด"

หากต้องการเปลี่ยนรหัสเมื่อเปิดล็อคอยู่ ให้กดปุ่ม SB12 “#” ป้อนรหัสใหม่ (ขั้นต่ำหนึ่งหลัก สูงสุดหนึ่งร้อยยี่สิบเจ็ด) จากนั้นกดปุ่ม SB 12 “#” อีกครั้ง หากเกิดข้อผิดพลาดเมื่อป้อนรหัส ให้กดปุ่ม SB4 “*” ป้อนรหัสที่ถูกต้อง จากนั้นกดปุ่ม SB12 “#” เท่านั้น เมื่อบันทึกรหัสใหม่ การกดปุ่มจะแสดงดังต่อไปนี้ ไฟ LED สีเขียวจะดับลงเป็นเวลา 0.5 วินาที ในขณะที่ไฟ LED สีแดงจะสว่างขึ้น จากนั้นไฟ LED สีเขียวจะสว่างขึ้นอย่างต่อเนื่องอีกครั้ง

รูปที่ 2

รหัสโปรแกรมที่อยู่ใน คลังเก็บเอกสารสำคัญมีไมโครคอนโทรลเลอร์สำหรับล็อคที่มีโซลินอยด์มาให้ โต๊ะ 1สำหรับล็อคด้วยระบบขับเคลื่อน - เข้าเครื่องกลไฟฟ้า โต๊ะ 2- ในระหว่างการเขียนโปรแกรมรหัสเริ่มต้นที่ประกอบด้วยหมายเลข 1, 2, 3 จะถูกป้อนลงใน EEPROM ของไมโครคอนโทรลเลอร์ จำเป็นต้องเขียนไฟล์ข้อมูลด้วย - โต๊ะ 3ใน EEPROM ของไมโครคอนโทรลเลอร์ เมื่อตั้งโปรแกรม ให้ตั้งค่าบิตการกำหนดค่าตามรูปที่ 1 2.

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

ชั้น = "eliadunit">

หลังจากที่ล็อคปิดและไฟ LED สีแดงสว่างขึ้น คุณต้องกดปุ่ม SB13 “เปิด” เพิ่มเติมค้างไว้อีกประมาณ 15 วินาที จากนั้นกดปุ่ม SB 12 “#” และเมื่อไฟ LED สีเขียวสว่างขึ้น ให้ป้อนรหัสใหม่ รหัสจากนั้นกดปุ่ม SB 12 "#" อีกครั้งเพื่อบันทึก หากเกิดข้อผิดพลาดขณะป้อน ให้กดปุ่ม SB4 “*” ป้อนรหัสที่ถูกต้อง จากนั้นกดปุ่ม SB 12 “#” เท่านั้น ระวังเมื่อป้อนรหัสใหม่!

รูปถ่ายของอุปกรณ์ที่เสร็จแล้ว

สิ่งตีพิมพ์ในหัวข้อ