Giới Thiệu Về Arduino
Arduino là nền tảng vi mạch thiết
kế mở phần cứng (Open-source hardware) và phần mềm (Open-source software).
Phần cứng Arduino là những bộ vi điều khiển bo mạch đơn (Single-board microcontroller) được tạo ra
tại thị trấn Ivrea ở Ý, nhằm xây dựng các ứng dụng tương tác với nhau hoặc với
môi trường được thuận lợi hơn. Phần cứng bao gồm một board mạch nguồn mở được
thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM
Atmel 32-bit.
Những model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với
nhiều board mở rộng khác nhau.
Được giới thiệu vào năm 2005,
những nhà thiết kế của Arduino cố gắng mang đến một phương thức dễ dàng, không
tốn kém cho những người yêu thích, sinh viên và giới chuyên nghiệp để tạo ra
những thiết bị có khả năng tương tác với môi trường thông qua các cảm biến và
các cơ cấu chấp hành. Những ví dụ phổ biến cho những người yêu thích mới bắt
đầu bao gồm các robot đơn giản, điều khiển nhiệt độ và phát hiện chuyển động.
Đi cùng với nó là một môi trường phát triển tích hợp (IDE) chạy trên các máy tính cá nhân thông thường và cho phép
người dùng viết các chương trình cho mạch bằng ngôn ngữ Arduino, một ngôn ngữ
riêng được phát triển dựa trên C/C++.
Lý thuyết phần cứng được đóng
góp bởi một sinh viên người Colombia tên là Hernando Barragan. Sau khi nền tảng
Wiring hoàn thành, các nhà nghiên cứu đã làm việc với nhau để giúp nó nhẹ
hơn, rẻ hơn, và khả dụng đối với cộng đồng mã nguồn mở. Trường này cuối cùng bị
đóng cửa, vì vậy các nhà nghiên cứu, một trong số đó là David Cuarlielles, đã
phổ biến ý tưởng này.
Một mạch Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổ
sung giúp dễ dàng lập trình và có thể mở rộng với các mạch khác. Một khía cạnh
quan trọng của Arduino là các kết nối tiêu chuẩn của nó, cho phép người dùng
kết nối với CPU của board với các module thêm vào có thể dễ dàng chuyển đổi,
được gọi là shield. Vài shield
truyền thông với board Arduino trực tiếp thông qua các chân khác nhau, nhưng
nhiều shield được định địa chỉ thông qua serial bus I²C-nhiều shield có thể
được xếp chồng và sử dụng dưới dạng song song. Arduino chính thức thường sử
dụng các dòng chip megaAVR, đặc biệt là ATmega8, ATmega168, ATmega328,
ATmega1280, và ATmega2560. Một vài các bộ vi xử lý khác cũng được sử dụng bởi
các mạch Aquino tương thích. Hầu hết các mạch gồm một bộ điều chỉnh tuyến tính
5V và một thạch anh dao động 16 MHz (hoặc bộ cộng hưởng ceramic trong một
vài biến thể), mặc dù một vài thiết kế như LilyPad chạy tại 8 MHz và bỏ qua
bộ điều chỉnh điện áp onboard do hạn chế về kích cỡ thiết bị. Một vi điều khiển
Arduino cũng có thể được lập trình sẵn với một boot loader cho phép đơn giản là
upload chương trình vào bộ nhớ flash on-chip, so với các thiết bị
khác thường phải cần một bộ nạp bên ngoài. Điều này giúp cho việc sử dụng
Arduino được trực tiếp hơn bằng cách cho phép sử dụng 1 máy tính gốc như là một
bộ nạp chương trình.
Theo nguyên tắc, khi sử dụng ngăn xếp phần
mềm Arduino, tất cả các board được lập trình thông qua một kết nối RS-232,
nhưng cách thức thực hiện lại tùy thuộc vào đời phần cứng. Các board Serial
Arduino có chứa một mạch chuyển đổi giữa RS232 sang TTL. Các board Arduino hiện
tại được lập trình thông qua cổng USB, thực hiện thông qua chip chuyển đổi
USB-to-serial như là FTDI FT232. Vài biến thể, như Arduino Mini và
Boarduino không chính thức, sử dụng một board adapter hoặc cáp nối
USB-to-serial có thể tháo rời được, Bluetooth hoặc các phương thức
khác. (Khi sử dụng một công cụ lập trình vi điều khiển truyền thống thay vì
ArduinoIDE, công cụ lập trình AVR ISP tiêu chuẩn sẽ được sử dụng.)
Board Arduino sẽ đưa ra hầu hết
các chân I/O của vi điều khiển để sử dụng cho những mạch ngoài. Diecimila,
Duemilanove, và bây giờ là Uno đưa ra 14 chân I/O kỹ thuật số, 6 trong số đó có
thể tạo xung PWM (điều chế độ rộng xung) và 6 chân input analog, có thể được sử
dụng như là 6 chân I/O số. Những chân này được thiết kế nằm phía trên mặt
board, thông qua các header cái 0.10-inch (2.5 mm). Nhiều shield ứng dụng
plug-in cũng được thương mại hóa. Các board Arduino Nano, và Arduino-compatible
Bare Bones Board và Boarduino có thể cung cấp các chân header đực ở mặt trên
của board dùng để cắm vào các breadboard.
Có nhiều biến thể như
Arduino-compatible và Arduino-derived. Một vài trong số đó có chức năng tương
đương với Arduino và có thể sử dụng để thay thế qua lại. Nhiều mở rộng cho
Arduino được thực thiện bằng cách thêm vào các driver đầu ra, thường sử dụng
trong các trường học để đơn giản hóa các cấu trúc của các 'con rệp' và các
robot nhỏ. Những board khác thường tương đương về điện nhưng có thay đổi về
hình dạng-đôi khi còn duy trì độ tương thích với các shield, đôi khi không. Vài
biến thể sử dụng bộ vi xử lý hoàn toàn khác biệt, với các mức độ tương thích
khác nhau.
Nguồn: Wikipedia
Leave a Comment