Mục lục:

Cảm biến xúc xắc hồng ngoại: 5 bước
Cảm biến xúc xắc hồng ngoại: 5 bước

Video: Cảm biến xúc xắc hồng ngoại: 5 bước

Video: Cảm biến xúc xắc hồng ngoại: 5 bước
Video: Thằng Bé Cầm Quyền - XAVI Phạm 2024, Tháng bảy
Anonim
Cảm biến xúc xắc hồng ngoại
Cảm biến xúc xắc hồng ngoại
Cảm biến xúc xắc hồng ngoại
Cảm biến xúc xắc hồng ngoại

Tên tôi là Calvin và tôi sẽ chỉ cho bạn cách tạo ra một cảm biến xúc xắc hồng ngoại và giải thích cách hoạt động của nó.

Tôi hiện là sinh viên Đại học Taylor đang theo học ngành Kỹ thuật máy tính cùng nhóm của tôi và tôi được yêu cầu thiết kế và xây dựng một cơ chế có thể sắp xếp bất kỳ đối tượng nào có thể vừa với hình vuông 1in. Chúng tôi có thể đã đi theo con đường dễ dàng và chọn sắp xếp m & m bằng cách sử dụng một cảm biến màu đơn giản, nhưng chúng tôi quyết định đi xa hơn và vượt xa hơn và sắp xếp xúc xắc theo số được hiển thị. Sau vô số giờ cố gắng tìm hướng dẫn về cách đọc mặt của xúc xắc, tôi đã truy cập được liên kết này ở đây:

makezine.com/2009/09/19/dice-reader-versio…

Tuy nhiên, liên kết này không mang lại cho tôi nhiều hơn ý tưởng về cách đọc mặt của xúc xắc, vì vậy bằng cách sử dụng ý tưởng được cung cấp, tôi đã tiếp tục xây dựng và phát triển một cảm biến có thể kết nối với Arduino một cách dễ dàng và có thể đọc mặt của xúc xắc chính xác nhất có thể, do đó cung cấp cho chúng tôi Cảm biến Xúc xắc Hồng ngoại này.

Quân nhu

Bây giờ đến nguồn cung cấp:

Bạn sẽ cần:

1 x Arduino Uno

5 x Bộ thu IR

5 x Bộ phát hồng ngoại

www.sparkfun.com/products/241

Điện trở 5 x 270 ohm

Điện trở 5 x 10k ohm

1 x 74HC595N chip

các tiêu đề nam khác nhau

1 x Bảng nguyên mẫu (nếu bạn không nhận được bảng xay tùy chỉnh)

Bước 1: Hiểu cách thức hoạt động

Hiểu cách thức hoạt động
Hiểu cách thức hoạt động
Hiểu cách thức hoạt động
Hiểu cách thức hoạt động

Cảm biến này sử dụng 5 vị trí pip để đọc các mặt của xúc xắc. Nó sử dụng ánh sáng hồng ngoại để phát ra mặt xúc xắc tại các vị trí đặt pipet này và cho bộ điều khiển biết nó là màu trắng hay đen.

Bạn có thể tự hỏi, tại sao lại chỉ có 5 vị trí pip? Bạn sẽ không cần cả 9 để đọc xúc xắc một cách hiệu quả?

Vâng, do tính đối xứng của xúc xắc, sử dụng 5 vị trí cụ thể trên xúc xắc có thể đủ để phân biệt giữa các số khác nhau trên xúc xắc bất kể hướng nào (hình 1). Điều này làm cho cảm biến xúc xắc hiệu quả hơn vì nó chỉ tìm kiếm chính xác những gì nó cần và không có gì thêm.

Bộ phát đi chính xác bên dưới bộ thu trên bộ cảm biến tại mỗi vị trí trong số 5 pip này, bộ cảm biến sau đó phát ra ánh sáng hồng ngoại và sau đó bộ thu đọc lượng ánh sáng hồng ngoại phát ra từ mặt của xúc xắc. (hình 3) Nếu giá trị nhận được lớn hơn số hiệu chuẩn được chỉ định, thì cảm biến sẽ xem điểm đó là một dấu chấm, nếu không thì đó là khoảng trắng. (hình 2)

Bước 2: Thiết kế và lập kế hoạch

Thiết kế và Lập kế hoạch
Thiết kế và Lập kế hoạch
Thiết kế và Lập kế hoạch
Thiết kế và Lập kế hoạch
Thiết kế và Lập kế hoạch
Thiết kế và Lập kế hoạch
Thiết kế và Lập kế hoạch
Thiết kế và Lập kế hoạch

Bước đầu tiên để xây dựng một cảm biến xúc xắc là tạo ra các sơ đồ, đây có thể là bước khó nhất hoặc dễ nhất trong quá trình phát triển. Trước tiên, bạn cần một phần mềm có tên là EAGLE của Autodesk, đây là phần mềm tôi đã sử dụng để tạo các giản đồ.

Tôi đã bao gồm 2 loại sơ đồ khác nhau, một sơ đồ có chip thanh ghi dịch chuyển để giúp cảm biến chính xác hơn, và sơ đồ kia là một sơ đồ không có chip thanh ghi dịch chuyển, tuy nhiên, sơ đồ này sẽ không hoạt động với mã mà tôi sẽ cung cấp sau này, vì vậy bạn sẽ phải phát triển một cái gì đó của riêng mình.

Tôi cũng đã bao gồm bố trí bảng của tôi cho cảm biến mà tôi đã thiết kế với thanh ghi dịch chuyển.

Để bắt đầu thiết kế bo mạch, bạn có 5 Bộ thu IR và 5 Bộ phát IR, các bộ thu yêu cầu một điện trở 10k và các bộ phát yêu cầu một điện trở 270 ohm, vì vậy đối với mỗi phần tử này, bạn đi từ:

VCC (5V) -> Điện trở -> Chân đọc tương tự -> Bộ thu IR -> GND

VCC (5V) -> Điện trở -> Bộ phát IR -> GND

Chân đọc tương tự đi ra giữa điện trở và Bộ thu IR như một nhánh khác và đi đến chân tương tự trên Arduino. Bạn cũng cần đảm bảo rằng bộ phát nằm ngay bên dưới bộ thu, tôi đã mắc lỗi này ngay lần đầu tiên làm điều đó và tôi đã nhận được kết quả rất tệ, vì vậy hãy đảm bảo rằng Bộ phát ở trên cùng.

Trong bảng tùy chỉnh của tôi, tôi đang sử dụng thanh ghi dịch chuyển để cung cấp năng lượng cho từng cặp bộ phát và bộ thu tại một thời điểm để tránh bất kỳ ánh sáng hồng ngoại nào phát ra từ các bộ phát khác. Điều này mang lại cho tôi kết quả đọc chính xác hơn từ từng vị trí pip, nếu bạn chọn không sử dụng thanh ghi dịch chuyển, nó vẫn hoạt động cho bạn, chỉ có thể kém chính xác hơn một chút. Trên thanh ghi shift, bạn có thể nối các chân 3-4 và 7-8 với nhau, vì không hoàn toàn cần thiết phải có chúng làm tiêu đề. Tôi để chúng dưới dạng tiêu đề và đặt jumper trên tiêu đề trong trường hợp tôi muốn phát triển trong tương lai.

Sau khi bạn đã thiết kế sơ đồ, bạn cần tạo một bố cục bảng cho sơ đồ của mình. Phần này có thể rất phức tạp vì bạn phải đảm bảo các đường dẫn của bạn không chồng lên nhau và đảm bảo rằng các đường dẫn và lỗ đáp ứng các thông số kỹ thuật của máy. Bố cục bảng mà tôi đính kèm có các kích thước cụ thể cho máy mà tôi đã sử dụng để nghiền bảng của mình. Tôi dành vài giờ để đặt ra bảng nhỏ nhất có thể. Vẫn còn chỗ để cải thiện trên bảng này nhưng nó phù hợp với tôi nên tôi đã để nguyên như vậy. Có một phiên bản có GND bằng đồng kết nối tất cả các phần tử của Mặt đất và một phiên bản không có đính kèm.

Bạn cũng có thể sử dụng sơ đồ của mình để xây dựng nó trên bảng mạch khung hoặc bảng nguyên mẫu, vì chúng dễ sử dụng hơn nhiều và là một lựa chọn rẻ hơn vì bạn không phải chế tạo bảng tùy chỉnh.

Khi bạn có thiết kế bảng, bạn có thể chuyển sang bước tiếp theo!

Bước 3: Xây dựng bảng

Xây dựng hội đồng quản trị
Xây dựng hội đồng quản trị
Xây dựng hội đồng quản trị
Xây dựng hội đồng quản trị
Xây dựng hội đồng quản trị
Xây dựng hội đồng quản trị

Phần này hoàn toàn phụ thuộc vào cách bạn muốn tạo bảng. Tôi đã tạo cảm biến trên một bảng nguyên mẫu để kiểm tra xem khái niệm có hoạt động hay không và độ chính xác của nó như thế nào, vì vậy tôi đã theo dõi sơ đồ mà không có thanh ghi dịch chuyển và tôi đã tạo bảng. Bạn phải đảm bảo bố trí mọi thứ để các đường không chồng lên nhau và bạn không vô tình hàn các đường không nên kết nối. Khi thực hiện nó trên một bảng nguyên mẫu, bạn phải rất cẩn thận, vì vậy hãy dành thời gian của bạn và đừng vội vàng. Bạn cũng nên cẩn thận với các dây điện bị hở vì chúng có thể di chuyển và gây chập trong hệ thống.

Nếu bạn chọn để tấm ván được nghiền thì quá trình này sẽ đơn giản hơn. Gửi tệp bảng cho máy xay với các cài đặt của máy xay cụ thể. Nếu tự mình làm, hãy làm trước khi lấy nó ra, hãy đảm bảo rằng tất cả đồng được mài đủ sâu.

Đảm bảo mọi thứ được hàn vào bo mạch theo cách bố trí mong muốn và đảm bảo không tốn thời gian của bạn, và nếu hàn trên PCB thì hãy đảm bảo rằng bạn đã hàn đúng mặt của bo mạch.

Khi đặt Bộ thu và Bộ phát hồng ngoại, hãy đảm bảo rằng bộ phát nằm chính xác bên dưới bộ thu. Bạn sẽ phải thử uốn cong chân của các thành phần IR để đưa chúng vào đúng vị trí. Giữ một viên xúc xắc trên tay để kiểm tra xem vị trí đặt pip có đúng với vị trí cần thiết hay không.

Khi bạn đã hàn mọi thứ và thêm vào bo mạch, bạn đang lập trình cảm biến.

Bước 4: Lập trình bảng

Lập trình bảng
Lập trình bảng
Lập trình bảng
Lập trình bảng

Đây là phần phức tạp để làm cho cảm biến chính xác nhất có thể, lập trình bo mạch. May mắn thay, tôi đã tạo một thư viện để bạn sử dụng với cảm biến mới tạo của mình để giúp lập trình dễ dàng hơn nhiều, tuy nhiên, bạn sẽ phải hiệu chỉnh cảm biến tùy thuộc vào ánh sáng nơi đặt cảm biến này.

Để bắt đầu, bạn phải có Arduino để giao tiếp với cảm biến này. Nó sử dụng 5 chân Analog và 3 chân kỹ thuật số.

Bạn có thể sử dụng thư viện mà tôi đã tạo để chọn các chân analog và kỹ thuật số của riêng bạn, nhưng tôi sẽ giải thích điều đó bằng cách sử dụng các chân tôi đã làm để giao tiếp với cảm biến. Tôi đã đánh dấu hình ảnh được liên kết với số pin và các ô màu xung quanh bộ chân cắm để dễ dàng giải thích chân cắm nào cắm vào đâu.

Trên cảm biến, chân 1-5 Red chuyển đến A0-A4, vì vậy Red 1 chuyển đến A0, v.v. Các chân 1-8 Trắng cần giải thích thêm một chút.

Trắng 1 - Chân dữ liệu, đây là nơi Arduino gửi dữ liệu đến thanh ghi dịch chuyển. Tôi đặt chân này thành chân kỹ thuật số 3 trên Arduino

