
สวัสดีตอนนี้ฉันหยิบไอเดียสร้างอุปกรณ์สำหรับการคัดลอก อิเล็กทรอนิกส์ ปุ่มต่างๆเช่น Touch memory หรือ ibuttom หรือที่เรียกว่า“ ยา” กุญแจดังกล่าวแม้ว่าจะล้าสมัยไปแล้ว แต่ก็ถูกแทนที่ด้วย Rfid แบบไร้สัมผัส แต่ก็มักจะใช้สำหรับอินเตอร์คอมหรือสัญญาณกันขโมย พื้นฐานของอุปกรณ์ของเราจะให้บริการ Arduino Uno คุณสามารถใช้บอร์ดอื่น ๆ ที่เข้ากันได้กับ Arduino เพื่อให้สามารถใช้อุปกรณ์ของเราโดยอัตโนมัติโดยไม่ต้องใช้คอมพิวเตอร์คุณต้องใช้แหล่งจ่ายไฟตั้งแต่ 6 ถึง 12 โวลต์ ในการระบุสถานะของอุปกรณ์เราจะใช้หน้าจอกราฟิก WG12864B เราจำเป็นต้องมีเคสด้วยในกรณีนี้กล่องจากตลับ Sega นั้นสมบูรณ์แบบ
ในการใช้ความคิดนี้คุณจะต้อง:
- Arduino UNO (หรือบอร์ดที่เข้ากันได้กับ Arduino)
- หน้าจอกราฟิก WG12864B
- ตัวต้านทาน 100 โอห์ม 0.25 W
- แหล่งจ่ายไฟ 6 - 12 V
- ตัวต้านทาน 2.2 KOhm 0.25 W
- ตัวต้านทาน 10 KOhm 0.25 W
- กล่องจากคาร์ทริดจ์ของ SEGA console
- เทปไฟฟ้า
- สายเชื่อมต่อ
- ปุ่ม
- ชิ้นส่วนสแตนเลสขนาดเล็ก
- กรรไกรโลหะ
- มีดเครื่องเขียน
- หัวแร้ง
- บัดกรีขัดสน
- เทปสองด้าน
ขั้นตอนที่ 1 บิตเกี่ยวกับปุ่ม Ibuttom เอง
เพื่อให้ชัดเจน iButton เป็นเพียงชิปหนาตาลงในเคสสแตนเลสทรงกลม ขนาดตัวเรือน 16.3 มม. ตัวเรือนสแตนเลสทนทานต่อการกระแทกสิ่งสกปรกและความชื้น มาตรฐานที่พักอาศัยเรียกว่า iButton MicroCan มีความหนามาตรฐานสองแบบ: 3.1 มม. (รุ่น F3) และ 5.9 มม. (รุ่น F5) Microcircuit รับพลังงานจากสายข้อมูลของอุปกรณ์หลัก เส้นผ่าศูนย์กลางของฝาครอบนั้นเหมือนกันสำหรับทุกรุ่น ดังนั้นถ้วยอ่านหนังสือใบเดียวกันจึงเหมาะสำหรับทุกคน บล็อกไดอะแกรมของกุญแจของเรา:

คีย์ถูกเขียนทับได้และไม่ใช่ หากต้องการทำซ้ำคุณจะต้องเขียนซ้ำตามลำดับ มีแท็ก 3 เวอร์ชัน: RW1990, TM08v2 และ TM-08 VZT F. พวกมันต่างกันในวงจรไมโครภายใน RW1990 ที่พบมากที่สุด พวกเขาสามารถซื้อได้ที่ aliexpress หรือร้านค้าปลีกสัญญาณเตือนไฟไหม้
ขั้นตอนที่ 2 หน้าจอ
เราจะใช้จอแสดงผลคริสตัลเหลวความละเอียด 128 x 64 พิกเซล ส่วนใหญ่ทำงานกับชิป ks0107 / ks0108 ดังนั้นจึงไม่ควรมีปัญหาความเข้ากันได้ หน้าจอทั้งหมดเหล่านี้สามารถแบ่งออกเป็น 4 ประเภท การเชื่อมต่อที่แตกต่างกัน:

