Giới thiệu về Arduino

Category: Arduino Published: 04 December 2013
Hits: 13852

Arduino là bo mạch vi điều khiển mạch đơn được sử dụng để làm thiết bị điện tử cho các dự án đa lĩnh vực theo cách tiếp cận dễ dàng đối với người sử dụng. Phần cứng bao gồm một bảng mạch điện tử phần cứng dạng nguồn mở được thiết từ bộ vi xử lý 8-bit Atmel AVR , hoặc 32-bit Atmel ARM. Phần mềm cho phần cứng này bao gồm một trình biên dịch ngôn ngữ lập trình chuẩn và một bộ nạp khởi động, để có thể thực hiện các lệnh trên bộ vi điều khiển.

Các bảng mạch Arduino có thể được mua trước khi lắp ráp hoặc bộ dụng cụ tự-mình-làm DIY. Thông tin thiết kế phần cứng có sẵn cho những người muốn tự tay lắp ráp một bảng mạch Arduino. Người ta ước tính vào giữa năm 2011 có hơn 300.000 bộ bảng mạch Arduino chính thức đã được sản xuất thương mại.

Sơ lược lịch sử

Arduino được khởi đầu vào năm 2005 từ một dự án cho sinh viên tại Viện Thiết kế Tương tác Ivrea tại Ivrea, Italia. Tại thời điểm của chương trình đó sinh viên thường sử dụng bo mạch "BASIC Stamp" có chi phí tới 100$, xem ra là đắt đôi với sinh viên. Một trong những người sáng lập, Massimo Banzi, hiện đang là giảng viên tại Ivrea. 

Một đồ án về phần cứng đã đóng góp vào một thiết kế hệ thống kết nối điện dẫn của sinh viên người Colombia tên là Hernando Barragan. Sau khi các nền tảng hệ thống điện dẫn đã được hoàn tất, các nhà nghiên cứu làm việc để làm cho hệ thống đó gọn nhẹ hơn, rẻ hơn, và có sẵn cho cộng đồng nguồn mở. Trường này cuối cùng đã đóng cửa, do đó, các nhà nghiên cứu, trong số họ là David Cuartielles, đã thúc đẩy ý tưởng phát triển về Arduino.

Giá hiện tại của Arduino khoảng 30$ và bản "nhân bản" thấp nhất là 9$.

Phần cứng

Một bảng mạch Arduino bao gồm một bộ vi điều khiển Atmel AVR 8-bit và các thành phần bổ sung để tạo điều kiện lập trình và tích hợp cách mạch điện khác với bảng mạch Arduino. Một khía cạnh quan trọng của Arduino dựa trên tiêu chuẩn kết nối thống nhất, cho bo mạch CPU được kết nối với một loạt mô-đun chuyển đổi tiện ích bổ sung được gọi là shield (bộ chắn). Một số shield giao tiếp bo mạch Arduino trực tiếp từ các chân nối khác nhau, nhưng shield được định địa chỉ riêng biệt thông qua bus kết nối nối tiếp I² C, cho phép shield được xếp chồng lên nhau và được sử dụng song song nhau. Arduino chuẩn sử dụng megaAVR là tổ chợp chip, đặc biệt là ATmega8 , Atmega168, ATmega328, ATmega1280, và ATmega2560. Một số ít các bộ vi xử lý khác đã được sử dụng tương thích chuẩn Arduino. Hầu hết bo mạch bao gồm một bộ điều áp tuyến tính 5V và một bộ dao động tinh thể 16 MHz (hoặc cộng hưởng gốm trong một số biến thể dao động), mặc dù một số thiết kế như LilyPad chạy ở 8 MHz và chia sẻ bộ điều áp trên bo mạch do hạn chế thông số định dạng thể. Bộ vi điều khiển của Arduino cũng được lập trình trước nhờ một bộ nạp khởi động theo cách đơn giản là tải lên các chương trình vào bộ nhớ flash trên chip, so với các thiết bị khác thường cần một lập trình viên bên ngoài hỗ trợ khi sử dụng.

Ở cấp độ khái niệm, khi sử dụng xếp chồng phần mềm Arduino, tất cả bo mạch được lập trình nhờ kết nối nối tiếp RS-232, nhưng cách này được thực hiện khác nhau theo từng phiên bản của phần cứng . Bảng mạch Arduino nối tiếp chứa một mạch dịch cấp để chuyển đổi giữa tín hiệu cấp-RS-232 và cấp-TTL. Bảng mạch Arduino hiện nay được lập trình thông qua cổng USB, cài đặt này sử dụng chip chuyển đổi USB-sang-nối tiếp như FTDI FT232. Một số biến thể, chẳng hạn như Arduino Mini và Boarduino không chính thức, sử dụng một bảng mạch có thể tháo rời chuyển đổi USB-sang-nối tiếp hoặc cáp, Bluetooth hoặc các phương pháp khác . (Khi được sử dụng với các công cụ vi điều khiển truyền thống thay vì Arduino IDE, lập trình AVR ISP chuẩn phải được sử dụng.)

Bảng mạch Arduino luôn cho thấy hầu hết các chân nối I/O pins của vi điều khiển để sử dụng bởi các mạch khác. Các Diecimila, Duemilanove , và Uno hiện tại cung cấp 14 chân I/O số, sáu trong số đó có thểtạo tiến hiệu điều biến độ rộng xung, và sáu đầu vào tương tự. Các chân nằm ở mặt trên bo mạch, thông qua đầu chân cái 0.10-inch (2,5 mm). Một số shield ứng dụng nhúng plug-in cũng đã có ở dạng thương mại.

Bo mạch Arduino Nano và Bare Bones tương thích Arduino có thể cung cấp các chân cắm đực ở mặt duwois của bo mạch để kết nối các bo mạch khác không cần hàn.

