Mục lục:
- Bước 1: Những gì bạn cần
- Bước 2: Mạch
- Bước 3: Mã
- Bước 4: Bao vây
- Bước 5: Minecraft Forge và SerialCraft Mod
- Bước 6: Sử dụng SerialCraft Mod
Video: Minecraft Creeper Detector: 6 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:35
Bởi allwinedesignsAllwine DesignsFollow More của tác giả:
Giới thiệu: Tôi là nhà phát triển phần mềm cả đời, học khoa học máy tính tập trung vào đồ họa 3D ở trường đại học, là nghệ sĩ hiệu ứng cho Dreamworks Animation và đã dạy công nghệ cho trẻ em và người lớn ở đây… Thông tin thêm về allwinedesigns »
Trong một vài năm, tôi đã giúp Bảo tàng Trẻ em Bozeman xây dựng chương trình giảng dạy cho STEAMlab của họ. Tôi luôn tìm kiếm những cách thú vị để thu hút trẻ em với thiết bị điện tử và mã hóa. Minecraft là một cách dễ dàng để thu hút trẻ em và có rất nhiều tài nguyên để sử dụng nó theo những cách thú vị và giáo dục. Tuy nhiên, việc kết hợp Minecraft và thiết bị điện tử rất khó. Để giúp tích hợp các dự án Arduino với Minecraft, tôi đã kết thúc việc phát triển mod Minecraft của riêng mình có tên là SerialCraft. Ý tưởng là bạn có thể kết nối bất kỳ thiết bị nào sử dụng giao tiếp nối tiếp và gửi tin nhắn đến và nhận tin nhắn từ Minecraft bằng cách sử dụng mod của tôi. Hầu hết các Arduinos đều có khả năng giao tiếp nối tiếp qua USB, vì vậy thật đơn giản để nối mạch và gửi một số dữ liệu qua kết nối nối tiếp. Tôi đã tạo ra các bộ điều khiển mà bọn trẻ có thể lắp ráp và lập trình để điều khiển nhân vật của chúng, kích hoạt và phản hồi các tín hiệu Redstone, đồng thời nhấp nháy đèn LED để cảnh báo chúng về một số sự kiện nhất định như tuổi thọ thấp hoặc khi một cây leo đang ở gần. Có thể hướng dẫn này tập trung vào chức năng cảnh báo cây leo và tiến thêm một bước nữa bằng cách sử dụng Adafruit Neopixels và bao vây bằng gỗ dán và acrylic được cắt bằng laser. Máy dò tìm cây leo sử dụng một thanh NeoPixel 8 LED để cung cấp cho bạn thông tin có giá trị về loài cây leo gần nhất. Khi tất cả các đèn LED tắt, điều đó có nghĩa là không có dây leo trong 32 khối. Khi tất cả các đèn LED đều bật (chúng cũng sẽ nhấp nháy), bạn đang ở trong bán kính phát nổ 3 khối của dây leo (bán kính mà dây leo sẽ dừng lại, thắp sáng cầu chì và phát nổ). Bất cứ điều gì ở giữa đều có thể cung cấp cho bạn ước tính về khoảng cách giữa cây leo với bạn. Khi 4 trong số 8 đèn LED sáng, bạn đang cách cây leo khoảng 16 khối, đó là phạm vi mà nếu cây leo nhìn thấy bạn, nó sẽ tấn công. Đèn LED sẽ bắt đầu nhấp nháy khi bạn ở trong bán kính vụ nổ của cây leo (7 khối). Đó cũng là bán kính mà nếu bạn bước ra ngoài, cây leo sẽ ngừng ngòi nổ và tiếp tục lao tới sau bạn. Với kiến thức này, bạn sẽ có thể tránh bất kỳ cuộc tấn công bất ngờ nào của creeper hoặc săn lùng bất kỳ creeper nào gần đó!
Trong phần Có thể hướng dẫn này, chúng tôi sẽ xem xét mọi thứ bạn cần để tạo Máy phát hiện Creeper của riêng mình cũng như cách cài đặt và sử dụng mod SerialCraft cho phép bạn giao diện Minecraft với các dự án Arduino của mình. Nếu bạn thích nó, hãy cân nhắc bình chọn cho nó trong Cuộc thi Minecraft và Thử thách Epilog. Bắt đầu nào!
Bước 1: Những gì bạn cần
Tôi đã cố gắng hết sức để liên kết đến các sản phẩm chính xác mà tôi đã sử dụng, nhưng đôi khi tôi tìm thấy thứ gần nhất có thể trên Amazon. Đôi khi, tốt nhất bạn nên chọn một vài thứ từ cửa hàng điện tử hoặc cửa hàng phần cứng tại địa phương để tránh mua số lượng lớn hơn trực tuyến.
- Tôi đã sử dụng thanh NeoPixel 8 LED RGBW, nhưng tôi hoàn toàn không sử dụng LED (W) màu trắng nên thanh NeoPixel 8 LED RGB sẽ làm được. Bạn có thể thay thế điều này cho bất kỳ sản phẩm RGB hoặc RGBW NeoPixel nào, nhưng có những cân nhắc về nguồn điện mà chúng ta sẽ thảo luận trong bước tiếp theo và những thay đổi về mã mà tôi sẽ chỉ ra khi chúng ta đến đây. Bạn có thể muốn chọn một cái không yêu cầu hàn, nhưng tôi sẽ chỉ cho bạn cách tôi hàn dây vào que.
- Một bộ vi điều khiển và cáp USB phù hợp của nó. Tôi đã sử dụng RedBoard của SparkFun, một bản sao Arduino Uno. Nó sử dụng đầu nối USB Mini B (Tôi không chắc tại sao nó lại đắt như vậy trên Amazon, bạn có thể lấy nó trực tiếp từ SparkFun tại đây hoặc tìm một giải pháp thay thế trên Amazon, như cái này). Chúng tôi sẽ sử dụng thư viện Arduino để đơn giản hóa việc mã hóa, nhưng nó chỉ sử dụng giao tiếp nối tiếp cơ bản để thư viện có thể được chuyển sang hoạt động trên bất kỳ vi điều khiển nào có thể thực hiện nối tiếp USB. Hầu như bất kỳ Arduino nào cũng vậy. Đảm bảo rằng nó có USB Serial (hầu hết đều có, nhưng một số không như Trinket ban đầu).
- Dây điện, mỏ hàn và thuốc hàn (dao tước dây và kim thứ ba cũng có ích). Chúng tôi sẽ hàn dây vào thanh NeoPixel để nó có thể được cắm vào Arduino. Những điều này có thể không cần thiết nếu bạn chọn sản phẩm NeoPixel đã gắn sẵn dây hoặc bộ vi điều khiển đi kèm với NeoPixels trên bo mạch (chẳng hạn như Circuit Playground Express, mà tôi đã đưa mã vào trong một bước trong tương lai). Hệ số hình thức của thanh LED 8 là thứ mà tôi đã thiết kế vỏ bọc của Máy phát hiện dây leo của mình, vì vậy bạn sẽ phải thực hiện các sửa đổi hoặc không có vỏ bọc nếu bạn sử dụng hệ số hình thức khác.
- Vật liệu bao vây. Tôi đã sử dụng acrylic mờ 1/8 ", acrylic trong suốt 1/8" và ván ép 1/8 "mà tôi đã cắt bằng laser và các vít và đai ốc của máy M3 để giữ nó lại với nhau. Tôi cũng đã sử dụng một số vít gỗ # 2 x 1/4 "để gắn chặt thanh NeoPixel vào vỏ. Vỏ bọc là không cần thiết, nhưng chắc chắn bổ sung thêm một số nét tinh tế. Vỏ bọc của tôi được thiết kế để chỉ chứa NeoPixel, không phải vi điều khiển. Nếu bạn muốn nó hoàn toàn độc lập, bạn sẽ cần phải sửa đổi!
- Tài khoản Minecraft, Minecraft Forge 1.7.10 và SerialCraft (mod và thư viện Arduino). Creeper Detector dựa trên mod SerialCraft, chỉ hoạt động trên Minecraft 1.7.10 với Minecraft Forge. Chúng ta sẽ thảo luận về cách tải các tệp này xuống và cách thiết lập chúng trong các bước trong tương lai.
- Arduino IDE hoặc tài khoản trên Arduino Create và plugin Arduino Create (Tôi khuyên bạn nên sử dụng Arduino Create vì bạn sẽ có thể truy cập trực tiếp vào bản phác thảo và biên dịch Arduino Create của tôi và tải lên từ đó).
Bước 2: Mạch
Mạch rất đơn giản, chỉ cần 3 dây, thanh NeoPixel và một Arduino. Tất cả Adafruit NeoPixels đều có bộ điều khiển riêng cho phép một dây dữ liệu duy nhất để điều khiển bất kỳ số lượng đèn LED mắc xích nào. Tôi đã kết nối nó với chân 12 trên Arduino của mình.
Hai dây còn lại dành cho nguồn và nối đất. Để cấp nguồn cho NeoPixels, chúng tôi sẽ cần nguồn điện 5V. Tuy nhiên, chúng ta cần đảm bảo rằng nguồn điện của chúng ta có khả năng cung cấp đủ dòng điện. Mỗi NeoPixel có thể vẽ lên đến 60mA (80mA với đèn LED RGBW) ở độ sáng đầy đủ. Với 8 đèn LED, có nghĩa là dòng điện tối đa của chúng tôi là 480mA (640mA với đèn LED RGBW). Arduino mất ~ 40mA chỉ để bật. Thoạt nhìn, điều này có vẻ như chúng ta sẽ cần sử dụng nguồn điện bên ngoài. USB cho phép tối đa 500mA mà chúng tôi có thể vượt quá nếu chúng tôi đặt tất cả các đèn LED của mình ở mức tối đa (480 + 40 = 520 với đèn LED RGB hoặc 640 + 40 = 680 với đèn LED RGBW). May mắn thay, chúng tôi sẽ không bao giờ cần phải chuyển đèn LED sang độ sáng đầy đủ của chúng (độ sáng đầy đủ khá chói mắt), vì vậy chúng tôi sẽ an toàn khi sử dụng đường ray 5V của Arduino, được cắm qua USB. Trên thực tế, sử dụng màu xanh lá cây mà tôi đã chọn sẽ chỉ sử dụng tối đa ~ 7-8mA cho mỗi đèn LED cho tổng dòng điện tối đa ~ 100mA, thấp hơn mức tối đa 500mA do USB áp đặt.
Vì vậy, tất cả những gì chúng ta cần làm là nối chân DIN của thanh NeoPixel vào chân 12 (hầu như bất kỳ chân nào cũng hoạt động, nhưng đây là chân tôi đã sử dụng), chân 5V trên NeoPixel gắn vào chân 5V trên Arduino, và một chân GND trên NeoPixel dính vào GND trên Arduino. Đầu tiên, chúng ta cần hàn dây của mình vào thanh NeoPixel.
Cắt các đầu nối ra khỏi một đầu của dây và tước các đầu dây. Thiếc từng cái (bôi chất hàn vào mỗi đầu). Sau đó, đặt một chút thuốc hàn vào mỗi miếng đệm. Cẩn thận chạm vào từng miếng đệm bằng mỏ hàn, đặt đầu dây tương ứng vào miếng đệm, sau đó lấy bàn ủi ra.
Bước 3: Mã
CẬP NHẬT (2018-02-19): Tôi đã đăng một bản phác thảo Arduino mới lên repo GitHub bao gồm tất cả các thay đổi cần thiết để Creeper Detector hoạt động trên Circuit Playground Express (nó sẽ không hoạt động với bao vây, nhưng nó có tất cả đèn LED và một số cảm biến được tích hợp trong bo mạch, vì vậy không cần hàn). Nó bao gồm một số chức năng bổ sung liên kết với các nút và công tắc trượt của nó!
Để có mã đầy đủ, bạn có thể truy cập vào kho lưu trữ Tạo bản phác thảo Arduino hoặc GitHub của tôi. Làm theo hướng dẫn tại đây nếu bạn không chắc chắn về cách biên dịch và tải lên mã. Nếu bạn chọn sử dụng Arduino IDE, bạn sẽ cần cài đặt thư viện SerialCraft Arduino. Làm theo các bước trong "Nhập mã Zip" tại đây để làm như vậy. Nếu bạn sử dụng Arduino Create Web Editor, bạn có thể truy cập trực tiếp vào bản phác thảo của tôi sau khi thiết lập xong và bạn có thể tránh phải cài đặt thư viện SerialCraft.
Tôi sẽ xem đoạn mã đang làm gì bên dưới.
Hai dòng đầu tiên bao gồm các thư viện. Đầu tiên, SerialCraft.h, là một thư viện mà tôi đã viết cho phép giao tiếp dễ dàng với mod SerialCraft. Tôi sẽ hướng dẫn bạn qua các tính năng mà tôi sử dụng bên dưới, nhưng bạn có thể xem các ví dụ và một số tài liệu cần một số công việc trong kho lưu trữ GitHub của nó. Thư viện thứ hai là thư viện NeoPixel của Adafruit và cung cấp một API để điều chỉnh đèn LED trên dải NeoPixel.
#bao gồm
#bao gồm
Dòng 4-17 là các hằng số có thể thay đổi dựa trên thiết lập của bạn. Nếu bạn đã sử dụng dải NeoPixel có số lượng pixel khác nhau hoặc nếu bạn nối NeoPixel của mình với một mã pin khác, bạn sẽ cần thực hiện các thay đổi đối với hai định nghĩa đầu tiên, NUMLEDS và mã PIN. Bạn sẽ cần thay đổi LED_TYPE thành loại mà bạn có, hãy thử thay đổi NEO_GRBW thành NEO_RGB hoặc NEO_RGBW nếu bạn gặp sự cố. Bạn có thể thay đổi BLOCKS_PER_LED nếu bạn muốn điều chỉnh phạm vi mà bạn có thể phát hiện ra cây leo.
// Thay đổi các biến này để phù hợp với thiết lập của bạn
// số lượng đèn LED trong dải của bạn #define NUMLEDS 8 // pin mà chân dữ liệu LED được kết nối với #define PIN 12 // số khối mà mỗi LED đại diện cho #define BLOCKS_PER_LED 4 // Loại dải LED bạn có (nếu đèn LED của bạn không chuyển sang màu xanh lục, khi đó bạn sẽ cần thay đổi thứ tự của GRBW) #define LED_TYPE (NEO_GRBW + NEO_KHZ800) // biến END
Các dòng 19-27 xác định một số giá trị mà chúng ta sẽ sử dụng sau này. DETONATE_DIST là khoảng cách trong Minecraft mà một cây leo sẽ ngừng di chuyển, đốt cháy cầu chì và phát nổ. SAFE_DIST là bán kính vụ nổ của dây leo. Việc thay đổi các giá trị này sẽ ảnh hưởng đến hoạt động của đèn LED, nhưng tôi khuyên bạn nên giữ nguyên trạng thái của chúng khi chúng phản ánh hành vi trong Minecraft. MAX_DIST là khoảng cách tối đa mà chúng tôi sẽ theo dõi những cây leo tới, dựa trên số lượng đèn LED mà dải NeoPixel của chúng tôi có và hằng số BLOCKS_PER_LED mà chúng tôi đã xác định ở trên.
// Đây là những giá trị sẽ được sử dụng trong tính toán của chúng tôi cho độ sáng của đèn LED
// khoảng cách creeper sẽ bắt đầu phát nổ #define DETONATE_DIST 3 // khoảng cách chúng tôi an toàn trước vụ nổ creeper (bạn sẽ nhận sát thương nếu ở trong khoảng cách này) #define SAFE_DIST 7 // khoảng cách tối đa mà chúng tôi theo dõi một creeper #define MAX_DIST (NUMLEDS * BLOCKS_PER_LED)
Các dòng 29-36 xác định một số biến mà chúng ta sẽ sử dụng trong suốt chương trình. Biến sc là một đối tượng SerialCraft cung cấp giao diện dễ sử dụng để giao tiếp với mod SerialCraft Minecraft. Bạn sẽ thấy cách chúng tôi sử dụng nó bên dưới. dist là một biến mà chúng tôi sẽ đặt khoảng cách đến cây leo gần nhất khi chúng tôi nhận được thông báo khoảng cách đến cây leo từ mod SerialCraft. dải là một đối tượng Adafruit_NeoPixel cung cấp các phương pháp kiểm soát dải NeoPixel.
// Đây là đối tượng SerialCraft để giao tiếp với mod SerialCraft Minecraft
SerialCraft sc; // khoảng cách từ creeper int dist = 100; // Khởi tạo dải đèn LED, bạn có thể cần thay đổi dải Adafruit_NeoPixel thứ 3 = Adafruit_NeoPixel (NUMLEDS, PIN, LED_TYPE);
Dòng 38-47 là chức năng thiết lập của chúng tôi. Tất cả các tập lệnh Arduino phải có một. Nó được chạy một lần khi Arduino được bật nguồn, vì vậy đây là một nơi tuyệt vời để khởi tạo các biến. Chúng tôi gọi phương thức setup () trên đối tượng SerialCraft của chúng tôi để khởi tạo cổng Serial với cùng tốc độ truyền như được định cấu hình trong mod SerialCraft (115200). Sau đó, chúng tôi gọi phương thức registerCreeperDistanceCallback để chúng tôi có thể trả lời các thông báo về khoảng cách creeper được gửi cho chúng tôi bởi mod SerialCraft. Định kỳ, chúng tôi sẽ gọi phương thức sc.loop () xuống sâu hơn một chút. Trong phương pháp vòng lặp, nó sẽ kiểm tra xem liệu chúng tôi có nhận được bất kỳ thông báo nào từ mod SerialCraft hay kích hoạt bất kỳ sự kiện nào như nhấn nút và gọi chức năng tương ứng mà chúng tôi đã đăng ký để xử lý nó hay không. Tất cả những gì chúng tôi đang làm là tìm kiếm khoảng cách gần nhất của cây leo, vì vậy đó là chức năng duy nhất mà chúng tôi đang đăng ký. Bạn sẽ thấy bên dưới, rằng tất cả những gì chúng ta làm trong hàm đó là đặt biến dist của chúng ta, mà chúng ta sẽ sử dụng khi cập nhật đèn LED. Cuối cùng, chúng tôi khởi tạo dải đèn LED của mình và tắt tất cả các đèn LED bằng cách sử dụng dải.begin () và dải.show ().
void setup () {// khởi tạo SerialCraft sc.setup (); // đăng ký gọi lại khoảng cách creeper để nhận khoảng cách đến creeper gần nhất sc.registerCreeperDistanceCallback (creeper); // khởi tạo dải LED dải.begin (); dải.show (); }
Các dòng 49-80 xác định hàm vòng lặp. Chức năng vòng lặp là nơi tất cả những điều kỳ diệu xảy ra. Hàm lặp được gọi lặp lại. Bất cứ khi nào hàm vòng lặp chạy xong, nó chỉ bắt đầu lại ở trên cùng. Trong đó, chúng tôi sử dụng biến dist và các hằng số của chúng tôi ở đầu tệp để xác định trạng thái của mỗi đèn LED.
Ở trên cùng của hàm vòng lặp, chúng ta xác định một vài biến.
// dao động từ 0 khi> = MAX_DIST cách bán kính phát nổ của cây leo thành NUMLEDS * BLOCKS_PER_LED khi ở trên đầu cây leo
int blocksFromCreeperToMax = bindin (MAX_DIST + DETONATE_DIST-dist, 0, MAX_DIST); int curLED = blocksFromCreeperToMax / BLOCKS_PER_LED; // phạm vi từ 0 đến NUMLEDS-1 int curLEDLevel = (blocksFromCreeperToMax% BLOCKS_PER_LED + 1); // phạm vi từ 1 đến BLOCKS_PER_LED
Vì chúng tôi chiếu sáng đèn LED dựa trên mức độ gần của chúng tôi với một cây leo, chúng tôi cần phải đảo ngược hiệu quả biến khoảng cách của chúng tôi. Chúng tôi xác định blocksFromCreeperToMax để đại diện cho số khối mà creeper từ khoảng cách tối đa mà chúng tôi quan tâm để theo dõi. Khi chúng ta ở trên đầu cây leo (hay nói đúng hơn là nhỏ hơn hoặc bằng DETONATE_DIST cách cây leo), khốiFromCreeperToMax sẽ là MAX_DIST. Khi chúng ta vượt quá MAX_DIST khỏi cây leo, blocksFromCreeperToMax sẽ bằng 0. Biến này sẽ hữu ích khi chúng ta thắp sáng đèn LED của mình vì nó càng lớn thì chúng ta càng thắp sáng nhiều đèn LED.
curLED là đèn LED nhiều nhất sẽ sáng. Cứ 4 khối mà chúng ta di chuyển về phía cây leo sẽ sáng thêm một đèn LED (số đó có thể được thay đổi ở đầu tệp bằng biến BLOCKS_PER_LED). Chúng tôi điều chỉnh độ sáng của hầu hết các đèn LED trên cùng để chúng tôi có thể thấy những thay đổi trong khoảng cách xuống đến một khối duy nhất. curLEDLevel là một biến mà chúng tôi sẽ sử dụng để tính toán những thay đổi độ sáng đó. Nó nằm trong khoảng từ 1 đến 4 (hoặc bất kỳ BLOCKS_PER_LED nào được định nghĩa là).
Chúng tôi sẽ sử dụng các biến này khi lặp qua mỗi đèn LED:
for (uint16_t i = 0; i <strip.numPixels (); i ++) {if (i <= curLED) {// sáng nhất khi nằm trong bán kính phát nổ của creeper, tắt khi creep còn NUMLEDS * BLOCKS_PER_LED rời cường độ float = (float) blocksFromCreeperToMax / MAX_DIST; if (i == curLED) {// đèn LED cuối cùng sáng // làm cho đèn LED cuối cùng sáng hơn khi chúng ta tiếp cận đèn LED tiếp theo float lastIntensity = (float) curLEDLevel / BLOCKS_PER_LED; cường độ * = lastIntensity; } if (dist <SAFE_DIST) {cường độ * = (millis () / 75)% 2; } Cường độ = pow (cường độ, 2.2); // đường cong gamma, làm cho độ sáng của đèn LED trông tuyến tính với mắt chúng ta khi giá trị độ sáng thực sự không phải là dải.setPixelColor (i, dải. Color (cường độ 10 *, cường độ 70 *, cường độ 10 *, 0)); } else {dải.setPixelColor (i, dải. Color (0, 0, 0, 0)); }}
Nếu đèn LED hiện tại mà chúng tôi đang cập nhật nhỏ hơn hoặc bằng biến curLED, thì chúng tôi biết nó phải bật và chúng tôi cần tính độ sáng của nó. Nếu không, hãy tắt nó đi. Chúng tôi sử dụng một biến cường độ sẽ có giá trị từ 0 đến 1 để biểu thị độ sáng của đèn LED. Khi thiết lập màu cuối cùng của đèn LED, chúng tôi sẽ nhân cường độ với màu (10, 70, 10), một màu xanh lục. Chúng tôi sử dụng biến blocksFromCreeperToMax để lấy tỷ lệ phần trăm bằng cách chia cho MAX_DIST, vì vậy đèn LED sẽ sáng nhất khi chúng ta ở gần một cây leo. Nếu chúng tôi đang tính toán độ sáng của curLED, thì chúng tôi sẽ thay đổi độ sáng của nó cho từng khối khoảng cách mà cây leo từ bạn đến cài đặt BLOCKS_PER_LED. Đây là một thay đổi nhỏ, nhưng nó có thể được sử dụng để xem liệu một cây leo đang tiến gần hơn hay xa hơn với hạt mịn hơn 4 khối mà nó cần một đèn LED bổ sung để phát sáng. Sau đó, chúng tôi kiểm tra xem chúng tôi có nằm trong bán kính vụ nổ của cây leo hay không và nhấp nháy nếu chúng tôi có. Biểu thức (mili () / 75)% 2 sẽ liên tục đánh giá thành 0 trong 75 mili giây và sau đó là 1 trong 75 mili giây, do đó, nhân cường độ của chúng ta với biểu thức đó sẽ khiến đèn LED nhấp nháy.
Thay đổi cuối cùng đối với cường độ (cường độ = pow (cường độ, 2,2)), là một sự điều chỉnh được gọi là hiệu chỉnh gamma. Mắt người cảm nhận ánh sáng một cách phi tuyến tính. Chúng ta có thể nhìn thấy nhiều sự phân cấp của ánh sáng mờ hơn so với ánh sáng rực rỡ, vì vậy khi chúng ta giảm độ sáng của đèn sáng, chúng ta bước xuống nhiều hơn khi ánh sáng mờ để có vẻ như chúng ta đang bước xuống một đường thẳng thời trang đối với mắt người. Một tác dụng phụ của sự thay đổi này là chúng ta sẽ sử dụng ít năng lượng hơn vì các điểm ảnh của chúng ta sẽ có nhiều chuyển màu hơn trong phạm vi mờ hơn (năng lượng thấp hơn) so với phạm vi sáng hơn (năng lượng cao hơn).
Hai dòng cuối cùng của hàm vòng lặp của chúng tôi cập nhật các đèn LED thành các giá trị mà chúng tôi vừa đặt và sau đó gọi bất kỳ trình xử lý nào cần được gọi bởi SerialCraft (trong trường hợp này là hàm khoảng cách creeper, nếu chúng tôi nhận được bất kỳ thông báo khoảng cách creeper nào từ mod SerialCraft).
dải.show ();
sc.loop ();
Những dòng cuối cùng trong tập lệnh của chúng tôi là chức năng creeper, nơi chúng tôi lưu trữ khoảng cách đến creeper gần nhất khi mod SerialCraft gửi cho chúng tôi một tin nhắn với thông tin đó.
void creeper (int d) {dist = d; }
Bây giờ bạn chỉ cần biên dịch và tải lên mã!
Bước 4: Bao vây
Tôi cắt laser tất cả các mảnh của vỏ bọc của mình, bao gồm một dây leo acrylic mờ, một dây leo acrylic trong suốt, 6 mảnh ván ép, với một lỗ hình chữ nhật có kích thước bằng kích thước của dây leo acrylic và lỗ ở các góc để buộc và 1 mảnh ván ép mặt sau có lỗ buộc và một lỗ lớn hơn để luồn dây ra ngoài. Ngắt kết nối dây khỏi thanh NeoPixel để chúng tôi có thể gắn nó vào hộp của chúng tôi. Hai tệp PDF dưới đây có thể được sử dụng để cắt laser tất cả các phần mà tôi đã mô tả.
Thanh NeoPixel được gắn vào miếng ván ép phía sau bằng vít gỗ số 2 và miếng đệm nylon. Các dây leo acrylic bị kẹt vào hai trong số các miếng ván ép có lỗ hình vuông. Trước khi làm như vậy, hãy chắc chắn rằng bạn nhớ màu dây nào sẽ đi với miếng đệm nào trên que.
Các dây leo acrylic có kích thước lớn hơn 1 phần trăm inch so với các lỗ để tạo cảm giác vừa khít với ván ép. Tôi sử dụng tay cầm của bộ tước dây để tạo áp lực tập trung vào từng góc và làm việc xung quanh toàn bộ dây leo để có được sự vừa vặn. Ngoài ra, acrylic laser pdf bao gồm một dây leo được khắc trong một mảnh có kích thước bằng toàn bộ mặt của vỏ bọc với các lỗ buộc để bạn có thể tránh phải lắp chặt với dây leo acrylic nhỏ hơn.
Acrylic mờ phân phối ánh sáng từ các đèn LED riêng lẻ và acrylic trong suốt cho thấy hình khắc dây leo tốt hơn, vì vậy cả hai kết hợp đều trông đẹp hơn đối với tôi hơn là riêng lẻ. Khi các dây leo đã vào đúng vị trí, hãy xếp tất cả các miếng ván ép của bạn lại với nhau và gắn chặt chúng với nhau bằng vít và đai ốc của máy M3. Sau đó kết nối lại dây với 5V, GND và chân 12.
Bước 5: Minecraft Forge và SerialCraft Mod
Bắt đầu bằng cách tạo tài khoản Minecraft, sau đó tải xuống và cài đặt ứng dụng khách Minecraft.
Bạn sẽ cần Minecraft Forge phiên bản 1.7.10 để có thể cài đặt bản mod SerialCraft. Truy cập trang tải xuống Minecraft Forge 1.7.10. Trang web Minecraft Forge có rất nhiều quảng cáo tìm cách khiến bạn nhấp nhầm và đưa bạn đến một nơi khác. Hãy làm theo những hình ảnh trên để đảm bảo bạn luôn đi đúng hướng! Bạn sẽ muốn nhấp vào nút Trình cài đặt trong phiên bản Khuyến nghị 1.7.10 (hoặc phiên bản mới nhất, tôi không thực sự chắc chắn về sự khác biệt). Bạn sẽ được đưa đến một trang có biểu ngữ ở đầu trang cho biết "Nội dung bên dưới tiêu đề này là quảng cáo. Sau khi đếm ngược, hãy nhấp vào nút Bỏ qua ở bên phải để bắt đầu tải xuống Forge của bạn." Đảm bảo rằng bạn đợi đếm ngược và sau đó nhấp vào nút Bỏ qua để bắt đầu tải xuống.
Nhấp đúp vào trình cài đặt sau khi tải xong. Để mặc định được chọn (Cài đặt Máy khách và đường dẫn mặc định mà nó chỉ định), sau đó bấm OK. Nó sẽ cài đặt Minecraft Forge. Khi nó kết thúc, bạn sẽ có thể khởi động Trình khởi chạy Minecraft, nhưng sẽ có thêm một tùy chọn để chọn phiên bản 1.7.10 của Forge (xem hình ảnh ở trên).
Bây giờ chúng ta cần cài đặt mod SerialCraft vào thư mục mod của bạn. Tải xuống phiên bản mới nhất của mod SerialCraft tại đây. Bạn cũng sẽ cần thư viện jssc. Giải nén cả hai tệp, sẽ để lại cho bạn hai tệp.jar. Bạn sẽ cần đặt các tệp đó vào thư mục mod của mình. Trên Windows, bạn có thể truy cập Run từ menu bắt đầu và nhập% appdata% \. Minecraft / mods trước khi nhấp vào Run. Trên máy Mac, bạn có thể điều hướng đến Trang chủ / Thư viện / Hỗ trợ ứng dụng / minecraft / mods. Thả hai tệp.jar vào thư mục bạn vừa mở. Bây giờ hãy chạy Minecraft và khởi chạy phiên bản 1.7.10 Forge. Bạn có thể nhấp vào Mods và xem SerialCraft được liệt kê ở bên tay trái.
Bước 6: Sử dụng SerialCraft Mod
Bây giờ bạn đã cài đặt xong mod SerialCraft, bạn sẽ cần phải bước vào một thế giới và bắt đầu sử dụng nó. Tạo một thế giới mới hoặc mở một trong những thế giới đã lưu của bạn (nếu bạn muốn chơi trên bản đồ nhiều người chơi, bạn sẽ cần đảm bảo rằng máy chủ và tất cả các máy khách kết nối với nó đã được cài đặt bản mod SerialCraft). Đảm bảo rằng Máy phát hiện cây leo của bạn được kết nối với máy tính của bạn, sau đó nhấn phím K. Nó sẽ hiển thị một hộp thoại như hình trên (trên Windows, thay vì /dev/tty.usbserial … nó sẽ nói một cái gì đó giống như COM1). Nếu không có gì được hiển thị, hãy đảm bảo rằng bạn đã kết nối Máy phát hiện cây leo. Nhấp vào nút Kết nối, sau đó nhấn Escape. Nếu mã của bạn được biên dịch và tải lên một cách chính xác, thì Trình phát hiện Creeper của bạn sẽ hoạt động tốt! Nếu Creeper nằm trong vòng 32 khối, nó sẽ sáng lên. Đi săn vui nhé!
Nếu bạn thích tính năng Có thể hướng dẫn này, hãy cân nhắc bỏ phiếu cho nó trong Cuộc thi Minecraft và Thử thách Epliog!
Giải nhì trong Thử thách Minecraft 2018
Đề 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ế
Creeper-BOT (Creeper Pet): 9 bước (có hình ảnh)
Creeper-BOT (Creeper Pet): Tôi luôn muốn tạo ra một robot bốn chân của riêng mình và cuộc thi Minecraft là một lý do chính đáng. Bên cạnh đó, tôi thực sự muốn có một 'thú cưng' của Creeper
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
Á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