Khuyến nghị cho Arduino [đóng]


7

Được rồi, đây là một số thông tin cơ bản dẫn đến câu hỏi [rõ ràng] với sự trau chuốt hơn: Tôi đã sử dụng PICAXE 28 pin cho các dự án nhỏ ở đây và ở đó trong vài năm qua và sẵn sàng để đi lên. Dự án hiện tại của tôi là PICAXE như một mô-đun thu thập dữ liệu. Tôi chỉ đơn giản là gắn bảng bên trong vỏ bọc, và chạy các đầu vào và đầu ra cho [rất nhiều] các đầu vít ở bên ngoài để hoán đổi thành phần nhanh chóng và không đau. (Và để hình dung rõ hơn, tôi cũng tích hợp bộ điều chỉnh 5V và đặt giắc cắm DC để tôi có thể nối một cái mụn treo tường vạn năng để lấy nguồn và nối kết nối USB với một mini-usb có thể cắm từ bên ngoài.) Chà, giao tiếp với máy tính khá là khó khăn với PICAXE và nó chỉ có thể được lập trình với chương trình chính thức của họ.

Vì vậy, tôi sẽ nâng cấp lên Arduino. Tôi đã suy nghĩ về Arduino Mega Starter Kit bởi vì nó có vẻ là linh hoạt nhất, và tôi biết rằng bất cứ bảng nào tôi nhận được sẽ là bảng tôi sẽ sử dụng trong một thời gian tốt. Nếu tôi có thể làm lại từ đầu, tôi đã bắt đầu với Arduino.

Điều tôi quan tâm nhất là thu thập dữ liệu và gửi dữ liệu trở lại máy tính của tôi, cũng như tự động hóa, điều mà tôi biết sẽ không phải là vấn đề. Tôi có kinh nghiệm với C và BASIC nhưng tôi thích C; Tôi không chắc liệu có sự khác biệt về ngôn ngữ trên Arduino hay không. Vì vậy, những gì bạn muốn giới thiệu là Arduino linh hoạt nhất sẽ hoàn thành mục tiêu hiện tại của tôi và giữ cho tôi béo và hạnh phúc về khả năng cho bất kỳ điều kỳ lạ nào tôi muốn làm tiếp theo?

Như một câu hỏi phụ: có thể giao tiếp bất kỳ (hoặc tất cả) Arduino với LabVIEW không?

Câu trả lời:


7

Có vẻ như bạn đã trả lời phần lớn câu hỏi của riêng bạn. Mega cho đến nay là lớn nhất và mạnh nhất của Arduinos. Cá nhân tôi nghiêng về số lượng thay vì chất lượng, vì vậy tôi sẽ nhận được hai Arduinos rẻ hơn. Tôi thấy các tiêu đề nữ trên arduinos có phần hạn chế, vì vậy các Arduinos khác nhau có xu hướng nhận được cái gật đầu của tôi ( Thực sự Bare Bones BoarduinoBoarduino). Bạn thường chọn hai điều khi bạn chọn một Arduino: nó có bao nhiêu đầu vào / đầu ra và cách giao tiếp với nó. Rõ ràng bạn đang đứng đầu các câu hỏi i / o, nhưng bạn có thể muốn suy nghĩ xem bạn sẽ sử dụng USB hay nối tiếp (có thể thông qua USB -> bộ chuyển đổi nối tiếp) để lập trình Arduino. Nếu bạn chỉ mua một hoặc hai bảng, thì USB là dễ nhất và rẻ nhất. Nếu bạn sắp kết thúc với 3 bảng trở lên, có thể rẻ hơn khi mua bảng chỉ nối tiếp và một bộ chuyển đổi nối tiếp USB -> riêng biệt ( cáp FTDI hoặc bảng ngắt cơ bản FTDI ).

Arduino cơ sở có khả năng đáng kinh ngạc và khá dễ dàng để thêm các đầu vào bổ sung với các IC ghép kênh giá rẻ. Nếu bạn không có nhu cầu ngay lập tức cho các đầu vào bổ sung, có thể đáng để bắt đầu với một bảng rẻ hơn.

Nếu bạn đang sử dụng Arduino IDE, thì bạn sẽ lập trình bằng C ++ trên tất cả các Arduinos. Tài liệu Arduino có xu hướng khuyến khích chỉ sử dụng nhiều hơn một chút so với tập con C của C ++ (về cơ bản là C chỉ với một hoặc hai tính năng bổ sung), vì vậy một lập trình viên C sẽ cảm thấy rất thoải mái. Là một phần thưởng bổ sung, bạn có thể làm những việc như khai báo các biến ngay trước khi bạn sử dụng chúng, thay vì phải làm như vậy khi bắt đầu các hàm. Mặt khác, coi chừng sự khác biệt từ thư viện chuẩn C. sprintf ("% f", foo) và một số thứ khác không hoạt động theo mặc định. Khi nghi ngờ, nhấn arduino.cc và tìm kiếm.

Đối với việc liên lạc trở lại máy tính, cá nhân tôi đang sử dụng Ruby on Rails để nói chuyện với các dự án Arduino của tôi, nhưng hầu hết mọi người dường như thích Xử lý. Tất cả sôi sục xuống một cổng nối tiếp, vì vậy bạn có thể sử dụng bất cứ thứ gì bạn cảm thấy thoải mái nhất.


Câu trả lời tuyệt vời - Tôi đã dự định mua ATMega được xác định là lớn nhất, nhưng bạn giữ một điểm rất tốt với nhiều bảng rẻ hơn và thêm đầu vào nếu cần thiết bằng cách sử dụng bộ ghép kênh. Tôi nghĩ rằng đây là con đường mà tôi sẽ đi. Giới hạn ảo của các đầu vào được xây dựng trước sẽ được bù đắp rất nhiều bởi các khả năng bổ sung của việc có nhiều bảng. Tôi sẽ sử dụng USB tất nhiên cho đến khi tôi xây dựng một cái gì đó tốt hơn (bluetooth trong tương lai, nhưng chỉ đơn thuần là một cầu nối tiếp nên không khác biệt về mặt triết học so với nối tiếp-> usb).
iklln6

3

Đến nay, tất cả các hệ thống tương thích và Arduino của Arduino đều bao gồm một bo mạch với chip Atmel (chẳng hạn như '168 hoặc 328), bộ tải khởi động, thư viện cấp cao và GUI đa nền tảng. Bộ tải khởi động cho phép bạn tải xuống các chương trình được phát triển trên máy chủ bằng cổng nối tiếp uC. Hầu hết mọi người chuyển đổi cổng nối tiếp uC sang kết nối USB bằng cách sử dụng một số loại USB FTDI sang giao diện nối tiếp. Giao diện nối tiếp / USB có thể được sử dụng với LabView.

Bạn có thể sử dụng các bảng này như Arduinos hoặc như các hệ thống nhúng. Hầu hết các bảng này có tiêu đề 3x2 phù hợp với đặc điểm kỹ thuật ICSP của Atmels. Sử dụng bộ chuyển đổi USB sang ICSP (chẳng hạn như ATmel AVRISPMKII), bạn có thể lập trình bảng mà không cần bộ tải khởi động hoặc thư viện Arduino. Có rất nhiều thư viện Atmel mà bạn có thể sử dụng để phát triển C độc lập. Hầu hết sự phát triển của tôi được thực hiện bằng cách sử dụng cổng ICSP, gcc và Makefile. Các thư viện Arduino làm một công việc tuyệt vời là cung cấp kiểm soát phần cứng ở mức cao. Đôi khi sự đánh đổi là hiệu suất. Trong một ứng dụng gần đây, tôi nhận thấy một sự cải thiện tốc độ lớn khi tôi thay đổi các câu lệnh DigitalWrite thành các hoạt động bitet và bitclear.

Bảng đúng phụ thuộc nhiều hơn vào ứng dụng của bạn -

  1. Bạn cần bao nhiêu I / O kỹ thuật số?
  2. Là uC A / D đủ chính xác và độ phân giải?
  3. Bạn có yêu cầu đầu ra tương tự? Độ chính xác và độ phân giải là gì?
  4. Bạn có yêu cầu điều hòa tín hiệu?
  5. Bạn có yêu cầu cách ly?
  6. Bạn có yêu cầu đánh dấu thời gian của dữ liệu trên bảng uC hoặc có thể được xử lý bởi máy chủ không?
  7. Bạn cần bao nhiêu giao diện nối tiếp? (Hai ứng dụng cuối cùng tôi đã thực hiện có thể đã sử dụng thêm một UART;)

Nếu bạn không thể sử dụng A / D trên uC và bạn không cần UARTs, bạn có thể tốt hơn với bảng nhỏ hơn. Hệ thống thu thập dữ liệu lớn cuối cùng tôi đã sử dụng một uC chỉ với một vài thiết bị ngoại vi. Chúng tôi cần một A / D 16 bit và một bộ xử lý 14 bit. Không có ý nghĩa gì trong việc trả tiền cho một bộ xử lý A / D 10 bit hoặc 8 bit bên trong.

Tôi tạo ra một vài bảng tương thích với Arduino đưa ra tất cả các kết nối I / O vào một tiêu đề duy nhất. Bạn có thể tạo một hệ thống có bảng đồng phẳng, bảng xếp chồng, bảng từ xa (một dây ruy băng) hoặc bảng nối đa năng. Bảng nối đa năng có thể hữu ích cho hệ thống thu thập dữ liệu sử dụng thẻ ngoại vi. Hội đồng quản trị của tôi đang ở http://www.wiblocks.com


2

Nếu bạn chỉ thực hiện thu thập dữ liệu, Mega có vẻ hơi thừa, trừ khi tất nhiên bạn đang sử dụng hàng tấn cảm biến và hoặc cần nhiều cổng nối tiếp. Tôi sẽ nói rằng chỉ cần thu thập dữ liệu, bạn sẽ làm tốt chỉ với Diecimila (một lần nữa tùy thuộc vào những gì bạn thực sự cần làm với nó)


Tôi biết Mega hơi quá mức cho một nhiệm vụ thu thập dữ liệu đơn giản, nhưng tôi không muốn bị giới hạn nếu tôi có được mái tóc hoang dã để sử dụng hàng tấn cảm biến. Một vài năm trước tôi đã mua thiết lập PICAXE để xây dựng robot đầu tiên của mình, nhưng bây giờ tôi ước mình sẽ thực hiện nhiều nghiên cứu hơn để có được thứ gì đó đầy đủ tính năng hơn để hỗ trợ chứng nghiện không thể tránh khỏi. Tôi cho rằng một câu hỏi thích hợp hơn có thể là "Bảng mạch Arduino nào có nhiều chức năng / tính năng nhất?" nhưng tôi không biết nếu câu hỏi đó không thể trả lời được do cài đặt dành riêng cho ứng dụng.
iklln6

Bạn có thể nói rằng Mega có nhiều tính năng hơn, nhưng sự chặt chẽ của nó phụ thuộc vào thiết lập của bạn. Nếu tất cả các cảm biến của bạn là I2C thì không có sự khác biệt nào, tất cả chúng có thể được điều khiển thông qua một bus I2C duy nhất, mà tất cả các arduinos đều có, mặt khác là một câu chuyện khác.
zklapow


1

Vâng, tôi sẽ nhận được hai Arduinos thông thường thay vì Arduino MEGA, trừ khi bạn đặc biệt có một dự án đòi hỏi nhiều I / O.

Thật dễ dàng để thực hiện một dự án mà bạn muốn giữ xung quanh, vì vậy thay vì xé nát mạch của bạn để thực hiện một dự án mới, hãy giữ nó và chỉ cần lấy một Arduino khác. Nếu chi phí của một Arduino thông thường là quá nhiều, bạn có thể xây dựng một bộ Freeduino. Và nếu đó là quá nhiều, bạn có thể làm cho một thiết lập tối thiểu Arduino sử dụng chỉ là một ATmega8, một điện trở và một tụ điện.


1

Một giải pháp hơi khác cho câu hỏi của bạn là hãy nhớ rằng PicAXE của bạn chỉ là một PIC được lập trình sẵn, hướng dẫn liệt kê các tương đương sau:

  • PICAXE-28X1 = PIC16F886
  • PICAXE-28X2 = PIC18F2520 (phiên bản 3V PIC18F25K20)

và chip lỗi thời:

  • PICAXE-28A = PIC16F872 (Được thay thế bởi 28X1)
  • PICAXE-28X = PIC16F873A (Được thay thế bởi 28X1)

Vì vậy, về mặt lý thuyết, bạn có thể có được một Lập trình viên hỗ trợ các PIC này và lập trình lại chúng trong C hoặc Trình biên dịch, xóa sạch bộ tải khởi động PicAXE và sử dụng chúng làm PIC tiêu chuẩn. Bằng cách này bạn có thể lập trình chip của mình linh hoạt hơn nhiều.

Vì vậy, bạn có thể lấy chip trong bộ ghi dữ liệu của mình, lập trình lại nó trong C để làm bất cứ điều gì bạn muốn và thay thế nó trong cùng một mạch. Mặc dù bạn có thể phải loại bỏ mạch lập trình PicAXE nếu bạn có nó tại chỗ nhưng tôi không biết nó bắt chước mạch ICSP PIC như thế nào (tôi nghĩ bạn sẽ không sử dụng giắc âm thanh).


1

một bản sao arduino gần như đầy đủ chức năng (ví dụ: một bộ đôi bằng Fund Fundogic ) có thể có giá chỉ từ 10-12 đô la ... và một khi bạn đã tạo mẫu xong, có thể dễ dàng nhúng nó vào dự án của bạn và phát hành nó trong tự nhiên . Nhúng một Arduino (TM) đầy đủ sẽ là quá mức cần thiết. Tôi muốn lấy những cái rẻ nhất và lấy cáp FTDI để tải lên 'bản phác thảo' (thông qua IDE arduino), v.v. Bạn cũng có thể muốn có một lập trình viên ISP nếu bạn dự định đặt bộ tải khởi động tùy chỉnh, v.v. chip bằng cách tự đốt bộ nạp khởi động)

Tôi là người mới bắt đầu và tôi đã nhận được bảng Duemilanove, nhưng cuối cùng tôi cũng nhận được một boarduino sau khi chơi với bản gốc, vì nó dễ dàng hơn nhiều để tạo nguyên mẫu với nó ngay trên bảng. Trong tương lai, tôi dự định chỉ xây dựng tem "duino" barebones hoặc tương đương để nhúng trong bất kỳ dự án nào.

Arduino (tm) thật tuyệt khi bắt đầu, nhưng tôi đã nhận thấy rất nhanh rằng đối với các dự án thực tế mà tôi dự định phát hành vào tự nhiên tôi cần một thứ linh hoạt hơn ... và rẻ hơn (cộng với các tiêu đề nữ có thể hơi khó chịu , mặc dù chúng tuyệt vời cho người mới bắt đầu)


0

Hãy xem xét một số bảng barebones ở dạng kit, hoạt động độc đáo với Breadboard, rất rẻ. Hạn chế: chúng là rs 232 ttl và không có lá chắn. Maker shed có một số bộ điều hợp từ std 232. Moderndevice.com lấy bảng. Dưới 15 đô la như tôi kể lại.


0

Một lợi thế lớn cho Mega là nó có nhiều bộ nhớ và RAM hơn, đặc biệt, khá hạn chế trên các bộ điều khiển vi mô. Tùy thuộc vào loại thử nghiệm nào bạn muốn thực hiện, bạn có thể đánh giá cao đèn flash bổ sung cho các chương trình lớn và lưu trữ chuỗi không đổi; và chắc chắn bạn sẽ đánh giá cao không gian RAM bổ sung cho mảng, nhật ký, bộ đệm vòng, danh sách được liên kết, v.v., mà không phải phát minh ra các sơ đồ nén (khá thường xuyên ...) để phù hợp với ít RAM hơn, đặc biệt là trong khi bạn gỡ lỗi hoặc thử nghiệm các khái niệm.


0

Một tùy chọn khác cho một arduino dựa trên bánh mì tương thích là Teensy . Chúng có đầu nối mini-USB, do đó bạn không cần USB bên ngoài để nối tiếp và có thể được lập trình như một Arduino sử dụng mã được cung cấp miễn phí để thêm vào Arduino IDE (hoặc chương trình là một AVR thẳng, tùy bạn chọn). Chúng có sẵn có và không có tiêu đề cho bánh mì. Tôi đã sử dụng một vài trong số này cho các dự án khác nhau.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.