Có rất nhiều bo mạch tương thích Arduino và bo mạch dẫn xuất từ Arduino. Một số có chức năng tương đương với Arduino và có thể được sử dụng thay thế lẫn cho nhau. Phần lớn là Arduino cơ bản với việc bổ sung các trình điều khiển đầu ra phổ biến, thường sử dụng trong giáo dục cấp trường để đơn giản hóa việclắp ráp các xe đẩy và robot nhỏ. Những biến thể khác là tương đương về điện nhưng thay đổi tham số dạng (form-factor), đôi khi cho phép tiếp tục sử dụng các Shield, đôi khi không. Một số biến thể sử dụng bộ vi xử lý hoàn toàn khác, với mức độ khác nhau về tính tương thích.

Shield

Arduino và bảng mạch Arduino tương thích sử dụng các shiel - bo mạch mạch điện được cắm vào bo mạch Arduino chính thường thông qua các đầu chân cắm trên bo mạch Arduino chủ. Shiel có thể cung cấp chức năng điều khiển động cơ, GPS, kết nối mạng ethernet, màn hình LCD, hoặc bảng mạch khung (tạo mẫu). Một số shield cũng có thể được chế tạo để thực hiện DIY.

Phần mềm

Môi trường phát triển tích hợp (IDE) Arduino là một ứng dụng đa nền tảng được viết bằng Java, và được dẫn xuất từ IDE cho ngôn ngữ lập trình xử lý và các dự án lắp ráp. Nó được thiết kế để làm nhập môn lập trình cho các nhà lập trình và những người mới sử dụng khác không quen thuộc với phát triển phần mềm. Nó bao gồm một trình soạn thảo mã với các tính năng như làm nổi bật cú pháp, khớp dấu ngặc khối chương trình, và thụt đầu dòng tự động, và cũng có khả năng biên dịch và tải lên các chương trình vào bo mạch với một nhấp chuột duy nhất. Một chương trình hoặc mã viết cho Arduino được gọi là "sketch" .

Chương trình Arduino được viết bằng C hoặc C++. Arduino IDE đi kèm với một thư viện phần mềm được gọi là "Wiring" từ dự án lắp ráp ban đầu, cho hoạt động đầu vào/đầu ra phổ biến trở nên dễ dàng hơn nhiều. Người sử dụng chỉ cần định nghĩa hai hàm để thực hiện một chương trình điều hành theo chu kỳ :

  • setup() : hàm chạy một lần duy nhất vào lúc bắt đầu của một chương trình dùng để khởi tạo các thiết lập.
  • loop() : hàm được gọi lặp lại liên tục cho đến khi bo mạch được tắt đi.

Khi các bạn bật điện bảng mạch Arduino, reset hay nạp chương trình mới, hàm setup() sẽ được gọi đến đầu tiên. Sau khi xử lý xong hàm setup(), Arduino sẽ nhảy đến hàm loop() và lặp vô hạn hàm này cho đến khi bạn tắt điện bo mạch Arduino. Chu trình đó có thể mô tả trong hình dưới đây:

Mô hình hoạt động của chương trình Arduino

Arduino IDE sử dụng GNU toolchain và AVR libc để biên dịch chương trình, và sử dụng avrdude để tải lên các chương trình vào bo mạch chủ.

Do nền tảng Arduino sử dụng vi điều khiển Atmel, môi trường phát triển của Atmel, AVR Studio hoặc Atmel Studio mới hơn, cũng có thể được sử dụng để phát triển phần mềm cho các Arduino

Lược sử phát triển

Đội phát triển cốt lõi Arduino gồm Massimo Banzi, David Cuartielles, Tom Igoe , Gianluca Martino, David Mellis và Nicholas Zambetti. Massimo Banzi đã được phỏng vấn trên tuần san FLOSS ngày 21 tháng 3 năm 2009 tập trên mạng TWiT.tv, trong đó ông đã thảo luận về lịch sử và mục tiêu của dự án Arduino. Ông cũng có buổi nói chuyện tại Hội nghị TEDGlobal 2012, nơi mà ông vạch ra sử dụng khác nhau của bảng mạch Arduino trên thế giới.

Arduino là phần cứng nguồn mở: các thiết kế tham khảo phần cứng Arduino được phân phối theo giấy phép Creative Commons Attribution Share-Alike 2.5 và có sẵn trên trang web của Arduino. Bố trí và sản xuất tập tin cho một số phiên bản của phần cứng Arduino cũng có sẵn. Mã nguồn cho IDE có sẵn và phát hành theo giấy phép GNU General Public License, phiên bản 2.

Mặc dù thiết kế phần cứng và phần mềm là tự do sẵn có theo giấy phép copyleft, các nhà phát triển đã yêu cầu tên "Arduino" được độc quyền sản phẩm chính thức và không được sử dụng cho sản phẩm phái sinh mà không được phép. Văn bản chính sách chính thức về việc sử dụng các tên Arduino nhấn mạnh rằng dự án là mở cửa cho kết hợp công việc của người khác vào các sản phẩm chính thức. Một số sản phẩm tương thích với Arduino phát hành thương mại đã tránh được "Arduino" tên bằng cách sử dụng tên các biến thể "-Duino ".

Tham khảo: http://en.wikipedia.org/wiki/Arduino

Trang web chính thức của Arduino tại: http://arduino.cc .

Mua linh kiện Arduino:

viet4777
Author: Nguyễn Hoàng Việt
About: Viet Nguyen-Hoang is a lecturer in school of Materials Science and Engineering at HUST (www.hust.edu.vn). He starts coding with Joomla from 2006. His lectures could be found at kythuatvatlieu.ORG. His writing is about IT, Joomla and his teaching topics.

Donate

Donate using PayPal
Amount: