Mục lục:

Guino: Bảng điều khiển cho Arduino của bạn: 4 bước (có hình ảnh)
Guino: Bảng điều khiển cho Arduino của bạn: 4 bước (có hình ảnh)

Video: Guino: Bảng điều khiển cho Arduino của bạn: 4 bước (có hình ảnh)

Video: Guino: Bảng điều khiển cho Arduino của bạn: 4 bước (có hình ảnh)
Video: Ben Heck's Portable N64 Part 2 2024, Tháng sáu
Anonim
Guino: Trang tổng quan cho Arduino của bạn
Guino: Trang tổng quan cho Arduino của bạn
Guino: Trang tổng quan cho Arduino của bạn
Guino: Trang tổng quan cho Arduino của bạn
Guino: Trang tổng quan cho Arduino của bạn
Guino: Trang tổng quan cho Arduino của bạn
Guino: Trang tổng quan cho Arduino của bạn
Guino: Trang tổng quan cho Arduino của bạn

Dự án này là một phần của các thử nghiệm được thực hiện trong khi thực hiện một nghệ sĩ sống tại nội trú tại Guiductables. Bạn có thể xem các dự án khác tại đây. Nó có thể là một nhiệm vụ phức tạp để gỡ lỗi và trực quan hóa dữ liệu thời gian thực trên bảng Arduino. Bạn thường bị mắc kẹt với đầu ra nối tiếp tiêu chuẩn, vì độ phức tạp của mã Arduino của bạn ngày càng tăng, điều này khiến bạn không thể hiểu những gì đang thực sự diễn ra bên trong bảng. Để giải quyết vấn đề này, tôi đã tạo một thư viện nhỏ cho phép bạn tạo GUI tùy chỉnh của riêng mình cho các dự án Arduino của bạn. Xem video này để có được phần trình diễn về hello world cơ bản với nồi kế và diode: Hiện tại, chương trình có các khả năng và tính năng sau: Thiết kế tùy chỉnh giao diện của bạn từ bảng Arduino Bạn xác định thanh trượt, đồ thị và nút nào bạn cần cho giao diện của bạn. Bạn làm điều này trong bản phác thảo Arduino của mình, điều đó có nghĩa là chương trình gui hoạt động như một nô lệ cho bản phác thảo. Tất cả thông tin được lưu trữ trong bo mạch của bạn. Điều này cho phép bạn hiểu liệu đó là phần cứng của bạn hay mã đang gây ra sự cố. Hơn nữa, các thanh trượt và nút cho phép bạn tinh chỉnh các thông số riêng lẻ trong thời gian thực. Bằng cách này, bạn có thể thấy các ngưỡng khác nhau có ảnh hưởng gì đến tương tác. Các thông số sẽ được tự động tải vào lần tiếp theo bạn bật nguồn cho bo mạch, ngay cả khi máy tính không được kết nối. Sử dụng cùng một ứng dụng cho tất cả các dự án Arduino của bạn. Tôi đã tạo rất nhiều ứng dụng nhỏ cho các dự án khác nhau. Vấn đề của tôi luôn là tìm lại chúng một năm sau đó. Bởi vì chúng tôi lưu mọi thứ trong Arduino, tôi chỉ cần giữ một ứng dụng xung quanh Arduino sẽ tự động định cấu hình ứng dụng cho dự án hiện tại.), bạn có thể tạo mẫu giao diện trước khi tạo giao diện vật lý. Điều này cũng cho phép bạn phân chia nhiệm vụ giữa nhiều người, ví dụ: một người đang làm việc trên phần cứng và một người khác đang làm việc trên mã. Khi bạn đã tạo giao diện vật lý, Guino sẽ tích hợp liền mạch. Sử dụng nó làm trang tổng quan toàn màn hình Bạn có thể sử dụng nó làm trang tổng quan toàn màn hình bằng cách nhấn F và nhấn T để chuyển đổi chế độ hiển thị của bảng cài đặt. Bằng cách này, bạn chỉ trình bày giao diện tùy chỉnh của mình cho thế giới xung quanh bạn. Kiểm soát màu nền Có thể kiểm soát màu nền từ Arduino, điều này cho phép bạn tạo các màu khác nhau cho các bản phác thảo khác nhau. Nó cũng có thể được sử dụng để cảnh báo khi có sự cố. Nó có thể có màu xanh khi mọi thứ đều ổn và màu đỏ khi có vấn đề gì đó. Fast và Slim Tôi đã rất cẩn thận trong việc làm cho dấu chân trên Arduino càng nhỏ càng tốt - Nó chỉ lưu trữ một lượng dữ liệu tối thiểu trong bộ nhớ (cụ thể là một con trỏ danh sách 100 mặt hàng). Cài đặt này có thể được thay đổi thành thấp hơn hoặc cao hơn tùy thuộc vào số lượng vật phẩm gui bạn dự định có trong giao diện của mình. Hơn nữa, hệ thống dựa vào thư viện EasyTransfer chuyển thông tin ở dạng nhị phân. Mỗi gói bao gồm một byte cho lệnh, một byte cho mục # và một số nguyên cho giá trị. Tốt nhất, tất cả dữ liệu của bạn nên được chuẩn hóa thành một phạm vi số nguyên có dấu 16 bit. Điều này có nghĩa là sử dụng tối ưu cổng nối tiếp khi làm việc với số nguyên (về mặt kỹ thuật, chúng tôi sử dụng thêm một chút không gian cho tổng kiểm tra). Tốt cho Sách hướng dẫn GUI cho phép bạn tạo Sách hướng dẫn chỉ yêu cầu các thành phần cốt lõi. Các thành phần bổ sung như nồi kế, v.v. có thể được thực hiện hầu như thông qua gui. Nó được viết bằng Openframeworks nên nó cũng có thể chạy trên các nền tảng khác. Vì ứng dụng đang sử dụng cổng nối tiếp nên bạn sẽ không thể kết nối các chương trình khác với Arduino. Điều này sẽ được giải quyết trong một bản phát hành trong tương lai, bao gồm Điều khiển âm thanh mở và cầu nối Midi. Tín dụng: Lập trình và ý tưởng bởi: Mads Hobye Thư viện Easytransfer của: Bill Porter Thư viện GUI của: Reza Ali

Bước 1: Bắt đầu

Bắt đầu
Bắt đầu
Bắt đầu
Bắt đầu
  • Tải xuống và giải nén gói GUINO.
  • Tải xuống Arduino
  • Sao chép thư mục thư viện vào thư mục thư viện Arduino của bạn (cách thực hiện tại đây)
  • Khởi động lại Arduino.
  • Mở một trong các ví dụ trong Arduino. (Menu: Tệp -> Ví dụ -> Guino -> chọn một)
  • Nếu bạn sử dụng ví dụ đơn giản sau đó làm một mạch như minh họa ở trên.
  • Tải lên ví dụ.
  • Chạy ứng dụng Guino.
  • Chọn cổng nối tiếp (Thường là cổng cuối cùng)
  • Nhấn kết nối.

Nguồn có thể được tìm thấy ở đây.

QUAN TRỌNG: Khi sử dụng nó trên nền tảng Windows, bạn phải sử dụng cổng com thấp hơn hoặc bằng 10. Nếu bạn sử dụng cổng 10 trở lên, hệ thống sẽ không hoạt động. Đây là một lỗi trong openframeworks.

Bước 2: Cách sửa đổi mã

Cách sửa đổi mã
Cách sửa đổi mã

Để thư viện hoạt động với bản phác thảo của bạn, bạn cần một vài phương pháp bổ sung. Tôi đã mô tả chúng bên dưới: gInit () đây là nơi bạn xác định bố cục của mình Phương pháp này xác định bố cục bằng cách thêm các thành phần một cách tuần tự. Các thành phần có thể thay đổi (thanh trượt, các nút, v.v.) có một biến gắn liền với nó. Dấu & ở phía trước biến có nghĩa là chúng ta không muốn truyền giá trị trong biến mà muốn chuyển một tham chiếu (con trỏ) cho biến. Bằng cách này, hệ thống Guino sẽ tự động cập nhật chúng khi các thay đổi xảy ra trong GUI. void gInit () {gAddLabel ("SLIDERS", 1); gAddSpacer (1); gAddSlider (3, 200, "WIDTH", & width); gAddSlider (3, 200, "HEIGHT", & height); gAddSlider (0, 255, "LED BRIGHTNESS", & ledLight); // Thanh trượt quay gAddLabel ("ROTARY SLIDERS", 1); gAddSpacer (1); [………….] GAddColumn (); // Thêm nhiều thứ ở đây. gSetColor (r, g, b); // Đặt màu của giao diện gui. } GButtonPressed (int id) được gọi bất cứ khi nào một nút được nhấn Nói chung, các biến có thể được cập nhật tự động, nhưng trong trường hợp là nút, nó cần phải là một sự kiện mà bạn quan tâm. Trong ví dụ này, chúng tôi đặt biến chiều cao thành 100 khi ai đó nhấn nút. void gButtonPressed (int id) {if (buttonId == id) {height = 100; gUpdateValue (& height); }} gItemUpdated (int id) Điều này được gọi bất cứ khi nào và mục đã được cập nhật Thông thường không cần sử dụng nó vì hệ thống sẽ tự động cập nhật các biến. Nếu bạn muốn phản ứng với một thay đổi, bạn có thể sử dụng nó như vậy. Trong trường hợp này, chúng tôi sẽ cập nhật màu nền bất cứ khi nào một trong 3 thanh trượt xoay được thay đổi. void gItemUpdated (int id) {if (rotaryRID = id || rotaryGID == id || rotaryBID == id) {gSetColor (r, g, b); }}

Bước 3: Một vài mẹo nhanh

Hãy nhớ ngắt kết nối khi tải lên bản phác thảo mới Bạn không thể chạy Guino trong khi tải bản phác thảo mới lên bảng Arduino, vì chúng sử dụng cùng một kết nối nối tiếp. Điều này yêu cầu bạn ngắt kết nối mỗi khi tải lên bản phác thảo mới. Nếu bạn (và bạn sẽ) cố gắng tải lên trong khi kết nối Guino, bo mạch có thể chuyển sang trạng thái kỳ lạ khi nó đang chạy, nhưng không hoàn toàn. Tại thời điểm này, lựa chọn duy nhất của bạn là đặt lại bo mạch bằng cách nhấn nút đặt lại hoặc bằng cách ngắt kết nối và kết nối lại cáp usb. Sau đây là những lỗi mà người ta nên biết:

  • setMin không hoạt động trên movingGraph (dường như có một lỗi trong thư viện GUI cần được sửa). Vì vậy, mức tối thiểu vẫn bằng 0.
  • Danh sách nối tiếp được tải khi bắt đầu chương trình. Arduino phải được cắm vào trước khi bắt đầu chương trình. Làm mới danh sách nối tiếp trong khi chạy gây ra sự kiện xấu. Nó vẫn chưa được giải quyết.
  • Loay hoay với danh sách nối tiếp - đôi khi khiến chương trình gặp sự cố (cùng một sự kiện gui như làm mới - phải tìm nguồn)
  • Nền các nút chuyển đổi trở thành màu đen tùy thuộc vào quá trình khởi tạo. Tôi cần thiết lập nền theo cách thủ công.
  • Trên một số nền tảng windows, cổng com không hiển thị. Có thể là một vấn đề về trình điều khiển ftdi.

Bước 4: Các trường hợp sử dụng

Trường hợp sử dụng
Trường hợp sử dụng

Nếu bạn muốn xem một số trường hợp sử dụng với giao diện Guino, hãy chuyển đến mục Có thể hướng dẫn này.

Đề xuất: