Arduino là gì? Học lập trình Arduino từ đâu?

Học lập trình Arduino (1)

Mở đầu

Ngày nay, chắc hẳn các bạn học sinh, sinh viên kỹ thuật đều biết đến Arduino đúng không. Hôm nay trong bài viết này, Dientu5ngay sẽ cùng các bạn đi tìm hiểu Arduino là gì? Học lập trình Arduino từ đâu?

Giới thiệu chung về Arduino

Việc học lập trình Arduino là cả một quá trình dài, hãy thật sự cố gắng các bạn nhe. Rồi chúng ta bắt đầu đi tìm hiểu về Arduino nhé. Let’s go!

Lịch sử ra đời

Arduino là một bo mạch phát triển sử dụng vi điều khiển chứa mã nguồn mở. Hiểu một cách đơn giản, bạn có thể sử dụng Arduino để đọc giá trị  các cảm biến và điều khiển những thứ như động cơ và đèn,… Để lập trình Arduino bạn cần có một trình biên dịch. Sau khi viết chương trình, nạp cho Arduino và bạn đã có thể tương tác với mọi thứ trong thế giới thực. Nhờ ưu điểm này, bạn có thể tạo ra các thiết bị đáp ứng và phản ứng với thế giới nói chung. Điều này gặp nhiều trong các dự án Smart Home hay còn gọi là nhà thông minh.

Học lập trình Arduino (2)
Một vài Project về Arduino

Ví dụ, bạn có thể đọc cảm biến độ ẩm được kết nối với một chậu cây và bật hệ thống tưới nước tự động nếu nó quá khô. Hoặc, bạn có thể tạo một máy chủ trò chuyện độc lập được cắm vào bộ định tuyến internet của bạn. Hoặc, bạn có thể điều khiển nhiệt độ của một máy ấp trứng. Hoặc, bạn có thể bắt Arduino bật điện cho bạn khi trời tối và tắt điện khi trời sáng.

Tính ưu việt

Có một người thầy nói với tôi rằng: “Đỉnh cao của một người kỹ thuật viên điện tử là người có thể điều khiển được điện áp và dòng điện”. Về cơ bản, nếu có thứ gì đó được điều khiển bằng điện theo bất kỳ cách nào, Arduino có thể giao tiếp với nó theo một cách nào đó. Và ngay cả khi nó không được điều khiển bằng điện, bạn vẫn có thể sử dụng những thứ (như động cơ và nam châm điện), để giao tiếp với nó.

Khả năng điều khiển

Khả năng của Arduino là gần như vô hạn. Như vậy, việc lập trình Arduino rất rộng lớn. Trong phạm vi bài viết, Dientu5ngay không thể nào cung cấp hết được vì nó quá nhiều. Nhưng, chúng tôi đã cố gắng hết sức để cung cấp một cái nhìn tổng quan cơ bản về các kỹ năng và kiến ​​thức nền tảng mà bạn cần để thiết lập và chạy Arduino của mình. Mình tin là những kiến thức này sẽ giúp bạn có thêm một bước đệm để việc học lập trình Arduino được tự tin hơn. Rồi, chúng ta tiếp tục với nhứng loại Arduino hiện nay nhé.

Các loại Arduino thông dụng nhất hiện nay

Arduino UNO

Đây là phiên bản phổ biến nhất của ArduinoBo mạch này là thứ mà hầu hết mọi người đang nói đến khi họ đề cập đến Arduino.

Arduino UNO R3
Arduino UNO R3

Trong bước tiếp theo, có một bản tóm tắt đầy đủ hơn về các tính năng của nó.

Arduino NG, Diecimila và Duemilanove (Phiên bản kế thừa)

Các phiên bản kế thừa của dòng sản phẩm Arduino Uno bao gồm NG, Diecimila và Duemilanove. Điều quan trọng cần lưu ý về các phiên bản kế thừa là chúng thiếu tính năng đặc biệt của Arduino Uno. Một số điểm khác biệt chính:

Học lập trình Arduino (4)
Duemilanove

Diecimila và NG sử dụng chip ATMEGA168 (trái ngược với ATMEGA328 mạnh hơn),

Cả Diecimila và NG đều có một Jumper bên cạnh cổng USB và yêu cầu lựa chọn thủ công USB hoặc nguồn pin.

Arduino NG yêu cầu bạn giữ nút nghỉ trên bảng trong vài giây trước khi tải lên chương trình.

Arduino Mega 2560

Bo mạch Arduino Mega 2560 là phiên bản thứ hai thường gặp nhất của đại gia đình Arduino. Arduino Mega giống như người anh cả của Arduino Uno. Nó tự hào có bộ nhớ 256 KB (gấp 8 lần so với Uno). Nó cũng có 54 chân đầu vào và đầu ra, 16 trong số đó là chân tương tự (Analog) và 14 chân trong số đó có thể thực hiện PWM (băm xung).

Học lập trình Arduino Mega 2560(5)
Arduino Mega 2560

Tuy nhiên, tất cả các chức năng được bổ sung đều phải trả giá bằng một bảng mạch lớn hơn một chút. Nó có thể làm cho dự án của bạn trở nên mạnh mẽ hơn, nhưng nó cũng sẽ làm cho dự án của bạn lớn hơn. Hãy xem trang chính thức của Arduino Mega 2560 để biết thêm chi tiế nhé.

Arduino Mega ADK

Phiên bản chuyên biệt này của Arduino về cơ bản là Arduino Mega được thiết kế đặc biệt để giao tiếp với điện thoại thông minh Android.

Học lập trình Arduino Arduino Mega ADK(6)
Arduino Mega ADK 

Đây cũng là một phiên bản kế thừa.

Arduino Yun

Các Arduino Yun sử dụng một chip ATMega32U4 thay cho ATmega328. Tuy nhiên, điều thực sự làm nên sự khác biệt của nó là việc bổ sung bộ vi xử lý Atheros AR9331. Chip bổ sung này cho phép bo mạch này chạy Linux ngoài hệ điều hành Arduino thông thường. Arduino Yun cũng có khả năng phát wifi trên bo mạch.

Học lập trình Arduino Arduino Yun(7)
Arduino Yun

Nói cách khác, bạn có thể lập trình Arduino Yun để thực hiện các công việc giống như bạn làm với bất kỳ Arduino nào khác. Nhưng bạn cũng có thể truy cập vào mặt Linux của nó để kết nối với internet qua wifi. Sau đó, phía Arduino và phía Linux có thể dễ dàng giao tiếp qua lại với nhau. Điều này làm cho Arduino Yun trở nên cực kỳ mạnh mẽ và linh hoạt. Bạn có thể xem trang chính thức của Arduino Yun tại đây (Lưu ý tất cả là tiếng Anh nhé).

Arduino Nano

Học lập trình Arduino Nano (8)
Arduino Nano 

Nếu bạn muốn nhỏ hơn bo mạch Arduino tiêu chuẩn, Arduino Nano là dành cho bạn! Dựa trên chip ATmega328 gắn trên bề mặt, phiên bản Arduino này đã được thu nhỏ xuống, phù hợp với không gian chật hẹp. Nó cũng có thể được chèn trực tiếp vào breadboard, giúp bạn dễ dàng thiết kế.

Arduino LilyPad

Học lập trình Arduino LilyPad
Arduino LilyPad 

Arduino LilyPad được thiết kế cho các ứng dụng may mặc công nghệ dệt vải. Nó được thiết kế để may vào vải và kết nối với các thành phần có thể may khác bằng chỉ dẫn điện. Bo mạch này yêu cầu sử dụng cáp lập trình nối tiếp FTDI-USB TTL đặc biệt . Để biết thêm thông tin, trang Arduino LilyPad là một điểm khởi đầu tốt.

Các tính năng của Arduino UNO

Arduino UNO R3
Arduino UNO R3 

Một số người nghĩ Arduino như một bộ vi điều khiển, nhưng điều này là không chính xác. Bo mạch Arduino thực chất là một bảng mạch được thiết kế đặc biệt để lập trình và tạo mẫu với vi điều khiển Atmel. Có nghĩa là lập trình Arduino còn đỉnh cao hơn cả vi điều khiển.

Điểm hay về bo mạch Arduino là nó tương đối rẻ, cắm thẳng vào cổng USB của máy tính. Việc thiết lập và sử dụng rất đơn giản (so với các bo mạch phát triển khác như 8051, PIC, AVR).

Một số tính năng chính của Arduino Uno bao gồm:

Chương trình mã nguồn mở.

Lợi thế của nó là mã nguồn mở là nó có một cộng đồng lớn người sử dụng và xử lý sự cố. Điều này giúp bạn dễ dàng tìm được ai đó để giúp bạn gỡ lỗi các dự án của mình.

Chuẩn giao tiếp USB thông dụng

Con chip trên bo mạch cắm thẳng vào cổng USB của bạn và đăng ký trên máy tính của bạn như một cổng nối tiếp ảo. Điều này cho phép bạn giao tiếp với nó như thông qua nó là một thiết bị nối tiếp. Lợi ích của thiết lập này là giao tiếp nối tiếp là một giao thức cực kỳ dễ dàng (và đã được kiểm tra thời gian) và USB giúp kết nối nó với các máy tính hiện đại thực sự thuận tiện.

Quản lý điện năng tốt

Bạn có thể kết nối nguồn điện bên ngoài lên đến 12v và nó sẽ điều chỉnh nó sang cả 5v và 3,3v. Nó cũng có thể được cấp nguồn trực tiếp từ cổng USB mà không cần bất kỳ nguồn điện bên ngoài nào.

Chip ATmega328 là trái tim của Arduino UNO

Chip ATmega328 được bán lẻ với giá khoảng vài chục ngàn . Nó có vô số tính năng phần cứng tuyệt vời như bộ hẹn giờ, chân PWM, ngắt bên ngoài và bên trong cũng như nhiều chế độ ngủ đông.

Bộ dao động tần số 16MHz.

Điều này khiến nó không phải là bộ vi điều khiển nhanh nhất nhưng đủ nhanh cho hầu hết các ứng dụng.

Bộ  nhớ flash 32KB  

13 chân kỹ thuật số và 6 chân tương tự.

Các chân này cho phép bạn kết nối phần cứng bên ngoài với Arduino của mình. Các chân này là chìa khóa để mở rộng khả năng tính toán của Arduino vào thế giới thực. Chỉ cần cắm các thiết bị và cảm biến của bạn vào các ổ cắm tương ứng với từng chân này và bạn đã sẵn sàng lập trình Arduino rồi.

Chuẩn kết nối ICSP

Chuẩn ICSP bỏ qua cổng USB và giao tiếp trực tiếp với Arduino dưới dạng thiết bị nối tiếp. Cổng này là cần thiết để khởi động lại chip của bạn nếu nó bị hỏng và không thể nói chuyện với máy tính của bạn được nữa.

LED 13 – Test mạch

Một đèn LED trên bo mạch được gắn vào chân số 13 để nhanh chóng gỡ lỗi và TEST dễ dàng.

Phím RESET

Và cuối cùng, nhưng không kém phần quan trọng, một nút để RESET ( thiết lập lại chương trình) trên bo mạch.

Trình biên dịch Arduino IDE

Như đã nói ở phần trước, để lập trình Arduino, trước hết cần có bo mạch, sau đó là một chương trình để viết Code cho nó. Arduino IDE là một chương trình do chính công ty Arduino viết, áp dụng cho tất cả các loại Arduino hiện nay.

Học lập trình Arduino IDE
Trình biên dịch Arduino IDE 

Trước khi bạn có thể bắt đầu làm bất cứ điều gì với Arduino, bạn cần tải xuống và cài đặt Arduino IDE .Từ thời điểm này, chúng tôi sẽ đề cập đến Arduino IDE với tư cách là Trình biên dịch cho Arduino. Trình biên dịch Arduino dựa trên IDE xử lý và sử dụng một biến thể của ngôn ngữ lập trình C và C ++. Bạn có thể tìm thấy phiên bản mới nhất của Arduino IDE trên trang này .

