1. Arduino là gì?
Arduino là nền tảng điện tử mã nguồn mở, dựa trên phần cứng và phần mềm, linh hoạt và dễ sử dụng.
Các board mạch Arduino có khả năng đọc dữ liệu từ môi trường (ánh sáng, nhiệt độ, độ ẩm,…), trạng thái nút bấm,… Arduino cũng có thể điều khiển các thiết bị như động cơ, đèn LED và gửi thông tin đến các thiết bị khác,…
Chúng ta có thể lập trình điều khiển Arduino với ngôn ngữ lập trình C++ trên công cụ phát triển Arduino là Arduino IDE.
Dự án Arduino được phát triển tại học viện Interaction Design ở Ivrea, Italy vào năm 2003. Mục đích ban đầu là giúp cho các sinh viên ở học viện có thể tạo ra các sản phẩm điện tử thú vị một cách dễ dàng, nhanh chóng với chi phí thấp.
Arduino là một dự án mã nguồn mở. Arduino phát triển thông qua việc cho phép người dùng trên toàn thế giới có thể xây dựng, phát triển và đóng góp vào dự án.
Các bạn có thể truy cập vào website chính thức của dự án là https://www.arduino.cc/ để xem thêm các thông tin hữu ích.
2. Tại sao nên sử dụng Arduino?
Hiện nay, Arduino được sử dụng rất rộng rãi, không chỉ Việt Nam mà trên toàn thế giới. Điều đó cho thấy, Arduino có những ưu điểm độc đáo của mình.
Môi trường phát triển đơn giản, rõ ràng (Simple, clear programming environment)
Đặc điểm nổi bật nhất của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng. Cách sử dụng board mạch Arduino cũng như Arduino IDE là rất dễ dàng ngay cả với người ít am hiểu về điện tử và lập trình.
Arduino có các tập lệnh hết sức đơn giản. Nhờ đó, Arduino che đi sự phức tạp của việc lập trình cho vi điều khiển. Ví dụ, chỉ với vài câu lệnh đơn giản là có thể chớp, tắt được được một con LED mà không cần hiểu kiến trúc của vi điều khiển.
Giá thành rẻ (Inexpensive)
Một điều làm nên sự phổ biến của Arduino chính là mức giá rất thấp cho một board mạch Arduino. Thường ít hơn 50$ (khoảng dưới 100,000 VNĐ).
Đa nền tảng (Cross-Platform)
Công cụ phát triển Arduino có thể chạy trên cả hệ điều hành Windows, Mac OS, Linux.
Phần mềm mã nguồn mở và dễ dàng mở rộng (Open source and extensible software)
Chính điều này giúp cho các lập trình viên tạo ra rất nhiều thư viện và mã nguồn hữu ích. Từ đó, việc tìm kiếm các những dòng code phù hợp của người dùng là hết sức dễ dàng. Và một cộng đồng hỗ trợ lớn dần dần phát triển.
Phần cứng nguồn mở và dễ dàng mở rộng (Open source and extensible hardware)
Không chỉ mã nguồn mở mà với giấy phép Tư liệu mở (Creative Commons license), người dùng còn có phần cứng nguồn mở. Bạn hoàn toàn có thể tự thiết kế cho mình một board mạch Arduino mới dựa trên ý tưởng của Arduino. Có thể mở rộng các module, các vi xử lý, các linh kiện phục vụ mục đích sử dụng của bạn mà không sợ bản quyền.
3. Cấu trúc của board mạch Arduino Uno
3.1. Cấu trúc của board mạch Arduino Uno
Arduino Uno là một trong những board mạch Arduino phổ biến và dễ sử dụng nhất hiện nay. Arduino Uno đã phát triển đến thế hệ thứ 3, gọi là Arduino Uno R3.
Trong series môn học “Lập trình Arduino cơ bản”, Arduino Uno R3 sẽ là board mạch được sử dụng để lập trình minh họa các ví dụ. Vì thế, chúng ta nên nắm vững cấu trúc của board mạch này.
ATmega328 Microcontroller là vi điều khiển thuộc họ megaAVR, do hãng Atmel sản xuất.
ICSP pin viết tắt của In Circuit Serial Programming. Đó là chân lập trình nối tiếp cho phép người lập trình sử dụng một vài phương thức có sẵn trong firmware của Arduino.
Power LED Indicator báo nguồn của Arduino. Đèn sáng thì có nguồn, đèn tắt thì mất nguồn.
Digital I/O pins là những chân có giá trị nhị phân: HIGH (1) hoặc LOW (0). Có các chân từ D0 đến D13. Một số chân có thể xuất xung PWM là ~D3, ~ D5, ~ D6, ~ D9, ~ D10, ~ D11.
TX and RX LED’s báo có luồng dữ liệu truyền (Transmit – TX) và nhận (Receive – RX) của Arduino qua cổng nối tiếp (Serial) với các thiết bị khác.
AREF (Analog Reference) pin là chân cấp điện áp tham chiếu từ bên ngoài cho Arduino.
Reset button để reset lại board mạch Arduino.
USB cho phép kết nối với máy tính, thường dùng nạp mã code từ máy tính sang board mạch Arduino.
Crystal Oscillator là thạch anh, có tần số 16MHz.
Voltage Regulator là mạch ổn áp chuyển đổi nguồn vào thành 5V cấp cho Arduino.
GND là chân ground, có hiệu điện thế 0V.
Vin là nguồn đầu vào của board mạch Arduino.
Analog Pins là các chân xử lý tín hiệu Analog khi kết nối với các thiết bị khác. Có các chân được đánh số từ A0 đến A5.
Power Button kết nối với nguồn cấp cho Arduino.
3.2. Thông số kỹ thuật của Arduino Uno R3
Vi điều khiển | ATmega328 kiến trúc RISC với 8 bit |
Điện áp hoạt động | 5V DC |
Tần số hoạt động | 16 MHz |
Dòng tiêu thụ | khoảng 30mA |
Điện áp vào khuyên dùng | 7-12V DC |
Điện áp vào giới hạn | 6-20V DC |
Số chân Digital I/O | 14 chân (6 chân có thể xuất xung PWM) |
Số chân Analog | 6 chân |
Dòng trên mỗi chân I/O | 20 mA |
Dòng ra tối đa (3.3V) | 50 mA |
Bộ nhớ Flash | 32 KB tích hợp trong ATmega328 với 0.5KB dùng cho bootloader |
SRAM | 2 KB tích hợp trong ATmega328 |
EEPROM | 1 KB tích hợp trong ATmega328 |
3.3. Thông số kỹ thuật của vi điều khiển ATmega328
Loại CPU | 8-bit AVR |
Bộ nhớ Flash | 32 kB |
SRAM | 2 kB |
EEPROM | 1 kB |
Số chân Pin | 28 hoặc 32 chân |
Tần số xử lý tối đa | 20 MHz |
Số kênh cảm biến điện dung | 16 |
Số chân I/O tối đa | 23 |
Việc nắm được cấu trúc của Arduino giúp các bạn hiểu rõ về board mạch Arduino và lập trình tốt hơn.