Mục lục:

Kiểm tra Arduino trần, với phần mềm trò chơi sử dụng đầu vào điện dung & đèn LED: 4 bước
Kiểm tra Arduino trần, với phần mềm trò chơi sử dụng đầu vào điện dung & đèn LED: 4 bước

Video: Kiểm tra Arduino trần, với phần mềm trò chơi sử dụng đầu vào điện dung & đèn LED: 4 bước

Video: Kiểm tra Arduino trần, với phần mềm trò chơi sử dụng đầu vào điện dung & đèn LED: 4 bước
Video: Hướng dẫn sử dụng phần mềm Proteus mô phỏng lập trình Arduino điều khiển đèn led. 2024, Tháng mười một
Anonim
Thử nghiệm Arduino trần, với phần mềm trò chơi sử dụng đầu vào điện dung và đèn LED
Thử nghiệm Arduino trần, với phần mềm trò chơi sử dụng đầu vào điện dung và đèn LED
Thử nghiệm Arduino trần, với phần mềm trò chơi sử dụng đầu vào điện dung và đèn LED
Thử nghiệm Arduino trần, với phần mềm trò chơi sử dụng đầu vào điện dung và đèn LED

Trò chơi tương tác "Push-It" sử dụng bảng Arduino trần, không cần bộ phận bên ngoài hoặc dây dẫn (sử dụng đầu vào 'cảm ứng' điện dung). Hình trên cho thấy nó chạy trên hai bảng khác nhau.

Push-It có hai mục đích.

  1. Để nhanh chóng chứng minh / xác minh rằng bảng Arduino của bạn hoạt động và bạn đã thiết lập đúng cách để tải xuống bản phác thảo mã mới cho nó. Bạn sẽ có thể thấy rằng nó thực hiện đầu vào và đầu ra (cảm nhận mức đầu vào kỹ thuật số, đầu ra cho đèn LED trên bo mạch); lưu trữ và phục hồi một giá trị từ bộ nhớ EEPROM không bay hơi. Tất cả mà không cần gắn bất kỳ dây hoặc thiết bị nào.
  2. Cung cấp một trò chơi giải trí và đầy thử thách tương tác với bảng Arduino.

Hướng dẫn này giả định rằng bạn đã cài đặt Arduino IDE và ít nhất là quen thuộc với việc sử dụng nó. Nếu không, tôi sẽ giới thiệu bạn đến các liên kết này:

Bắt đầu với Arduino

Thêm hỗ trợ Digispark (với bộ nạp khởi động) vào IDE Arduino 1.6.x hiện có

Push-It sẽ hoạt động với hầu hết mọi bảng Arduino, ví dụ: bo mạch Nano, Uno hoặc DigiSpark Attiny85 Tôi đã thử nghiệm nó với Nano 3.1 và DigiSpark.

Bước 1: Có những thứ bạn cần

Đó chỉ đơn giản là bất kỳ Arduino hoặc bo mạch có thể so sánh được.

Nếu bạn chưa có, tôi khuyên bạn nên bắt đầu với DigiSpark Pro (~ $ 12) hoặc Nano 3.0 từ eBay với giá ~ 3 đô la (nhưng bạn sẽ có thêm một hoặc hai tuần để đợi nó đến từ Trung Quốc; và bạn sẽ cần cài đặt trình điều khiển USB CH340). DigiSpark ~ $ 10 (không phải Pro) rất phù hợp cho trò chơi 'video' đơn lẻ này (Đơn vị đã rút gọn này, chỉ có 6 I / Os, khó tải lên hơn một chút)

Liên kết đến phần cứng được sử dụng ở đây:

Nano V3.0 Atmega328P trên eBay

Ban phát triển USB Digispark

Bước 2: Tìm nạp và tải xuống mã

Tìm nạp và tải xuống mã
Tìm nạp và tải xuống mã

Sao chép mã bên dưới vào tệp phác thảo arduino (ví dụ:… / Push_It / Push_It.ino) Tôi đã cố gắng nhận xét nó khá tốt. Tôi hy vọng bạn tìm thấy mã dễ hiểu. Logic để xác định khi nào thì tăng, giảm và khi nào thì không hơi phức tạp, nhưng phần đó cũng là mã chuyên biệt và không hữu ích chung. Arduino IDE xem:

Tạo một phác thảo Arduino mới

Tải xuống bản phác thảo 'Push_It' vào bộ vi mạch của chúng tôi theo hướng dẫn Arduino IDE cho bo mạch của bạn.

Bước 3: Chơi

Đang chơi
Đang chơi

Mục tiêu của trò chơi là làm cho đèn LED (trên bo mạch) nhấp nháy nhiều lần nhất có thể trong một tập hợp các nhấp nháy sau đó lặp lại

Chơi trò chơi:

Push-It bắt đầu với một đèn flash, sau đó sẽ lặp lại. Nếu bạn chạm ngón tay vào gần chốt đầu vào khi đèn LED đang bật, chu kỳ tiếp theo đèn LED sẽ nhấp nháy hai lần.

Mỗi lần bạn nhấn nút giả trong lần nhấp nháy đầu tiên của một nhóm đèn flash, một đèn flash khác sẽ được thêm vào nhóm đó. Nói chung, không có vấn đề gì khi bạn nhấc / bỏ ngón tay của mình.

Nhưng nếu bạn 'đẩy' trước hoặc sau lần nhấp nháy đầu tiên, số lần nhấp nháy trong một tập hợp sẽ bị giảm.

Nếu bạn không làm gì thêm, số lần nhấp nháy trong một tập hợp sẽ được duy trì. Hơn nữa khi số đếm không thay đổi trong một chu kỳ đầy đủ, số đếm được lưu vào bộ nhớ EEPROM.

