Hồi sinh một máy đánh chữ cũ bằng Raspberry Pi và Arduino
Khi nói đến việc khám phá tiềm năng của trí tưởng tượng sáng tạo của bạn, Raspberry Pi là một bổ sung tuyệt vời cho bộ công cụ sáng tạo của bạn. Cân nhắc việc thúc đẩy ranh giới sáng tạo của bạn với các dự án như xây dựng tủ điện tử, chụp ảnh khám phá không gian hoặc mang lại sức sống cho công nghệ cũ hơn.
Một sinh viên mới tốt nghiệp gần đây đã được truyền cảm hứng để giải quyết một dự án độc đáo bằng cách sử dụng máy đánh chữ điện tử làm màn hình hiển thị thiết bị đầu cuối Linux, với sự trợ giúp của máy tính Raspberry Pi. Hãy cùng xem lý do tại sao anh ấy quyết định thực hiện dự án này, cùng với các công cụ và kỹ thuật được sử dụng để giúp anh ấy trong suốt chặng đường.
Mục Lục
Học hỏi từ những người khác
Vừa lấy bằng Kỹ sư Cơ khí, Riley không còn xa lạ gì với lĩnh vực điện tử. Anh ấy thích làm việc trong các dự án mà anh ấy thiết kế các giải pháp xung quanh các bộ phận chuyển động. Kết hợp ước mơ tạo ra bàn phím cơ của riêng mình với tình yêu dành cho các bộ phận chuyển động khiến dự án này trở nên hoàn hảo đối với anh ấy.
Ý tưởng ban đầu được cho là cho một người bạn trung học. Họ cùng nhau làm việc để xây dựng một chiếc máy tính sử dụng CPU Z80 và đang có kế hoạch bỏ ruột một chiếc máy đánh chữ cũ hơn, Smith Corona PWP D350, để sử dụng làm bàn phím và vỏ máy. Thật không may, các bộ phận bàn phím hiện đã bám bụi trong sáu năm.
Một người sáng tạo nội dung YouTube, CuriousMarc, đã sử dụng máy Teletype làm thiết bị đầu cuối Linux, điều này đã khơi dậy tham vọng thử lại của Riley.
Dự án này là một cách tuyệt vời để bạn hiểu cách các bộ phận chuyển động hoạt động và cách công nghệ giao tiếp với nhau.
Các thành phần dự án
Đây là những gì bạn sẽ cần để tạo lại dự án này ở nhà:
- Brother AX-25 (hoặc máy đánh chữ tương tự)
- Bộ ghép kênh
- Breadboard
- Raspberry Pi (chạy Raspberry Pi OS Lite)
- Bàn phím USB
- Arduino One
- Mã: Ngôn ngữ lập trình Arduino
- Bộ chia điện áp
- Các loại cáp và đầu nối khác nhau
Nghiên cứu và Chuẩn bị
Một trở ngại lớn liên quan đến việc hiểu cách máy đánh chữ diễn giải các thao tác gõ phím bên ngoài. Điều này đã được giải quyết bằng cách xác định thủ công từng chân kết nối với cáp máy đánh chữ và sau đó tạo một bảng tính để giữ cho tất cả luôn thẳng. Mỗi phím được gán một số từ 0 đến 87 để giúp lập trình dễ dàng hơn.
Bộ ghép kênh được sử dụng để kết nối đầu vào và đầu ra mà không cần thêm nhiều dây cáp hoặc kết nối. Ví dụ, bạn có thể giảm số lượng chân được sử dụng khi làm việc với nhiều cảm biến hoặc động cơ.
Đối với máy đánh chữ, bộ ghép kênh được sử dụng để kết nối nhiều chân đầu vào với một chân đầu ra duy nhất. Khi thay đổi các chân đã chọn, bạn có thể chọn đầu vào nào được kết nối với đầu ra.
Để đảm bảo độ chính xác giữa các thành phần, cần phải nối dây một ma trận 8 x 11 để hiểu cách lập bản đồ các dấu vết máy đánh chữ một cách chính xác. Bạn có thể thấy quá trình khám phá thủ công này diễn ra trên kênh YouTube của Riley được liên kết ở cuối hướng dẫn này.
Kết nối các thành phần
Dựa trên nghiên cứu của Riley, cơ chế máy đánh chữ bánh xe daisy hoạt động tốt với Arduino. Để tìm hiểu thêm về bộ vi điều khiển này, hãy xem hướng dẫn của chúng tôi về cách khám phá các loại Arduino khác nhau để biết chi tiết. Tại sao anh ấy lại sử dụng Brother AX-25? Đây chỉ đơn thuần là chiếc máy đánh chữ đầu tiên anh tìm thấy phù hợp với tiêu chí của mình.
Trong hình trên, một bảng hình chữ nhật dài kết nối nhiều công nghệ với nhau. Đây được gọi là breadboard. Mục đích chính của bảng này là đơn giản hóa các mạch điện tử. Xem hướng dẫn của chúng tôi về cách hoạt động của breadboard để biết chi tiết.
Với bàn phím USB được kết nối với Raspberry Pi, bạn có thể gửi lệnh đến máy đánh chữ thông qua vi điều khiển Arduino. Để hiểu sâu hơn về các chức năng đầu cuối, hãy tham khảo hướng dẫn của chúng tôi về lịch sử các lệnh Linux.
Raspberry Pi chạy hệ điều hành Raspberry Pi Lite đáp ứng tốt nhu cầu của dự án này. Điều này là do máy đánh chữ hiển thị các chức năng đơn giản thông qua thiết bị đầu cuối TTY (hoặc teletype).
Riley thừa nhận rằng Arduino có thể được loại bỏ khỏi phương trình này. Khắc phục sự cố bất kỳ vấn đề nào trong khi bộ ghép kênh chuyển các lệnh Raspberry Pi đến máy đánh chữ sẽ hiệu quả hơn vì anh ấy có kiến thức sâu rộng về bộ vi điều khiển này. Ngoài ra, cần tạo một trình điều khiển Linux mới để thay thế Arduino. Hiện tại, đây không phải là thứ nằm trong kế hoạch của người sáng tạo này.
Ông cũng xem xét việc loại bỏ Raspberry Pi và thêm kết nối cổng nối tiếp giữa Arduino và máy đánh chữ. Mặc dù anh ấy rất hào hứng chia sẻ rằng điều này có nghĩa là máy đánh chữ sẽ có cảm giác giống như một cỗ máy teletype thực sự, nhưng anh ấy đã chọn giữ nguyên dòng linh kiện chung trong thời điểm hiện tại.
Chọn viết mã bằng Ngôn ngữ lập trình Arduino vì kinh nghiệm của anh ấy khi sử dụng Arduino cho một dự án thiết kế cấp cao trong trường. Trải nghiệm này hữu ích một vài lần, đặc biệt là khi có một vấn đề nhỏ khi cố gắng yêu cầu máy đánh chữ nhấn hai phím (chức năng) màu xanh lá cây cùng một lúc.
Vấn đề thời gian cuối cùng đã được giải quyết bằng cách yêu cầu Arduino nhấn hai phím rất gần nhau. Điều này thực sự đã đánh lừa người đánh chữ nghĩ rằng hai phím đã được nhấn cùng nhau và cho phép sử dụng các phím (chức năng) màu xanh lá cây.
Liên quan đến cân nhắc chênh lệch công suất giữa Arduino và Raspberry Pi, bộ chia điện áp được sử dụng trong dự án này làm giảm đầu ra nguồn 5V của Arduino xuống đầu ra điện 3,3V của Pi Zero W.
Tương lai nắm giữ điều gì?
Gần đây Riley đã chia sẻ một chương trình phát sóng trực tiếp trên kênh YouTube của mình về việc thiết kế PCB trong thời gian thực. Bạn không chắc PCB là gì? Kiểm tra hướng dẫn của chúng tôi về bảng mạch in. Nếu bạn không quan tâm đến việc ngồi xem qua sáu giờ nội dung phát trực tiếp (mô tả chi tiết thiết kế), hãy cân nhắc bỏ qua video để đến một phần phù hợp với bạn.
Khi các sơ đồ được hoàn thành, anh ta dự định gửi thiết kế PCB cho một nhà sản xuất. Khi PCB được hoàn thành và nhận tại nhà, Riley chia sẻ rằng anh rất hào hứng sẽ sớm mang thành phẩm đi kiểm tra trong thế giới thực.
Bạn sẽ tự mình thử dự án này chứ?
Khi bạn hiểu những thành phần nào được yêu cầu và cách chúng kết hợp với nhau, bạn cũng có thể xem lại mã trực tuyến. Bạn có thể xem kho lưu trữ GitHub máy đánh chữ nối tiếp mã nguồn mở của Riley. Trong khi bạn ở đó, hãy đọc qua phần giải thích tuyệt vời trong tệp README phác thảo sơ đồ mạch để giúp bạn kết nối tất cả các thành phần với nhau.
Nếu bạn thấy mình cần giúp đỡ, hãy tham khảo kênh YouTube của Riley, Artillect, để biết thêm chi tiết. Bạn cũng sẽ thấy rằng anh ấy cũng có những cách khác để kết nối với anh ấy.
Hãy tận hưởng cuộc sống mới cho máy đánh chữ điện tử của bạn như một thiết bị đầu cuối Linux!