ที่ดีที่สุดคือการใช้ WG12864B3 V2.0 สามารถหาได้ง่ายในร้านค้าทั้งจีนและรัสเซีย อาจมีแสงฉากหลังหลายประเภท แต่สิ่งนี้จะไม่ส่งผลกระทบต่อการทำงาน แต่อย่างใดนอกจากนี้ยังมีสองตัวเลือกการเชื่อมต่อ: ขนานและอนุกรม เมื่อเลือกชนิดแบบขนานเราต้องใช้ Arduino Arduino 13 ตัวฟรี เลือกตามลำดับ มีเพียงข้อสรุป 3 ข้อเท่านั้นที่เกี่ยวข้อง และอย่าลืมเกี่ยวกับโภชนาการ:
WG12864B - Arduino UNO
1 (GND) - GND
2 (VCC) - + 5V
4 (RS) - 10
5 (R / W) - 11
6 (E) - 13
15 (PSB) - GND
19 (BLA) - ผ่านตัวต้านทาน 100 โอห์ม - + 5V
20 (BLK) - GND
ความสว่างของหน้าจอถูกควบคุมโดยโพเทนชิออมิเตอร์ที่อยู่บนบอร์ดพร้อมกับหน้าจอ ถ้าเป็น - ความสามารถในการปรับความสว่างหายไป แต่สิ่งนี้ไม่ค่อยเกิดขึ้น:

ความต้านทาน 100 โอห์มใช้เพื่อลดแรงดันไฟฟ้าสำหรับแบ็คไลท์หน้าจอ เราใส่เข้าไปในส่วนของเส้นลวดที่ป้อนแสงไฟ:

ขั้นตอนที่ 3 ตัวเรือนและถ้วยอ่านหนังสือ
เพื่อให้เราไม่มี "dzhigurdy" และทุกอย่างดูปกติเราจะเริ่มผลิตเคส กล่องพลาสติกที่เหมาะกับ Arduino Uno และหน้าจอนั้นสมบูรณ์แบบ ทางออกที่ดีที่สุดคือกล่องตลับ

ตัดห่วงและลบภาพยนตร์:

เราหยิบมีดเกี่ยวกับพระและเริ่มตัดช่องออก ก่อนตัดที่ใหญ่ที่สุดที่ด้านบนของกล่องขนาด 37x69 มันเป็นสิ่งจำเป็นสำหรับหน้าจอ

กาวเทปกาวสองหน้าภายในกล่อง:

ตอนนี้เรางงงวยกับถ้วยที่อ่านได้ คุณสามารถซื้อและใช้เสร็จแล้ว นี่คือตัวเลือกที่ง่ายที่สุด ฉันจะแสดงวิธีทำถ้วยนี้เอง เราตัดสี่เหลี่ยมสองรูปจากเหล็กกล้าไร้สนิม: 20x20 mm และ 20x8 mm:

เราสร้างช่องเล็ก ๆ ที่ด้านล่างของหน้าจอและแทรกสี่เหลี่ยมที่ใหญ่กว่าที่นั่น:

และงอขอบ:

และในด้านตรงกันข้ามเรายังทำเพื่อแก้ไขแผ่นสัมผัสลบ:

สำหรับข้อดีเรายังสร้างช่องและใส่รายชื่อติดต่อบวกเข้าไปด้วย:

จากภายในรายชื่อจะมีลักษณะดังนี้:

บนเทปที่วางก่อนหน้านี้เรายึดหน้าจอ:

ข้างนอกมันควรเป็นแบบนี้:

ภายในกล่องด้านล่างหน้าจอเราวาง Arduino:

อย่าลืมสร้างช่องสำหรับ USB และแจ็คไฟ:

ในการสลับโหมดระหว่างการอ่านและการเขียนให้ส่งออกปุ่ม:

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

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

เราเชื่อมต่อหน้าสัมผัสที่เป็นบวกของชามเพื่อพิน 7 ดึงผ่านตัวต้านทาน 2.2K กับ VCC เราเชื่อมต่อปุ่มเพื่อขา 6 ดึงตัวต้านทาน 10K ไปยัง GND
ขั้นตอนที่ 6 ส่วนซอฟต์แวร์
ดาวน์โหลดและติดตั้ง Arduino IDE พร้อม
ในการทำงานกับหน่วยความจำ Touch ห้องสมุด One Wire จะถูกใช้ นอกจากนี้ยังจำเป็นต้องดาวน์โหลดและติดตั้งใน Arduino IDE:
เปิดหน้าจอโดยใช้ไลบรารี U8glib:
หากไม่มีไลบรารีให้รวบรวมภาพร่างและอัปโหลดไปยัง Arduino จะล้มเหลว เราดำเนินการในวิธีต่าง ๆ ดังต่อไปนี้: เปิดเครื่องรูดไฟล์เก็บถาวรที่ดาวน์โหลดและย้ายไฟล์เหล่านี้ไปยังโฟลเดอร์ชื่อ มันสามารถพบได้โดยการติดตั้งสภาพแวดล้อมการเขียนโปรแกรม
ดาวน์โหลดไฟล์ร่างด้วยร่าง:
แกะไฟล์เก็บถาวรเปิดร่างใน Arduino Ide และเติมลงใน Arduino
ขั้นตอนที่ 7 กระบวนการคัดลอกคีย์
เมื่อคุณเปิดอุปกรณ์ของเราหน้าจอจะอ่าน "อ่าน" และคีย์สากล คีย์นี้ถูกเขียนในร่าง ฉันพบเขาบนอินเทอร์เน็ต ส่วนตัวฉันไม่ได้ตรวจสอบว่ามันเป็นสากล หากสิ่งนี้เกิดขึ้นอุปกรณ์ของเราพร้อมใช้งาน:

เราใช้รหัสที่จะคัดลอก กุญแจนี้ควรจะปรากฏบนหน้าจอ ตัวอย่างเช่นฉันใช้หนึ่งในสิ่งที่ฉันมี:

ตอนนี้กดปุ่มตัวอักษรบนหน้าจอควรเปลี่ยนเป็น "เขียน" คีย์จะปรากฏขึ้นซึ่งจะถูกบันทึก:

เราใส่แท็บเล็ตที่เราจะเขียนว่างไว้และรอจนกระทั่งจารึกบนหน้าจอเปลี่ยนเป็น "อ่าน" อีกครั้ง หากสิ่งนี้เกิดขึ้น - การบันทึกเสร็จสมบูรณ์ หากต้องการตรวจสอบให้แนบช่องว่างอีกครั้งอุปกรณ์ควรอ่านและแสดงปุ่ม
หากคุณต้องการเขียนคีย์สากลเพียงแค่เริ่มต้นให้กดปุ่มเมื่อคำจารึกเปลี่ยนเป็น "เขียน" ให้แนบช่องว่าง
อุปกรณ์ยังส่งข้อมูลเกี่ยวกับคีย์และกระบวนการของการอ่านและการคัดลอกผ่านพอร์ตอนุกรมคุณสามารถเปิดเทอร์มินัล Arduino Ide หรือโปรแกรมเทอร์มินัลอื่น ๆ และตรวจสอบกระบวนการคัดลอกได้
รหัสสากลที่บันทึกไว้ในร่างสามารถเปลี่ยนแปลงได้ เมื่อต้องการทำสิ่งนี้ให้เปิดแบบร่างและแก้ไขบรรทัด:
ไบต์ ReadID [8] = {0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2F};
แต่นี่ไม่ใช่เรื่องง่าย ไบต์สุดท้ายคือคีย์ checksum หรือ Cyclic Redundancy Check (CRC) ในกรณีนี้มันคือ 2F หากไม่มีจำนวนนี้ผู้อ่านจะไม่รับกุญแจ ซีอาร์ซีคำนวณโดยอัลกอริธึมพิเศษ คุณสามารถค้นหาและคำนวณอัลกอริทึมนี้ได้ด้วยตัวเอง แต่โปรดใช้อุปกรณ์ของเรา ไบต์แรกคือรหัสครอบครัวจะต้องเป็น 01 เสมอถัดไปจะเขียนไบต์ในสตริงที่เราต้องการเขียนเป็นคีย์สากล เติมร่าง เราเขียนคีย์นี้ลงบนแผ่นดิสก์แล้วลองอ่านกลับมาขณะเปิดหน้าต่างเทอร์มินัล ในอาคารผู้โดยสารเราจะเห็นกุญแจของเราในตอนท้ายของ CRC นี่คือการตรวจสอบที่ต้องการ ตอนนี้แก้ไขร่างอีกครั้ง แทนที่จะเป็นไบต์สุดท้ายในบรรทัดเดียวกันให้เขียนไบต์ที่ได้รับระหว่างการอ่านหลังจาก CRC เติมร่างและเขียนรหัสใหม่ลงบนแผ่นดิสก์อีกครั้ง เปิดหน้าต่างเทอร์มินัลลองอ่านคีย์ของเรา ไบต์สุดท้ายของคีย์จะต้องตรงกับไบต์ที่เขียนหลัง CRC