Mỗi khi bạn cố gắng tăng số lượng đèn flash, tốc độ thời gian sẽ tăng lên một chút, khiến bạn ngày càng khó đạt được số lượng đèn flash cao. Khi bạn thực hiện một cú trượt lên và số lần nhấp nháy giảm đi, sẽ có một khoảng dừng lâu hơn trước khi bắt đầu nhấp nháy của chu kỳ tiếp theo. Điều này cung cấp thêm một thách thức, vì nó có thể làm tăng khả năng bạn nhảy súng. Vì vậy, hãy luôn tỉnh táo.

Khi bạn đã nhận được đơn vị của mình lên đến số lượng flash cao, bạn có thể mang nó (hoặc gửi nó qua đường bưu điện, DigiSpark rất tốt cho bạn bè), nơi mà sau khi cắm nó vào, họ sẽ thấy bạn đã đạt được số lượng flash cao như thế nào đến. Tôi đã thấy khó khăn để có được nó lên đến hơn 8. Với một nút thực tế được đính kèm, tôi đã cố gắng đạt được nó lên đến hơn một tá. Để hoàn nguyên về số lượng thấp hơn, bạn có thể nhấn liên tục vào bất kỳ lúc nào trước hoặc sau lần nhấp nháy đầu tiên. Ngoài ra, nếu bạn nhảy chốt đầu vào xuống đất trong khi tăng nguồn, số đếm sẽ được đặt lại thành 1.

Lưu ý rằng bảng DigiSpark ban đầu có độ trễ 10 giây sau khi bật nguồn, trước đó nó sẽ bắt đầu thực hiện mã 'Push-It' và chơi trò chơi. Nó sử dụng thời gian này để cố gắng nói chuyện thông qua các chân USB để nhận được bản cập nhật mã tải xuống mới có thể.

Nếu bảng Arduino bạn đang sử dụng có đèn LED USB TX, đèn LED này sẽ có đèn flash nhỏ nhanh chóng khi bạn đã 'nhấn nút' hiệu quả. Sẽ có nhiều nhấp nháy đáng kể hơn của đèn LED này khi giá trị đếm trong EEPROM được cập nhật với giá trị mới. Phản hồi này có thể hỗ trợ bạn rất nhiều trong việc biết khi nào hoặc đảm bảo rằng bạn đã kích hoạt hiệu quả sự kiện 'nút nhấn'. Bạn có thể cần đảm bảo rằng bạn không chạm đất vào mạch điện (như kim loại xung quanh đầu nối micro-USB) để hình vẽ của bạn thực sự gây ra tiếng ồn trên chân cắm đầu vào đang mở. Sẽ có thêm những thách thức không thể đoán trước được do thực tế là chân đầu vào nổi (không được kéo lên hoặc xuống bởi tải dẫn điện / điện trở) và nhiễu tín hiệu có thể thay đổi truyền qua ngón tay của bạn.

Sóng vuông 250Hz được xuất ra một chân bên cạnh chân đầu vào, điều này giúp cải thiện đáng kể độ chắc chắn của tín hiệu đầu vào được đưa vào khi ngón tay của bạn che cả hai chân.

Tôi nhận thấy phản ứng của bảng DigiSpark có thể dự đoán được khá nhất quán với một chút bóp các ngón tay vào góc bảng nơi D3-D5 đang ở.

Khi tôi chơi 'Push-It', tôi thích làm như vậy với bảng được kết nối với bộ pin di động USB 5v (xem ảnh). Chúng thường có thể được tìm thấy với giá rẻ trong các thùng bên cạnh các bộ điều hợp tự động USB AC và 12v; trong hầu hết các cửa hàng bách hóa, bộ phận điện tử.

Bước 4: Thử nghiệm tùy chọn với các thành phần bên ngoài

Thử nghiệm tùy chọn với các thành phần bên ngoài
Thử nghiệm tùy chọn với các thành phần bên ngoài

Xin lưu ý: Nếu bạn đính kèm một nút thực, có một dòng mã cần được chú thích, như đã nêu trong mã.

Với loa, một mặt tiếp đất, nếu bạn chạm vào dây dẫn còn lại đến D4, bạn sẽ nghe thấy âm thanh của sóng vuông 250 Hz. Tại D3 có sóng vuông tần số 500Hz. Nếu bạn kết nối loa giữa D3 và D4, bạn sẽ nghe thấy sự kết hợp của hai tín hiệu.

Việc gắn đèn LED thay vì loa như trên rất thú vị. Không cần quan tâm đến điện áp, mức dòng điện, điện trở, hoặc thậm chí là cực tính cho vấn đề đó (trường hợp tệ hơn là nó không sáng, sau đó chỉ cần xoay nó lại). Trước hết, hãy thử với dây dẫn âm (cực âm) được nối với đất và dây kia với D3 hoặc D4. Đèn LED sẽ sáng 'một nửa' do các sóng vuông. Hơn nữa, không cần điện trở vì đầu ra của MicroControllerUnits hiện có giới hạn. Tôi đã thực hiện các phép đo hiện tại dẫn đến 15ma và 20ma cho các MCU Attiny85 và Atmega328 tương ứng. Các mức này là khoảng một nửa giá trị giới hạn hiện tại cho các bộ phận này do tính chất chu kỳ làm việc 50% của các tín hiệu sóng vuông điều khiển. Các chỉ số của đồng hồ thực tế là giá trị trung bình của dòng điện qua mạch được thử nghiệm.

Điều thú vị là, nếu bạn kết nối giữa D3 và D4 với đèn LED (xem hình ảnh bên trên và bên trái), nó sẽ sáng theo hai chiều và ở mức khoảng ½ độ sáng như đã làm với một bên được kết nối với mặt đất. Tôi mời bạn suy ngẫm tại sao.

Đề xuất: