Bạn chưa biết Arduino là gì, dù đã nghe qua cụm từ này khá nhiều? Hoặc bạn đã có tìm hiểu nhưng chưa biết kỹ về nó, ứng dụng arduino trong đời sống là gì? Chúng giúp ích gì cho cuộc sống của chúng ta? Cấu tạo của board mạch Arduino là gì? Trong bài viết này, OhStem sẽ hỗ trợ giải đáp tất cả những câu hỏi này của bạn nhé!
>> Xem thêm: [PDF] Lập trình Arduino là gì? Tài liệu học Arduino miễn phí 2021
Mục lục
Arduino là gì?
Arduino là một mạch vi điều khiển được xây dựng và phát triển bởi Arduino.cc. Đây là một nền tảng điện tử mã nguồn mở, hoạt động chủ yếu dựa trên vi điều khiển AVR Atmega328P. Bằng cách lập trình bằng mạch arduino, chúng ta có thể tạo các ứng dụng arduino điện tử hoạt động với nhau thông qua các phần mềm và phần cứng hỗ trợ.
Khi lập trình bằng mạch arduino chưa ra đời, để làm được một dự án điện tử nhỏ liên quan đến lập trình, biên dịch thì chúng ta cần đến sự hỗ trợ của rất nhiều thiết bị điện tử, linh kiện trung gian để giúp đỡ. Ví dụ như, để dùng chip điều khiển PIC hoặc IC vi điều khiển họ 8051…, chúng ta phải xây dựng chân nạp onboard, hoặc mua các linh kiện điện tử có chức năng nạp và biên dịch như mạch nạp 8051, mạch nạp PIC…
Và bây giờ, từ khi có Arduino thì mọi thứ đã trở nên dễ dàng hơn. Bo mạch Arduino hiện nay đã được phổ biến rộng rãi ở Việt Nam. Từ những người mới bắt đầu như học sinh sinh viên, và cả người đã đi làm. Những dự án nhỏ và lớn, các ứng dụng arduino đã được thực hiện một cách nhanh chóng. Các mã nguồn mở được chia sẻ nhiều trên các forum và cộng đồng trong nước và nước ngoài. Điều này giúp ích rất nhiều cho những bạn theo sở thích nghiên cứu, chế tạo những dự án, ứng dụng arduino bổ ích, giúp đỡ cho xã hội.
Những năm gần đầy, lập trình bằng mạch arduino là yếu tố cốt lõi trong hàng ngàn dự án điện tử lớn nhỏ, từ những sản phẩm đơn giản giải quyết vấn đề trong cuộc sống thường ngày, cho đến những sản phẩm khoa học phức tạp. Cứ như vậy, thư viện mã nguồn mở ngày một phát triển, giúp ích cho rất nhiều người mới tìm hiểu và làm quen với Arduino. Ngoài ra, những chuyên viên lập trình nhúng và chuyên gia cũng có thể tham khảo thêm và xây dựng, phát triển tiếp,….
Ứng dụng Arduino
Khi bạn muốn xây dựng và điều khiển thiết bị bằng cảm biến ánh sáng, đo nồng độ hóa chất, khí ga bằng cảm biến nồng độ và cảm biến khí,…Hay đơn giản là bạn muốn làm 1 chú robot nhỏ nhắn, quản lý tắt mở thiết bị điện trong nhà, điều khiển motor, nhận diện sinh học,.., Phức tạp hơn xíu là bạn muốn làm một máy CNC hoặc máy in 3D cỡ nhỏ, máy bay không người lái ( Flycam), một hệ thống nạp và lưu dữ liệu bằng GSM, xử lý ảnh,điều khiển vạn vật thông qua internet giao tiếp với smartphone…
Để làm được điều đó, dù đơn giản hay phức tạp thì bạn đều cần sử dụng ngôn ngữ lập trình Arduino. Bạn sẽ sử dụng sơ đồ, hệ thống của bạn để thiết kế, dựa trên ứng dụng lập trình arduino IDE. Bạn sẽ lập trình để thực hiện những yêu cầu đó và đưa về bộ phận xử lý trung tâm ( Arduino) và tiến hành chạy ứng dụng Arduino đó.
Một số ứng dụng Arduino hay mà bạn cần biết
Bo mạch Arduino được chọn làm vi xử lý của rất nhiều ứng dụng Arduino từ cơ bản đến nâng cao. Trong số đó, có một số dự án thực sự chứng tỏ khả năng vượt trội của lập trình bằng mạch arduino. Nguyên nhân là do chúng có khả năng triển khai nhiều nhiệm vụ rất phức tạp. Sau đây là danh sách một số ứng dụng Arduino nổi bật.
Máy in 3D
Một cuộc cách mạng công nghệ mới cũng đang dần phát triển nhờ vào lập trình bằng mạch arduino, đó là sự xây dựng và thiết kế máy in 3D nguồn mở Reprap. Máy in 3D là công cụ giúp tạo ra các vật thể thực trực tiếp từ các file CAD 3D. Công nghệ này chắc chắn sẽ mang lại nhiều dự án rất thú vị trong đó có nền công nghiệp hóa khâu sản xuất cá nhân.
Robot
Đây là một ứng dụng Arduino nổi bật không thể không nhắc đến. Do kích thước nhỏ và khả năng xử lý mạnh mẽ, lập trình bằng mạch arduino được lựa chọn làm bộ xử lý trung tâm của rất nhiều loại robot, đặc biệt là các loại robot di động.
Robot tự động không người điều khiển UAV
UAV là một ứng dụng Arduino cực kỳ thích hợp và tương thích với bo mạch này, bởi vì chúng có khả năng xử lý nhiều loại cảm biến như Gyro, accelerometer, GPS…; điều khiển động cơ servo và cả khả năng truyền nhận tín hiệu từ xa.
Trò chơi tương tác thực
Việc đọc cảm biến và làm việc cùng với PC là một nhiệm vụ cực kỳ dễ dàng đối với Bo mạch Arduino. Do đó, rất nhiều chương trình trò chơi tương tác có sử dụng Arduino. Đây là một ứng dụng arduino rất thú vị và bổ ích, dành cho những bạn đam mê lập trình và công nghệ.
Điều khiển ánh sáng
Các tác vụ điều khiển đơn giản như bật tắt đèn LED hay phức tạp như điều khiển ánh sáng theo nhạc hoặc tương tác với ánh sáng laser đều có thể được thực hiện với Bo mạch Arduino. Bạn có thể tham khảo ứng dụng Arduino Ambilight qua video bên dưới:
Ứng dụng Arduino vào chụp ảnh tốc độ cao
Đây là một ứng dụng Arduino cực kỳ dễ dàng và đơn giản nhưng rất có ý nghĩa với những ai đam mê và yêu thích chụp ảnh. Ứng dụng này giúp tạo ra được những bức ảnh độc đáo ghi lại những khoảnh khắc diễn ra nhanh chóng mà nếu không có công cụ hỗ trợ thì chúng ta khó lòng ghi lại.
Trên đây chỉ là một vài ví dụ minh họa cho khả năng ứng dụng Arduino. Khi tìm kiếm trên Google, bạn có thể tìm thấy vô vàn ứng dụng Arduino khác.
Các dòng sản phẩm của Arduino :
- Board : Bo mạch Arduino Uno, Board arduino Pro, Arduino Mega, Arduino 101, arduino Zero, LilyPad Arduino…
- Module : Arduino Pro mini, arduino Micro, Bo mạch Arduino LCD Module, Bo mạch Arduino Relay Module, lập trình bằng mạch arduino Driver Module…
- Shield : Arduino Proto Shield, Bo mạch Arduino Wifi Shield 101, Arduino Ethernet Shield, Bo mạch Arduino GSM Shield …
So sánh đặc tính kỹ thuật của các board arduino trên thị trường:
Name | Processor | Operating/Input Voltage | CPU Speed | Analog In/Out | Digital IO/PWM | Memory | UART | ADC |
Mega 2560 | Atmega2560 | 5 V / 7 – 12 V | 16 MHz | 16/0 | 54/15 | 4 kB EEPROM,8 kB SRAM,256 kB Flash. | 4 | 10 bit |
Uno |
Atmega328P | 5 V / 7 – 12 V | 16 MHz | 6/0 | 14/6 | 1 kB EEPROM,2 kB SRAM,32 kB Flash. | 1 | 10 bit |
Due |
ATSAM3X8E | 3,3 V / 7 – 12 V | 84 MHz | 12/2 | 54/12 | 96 kB SRAM,512 kB Flash. | 4 | 12 bit |
Nano | ATmega16 | 5 V / 7 – 9 V | 16 MHz | 8/0 | 14/6 | 0,512 kB EEPROM,1 kB SRAM,16 kB Flash. | 1 | 10 bit |
Atmega328P | 1 kB EEPROM,2 kB SRAM,32 Flash. | |||||||
Pro Mini |
Atmega328P | 3,3 V / 3,35 – 12 V | 8 MHz | 6/0 | 14/6 | 1 kB EEPROM,1 kB SRAM,32 kB Flash. | 1 | 10 bit |
Cấu tạo của bo mạch Arduino
Có đa dạng các loại bo mạch Arduino, nhằm sử dụng cho nhiều mục đích khác nhau. Tuy nhiên, đa số bo mạch Arduino đều sẽ có các thành phần như dưới đây:
Nguồn (USB / Chân cắm nguồn)
Mỗi board mạch arduino sẽ có một cách nối nguồn. Arduino UNO được nạp nguồn từ cáp USB hoặc đầu cắm nguồn cái. Trong hình trên, cổng USB được đánh số (1) và đầu cắm nguồn cái được đánh số (2). Cổng USB cũng hỗ trợ nhập mã vào Arduino.
LƯU Ý: không nên cho nguồn điện lớn hơn 20 Vôn vì chúng sẽ làm hỏng Arduino. Nguồn điện áp phù hợp cho đa số các ứng dụng Arduino là từ 6 đến 12 Vôn.
Các chân cắm (5V, 3.3V, GND, Analog, Kỹ thuật số, PWM, AREF)
Các jack cắm trên Arduino là chỗ nối dây để tạo mạch (để kết nối bo mạch với dây thường có các đầu cắm bằng nhựa đen để bạn có thể cắm ngay dây vào bo mạch). Mạch arduino có nhiều loại chân khác nhau, mỗi loại được ghi chú trên board mạch và được sử dụng cho các chức năng khác nhau.
- GND (3): Viết tắt của ‘Ground’. Có một số chân cắm GND trên Bo mạch Arduino. Bạn có thể sử dụng bất kỳ chân nào để nối đất cho mạch.
- 5V (4) & 3.3V (5): Chân 5V cấp nguồn 5 vôn, và chân 3.3V cấp nguồn 3,3 vôn. Hầu hết các module cảm biến đơn giản chỉ sử dụng với Bo mạch Arduino khi ở mức điện áp 5 hoặc 3,3 vôn.
- Analog (6): vị trí các chân có ký hiệu ‘Analog In’ (A0 đến A5 trên UNO) là các chân nhận tín hiệu đầu vào. Các chân này có thể đọc tín hiệu từ một cảm biến bên ngoài (như cảm biến nhiệt độ) và thay đổi nó thành một giá trị bằng số mà chúng ta có thể đọc.
- Digital (7): Qua vị trí các chân analog là sẽ đến các chân digital (được đánh số 0 đến 13 trên UNO). Các chân này sử dụng cho cả đầu vào của digital (ví dụ như cho biết nút nào đã được nhấn) và đầu ra của digital (ví dụ như cấp năng lượng cho đèn LED).
- PWM (8): Bạn có thể thấy dấu ngã (~) bên cạnh một số chân số (3, 5, 6, 9, 10 và 11 trên UNO). Các chân này được lập trình như các chân digital thông thường, Nhưng bên cạnh đó, bạn có thể sử dụng cho điều chế độ rộng xung (PWM).
- AREF (9): được hiểu là của tham chiếu analog. Chân này thường ít được sử dụng. Thỉnh thoảng nó được dùng để thiết lập điện áp tham chiếu bên ngoài (giữa 0 và 5 Vôn) làm giới hạn trên cho các chân analog đầu vào.
Nút khởi động lại (Reset)
Cũng giống như bộ Nintendo gốc, Arduino có nút reset (10). Nếubạn nhấn nút này thì sẽ tạm thời làm kết nối chân reset với đất và khởi động lại bất kỳ code nào được nạp trên Arduino. Nó có tác dụng rất lớn nếu mã của bạn không lặp lại và bạn muốn check nó nhiều lần.
Đèn LED báo nguồn
Ngay bên dưới và bên phải của từ “UNO” trên bảng mạch sẽ có một đèn LED nhỏ bên cạnh chữ ‘ON’ (11). Đèn này sẽ sáng lên khi cắm mạch arduino vào nguồn điện.
Đèn LED RX TX
TX là cách viết ngắn gọn của truyền, RX là cách viết ngắn gọn của nhận. Những biểu tượng này có mặt liên tục trong các module cảm biến để chỉ ra các chân có tính năng giao tiếp nối tiếp. Trong trường hợp board mạch ở trên, có hai khu vực trên UNO Arduino nơi TX và RX xuất hiện. Khu vực thứ nhất là chỗ các chân số 0 và 1, và khu vực thứ hai bên cạnh đèn LED báo TX và RX (12). Những đèn LED này sẽ cung cấp hướng dẫn trực quan bất cứ khi nào Bo mạch Arduino kết nối dữ liệu.
Mạch tích hợp – IC
IC hay mạch tích hợp (13) có màu đen với các chân kim loại. Bạn có thể xem nó như là yếu tố cốt lõi của Bo mạch Arduino. IC trên ở các bo mạch Arduino khác nhau sẽ không giống nhau, nhưng thường là dòng IC ATmega từ công ty ATMEL. Điều này rất quan trọng, vì bạn cần phải biết loại IC (cùng với loại bo mạch) trước khi tải lên một chương trình. Thông tin này thường được chú thích ở phía trên cùng của IC. Nếu bạn muốn biết thêm về sự khác biệt giữa các IC khác nhau thì có thể đọc datasheet của nó.
Thay đổi điện áp
Bộ điều chỉnh điện áp (14) là thứ mà bạn không có tương tác nhiều khi dùng Arduino. Nhưng nó Điều chỉnh lượng điện áp được đưa vào Bo mạch Arduino. Giống như người bảo vệ, nó sẽ xử lý điện áp phụ có thể gây ảnh hưởng cho mạch. Tất nhiên, nó có giới hạn của nó. Do đó, bạn không nên sử dụng nguồn điện cho mạch arduino ở mức lớn hơn 20 vôn.
Các phiên bản của mạch arduino
Tính đến nay, có rất nhiều các phiên bản Arduino được ra đời.Chúng được xây dựng và thiết kế để hướng tới phục vụ cho các ứng dụng khác nhau tùy theo người sử dụng. Có thể kể đến một số phiên bản như
- Bo mạch Arduino Nano có tính nhỏ gọn, tiện dụng, và đơn giản
- Dòng Arduino Mega 2560 thường được sử dụng cho các ứng dụng khá phức tạp cần nhiều chân I/O,…
- Arduino UNO R3: Đây là dòng Arduino phổ biến và được sử dụng nhiều nhất
Bo mạch Arduino UNO R3
Khi ai nhắc tới mạch Bo mạch Arduino dùng để lập trình, cái đầu tiên mà người ta luôn nhắc đến là dòng arduino UNO. Hiện tại dòng mạch này đã được xây dựng và thiết kế tới thế hệ thứ 3 (R3).
Bo mạch Arduino UNO R3
Khi ai nhắc tới mạch Bo mạch Arduino dùng để lập trình, cái đầu tiên mà người ta luôn nhắc đến là dòng arduino UNO. Hiện tại dòng mạch này đã được xây dựng và thiết kế tới thế hệ thứ 3 (R3).
Kết luận,
Bo mạch Arduino hiện nay đã không còn lạ lẫm với người dùng tại Việt Nam. Tuy nhiên, không phải ai cũng có thể học lập trình bằng mạch arduino một cách dễ dàng và có hệ thống. Do vậy, OhStem xin được tổng hợp các tài liệu hướng dẫn chi tiết từ A đến Z cho người mới bắt đầu, nhằm hỗ trợ một phần vào quá trình học tập lập trình của các bạn trẻ yêu thích Arduino.
Nếu bạn muốn nhận bộ tài liệu này, vui lòng để lại comment phía dưới hoặc liên lạc với OhStem qua Fanpage tại đây để được nhận nhé!