Mục lục:

Rainbow Dice: 6 bước (có hình ảnh)
Rainbow Dice: 6 bước (có hình ảnh)

Video: Rainbow Dice: 6 bước (có hình ảnh)

Video: Rainbow Dice: 6 bước (có hình ảnh)
Video: Phân Tích Game: Roblox Rainbow Friends - Quái Vật Cầu Vồng | meGAME 2024, Tháng mười một
Anonim
Rainbow Dice
Rainbow Dice

Điều này tạo nên một hộp trò chơi xúc xắc với 5 viên xúc xắc được tạo thành từ các đèn LED SMD với 5 màu. Phần mềm điều khiển nó cho phép các chế độ chơi khác nhau với nhiều viên xúc xắc tham gia.

Một công tắc chính cho phép lựa chọn trò chơi và tung xúc xắc. Các công tắc riêng lẻ bên cạnh mỗi con súc sắc cho phép lựa chọn hoặc điều khiển tùy theo loại trò chơi.

Chi phí xây dựng rất khiêm tốn nhưng đòi hỏi thời gian xây dựng hợp lý, mỏ hàn tốt và tay nghề chắc chắn.

Thiết bị điện tử này dựa trên mô-đun ESP8266 (ESP-12F) chạy một máy chủ web cho phép cập nhật chương trình cơ sở dễ dàng và khả năng giám sát / mở rộng trò chơi.

Hộp được cung cấp năng lượng bằng pin có thể sạc lại và vì mức tiêu thụ hiện tại khá khiêm tốn, nó sẽ chạy trong nhiều giờ cho một lần sạc.

Bước 1: Các bộ phận và công cụ

Các bộ phận và công cụ
Các bộ phận và công cụ
Các bộ phận và công cụ
Các bộ phận và công cụ
Các bộ phận và công cụ
Các bộ phận và công cụ

Các thành phần

Các thành phần sau đây là cần thiết. Tất cả chúng đều có sẵn trên eBay

  1. Mô-đun xử lý wifi ESP-12F ESP8266. (£ 1,50)
  2. Pin và giá đỡ 18650 (£ 3,00)
  3. Đèn LED SMD x7 màu đỏ, xanh lam, xanh lá cây, vàng, trắng (gói 20 mỗi màu £ 0,99)
  4. Nút nhấn công tắc 6mm x6 (£ 0,12)
  5. Công tắc bật / tắt trượt mini 8x4mm (£ 0,10)
  6. Mô-đun sạc pin LIPO USB (£ 0,20)
  7. MOSFETS kênh n - AO3400 x6 (£ 0,20)
  8. Bộ điều chỉnh thả ra thấp 3.3V - XC6203E (£ 0,20)
  9. Điện phân 220uF (£ 0,15)
  10. Điện trở 220R x5 (£ 0,05)
  11. Điện trở 4K7 x 6 (0,06)
  12. Ban nguyên mẫu các lỗ hai bên bị cô lập (£ 0,50)
  13. Dây móc linh hoạt
  14. Dây đồng tráng men 32
  15. Chân tiêu đề 40 dải pin x3 (£ 0,30)

Ngoài ra, cần có một bao vây. Tôi đã thiết kế một chiếc hộp in 3D để đựng mọi thứ và cho phép đèn LEDS chiếu qua. Điều này có sẵn tại Thingiverse.

Công cụ

  1. Mỏ hàn điểm mịn
  2. Nhíp tốt
  3. Máy cắt dây
  4. Junior hack saw
  5. Tệp kim rất hữu ích
  6. Keo nhựa
  7. Truy cập vào máy in 3D nếu sử dụng thiết kế hộp đi kèm.

Bước 2: Mô tả mạch

Mô tả mạch
Mô tả mạch

Sơ đồ cho thấy mô-đun ESP-12F điều khiển 5 dãy đèn LED tạo nên xúc xắc.

Mỗi viên xúc xắc được làm bằng 7 đèn LED được sắp xếp thành 3 cặp (2 đường chéo và ở giữa) cộng với một đèn LED trung tâm duy nhất. Chúng cần 4 chân GPIO để chọn LEDS hiển thị. Điện trở 220R dùng để xác định dòng điện và 2 điện trở dùng nối tiếp cho đèn LED trung tâm để dòng điện như nhau.

5 viên xúc xắc được ghép bởi 5 đường GPIO điều khiển các công tắc MOSFET. Mỗi lần chỉ có một công tắc được bật. Phần mềm cho phép 1mSec trên mỗi khuôn nên khoảng thời gian làm mới tổng thể là 200Hz và không có hiện tượng nhấp nháy.

5 công tắc được liên kết với mỗi khuôn. Vì GPIO bị giới hạn, chúng được đọc bằng cách sử dụng các dòng giống như được sử dụng để ghép khuôn. Trong trình tự ghép kênh, các đường điều khiển này được đặt làm đầu vào có kéo lên và trạng thái của công tắc được đọc. Sau đó, chúng được trả về đầu ra cho phần còn lại của chuỗi ghép kênh.

Công tắc thứ 6 để điều khiển tổng thể được đọc bởi dòng GPIO16. Điều này chỉ có thể có một kéo xuống để chuyển đổi có dây đến 3.3V. Điều này cho thấy mức thấp khi công tắc mở và cao khi nó được đóng.

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

Xây dựng DIe
Xây dựng DIe
Xây dựng DIe
Xây dựng DIe

Đây là công việc tốn nhiều thời gian nhất và cần được chăm sóc cẩn thận.

Mỗi khuôn được chế tạo trên một tấm ván tạo mẫu hình vuông 6 lỗ x 6 lỗ. Bước đầu tiên là cắt 5 trong số này ra khỏi một bảng bằng cách sử dụng cưa hack mini. Cố gắng để càng ít ranh giới bên ngoài các lỗ càng tốt.

Bước tiếp theo là thêm 2 đầu 6 chân xuống mỗi bên và 2 bộ 3 chân cách ly bên cạnh những đầu này, và sau đó là một cặp tiếp theo ở giữa. Đây là những gì sẽ giữ các đèn LED SMD. Tôi thấy nó tốt để loại bỏ 2 chân không sử dụng từ mỗi cột bên ngoài. Mặt trên của bảng nơi LEDS được gắn phải cắt các chân tiêu đề sao cho chỉ nhô ra khoảng 1mm. Cố gắng giữ cho chúng ở mức tất cả. Điều này cho phép LEDS nhô ra trên bề mặt của bảng.

7 đèn LED SMD hiện được hàn trên đầu mỗi cặp chân. Đây là phần phức tạp nhất của tổng thể xây dựng nhưng không mất quá nhiều thời gian sau khi thực hành một chút. Kỹ thuật tôi sử dụng là thiếc phần trên của một nửa các chốt để có một số chất hàn. Sau đó, giữ đèn LED trong nhíp, làm tan chảy chất hàn một lần nữa và chạy đèn LED vào đó. Bạn đừng quá lo lắng về chất lượng của khớp ở giai đoạn này. Điều quan trọng hơn là có được sự liên kết của đèn LED càng tốt, theo chiều ngang và chiều ngang của các chân cắm. Khi đèn LED đã được đặt đúng vị trí thì nó có thể được hàn đúng cách ở đầu kia vào chốt của nó và sau đó bán lại khớp đầu tiên nếu cần.

Cực tính của điốt phải đúng. Tôi sắp xếp tất cả các chân tiêu đề bên ngoài được kết nối với các cực dương. Đèn LED trung tâm mà tôi đã tạo cùng hướng với cột bên trái (nhìn từ mặt và với hàng dự phòng ở phía dưới. Điốt có một dấu mờ trên cực âm, nhưng cũng tốt để kiểm tra bằng đồng hồ. Điốt sẽ thực sự sáng lên khi sử dụng dải điện trở (giả sử 2K) và chì màu đỏ trên cực dương và màu đen trên cực âm. Chúng vẫn không sáng theo chiều ngược lại. Đây cũng là một phương pháp tốt để kiểm tra màu sắc nếu chúng bị lẫn lộn.

Sau khi các đèn LED được gắn thì phần còn lại của bảng có thể được hoàn thành.

Ở mặt dưới của bảng.

  1. Nối tất cả các catốt lại với nhau bằng một sợi dây mỏng không cách điện.
  2. Hàn MOSFET với chốt thoát nước kết nối với dây catốt
  3. Nối nguồn mosfet qua chân tiêu đề của nó cuối cùng sẽ là 0V
  4. Nối cổng qua một điện trở 4K7 vào chân tiêu đề của nó. Tốt nhất là cắm rễ cái này qua một lỗ khác thấp hơn như hình minh họa vì đây là nơi công tắc sẽ kết nối.

Trên mặt trước của bảng kết nối chéo 3 cặp cực dương.

  1. Sử dụng dây tráng men hàn để giữ cho mặt cắt thấp.
  2. Thiếc trước một đầu của mỗi dây
  3. Hàn nó vào một cực dương.
  4. Định tuyến nó qua và cắt theo chiều dài.
  5. Làm trước thiếc và hàn vào nó cặp cực dương tương ứng.

Tại thời điểm này, bạn nên kiểm tra sơ bộ từng khuôn bằng cách sử dụng đồng hồ vạn năng. Với dây dẫn đen trên các cực âm chung (cống Mosfet), dây dẫn màu đỏ có thể được di chuyển đến 3 cặp anot và một anot duy nhất. Các đèn LED tương ứng sẽ sáng lên.

Bước 4: Xây dựng hộp

Cấu tạo hộp
Cấu tạo hộp
Cấu tạo hộp
Cấu tạo hộp
Cấu tạo hộp
Cấu tạo hộp
Cấu tạo hộp
Cấu tạo hộp

Điều này giả định rằng phiên bản hộp in 3D đang được sử dụng. Hộp có các vết lõm cho mỗi khuôn và mỗi đèn LED. Lớp dưới cùng bên dưới mỗi đèn LED rất mỏng (0,24mm) nên bằng nhựa trắng cho phép ánh sáng xuyên qua rất tốt và hoạt động như một bộ khuếch tán. Có các phần cắt cho tất cả các công tắc và điểm sạc. Pin có ngăn riêng.

Đầu tiên gắn 6 công tắc nút nhấn mini và công tắc trượt vào vị trí. Đảm bảo rằng chúng bằng phẳng với bên ngoài. Công tắc nút nhấn có hai cặp tiếp điểm được đấu song song. Định hướng chúng để các tiếp điểm chuyển mạch liền kề với khuôn của chúng. Sử dụng một số loại nhựa đông kết nhanh để khóa vào vị trí.

Bây giờ gắn pin và hộp của nó vào chỗ trống được cung cấp. Nó phải khá vừa vặn nhưng hãy sử dụng một chút keo nếu cần thiết.

Dán bộ sạc LIPO lên tường được cung cấp với micro USB có thể truy cập qua lỗ của nó.

Hoàn thành hệ thống dây điện cơ bản bằng cách nối đất pin qua tất cả các công tắc nút nhấn và kết nối LIPO B- và để lại một đuôi heo để kết nối với thiết bị điện tử. Pin + sẽ đi vào B + trên bộ sạc LIPO và vào công tắc trượt. Phía bên kia của công tắc trượt sẽ là công tắc thứ sáu và một cái đuôi heo cho thiết bị điện tử. Đảm bảo công tắc trượt ở vị trí tắt và tạm thời cách nhiệt các đuôi heo. Bạn không muốn ngắn pin!

Hàn hai cái đuôi lợn ngắn không cách nhiệt vào mỗi cái trong số 5 cái tắc kê. Chúng cần phải linh hoạt một chút.

Định vị và cố định từng khuôn ở vị trí của nó bằng cách hàn hai bím công tắc vào bảng khuôn để đảm bảo rằng 0V của công tắc được kết nối với nguồn mosfet / điểm 0V và mặt trực tiếp của công tắc thông qua cổng 4K7 / mosfet. Các đèn LED trên bo mạch phải được lắp vào các hốc trong hộp và dây chuyển đổi phải đủ để giữ khuôn ở vị trí.

Tiếp theo nối tất cả các cực dương chung của 5 viên xúc xắc. Điều này được thực hiện dễ dàng hơn vì các kết nối cặp diode có sẵn trên cả hai mặt của khuôn, nhưng hãy lưu ý rằng chúng được cắt chéo trên các đường chéo. Đừng bối rối bởi sợi dây màu đỏ trong hình ảnh dường như sắp chết. Nó chỉ là bím tóc và không được kết nối với bất kỳ thứ gì ở giai đoạn này.

ESP-12F tạo nên

Lưu ý rằng bạn có thể muốn lập trình mô-đun ESP-12F trước khi lắp. Khi nó đã được flash thì tất cả các cập nhật khác có thể được thực hiện bằng wifi OTA.

Tạo bộ điều chỉnh 3.3V trên một chút thẻ protype còn lại. Điều này chỉ có bộ điều chỉnh LDO trên nó và tụ điện tách. Mặc dù mức tiêu hao điện năng rất thấp, tôi đã hàn một vài điểm tiếp xúc với nhau để hoạt động như một bộ tản nhiệt cho thiết bị. Hai dây có thể nhô ra ngoài và kết nối trực tiếp với 3.3V / 0V của ESP-12F.

Hàn trên dây vào các chân GPIO cho 5 đường ghép kênh và công tắc 6. 4 đường trình điều khiển cực dương LED cần các điện trở dòng 220R / 440R thẳng hàng. Người ta có thể sử dụng điện trở lỗ nhỏ trên ESP-12F cho việc này hoặc tôi đã làm điều đó với SMD chỉ được xếp chồng lên các lỗ khá chắc chắn.

Cuối cùng nối các đường dây ghép kênh tới các chân tiêu đề khuôn riêng lẻ và dây dẫn trình điều khiển cực dương đi qua chuỗi daisy tương ứng của chúng.

Bước 5: Phần mềm

Phần mềm này dựa trên môi trường ESP8266 Arduino. Nó có sẵn tại github.

Mã có sẵn tại đây

Có một thư viện diceDriver cung cấp các chức năng cấp thấp được sử dụng để ghép các đèn LED và đọc các công tắc. Điều này được điều khiển gián đoạn vì vậy một khi các giá trị xúc xắc được đặt thì nó sẽ tự duy trì.

Thời gian tổng thể được chia thành khoảng thời gian 1 mSec cho mỗi khuôn. Khoảng thời gian trong 1 mSec này mà đèn LED bật có thể được đặt cho từng khuôn một cách độc lập. Điều này cho phép ánh sáng cân bằng giữa các màu khác nhau và cũng cho phép làm mờ và nhấp nháy như một phần của điều khiển trò chơi.

Thư viện cũng đọc các công tắc xúc xắc như một phần của phép ghép kênh và có các quy trình để 'tung' một hoặc nhiều viên xúc xắc song song.

Bản phác thảo sử dụng thư viện để cung cấp lựa chọn các chế độ trò chơi xúc xắc và để chạy các trò chơi này. Nó cũng cung cấp các chức năng bảo trì để thiết lập wifi ban đầu, để OTA tải xuống firmware mới và cung cấp một số chức năng web cơ bản để kiểm tra và kiểm tra trạng thái của thiết bị.

Phần mềm được biên dịch trong Arduino IDE. Cũng như ino, nó sử dụng thư viện BaseSupport để cung cấp các chức năng cơ bản. Điều này được cấu hình trong tệp BaseConfig.h cục bộ. Mật khẩu mặc định là 'password' được sử dụng để kết nối với thiết lập wifi của nó. Bạn có thể muốn thay đổi điều đó thành một cái gì đó khác. Bạn cũng có thể định cấu hình nó bằng thông tin đăng nhập wifi cố định nếu bạn không muốn sử dụng thiết lập tích hợp sẵn. Tương tự như vậy, có cùng một mật khẩu mặc định cho quá trình cập nhật chương trình cơ sở OTA mà bạn có thể muốn thay đổi. Lần đầu tiên chương trình cơ sở phải được tải qua kết nối nối tiếp với Arduino IDE. Điều này phải tuân theo các quy tắc nhấp nháy bình thường với GPIO0 được kéo xuống thấp trong quá trình đặt lại để đưa nó vào chế độ nối tiếp flash. Điều này được thực hiện thuận tiện hơn trước khi mô-đun cuối cùng được nối dây nhưng có thể được thực hiện tại chỗ nếu kẹp được gắn vào các chân có liên quan.

Khi phần sụn được chạy lần đầu tiên, nó sẽ không kết nối được với wifi cục bộ và sẽ tự động chuyển sang chế độ thiết lập bằng cách thiết lập một mạng truy cập của riêng nó. Bạn có thể kết nối với thiết bị này từ một thiết bị wifi (ví dụ: điện thoại) và sau đó duyệt đến 192.168.4.1, nó sẽ cho phép chọn wifi cục bộ thực và nhập mật khẩu của nó. Nếu điều này là OK thì nó sẽ khởi động lại và sử dụng mạng này.

OTA được thực hiện bằng cách xuất các tệp nhị phân trong Arduino IDE và sau đó duyệt đến ip / firmware trong đó ip là ip của hộp khi được kết nối. Thao tác này sẽ nhắc / duyệt tìm tệp nhị phân mới.

Các chức năng web khác là

  • setpower - đặt sức mạnh cho một con xúc xắc (ip / setpower? dice = 3 & power = 50)
  • setflash - đặt flash cho xúc xắc (ip / setflash? mask = 7 & khoảng = 300)
  • setdice - đặt một giá trị xúc xắc (ip / setdice? dice = 3 & value = 2)
  • tham số - đặt tham số cuộn (ip / tham số? mask = 7 & time = 4000 & khoảng = 200)
  • trạng thái - trả về giá trị xúc xắc và chuyển đổi trạng thái

Bước 6: Trò chơi

Phần mềm cho phép lựa chọn trò chơi và trò chơi đang chạy được điều khiển bởi công tắc chính.

Ban đầu, hệ thống đang ở chế độ cài đặt trò chơi với chỉ con súc sắc đầu tiên hiển thị số '1'. Bạn bước qua 12 chế độ chơi khác nhau bằng cách nhấn nhanh vào nút này. Con xúc sắc đầu tiên đi 1 - 6, và sau đó giữ nguyên ở mức 6 trong khi con xúc sắc thứ hai hiển thị 1-6.

Để chọn một trò chơi cụ thể, bạn nhấn và giữ nút (> 1 giây) và điều này sẽ đưa nó vào chế độ chạy trò chơi.

Trong một trò chơi, một cuộn thường được bắt đầu bằng cách nhấn nhanh vào công tắc này. Để quay lại chế độ chọn trò chơi từ chế độ chạy, sau đó nhấn và giữ công tắc này và sau đó nó sẽ hiển thị số trò chơi như trước và cho phép lựa chọn thêm.

9 chế độ chơi được xác định tại thời điểm này với 3 chế độ dự phòng.

Trò chơi từ 1 đến 5 là các lần cuộn đơn giản của số xúc xắc đó. Mỗi cuộn chỉ lăn hết xúc xắc. Công tắc xúc xắc không có tác dụng trong các Trò chơi này.

Trò chơi 6 là một số động của xúc xắc. Nhấn một trong các công tắc xúc xắc để chọn số lượng xúc xắc và sau đó là công tắc chính để tung xúc xắc. Số lượng xúc xắc có thể được thay đổi trước mỗi lần quay.

Trò chơi 7 là một lượt ném nhiều. Tất cả 5 viên xúc xắc đều được tham gia. Một lần nhấn công tắc chính sẽ cuộn tất cả các viên xúc xắc. Nhấn từng công tắc chết sẽ làm cho nó nhấp nháy. Khi công tắc chính được nhấn thì chỉ có khối chết nhấp nháy sẽ cuộn, ngoại trừ nếu không có khối nào nhấp nháy thì tất cả sẽ cuộn. Điều này giống như xúc xắc poker hoặc Yahtzee. Lưu ý rằng không có việc thực thi số lần ném cho phép. Điều đó phụ thuộc vào sự chính trực của người chơi.

Trò chơi 8 giống như trò chơi 7 ngoại trừ mờ được sử dụng để chỉ ra chết được chọn không nhấp nháy.

Trò chơi 9 sử dụng các công tắc chết để xác định các cuộn. Nếu một trong 3 đầu được chọn thì điều này sẽ xác định số lượng xúc xắc để tung 1, 2 hoặc 3). Sau đó, nếu một trong 2 công tắc dưới cùng được nhấn thì hàng trên cùng được giữ và điều này sẽ chọn số lượng xúc xắc để lăn ở hàng dưới cùng (1 hoặc 2). Điều này được sử dụng trong các trò chơi như Rủi ro.

Đề xuất: