Hướng dẫn cài đặt đầy đủ arduino năm 2024

Ở bài đầu tiên, chúng ta đã được giới thiệu tổng quan về Arduino : Arduino Board và các dòng Arduino thông dụng, shield và module hỗ trợ; hướng dẫn cài đặt và sử dụng phần mềm Arduino IDE. Tiếp theo, list bài về Arduino, chúng ta sẽ đi tìm hiểu về :

♦ Dòng Arduino phổ biến ở Việt Nam: Arduino Uno.

♦ Cấu trúc một chương trình cho Arduino trên IDE, các nhóm lệnh và phép toán cơ bản.

· ⇒ Qua list bài này, chúng ta sẽ đạt được :

♦Nắm được cấu trúc của một Arduino Board cụ thể.

♦Nhận biết, cách sử dụng các chân analog, digital, Vcc, Gnd.

♦Mô tả cấu trúc một chương trình cho Arduino

♦Sử dụng, biết tra cứu các nhóm lệnh, phép toán trên trang chủ www.arduino.cc

  1. Arduino Board

Có khá nhiều model Arduino Board cho chúng ta, tuy nhiên model Arduino Uno (Uno ) được khuyên dùng hơn cả. Uno là lựa chọn tốt nhất cho những ai mới bắt đầu với Arduino, cả về độ tin cậy và giá thành.

Hướng dẫn cài đặt đầy đủ arduino năm 2024

Hình ảnh Arduino Uno R3

Địa chỉ mua Board : http://mlab.vn/mach-arduino/main-board

1.Tổng quan

Arduino Uno là một bo mạch vi điều khiển dựa trên chip Atmega328P. Uno có 14 chân I/O digital ( trong đó có 6 chân xuất xung PWM), 6 chân Input analog, 1 thạch anh 16MHz, 1 cổng USB, 1 jack nguồn DC, 1 nút reset.

Uno hỗ trợ đầy đủ những thứ cần thiết để chúng ta có thể bắt đầu làm việc.

Sơ đồ chi tiết của Uno R3:

Hướng dẫn cài đặt đầy đủ arduino năm 2024

Hình 1.1 Sơ đồ cấu trúc Arduino Uno R3

Cầm board mạch trên tay, thông qua sơ đồ cấu trúc, chúng ta sẽ biết vùng cấp nguồn, các chân digital, chân analog, đèn báo hiệu, reset … trên đó.

2.Thông số kỹ thuật – Uno R3

Vi điều khiển

Atmega328P

Điện áp hoạt động

5V

Điện áp cấp (hoạt động tốt)

7 – 12 V

Điện áp cấp (giới hạn)

6 – 12 V

Chân I/O digital

14 ( có 6 chân xuất xung PWM)

Chân Input analog

6 (A0 – A5)

Dòng điện mỗi chân I/O

20 mA

Dòng điện chân 3.3V

50 mA

Bộ nhớ Flash

32 kB (Atmega328P) – trong đó 0.5 kB dùng cho bootloader.

SRAM

2 kB (Atmega328P)

EEPROM

1 kB (Atmega328P)

Tốc độ xung nhịp

16 MHz

Kích thước

68.6 x 53.4 mm

Trọng lượng

25 g

► Khi làm quen, tìm hiểu về một model Arduino, chúng ta cần chú ý tới thông số kỹ thuật đầu tiên. Điều này giúp chúng ta có được một thói quen tốt để làm việc. Các thông số chính như : Vi điều khiển , điện áp cấp/điện áp hoạt động, chân digital / analog, tốc độ xung nhịp, bộ nhớ , …

3.I/O Pins

Sơ đồ chân của vi điều khiển ATmega328P:

Hướng dẫn cài đặt đầy đủ arduino năm 2024

Hình 2.1 : Sơ đồ chân của Atmega328

♦ Digital: Các chân I/O digital (chân số 2 – 13 ) được sử dụng làm chân nhập, xuất tín hiệu số thông qua các hàm chính : pinMode(), digitalWrite(), digitalRead(). Điện áp hoạt động là 5V, dòng điện qua các chân này ở chế độ bình thường là 20mA, cấp dòng quá 40mA sẽ phá hỏng vi điều khiển.

♦ Analog :Uno có 6 chân Input analog (A0 – A5), độ phân giải mỗi chân là 10 bit (0 – 1023 ). Các chân này dùng để đọc tín hiệu điện áp 0 – 5V (mặc định) tương ứng với 1024 giá trị, sử dụng hàm analogRead().

♦ PWM : các chân được đánh số 3, 5, 6, 9, 10, 11; có chức năng cấp xung PWM (8 bit) thông qua hàm analogWrite().

♦ UART: Atmega328P cho phép truyền dữ liệu thông qua hai chân 0 (RX) và chân 1 (TX).

4.Nguồn

Có hai cách cấp nguồn chính cho bo mạch Uno: cổng USB và jack DC.

Giới hạn điện áp cấp cho Uno là 6 – 20V. Tuy nhiên, dải điện áp khuyên dùng là 7 – 12 V (tốt nhất là 9V). Lý do là nếu nguồn cấp dưới 7V thì điện áp ở ‘chân 5V’ có thể thấp hơn 5V và mạch có thể hoạt động không ổn định; nếu nguồn cấp lớn hơn 12V có thể gấy nóng bo mạch hoặc phá hỏng.

Các chân nguồn trên Uno:

- Vin : chúng ta có thể cấp nguồn cho Uno thông qua chân này. Cách cấp nguồn này ít được sử dụng.

- 5V : Chân này có thể cho nguồn 5V từ bo mạch Uno. Việc cấp nguồn vào chân này hay chân 3.3 V đều có thể phá hỏng bo mạch.

- 3.3V : Chân này cho nguồn 3.3 V và dòng điện maximum là 50mA.

- GND: chân đất.

  1. Arduino IDE

Đảm bảo chắc chắn là bạn đã cài đặt xong Arduino IDE ( link hướng dẫn download, cài đặt và sử dụng IDE: https://www.arduino.cc/en/Guide/Windows )

Giao diện Arduino IDE sau khi cài đặt:

1.Cấu trúc một chương trình trong Arduino IDE

Sau phần này chúng ta sẽ xây dựng và hiểu được các khối cơ bản của một chương trình trong IDE.

Một chương trình hiển thị trên cửa sổ giao diện được gọi là sketch.Sketch được tạo từ hai hàm cơ bản là setup () và loop () :

  • Setup() : Hàm này được gọi khi một sketch khởi động, được sử dụng để khởi tạo biến, đặt các chế độ chân ( nhận hay xuất tín hiệu ), khởi động một thư viện … Hàm setup() chỉ chạy một lần, sau khi cấp nguồn hoặc reset mạch.

  • Loop(): Sau khi khởi tạo hàm setup(), hàm loop() sẽ được khởi tạo và thiết lập các giá trị ban đầu. Như tên gọi, hàm loop tạo các vòng lặp liên tục, có cho phép sự thay đổi và đáp ứng. Chức năng tương tự như vòng lặp while() trong C, hàm loop() sẽ điều khiển toàn bộ mạch.

Ví dụ : Cấu trúc cơ bản một chương trình:

// Ví dụ nhấp nháy led 1s // các hàm sử dụng : setup(); loop(); pinMode(); digitalWrite(); delay(); // hàm setup() : quy định chức năng các chân sử dụng void setup() { // đặt chân số 13 là chân xuất tín hiệu. pinMode(13, OUTPUT); } // hàm loop : các câu lệnh trong hàm sẽ được chạy liên tục theo chu kỳ. void loop() { digitalWrite(13, HIGH); // bật LED bằng cách đưa tín hiệu điện áp

                             //  chân 13 lên mức cao (HIGH)  
delay(1000); // tạo trễ 1000 ms = 1s digitalWrite(13, LOW); // tắt LED bằng cách đưa tín hiệu điện áp chân
                             // 13 xuống mức thấp (LOW).  
delay(1000); // trễ 1s } // kết thúc chương trình.
Hướng dẫn cài đặt đầy đủ arduino năm 2024

Sơ đồ mạch ví dụ 1

Một ví dụ khác :

// bật tắt led bằng nút bấm // thêm phần khai báo biến // gán tên cho các chân sử dụng : const int buttonPin = 2; // chân số 2 : buttonPin const int ledPin = 13; // chân số 13 : ledPin // khai báo các biến int buttonState = 0; // biến đọc trạng thái của nút nhấn void setup() { // khởi tạo chân ledPin là OUTPUT pinMode(ledPin, OUTPUT); // khởi tạo chân button là INPUT pinMode(buttonPin, INPUT); } void loop() // đọc trạng thái nút nhấn và gán giá trị cho biến buttonState buttonState = digitalRead(buttonPin); // dùng hàm if kiểm tra trạng thái nút nhấn // nếu nhấn nút : buttonState = HIGH if (buttonState == HIGH) {

// bật LED    
digitalWrite(ledPin, HIGH);   
} else {
// tắt LED  
digitalWrite(ledPin, LOW);  
} }
Hướng dẫn cài đặt đầy đủ arduino năm 2024

Sơ đồ mạch ví dụ 2

2.Các nhóm cấu trúc lệnh cơ bản

Tham khảo các hàm dùng trong Arduino IDE trên trang chủ https://www.arduino.cc/en/Reference/HomePage

Các chương trình Arduino có thể được chia thành : nhóm cấu trúc, nhóm biến và hằng , nhóm hàm.

Trên trang Arduino.cc có đầy đủ và chi tiết các hàm, lệnh, phép toán cùng cách thức sử dụng cũng như các ví dụ đi kèm. Chúng ta sẽ tìm hiểu các hàm cơ bản trước : setup() ; loop () ; pinMode() ; digitalRead(); digitalWrite(); analogWrite() ; …

Một vài ví dụ:

Mỗi hàm, lệnh hay thuật ngữ trong phần này đều được giải thích rất ngắn gọn, rõ ràng, dễ dàng áp dụng.

- Hàm pinMode(pin, mode):thiết lập một chân cụ thể là chân nhận hay xuất tín hiệu.

Trong đó: pin là chân sẽ được thiết lập; mode là một trong các chế độ INPUT. OUTPUT hoặc INPUT_PULLUP (Arduino 1.0.1)