Kết nối Arduino với máy tính

Học lập trình Arduino Kết nối Arduino với máy tính
Kết nối Arduino với máy tính 

Kết nối Arduino với cổng USB của máy tính.

Xin lưu ý rằng mặc dù Arduino cắm vào máy tính của bạn nhưng nó không phải là một thiết bị USB thực sự. Bo mạch có một con chip đặc biệt cho phép nó hiển thị trên máy tính của bạn dưới dạng cổng nối tiếp ảo khi nó được cắm vào cổng USB. Đây là lý do tại sao điều quan trọng là phải cắm bo mạch. Khi bo mạch không được cắm vào, cổng nối tiếp ảo mà Arduino hoạt động sẽ không xuất hiện (vì tất cả thông tin về nó đều nằm trên bo mạch Arduino).

Lưu ý mỗi Arduino đều có một địa chỉ cổng nối tiếp ảo duy nhất. Điều này có nghĩa là mỗi khi bạn cắm một bảng Arduino khác vào máy tính của mình, bạn sẽ cần phải cấu hình lại cổng nối tiếp đang sử dụng.

Arduino Uno yêu cầu cáp USB Type A (Chân vuông) sang USB B đực (chân USB thông dụng nhất hiện nay) .

Cài đặt chương trình

Học lập trình Arduino Cài đặt chương trình
Cài đặt chương trình chọn Arduino 

Trước khi bạn có thể bắt đầu làm bất cứ điều gì trong lập trình Arduino, bạn phải đặt đúng bo mạch Arduino đang có và cổng nối tiếp.

Để đặt bảng, hãy làm như sau:

Tools --> Boards

Ở đây mình đã cắm Arduino Uno sẽ chọn “Arduino Uno.”

Để đặt cổng nối tiếp, hãy làm như sau:

Học lập trình Arduino chọn cổng com
Chọn cổng nối tiếp để giao tiếp với Arduino 

Tools --> Serial Port

Chọn cổng nối tiếp giống như sau:

/dev/tty.usbmodem [Cổng ngẫu nhiên theo máy tính của bạn]

Chạy một chương trình Demo

Học lập trình Arduino (demo blink
Chọn ví dụ là Chương trình Blink 

Chương trình Arduino IDE đi kèm với rất nhiều bản phác thảo ví dụ được tải trước. Điều này thật tuyệt vì ngay cả khi bạn chưa bao giờ lập trình bất cứ thứ gì trong đời, bạn vẫn có thể tải một trong những bản phác thảo này và yêu cầu Arduino thực hiện điều gì đó.

Dưới đây là ví dụ cơ bản nhất mà hầu hết các Newbie đều đã trải qua. Chương trình Blink- Nhấp nháy đèn số 13 trên bo mạch Arduino UNO R3

Học lập trình Arduino blink
Code của chương trình blink 

Files --> Examples --> Basics --> Blink

Ví dụ về nhấp nháy về cơ bản đặt chân D13 làm đầu ra và sau đó nhấp nháy đèn LED thử nghiệm trên bo Arduino bật và tắt mỗi giây.

Lưu ý rằng đèn LED trạng thái gắn kết bề mặt được kết nối với chân 13 trên Arduino sẽ bắt đầu nhấp nháy. Bạn có thể thay đổi tốc độ nhấp nháy bằng cách thay đổi độ trễ và nhấn lại nút tải lên. Các ví dụ còn lại các bạn tự tìm hiểu thêm nhé

Lời kết

Có lẽ bài viết cũng hơi dài rồi, mình tạm khép lại bài viết này tại đây nhé. Hứa với các bạn sẽ viết thêm nhiều bài viết về Lập trình Arduino hơn nữa. Hy vọng chút kiến thức này giúp các bạn phần nào trong quá trình học Arduino nhé.

CHÚC CÁC BẠN THÀNH CÔNG

Có thể bạn quan tâm

Tài liệu lập trình Arduino miễn phí

Tài liệu lập trình FPGA miễn phí

Tài liệu điện tử công nghiệp miễn phí

Tài liệu điện tử viễn thông miễn phí

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *