กุญแจรหัส PIC16F628A. รหัสล็อคบนไมโครคอนโทรลเลอร์ PIC16F628A รหัสล็อคบนรูปภาพ

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

วิธีนี้ทำงานอย่างไร

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


การจดจำปุ่มโดยใช้ ADC

ดังที่เห็นได้จากแผนภาพ คีย์บอร์ดประกอบขึ้นจากชุดปุ่มและตัวต้านทาน แป้นพิมพ์เชื่อมต่อด้วยสายไฟเพียงสามเส้น: +5V, กราวด์ และสายสัญญาณเชื่อมต่อกับพิน 7 ของคอนโทรลเลอร์ ตัวต้านทานเชื่อมต่อแบบอนุกรม และแต่ละจุดเชื่อมต่อมีแรงดันไฟฟ้าของตัวเอง เมื่อเรากดปุ่ม เราจะจ่ายแรงดันไฟฟ้าให้กับพิน 7 ของไมโครคอนโทรลเลอร์ Pin 7 ได้รับการกำหนดค่าเป็นอินพุตและเชื่อมต่อกับโมดูล ADC ของคอนโทรลเลอร์ PIC12F675 มี ADC 10 บิตและช่วงของค่าจะแตกต่างกันไปตั้งแต่ 0 ถึง 1,023 ดังนั้นหากเรามี 12 ปุ่ม ระยะห่างระหว่างปุ่มเหล่านั้นคือ 85 หน่วย ปุ่ม “0” อยู่ในช่วง 0-85, ปุ่ม “1” 86-170, ปุ่ม “2” 171-256... เป็นต้น

ในวรรณกรรมวิทยุสมัครเล่นต่างๆ คุณจะพบตัวเลือกมากมายสำหรับระบบล็อคแบบอิเล็กทรอนิกส์

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

ไมโครคอนโทรลเลอร์นี้ติดตั้ง ADC 10 บิตพร้อมช่วงการแปลงตั้งแต่ 0 ถึง 1,023 สาระสำคัญของวิธีนี้คือในความเป็นจริงแล้วแป้นพิมพ์เป็นตัวแบ่งแรงดันไฟฟ้าบนตัวต้านทาน R1-R12 และเมื่อคุณกดปุ่มบนแป้นพิมพ์บางปุ่ม แรงดันไฟฟ้าถูกส่งไปยังอินพุต 7 ของไมโครคอนโทรลเลอร์ซึ่งเป็นค่าที่มีลักษณะเฉพาะสำหรับปุ่มนี้เท่านั้น

การทำงานของการล็อคแบบรวมบน PIC12F675

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

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

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

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

การเขียนโปรแกรมในวงจรและการดีบักแบบเต็มวงจรของไมโครคอนโทรลเลอร์ PIC16F628A ดำเนินการโดยใช้ (สภาพแวดล้อมการพัฒนาแบบรวม), คอมไพเลอร์ 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 ของไมโครคอนโทรลเลอร์จะได้รับการปกป้องจากการอ่านในวงจร (ตั้งค่าในการกำหนดค่า) โดยใช้ MPLAB ICD แต่ก็ไม่สามารถอ่านและค้นหารหัสผ่านในวงจรได้ดังนั้นจึงเปิดขึ้น ล็อคไฟฟ้า ยังมีวิธีที่ง่ายกว่าในการเปิด - ใช้แรงดันไฟฟ้าโดยตรงกับล็อคไฟฟ้า ฉันสรุปได้ว่าอุปกรณ์ "ล็อครหัส" และล็อคไฟฟ้าจะต้องได้รับการปกป้องอย่างน่าเชื่อถือจากการเข้ามาโดยบุคคลที่ไม่ได้รับอนุญาต ใน เข้าถึงได้ฟรีจะต้องมีปุ่มและจอแสดงผล

เป็นที่น่าสังเกตว่าอุปกรณ์สามารถยกเลิกการจ่ายไฟได้ แต่สถานะการล็อคและรหัสยังคงเก็บไว้ในหน่วยความจำ 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) สนาม ทรานซิสเตอร์มอสเฟต 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 มีพิกัดความจุเท่ากัน และแรงดันไฟฟ้าไม่ต่ำกว่าที่ระบุในแผนภาพ

รายชื่อธาตุกัมมันตภาพรังสี

การกำหนด พิมพ์ นิกาย ปริมาณ บันทึกร้านค้าสมุดบันทึกของฉัน
ดีดี1 MK PIC 8 บิต

PIC16F628A

1 ไปยังสมุดบันทึก
DA1 ตัวควบคุมเชิงเส้น

L7805AB

1 ไปยังสมุดบันทึก
วีที1 ทรานซิสเตอร์มอสเฟต

IRLU024N

1 ไปยังสมุดบันทึก
วีดี1 สะพานไดโอด

2W10

1 ไปยังสมุดบันทึก
วีดี2 ไดโอดเรียงกระแส

1N5403

1 ไปยังสมุดบันทึก
ซี1, ซี2 ตัวเก็บประจุ0.1 µF2 ไปยังสมุดบันทึก
ค3 470 µF 25 V1 ไปยังสมุดบันทึก
ค4 ตัวเก็บประจุด้วยไฟฟ้า100 µF 10 V1 ไปยังสมุดบันทึก
R1, R6 ตัวต้านทาน

10 kโอห์ม

2 ไปยังสมุดบันทึก
R2 ตัวต้านทาน

240 โอห์ม

1 ไปยังสมุดบันทึก
R3 ตัวต้านทาน

470 โอห์ม

1 ไปยังสมุดบันทึก
R4 ตัวต้านทาน

อุปกรณ์ได้รับการออกแบบมาเพื่อปกป้องสถานที่ ตู้ และตู้นิรภัยจากการเปิดโดยไม่ได้รับอนุญาต

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

รูปแบบที่เรียบง่ายนี้อยู่ในความสามารถของนักวิทยุสมัครเล่นหลายคน

และอัลกอริธึมการทำงานที่คิดมาอย่างดีจะทำให้คุณมีความสุขในการใช้วงจรนี้

อุปกรณ์นี้ใช้ไมโครคอนโทรลเลอร์ PIC16F628A(DD1 บนแผนภาพในรูปที่ 1)

หลังจากจ่ายไฟแล้ว โปรแกรมไมโครคอนโทรลเลอร์จะกำหนดค่าพอร์ตและปิดแหล่งจ่ายแรงดันอ้างอิง โมดูลจับ PSI/การเปรียบเทียบ ตัวจับเวลา ตัวเปรียบเทียบ และฮาร์ดแวร์ USART - โมดูลเหล่านี้ไม่จำเป็นสำหรับล็อคในการทำงาน จากนั้นการโพลคีย์บอร์ดก็เริ่มขึ้น ประกอบด้วยสองส่วน ปุ่มแรก SB3-SB14 - ตั้งอยู่นอกวัตถุที่ได้รับการป้องกัน ปุ่มที่สอง SB1, SB2 และสวิตช์ SA1 - อยู่ในอาคาร ปุ่ม SB3-SB 13 ของส่วนแรกของแป้นพิมพ์จะรวมกันเป็นเมทริกซ์ ปุ่ม SB 14 ไม่รวมอยู่ในเมทริกซ์ โดยมีวัตถุประสงค์เพื่อรีสตาร์ทไมโครคอนโทรลเลอร์ในกรณีที่โปรแกรมเกิดข้อผิดพลาด รวมถึงในกรณีอื่น ๆ อีกจำนวนหนึ่งซึ่งจะกล่าวถึงด้านล่าง

ปุ่ม SB1 "เปิด" ติดตั้งอยู่ในอาคารใกล้กับประตู เพียงกดก็สามารถเปิดประตูจากด้านในได้โดยไม่ต้องใส่รหัส SB2 - ปุ่มรีสตาร์ทโปรแกรม ปุ่ม SB2 และ SB I เชื่อมต่อแบบขนาน ปุ่มเมทริกซ์ได้รับการกำหนดดังต่อไปนี้: SB3 - "1", SB4 - "4", SB5 - "7", SB6 - "เปิด" SB7 - "2", SB8 - "5", SB9 - "8", SB10 - "O", SB11 - "3", SB12 - "6" SB13 - "9" ใช้สวิตช์สลับ SAI เพื่อเลือกโหมดการปิดล็อค ป้อนรหัสโดยการกดปุ่มตัวเลขสลับกันสั้นๆ เพื่อยืนยันการกด สัญญาณเสียงสั้นๆ จากตัวส่งสัญญาณพีโซ HA1 จะส่งเสียง ควบคุมโดยทรานซิสเตอร์ VT2

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

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

เมื่อหน้าสัมผัสสวิตช์ SA1 เปิดอยู่ แม่เหล็กไฟฟ้าจะปิดตัวล็อคผ่าน เวลาที่แน่นอน(ค่าเริ่มต้น - 12 วินาที) เวลานี้ถูกตั้งค่าเมื่อตั้งโปรแกรมไมโครคอนโทรลเลอร์ ในโปรแกรมที่จะต้องโหลดลงในคอนโทรลเลอร์ในฟิลด์สำหรับการทำงานกับ EEPROM ในเซลล์ที่มีที่อยู่ 0x06 (ที่เจ็ดติดต่อกัน) คุณต้องใส่ตัวเลขจาก 0x01 ถึง OxFF ในอัตรา 1 หน่วย = 2.5 วิ การหยุดชั่วคราวขั้นต่ำที่เป็นไปได้คือ 2.5 วินาที สูงสุดคือ 10 นาที

หากหน้าสัมผัสของสวิตช์ SA1 ปิดอยู่เช่น อินพุต RA4 ของไมโครคอนโทรลเลอร์ DD1 ถูกตั้งค่าไว้ที่ระดับต่ำ จากนั้นล็อคจะปิดหลังจากกดปุ่ม SB 14 หรือ SB2 หลังจากที่ทรานซิสเตอร์ VT1 ปิดลง แม่เหล็กไฟฟ้าจะถูกยกเลิกการทำงาน และสปริงล็อคจะดันสลักเกลียวกลับ - ประตูจะถูกล็อคอีกครั้ง

หากต้องการเปิดประตูจากภายในห้อง ให้กดปุ่ม SB1 ค้างไว้จนกระทั่งแม่เหล็กไฟฟ้าทำงาน ซึ่งจะระบุด้วยสัญญาณเสียงนาน 2 วินาที คุณสามารถเปิดประตูจากด้านในได้ตลอดเวลา หากประตูไม่เปิด คุณต้องกดปุ่ม SB2 (รีสตาร์ทโปรแกรม) แล้วกดปุ่ม SB 1 อีกครั้ง

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

ตัวเครื่องมีระบบล็อค แต่ละครั้งที่ป้อนรหัสไม่ถูกต้อง เสียงล็อคจะส่งเสียงบี๊บสองครั้งที่ 1000 Hz และอีกหนึ่งเสียงที่ 500 Hz ตัวควบคุมพิจารณาว่าเป็นข้อผิดพลาดในการกดปุ่ม SB6 ในขณะที่มีรหัสที่ไม่ถูกต้องในการลงทะเบียนการทำงานและป้อนรหัสห้าหลัก หลังจากเกิดข้อผิดพลาดสามครั้งติดต่อกัน ไมโครคอนโทรลเลอร์ DD1 จะตั้งค่าเอาต์พุต RA2 ไว้ที่ระดับสูง นี่จะเป็นการเปิดทรานซิสเตอร์ VT3 ซึ่งจะเปิดอุปกรณ์เตือนภัย อุปกรณ์นี้อาจเป็นเสียงไซเรนหรือตัวหมุนหมายเลขโทรศัพท์

ในเวลาเดียวกัน HL1 LED ที่ติดตั้งบนแผงแป้นพิมพ์จะเปิดขึ้น ซึ่งจะแสดงว่าการโพลแป้นพิมพ์ (ยกเว้นสวิตช์สลับ SA1 และปุ่ม SB1, SB2, SB14) ถูกปิดใช้งาน ตามด้วยการหยุดชั่วคราวสิบนาทีในระหว่างที่อุปกรณ์เตือนภัยทำงานและไฟ LED HL1 เปิดอยู่ ในระหว่างนี้จะสามารถเปิดล็อคได้จากด้านในเท่านั้น หากคุณกดปุ่ม SB 14 และ SB2 (ปุ่มรีสตาร์ทโปรแกรมไมโครคอนโทรลเลอร์) การนับถอยหลังสิบนาทีจะเริ่มต้นอีกครั้ง หลังจากการหยุดชั่วคราว คอนโทรลเลอร์จะให้โอกาสในการป้อนรหัสเพียงครั้งเดียว และหากไม่ถูกต้อง การหยุดสิบนาทีพร้อมกับการเปิดใช้งานอุปกรณ์เตือนภัยจะถูกทำซ้ำอีกครั้ง และจะดำเนินต่อไปจนกว่าจะป้อนรหัสที่ถูกต้อง แต่ละครั้งที่ป้อนรหัสอย่างถูกต้อง ตัวนับข้อผิดพลาดจะถูกรีเซ็ตเป็นศูนย์

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

หม้อแปลง T1 ลดแรงดันไฟหลัก 220 V เหลือ 15...20 V. กระแสสูงสุด ขดลวดทุติยภูมิหม้อแปลงไฟฟ้าไม่ควรน้อยกว่า 1.5 A. DA1 - ตัวปรับแรงดันไฟฟ้าที่ปรับได้ ด้วยการเปลี่ยนความต้านทานของตัวต้านทานโครงสร้าง R2 แรงดันไฟฟ้าจะถูกตั้งค่าที่เอาต์พุตของโคลง DA1 ซึ่งกระแสไฟชาร์จของแบตเตอรี่ที่ชาร์จ GB1 ไม่เกิน 100...200 μA นอกจากนี้ในระหว่างการใช้กระแสไฟสูง เมื่อแม่เหล็กไฟฟ้า Y1 ถูกกระตุ้น ส่วนหลักของกระแสไฟฟ้าจะมาจาก แบตเตอรี่ซึ่งช่วยให้คุณไม่โอเวอร์โหลดโคลง DA1 มากเกินไป ไดโอด VD5 ได้รับการออกแบบมาเพื่อปกป้องโคลง DA1 ในกรณีที่ไม่มีแรงดันไฟฟ้าที่อินพุต

แบตเตอรี่ต้องมีกระแสไฟ 300...600 mA (ความจุ - 7 Ah) ควรติดตั้งโคลง DA1 บนแผงระบายความร้อนที่มีพื้นที่ 30...40 ซม.2

แป้นพิมพ์สามารถทำได้จากแต่ละปุ่ม เหมาะสม เช่น DIPTRONICS DTSMW-66N แต่คุณสามารถใช้แป้นพิมพ์สำเร็จรูปจากโทรศัพท์แบบกดปุ่มหรือเครื่องคิดเลขได้ ตามกฎแล้วคุณสามารถเชื่อมต่อแป้นพิมพ์ดังกล่าวกับอุปกรณ์ได้อย่างง่ายดายโดยประกอบปุ่มต่างๆ ในเมทริกซ์ที่เหมาะสม จำเป็นต้องวาง HL1 LED บนแผงแป้นพิมพ์ด้วย

ตัวส่งสัญญาณพีโซเหมาะสำหรับซีรีย์ ZP ทุกรุ่น แม่เหล็กไฟฟ้า Y1 ถูกใช้จากกลไกเทปไดรฟ์ของเครื่องบันทึกเทป แต่อย่างอื่นมีความเหมาะสมขนาดที่เหมาะสมและมีกระแสขดลวดสูงสุดไม่เกิน 1.3 A หากกระแสไฟฟ้าที่ใช้โดยแม่เหล็กไฟฟ้ามากกว่า 1 A ดังนั้นควรติดตั้งทรานซิสเตอร์ VT1 บนแผงระบายความร้อนที่มีพื้นที่ 30.. .40 cm2

เก็บถาวรด้วยเฟิร์มแวร์

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