Màu trắng 2 - Q0, lỗi thời trong trường hợp này, tôi đã bao gồm nó trong trường hợp tôi quyết định mở rộng

Màu trắng 3 & 4 - Sẽ được ghép nối, bạn có thể hàn hai cái này lại với nhau hoặc sử dụng dây nối như tôi đã làm.

Chốt 5 - chốt màu trắng, một chốt rất quan trọng là bước cuối cùng trong quá trình xem bật tắt pips. Tôi đặt chân này thành chân 12 trên Arduino

Màu trắng 6 - Chân đồng hồ, Điều này cung cấp đồng hồ từ Arduino đến thanh ghi dịch chuyển. Tôi đặt nó thành chân số 13.

Trắng 7 & 8 - Sẽ được ghép nối, bạn có thể hàn hai cái này lại với nhau hoặc sử dụng jumper như tôi đã làm.

Ngay bên cạnh ô màu trắng, bạn có các chân Ground và VCC. Bạn phải cung cấp 5v từ Arduino hoặc nguồn khác để cấp nguồn cho cảm biến này.

Số vị trí PIP có thể được tìm thấy trong mã.

Bây giờ bạn phải nối nó lên, chúng ta phải hiệu chỉnh nó. Mục tiêu của tôi là tạo ra một tập lệnh có thể hiệu chỉnh nó cho bạn nhưng tôi đã hết thời gian để làm như vậy. Khi hiệu chỉnh, bạn phải đảm bảo rằng cảm biến đang ở trong môi trường ánh sáng được kiểm soát, cảm biến của nó nhạy với ánh sáng suy ra bên ngoài. Bạn phải lấy một giá trị từ mỗi vị trí pip với một chấm đen và một chấm trắng và tính trung bình sự khác biệt. Tôi chỉ sử dụng hai mặt của xúc xắc để hiệu chỉnh, tôi sử dụng mặt 1, mặt 6 và mặt 6 xoay 90 độ. Khi bạn đã có một con số cho màu trắng và đen cho mỗi vị trí pip, bạn cần tính trung bình chúng và tìm khoảng giữa của hai con số. Vì vậy, ví dụ: nếu tôi nhận được 200 cho màu trắng từ vị trí pip đầu tiên và 300 cho giá trị tối của vị trí pip đầu tiên, thì số hiệu chuẩn sẽ là 250. Khi bạn thực hiện điều này cho tất cả các vị trí 5 pip, cảm biến của bạn đã chính xác đã hiệu chỉnh, sau đó bạn có thể sử dụng dice. ReadFace (); để có được mặt hiện tại của xúc xắc.

Bước 5: Ứng dụng

Ứng dụng
Ứng dụng
Ứng dụng
Ứng dụng
Ứng dụng
Ứng dụng

Bây giờ bạn đã tạo thành công cảm biến xúc xắc! Xin chúc mừng! Đây là một chặng đường dài thử nghiệm và sai lầm để tôi tạo ra cảm biến này, vì vậy mục tiêu của tôi là giúp đỡ bất kỳ ai muốn tạo cảm biến xúc xắc.

Tôi đã đưa vào một vài ví dụ về dự án mà chúng tôi xây dựng đã sử dụng cảm biến này. Hình ảnh đầu tiên, chúng tôi sử dụng một bánh đà để đặt xúc xắc lên trên cảm biến một cách chính xác mỗi lần. Hình thứ hai là sản phẩm cuối cùng trong dự án của chúng tôi và phần đế sẽ xoay tùy thuộc vào hình dạng của mặt xúc xắc và hình thứ ba là một hộp trưng bày mà tôi đã thiết kế và chế tạo để đưa các cảm biến này lên màn hình.

Khả năng cho cảm biến này là vô tận nếu bạn đặt hết tâm trí vào nó. Tôi hy vọng bạn thấy hướng dẫn này thú vị và mang tính giáo dục, và tôi hy vọng bạn cố gắng thực hiện một hướng dẫn cho chính mình.

Chúa phù hộ!

Đề xuất: