Arduino có phải là lựa chọn phù hợp cho dự án của bạn?

Nếu bạn có ý định thực hiện một dự án cho riêng mình, đa phần bạn sẽ phải tìm kiếm rất nhiều nguyên vật liệu, linh kiện và board điều khiển với nhiều thành phần khác nhau. Vì thế, hệ sinh thái Arduino, có phải là một lựa chọn lý tưởng, dành cho người mới bắt đầu, dành cho bạn? Và bạn sẽ mong đợi điều gì khi bắt đầu bước chân vào hệ sinh thái này.

Board điều khiển lý tưởng dành cho người mới bắt đầu

Máy vi tính, máy tính bảng hay smartphone là những thiết bị mà con người sử dụng hằng ngày. Lợi dụng xu thế trên, nhiều cá nhân, công ty và các tập đoàn công nghệ đã sử dụng điều đó để tạo nên nền công nghiệp phần mềm trị giá lên đến gần 80 tỉ đô la Mỹ mỗi năm.

Thế nhưng, một vấn đề lớn mà các thiết bị này gặp phải đó chính là sự giới hạn trong các kết nối I/O đơn giản, thậm chí điều khiển relay cũng là một khó khăn. Đến đây, nhu cầu thiết yếu được sinh ra đó là một thiết bị phần cứng khác có khả năng điều khiển các kết nối I/O đơn giản. Đối với người mới bắt đầu, chỉ có 2 thiết bị mà người đó có thể dễ dàng tiếp cận được là Arduino và Raspberry Pi.

Raspberry Pi là một máy tính nhúng rất mạnh mẽ, có nhiều chân các kết nối I/O để ứng dụng trong các dự án. Thế nhưng nó cũng có một số nhược điểm, đầu tiên là nguồn nuôi Raspberry Pi yêu cầu rất lớn (5V 2A). Thứ hai, Raspberry Pi không phải là thiết bị đơn giản nhất để bạn có thể làm việc, điều khiển và lập trình cho nó. Và đây chính là nơi mà Arduino bành trướng sức mạnh của mình.

Không giống như Raspberry Pi, Arduino là một thiết bị tính toán với con vi điều khiển nhỏ hơn rất nhiều. Bởi vậy, trong khi Raspberry Pi được trang bị CPU 4 lõi nhân 64bit và 1GB RAM thì Arduino chỉ mang trong mình một con vi điều khiển 1 lõi chạy ở tần số 16MHz, 2KB RAM và bộ nhớ trong 32KB (Arduino Uno). Nhưng nếu ta so sánh về lợi thế, Arduino lại có nhiều chân I/O hơn, và làm được nhiều điều hơn Raspberry Pi như có bộ chuyển đổi analog – digital, có các chân PWM..

Arduino cũng chỉ chạy duy nhất chương trình mà người dùng nạp, khác với Raspberry Pi cần phải có hệ điều hành để chạy chương trình (nghĩa là ngoài chương trình của bạn ra, còn rất nhiều các processes khác cũng đang chạy song song). Điều này làm cho Raspberry Pi kém ổn định hơn và cần nhiều năng lượng hơn để hoạt động.

Arduino được lập trình như thế nào?

Các board Arduino được xây dựng xung quanh họ vi điều khiển ATMega (ví dụ Arduino Uno là Atmega328P). Các vi điều khiển ATMega rất quen thuộc trong các lĩnh vực chuyên môn cũng như trên thị trường, giống như họ vi điều khiển PIC được sản xuất bởi Microchip.

Thế nhưng, vấn đề bạn sẽ gặp phải chính là sự phức tạp khi sử dụng cũng như khi nạp trình điều khiển cho PIC hay các vi điều khiển khác. Bạn phải sử dụng mạch nạp chuyên dụng, các chuẩn kết nối khác nhau và trình soạn thảo cũng như biên dịch mã nguồn đóng (PICKit). Điều này làm cho người dùng mới, những người không chuyên làm việc với vi điểu khiển, cảm thấy rất phức tạp và không biết bắt đầu từ đâu khi không có một cộng đồng mở hỗ trợ.

Vượt lên tất các các điểm yếu trên, các board Arduino được thiết kế để người dùng có thể dễ dàng kết nối với máy tính và lập trình cho nó, chỉ với một sợi dây USB type B đơn giản. Khi bạn đã kết nối Arduino với máy vi tính, bạn chỉ cần đơn giản tải một IDE miễn phí về máy, cài đặt và bắt đầu lập trình cho board Arduino của mình.

Chương trình đầu tiên của bạn

Ngôn ngữ mà Arduino IDE sử dụng dựa trên C++, một ngôn ngữ lập trình hướng đối tượng. Trong bài viết này, chúng ta sẽ không đi sâu vào việc học C++, mà chỉ đưa ra các ví dụ đơn giản để bạn có thể thấy được sự đơn giản của việc lập trình Arduino.

Khi khởi động Arduino IDE lần đầu tiên, bạn sẽ thấy một bảng trắng với 2 hàm khác nhau: setup() và loop(). Khi Arduino khởi động chạy, nó sẽ thực thi các lệnh được tìm thấy trong hàm setup(), và chúng ta thường sử dụng hàm này để cấu hình phần cứng, giao tiếp truyền nhận và các biến sẽ sử dụng trong chương trình của mình. Tiếp theo sau đó, Arduino sẽ thực hiện tất cả các lệnh trong hàm loop() của bạn, rồi lặp lại từ đầu các lệnh đó một cách vô thời hạn.

Kết luận

Arduino là một board điều khiển lý tưởng cho người mới bắt đầu, do sự đơn giản, dễ dàng và có một cộng đồng hỗ trợ rất lớn. Tất nhiên cũng có nhiều vi điều khiển khác làm được như Arduino, nhưng đòi hỏi bạn phải có nhiều kinh nghiệm hơn và sử dụng những mạch điện phức tạp hơn. Tất nhiên trong một số trường hợp, Arduino không thể ứng dụng được như điều khiển máy công nghiệp với yêu cầu nhanh và chính xác, hoặc khi bạn cần đọc dữ liệu từ các cảm biến quá chuyên biệt, DMA, sử lý tín hiệu số..

Nói chung, nếu yêu cầu dự án của bạn chỉ là một thiết bị IoT đơn giản, hoặc điều khiển một con robot đơn giản.. thì Arduino là một lựa chọn hợp lý.

Leave a Reply

Please Login to comment
  Subscribe  
Notify of