Xin chào, hôm nay tôi đã lên ý tưởng tạo ra một thiết bị để sao chép điện tử các phím như Touch memory hoặc ibuttom. Còn được gọi là thuốc. Các khóa như vậy, mặc dù đã khá lỗi thời, chúng đã được thay thế bằng Rfid không tiếp xúc, nhưng vẫn thường được sử dụng cho hệ thống liên lạc nội bộ hoặc báo trộm. Cơ sở của thiết bị của chúng tôi sẽ phục vụ Arduino Uno. Bạn có thể sử dụng bất kỳ bảng tương thích Arduino khác. Để có thể sử dụng thiết bị của chúng tôi một cách tự động, không cần máy tính, bạn cần có nguồn điện từ 6 đến 12 volt. Để chỉ ra trạng thái của thiết bị, chúng tôi sẽ sử dụng màn hình đồ họa WG12864B. Chúng tôi cũng cần một trường hợp, trong trường hợp này hộp từ hộp mực Sega là hoàn hảo.
Để thực hiện ý tưởng này, bạn sẽ cần:
- Arduino UNO (Hoặc bảng tương thích Arduino)
- Màn hình đồ họa WG12864B
- Điện trở 100 Ohm 0,25 W
- Cấp nguồn 6 - 12 V
- Điện trở 2.2 KOhm 0,25 W
- Điện trở 10 KOhm 0,25 W
- Hộp từ hộp mực của bảng điều khiển SEGA
- băng keo điện
- dây kết nối
- Nút
- Một miếng thép không gỉ nhỏ
- kéo kim loại
- dao văn phòng phẩm
- hàn sắt
- Hàn, nhựa thông
- Băng keo hai mặt
Bước 1 Một chút về các phím Ibuttom.
Để làm cho nó rõ ràng iButton chỉ là một con chip được nhồi nhét vào một vỏ thép không gỉ tròn. Đường kính vỏ 16,3 mm. Vỏ thép không gỉ có khả năng chống sốc, bụi bẩn và độ ẩm. Tiêu chuẩn nhà ở được gọi là iButton MicroCan. Có sẵn trong hai độ dày tiêu chuẩn: 3,1 mm (phiên bản F3) và 5,9 mm (phiên bản F5). Microcircuit nhận năng lượng từ dòng dữ liệu của thiết bị chính. Đường kính của bìa là giống nhau cho tất cả các phiên bản. Do đó, cùng một chiếc cốc đọc sách phù hợp với tất cả mọi người. Sơ đồ khối của các khóa của chúng tôi:
Phím có thể viết lại và không. Để tạo một bản sao, bạn sẽ cần, tương ứng, có thể viết lại. Có 3 phiên bản thẻ: RW1990, TM08v2 và TM-08 VZT F. Chúng khác nhau ở vi mạch bên trong. RW1990 phổ biến nhất. Họ có thể được mua tại AliExpress hoặc một cửa hàng bán lẻ báo cháy.
Bước 2 Màn hình.
Chúng tôi sẽ sử dụng màn hình tinh thể lỏng, độ phân giải 128 x 64 pixel. Hầu hết chúng hoạt động trên chip ks0107 / ks0108, do đó không nên có vấn đề tương thích. Tất cả các màn hình này có thể được chia thành 4 loại. Kết nối khác nhau:
Tốt nhất là dùng WG12864B3 V2.0, nó có thể dễ dàng tìm thấy ở cả cửa hàng Trung Quốc và Nga. Có thể có một số loại đèn nền, nhưng điều này không ảnh hưởng đến chức năng theo bất kỳ cách nào.Ngoài ra còn có hai tùy chọn kết nối: song song và nối tiếp. Khi chọn một loại song song, chúng ta cần 13 chân Arduino miễn phí. Chọn tuần tự. Chỉ có 3 kết luận có liên quan ở đây. Và đừng quên về dinh dưỡng:
WG12864B - Arduino UNO
1 (GND) - GND
2 (VCC) - + 5V
4 (RS) - 10
5 (R / W) - 11
6 (E) - 13
15 (PSB) - GND
19 (BLA) - thông qua điện trở 100 Ohm - + 5V
20 (BLK) - GND
Độ sáng của màn hình được điều chỉnh bằng một chiết áp đặt trên bảng với màn hình. Nếu có - khả năng điều chỉnh độ sáng không có, nhưng điều này hiếm khi xảy ra:
Điện trở 100 ohms được sử dụng để giảm điện áp cho đèn nền màn hình. Chúng tôi chèn nó vào phần dây cung cấp đèn nền:
Bước 3 Nhà ở và đọc cốc.
Vì vậy, chúng tôi không có "dzhigurdy" và mọi thứ có vẻ bình thường, chúng tôi sẽ bắt đầu sản xuất vỏ máy. Bất kỳ hộp nhựa phù hợp với Arduino Uno và màn hình là hoàn hảo. Giải pháp tốt nhất là một hộp mực.
Cắt hộp vòng lặp và loại bỏ bộ phim:
Chúng tôi nhặt một con dao văn thư và bắt đầu cắt các khe. Đầu tiên, cắt ra cái lớn nhất ở đầu hộp, kích thước 37x69. Nó là cần thiết cho màn hình.
Keo dán băng keo hai mặt bên trong hộp:
Bây giờ chúng tôi đang bối rối bởi một cốc có thể đọc được. Bạn có thể mua và sử dụng một cái đã hoàn thành. Đây là lựa chọn dễ nhất. Tôi sẽ chỉ cho bạn cách tự làm chiếc cốc này. Chúng tôi cắt ra hai hình chữ nhật từ thép không gỉ: 20x20 mm và 20x8 mm:
Chúng tôi tạo một khe nhỏ ở dưới cùng của màn hình và chèn một hình chữ nhật lớn hơn ở đó:
Và uốn cong các cạnh:
Và ở mặt trái, chúng tôi cũng làm để sửa tấm tiếp xúc âm:
Ngoài ra, chúng tôi cũng tạo một vị trí và chèn một liên hệ tích cực vào đó:
Từ bên trong, các liên hệ trông như thế này:
Trên băng đã dán trước đó, chúng tôi gắn màn hình:
Bên ngoài nó nên như thế này:
Trong hộp, bên dưới màn hình, chúng tôi đặt Arduino:
Nhớ tạo khe cắm cho USB và giắc cắm nguồn:
Để chuyển chế độ giữa đọc và viết, hãy xuất nút:
Bước 4 Giải quyết vấn đề dinh dưỡng.
Để thiết bị của chúng tôi hoạt động, chúng tôi sẽ cung cấp năng lượng cho thiết bị. Đối với điều này, chúng tôi cần một nguồn cung cấp năng lượng. Điện áp phải nằm trong khoảng từ 6 volt đến 12. Phích cắm ở cuối phải vừa với ổ cắm Arduino:
Bạn có thể làm mà không cần một nguồn cung cấp năng lượng. Bạn có thể cấp nguồn cho thiết bị từ máy tính USB. Nếu bạn muốn, bạn có thể lấy một ngăn chứa 4 pin cỡ AAA và nhét nó vào. Sau đó, đầu ra pin phải được kết nối với Vin của bo mạch Arduino.
Bước 5 Đặt tất cả lại với nhau.
Các bát đọc được kết nối theo sơ đồ:
Chúng tôi kết nối tiếp điểm tích cực của bát với chân 7, kéo nó qua điện trở 2.2K đến VCC. Chúng tôi kết nối nút với pin 6, kéo điện trở 10K đến GND.
Bước 6 Phần mềm.
Tải xuống và cài đặt Arduino IDE với
Để làm việc với bộ nhớ Touch, thư viện One Wire được sử dụng. Nó cũng cần được tải xuống và cài đặt trong Arduino IDE:
Khởi chạy màn hình bằng thư viện U8glib:
Không có thư viện, việc biên dịch một bản phác thảo và tải nó lên Arduino sẽ thất bại. Chúng tôi hành động theo các cách sau: giải nén các tài liệu lưu trữ đã tải xuống và di chuyển các tệp này vào một thư mục có tên là thư viện thành phố. Nó có thể được tìm thấy bằng cách cài đặt môi trường lập trình.
Tải về kho lưu trữ với bản phác thảo:
Giải nén tệp lưu trữ, mở bản phác thảo trong Arduino Ide và điền nó vào Arduino.
Bước 7 Quá trình sao chép khóa.
Khi bạn bật thiết bị của chúng tôi, màn hình sẽ đọc "Đọc" và phím vạn năng. Chìa khóa này được viết trong bản phác thảo. Tôi tìm thấy anh ta trên Internet. Cá nhân, tôi đã không kiểm tra mức độ phổ biến của nó. Nếu điều này xảy ra, thiết bị của chúng tôi đã sẵn sàng để sử dụng:
Chúng tôi áp dụng chìa khóa để được sao chép. Phím này sẽ được hiển thị trên màn hình. Ví dụ, tôi lấy một trong những cái mà tôi có:
Bây giờ nhấn nút, dòng chữ trên màn hình sẽ thay đổi thành "Viết". Khóa cũng sẽ được hiển thị, sẽ được ghi lại:
Chúng tôi đặt một chiếc máy tính bảng mà chúng tôi sẽ viết trống và đợi cho đến khi dòng chữ trên màn hình lại thay đổi thành "Đọc". Nếu điều này xảy ra - ghi âm đã thành công. Để kiểm tra, đính kèm trống một lần nữa, thiết bị nên đọc nó và hiển thị phím.
Nếu bạn muốn viết một khóa phổ quát, ngay từ đầu, nhấn nút, khi dòng chữ được thay đổi thành "Viết", hãy đính kèm một khoảng trống.
Thiết bị cũng gửi thông tin về các phím và quá trình đọc và sao chép thông qua cổng nối tiếp.Bạn có thể mở thiết bị đầu cuối Arduino Ide hoặc bất kỳ chương trình thiết bị đầu cuối nào khác và theo dõi quá trình sao chép trong đó.
Khóa phổ quát được ghi trong bản phác thảo có thể được thay đổi. Để làm điều này, mở bản phác thảo và chỉnh sửa dòng:
byte ReadID [8] = {0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2F};
Nhưng điều này không đơn giản như vậy. Byte cuối cùng là tổng kiểm tra chính hoặc Kiểm tra dự phòng chu kỳ (CRC). Trong trường hợp này, nó là 2F. Không có số tiền này, độc giả không chấp nhận chìa khóa. CRC được tính toán bằng một thuật toán đặc biệt. Bạn có thể tự tìm và tính toán thuật toán này, nhưng vui lòng sử dụng thiết bị của chúng tôi. Byte đầu tiên là mã gia đình, nó phải luôn là 01. Tiếp theo, nó ghi các byte trong chuỗi mà chúng ta muốn viết dưới dạng một khóa phổ quát. Điền vào bản phác thảo. Chúng tôi viết khóa này vào đĩa và cố gắng đọc lại, trong khi mở cửa sổ terminal. Trong thiết bị đầu cuối, chúng ta sẽ thấy khóa của chúng ta ở cuối CRC. Đây là tổng kiểm tra mong muốn. Bây giờ chỉnh sửa lại bản phác thảo. Thay vì byte cuối cùng trong cùng một dòng, hãy viết byte nhận được trong khi đọc sau CRC. Một lần nữa, điền vào bản phác thảo và viết một khóa mới trên đĩa. Mở cửa sổ terminal, cố gắng đọc khóa của chúng tôi. Byte cuối cùng của khóa phải khớp với byte được ghi sau CRC.