Mục lục:
Video: Snake on a Breadboard: 3 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
"Có trò chơi nào trên điện thoại của bạn không?"
"Không chính xác."
Giới thiệu:
Đơn giản để điều khiển, dễ lập trình và bất tử bởi Nokia 6110, Snake đã trở thành một dự án yêu thích của các kỹ sư. Nó đã được thực hiện trong bất kỳ thứ gì từ ma trận LED, màn hình LCD, ánh sáng giá sách và thậm chí cả cửa sổ của toàn bộ tòa nhà. Chúng tôi sẽ triển khai Snake trên một breadboard nhỏ và màn hình OLED. Mọi người chắc chắn đã tạo ra những người chơi rắn nhỏ hơn, nhưng điều này đặc biệt sử dụng một breadboard, loại bỏ nhu cầu thiết kế PCB hoặc hàn.
(Bạn chỉ có thể tạo một ứng dụng trên điện thoại của mình, nhưng chúng tôi không làm mọi thứ vì chúng dễ dàng.)
Điều kiện tiên quyết:
Hiểu biết cơ bản về mạch, cách tạo breadboard và nắm chắc về lập trình trong Arduino.
Quân nhu
- Arduino Nano
- 2 điện trở cao hợp lý (1kOhm)
- Breadboard nhỏ
- 2 nút bấm
- Dây lõi rắn 22 AWG
- Màn hình OLED 128 x 64
Đây là những liên kết liên kết của Amazon nên tôi kiếm được một ít hoa hồng với mỗi lần bán hàng. Nếu bạn chưa có những nguồn cung cấp này và muốn hỗ trợ các dự án trong tương lai của tôi, hãy theo các liên kết sau!:)
Bước 1: Breadboard
Để tạo ra sản phẩm cuối cùng, rõ ràng chúng tôi phải lắp ráp phần cứng để lập trình và kiểm tra dự án của mình. Sơ đồ hệ thống cho dự án này khá đơn giản, vì nó chỉ liên quan đến tổng cộng 4 thành phần.
1. Đặt nó ra:
Lấy các thành phần của bạn và bố trí chúng trên bảng, đảm bảo rằng mọi thứ đều phù hợp. Hình dung loại dây và chân bạn sẽ sử dụng và cho những mục đích gì. Đảm bảo rằng các dây dự kiến của bạn không bị chéo, vì điều đó làm cho breadboard lộn xộn hơn. Viết ra những điểm bạn cần kết nối! Mặc dù đây là một breadboard đơn giản, nhưng nó sẽ giúp cuộc sống của bạn dễ dàng hơn rất nhiều trong quá trình nối dây và nói chung. Do không gian làm việc của chúng tôi nhỏ như thế nào, đây là một bước cực kỳ quan trọng.
Ghi chú:
Vì OLED sử dụng bus I2C nên các chân A4 và A5 phải được sử dụng. Kích thước của breadboard không cho phép sử dụng nguồn điện và đường ray nối đất, vì vậy tôi đã sử dụng một vài thủ thuật để làm cho mọi thứ diễn ra suôn sẻ. Điện áp dương cho các nút được cung cấp bởi các chân D13 và A2. Tôi phát hiện ra rằng các chân Arduino không chỉ có thể cung cấp dòng điện mà còn có thể làm chìm dòng điện, do đó tôi đã sử dụng A3 làm mặt đất cho nút bên phải. Để tối đa hóa không gian trên breadboard, tôi đã treo một nửa Nano ra khỏi bảng và đỡ các chân bên trái bằng một miếng xốp.
2. Dây nó ra:
Với một cặp tuốt dây và một lượng lớn dây lõi rắn 22 AWG, hãy kết nối các bộ phận của bạn với nhau một cách gọn gàng. Sử dụng lõi rắn để tạo các dự án breadboard bán cố định là chìa khóa, vì bạn có thể cắt chúng theo chiều dài, không giống như dây jumper. Hãy chắc chắn rằng bạn không để quá nhiều chiều dài thừa trên dây của bạn, nó sẽ làm cho một bảng lộn xộn. Cắt các dây dẫn của điện trở kéo xuống để chúng vừa khít với bảng.
(Bạn cũng có thể làm theo những gì tôi đã làm ở trên.)
Bước 2: Lập trình và Kiểm tra
Để đỡ phải đau đầu sau này, hãy đảm bảo OLED và các nút hoạt động theo cách mà chúng phải làm bằng cách tạo các chương trình thử nghiệm cơ bản.
1. Kế hoạch, kế hoạch, kế hoạch:
Chỉ nhảy ngay vào mã không phải là một cách thực hành khôn ngoan. Hãy tin tôi, tôi đã cố gắng! Đó là lý do tại sao bạn nên phác thảo chương trình của bạn sẽ hoạt động như thế nào. Biểu đồ luồng chương trình là một cách khá chắc chắn để lập kế hoạch cho những gì mã của bạn cần làm và chắc chắn sẽ giúp bạn đi đúng hướng. Lấy ví dụ của tôi (ở trên)
2. Mã, mã, mã:
Thành thật mà nói, dự án này là một bài tập lập trình lớn hơn nó là một bài tập phần cứng. Thư viện duy nhất tôi sử dụng là thư viện OLED của Adafruit, không tính các thư viện GFX và Wire hỗ trợ.
Làm cho bạn cài đặt thư viện OLED của Adafruit thông qua trình quản lý thư viện của Arduino IDE.
Tôi không thể ghi lại từng dòng mã mà tôi đã viết, nhưng đây là một vài mẹo:
Lời khuyên:
Bình luận:
- Đầu tiên và quan trọng nhất, hãy viết các bình luận gọn gàng và hữu ích trong khi bạn viết mã. Bạn và những người khác đọc mã của bạn trong tương lai chắc chắn sẽ cảm ơn bạn.
Kỉ niệm:
- Với những dự án phức tạp hơn như thế này, SRAM trở thành mặt hàng khá hot. Trong thư viện Adafruit, bộ đệm OLED 128 x 64 chỉ chiếm 1 kB, bằng khoảng một nửa bộ nhớ trong ATMega328p. Do đó việc quản lý bộ nhớ thông minh trở nên quan trọng hơn bao giờ hết.
- Với cấu trúc dữ liệu lớn, dữ liệu được lưu giữ sẽ tích tụ và chiếm nhiều dung lượng. Để giảm dung lượng bộ nhớ của các biến, tôi đã sử dụng các kiểu dữ liệu nhỏ hơn (như short và byte) khi có thể.
- Các chuỗi thường được lưu trữ trong SRAM, nhưng sử dụng hàm F () sẽ đưa chúng vào PROGMEM thay thế, tiết kiệm bộ nhớ quý giá.
Millis:
- Để đạt được thời gian chính xác hơn của các chu kỳ trò chơi, hãy sử dụng hàm millis (). Có rất nhiều hướng dẫn và ví dụ tốt trên mạng.
Xác định trước:
- Sử dụng chỉ thị tiền xử lý #define như một cách dễ dàng để đặt các giá trị vĩnh viễn trong mã.
Thử nghiệm:
- Kiểm tra mã của bạn khi bạn đi. Sẽ dễ dàng hơn rất nhiều để tìm ra lỗi.
Bước 3: Thưởng thức
Hãy vui vẻ với trò chơi rắn mới của bạn!
(Tôi biết tôi đã thắng ở 20 điểm trong video trên, bạn có thể đặt điều kiện thắng cao hơn trong mã của tôi.)
Những điều cần mở rộng:
- Pin cho tính di động
- Các nút an toàn hơn
- Một trò chơi rắn thậm chí còn nhỏ hơn
- Thậm chí nhiều trò chơi hơn?
Đề xuất:
Máy ảnh hồng ngoại hình ảnh nhiệt tự làm: 3 bước (có hình ảnh)
Máy ảnh hồng ngoại hình ảnh nhiệt tự làm: Xin chào! Tôi luôn tìm kiếm các Dự án mới cho các bài học vật lý của mình. Hai năm trước, tôi đã xem một báo cáo về cảm biến nhiệt MLX90614 từ Melexis. Loại tốt nhất chỉ với 5 ° FOV (trường nhìn) sẽ phù hợp với máy ảnh nhiệt tự chế
Tự làm cảm biến hình ảnh và máy ảnh kỹ thuật số: 14 bước (có hình ảnh)
Tự làm cảm biến hình ảnh và máy ảnh kỹ thuật số: Có rất nhiều hướng dẫn trực tuyến về cách xây dựng máy ảnh phim của riêng bạn, nhưng tôi không nghĩ rằng có bất kỳ hướng dẫn nào về việc xây dựng cảm biến hình ảnh của riêng bạn! Cảm biến hình ảnh có sẵn từ rất nhiều công ty trực tuyến và việc sử dụng chúng sẽ giúp thiết kế
Hình ảnh - Máy ảnh Raspberry Pi in 3D.: 14 bước (có Hình ảnh)
Hình ảnh - Máy ảnh Raspberry Pi 3D được in: Cách đây trở lại vào đầu năm 2014, tôi đã xuất bản một máy ảnh có thể hướng dẫn được gọi là SnapPiCam. Máy ảnh được thiết kế để đáp ứng với Adafruit PiTFT mới được phát hành. Đã hơn một năm trôi qua và với bước đột phá gần đây của tôi vào in 3D, tôi nghĩ rằng n
MÁY ẢNH UNICORN - Raspberry Pi Zero W NoIR Cấu hình máy ảnh 8MP: 7 bước (có hình ảnh)
UNICORN CAMERA - Raspberry Pi Zero W NoIR Camera 8MP Build: Pi Zero W NoIR Camera 8MP BuildThis hướng dẫn được tạo ra để giúp bất kỳ ai muốn có Camera hồng ngoại hoặc Camera di động thực sự tuyệt vời hoặc Camera Raspberry Pi di động hoặc chỉ muốn giải trí, heheh . Đây là cấu hình và giá cả phải chăng nhất
Ánh sáng video thân mật / Ánh sáng chụp ảnh cầm tay: 7 bước (với hình ảnh)
Ánh sáng video thân mật / Ánh sáng chụp ảnh cầm tay: Tôi biết bạn đang nghĩ gì. Bằng cách " thân mật, " Ý tôi là chiếu sáng cận cảnh trong các tình huống ánh sáng khó - không nhất thiết dành cho " các tình huống thân mật. &Quot; (Tuy nhiên, nó cũng có thể được sử dụng cho việc đó …) Là một nhà quay phim thành phố New York - hoặc