Search…

Điện Tử Cơ Bản với Arduino – Cài Đặt Lần Đầu và Hiện Thực LED Chớp Tắt

14/09/20204 min read
Hướng dẫn thực hiện mạch đèn chớp tắt đơn giản với Arduino. Cung cấp các khái niệm cơ bản: HIGH/LOW, các hàm, ...

Giới thiệu về Arduino Uno

Arduino Uno là một bảng mạch vi điều khiển cỡ nhỏ có 14 chân input/output (6 chân PWM và 6 chân analog), sử dụng chip ATmega32832KB bộ nhớ làm nhân điều khiển, Arduino Uno được thiết kế và phân phối bởi Arduino LLC.

Arduino Uno
Arduino Uno

Arduio IDE

Để lập trình cho Board mạch Arduino, cần sử dụng Arduino IDE. IDE hỗ trợ viết code, gọi các hàm cơ bản mà Arduino hỗ trợ và nạp code vào Board mạch, Arduino IDE hỗ trợ ngôn ngữ C/C++.

Arduino IDE.
Arduino IDE

Hiện thực

Các cài đặt ban đầu

Hiện thực cho đèn LED chớp tắt đơn giản để làm quen với Arduino.

Chuẩn bị:

  • 1 đèn LED nhỏ 5V (có thể là LED nhỏ hoặc LED lớn nhưng có điện tải hiệu điện thế là 5V).
  • Board Test.
  • Dây dẫn Board Test.
  • Board mạch Arduino cùng thiết bị hỗ trợ.

Code mẫu chớp tắt LED

void setup() {
  pinMode(7, OUTPUT);
}

void loop() {
  digitalWrite(7, HIGH);
  delay(500);
  digitalWrite(7, LOW);
  delay(500);
}

Cắm dây USB nối từ Arduino đến máy tính:

Arduino và LED

Cấu hình chọn cổng COM đang kết nối từ Arduino đến máy tính và chọn mạch nạp phù hợp (nếu sử dụng Arduino Uno có thể cấu hình tương tự như hình bên dưới - AVRISP mkll).

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

Chọn đúng Board đang dùng:

Chọn loại board Arduino.

Nhấn biểu tượng Vertify và đợi quá trình biên dịch hoàn tất, sau đó nhấn biểu tượng Upload.

  •  Arduino verify button 1 - Verify
  •  Arduino upload button 2 - Upload 

Sau khi quá trình upload hoàn tất, ta tiến hành thử nghiệm. Trước tiên rút dây cắm USB từ máy tính ra khỏi Board Arduino - tạm thời ngắt nguồn Board để lắp nối các thiết bị.

Nối các thiết bị như hình bên dưới:

  • Nối cực dương đèn LED đến chân số 7 của Board Arduino.
  • Nối cực âm đèn LED đến chân GND của Board Arduino.
Arduino kết nối LED.
Sơ đồ kết nối LED

* Lưu ý: với đèn led, chân dài là cực dương, ta nối cực dương với chân số 7.

Sau khi hoàn tất, nối lại dây USB vào cổng USB của máy tính để cấp nguồn cho Board.

Kết quả

LED mở trong 0.5 giây rồi tắt trong 0.5 giây (chớp tắt).

LED tắt.
LED tắt
LED mở
LED mở

Giải thích

void setup() {
  pinMode(7, OUTPUT);
}

void loop() {
  digitalWrite(7, HIGH);
  delay(500);
  digitalWrite(7, LOW);
  delay(500);
}

Với ứng dụng quan tâm nhiều đến việc “bật/tắt” để hiện thực các tác vụ. Với điện tử hay Arduino, Arduino định nghĩa “bật/tắt” là HIGH/LOW.

Khi lập trình cho một chân bất kỳ:

  • HIGH đồng nghĩa chân đó có điện 5V.
  • LOW đồng nghĩa chân đó có điện 0V.

Hàm setup()

Hàm setup() là hàm được gọi đầu tiên và gọi duy nhất một lần khi chương trình chạy. Vì thế, các câu lệnh cài đặt như pinMode(), cài đặt giá trị cho biến sẽ nằm trong hàm setup().

Hàm loop()

Hàm loop() là hàm lặp, được gọi liên tục trong quá trình chạy. Khi chương trình chạy đến cuối hàm loop() và thoát ra, hàm loop() được gọi lại một lần nữa. Hàm loop() như trái tim của chương trình, nó được hiện thực để chương trình có thể chạy liên tục không dừng.

Hàm pinMode()

Hàm pinMode() có 2 vế.

  • Vế 1: thể hiện cho chân đang quan tâm, ở đây là chân số 7 tương ứng chân có in số 7 trên Arduino.
  • Vế 2: thể hiện cho “kiểu chân” đang cài đặt. Ở đây đang cài đặt kiểu OUTPUT.
    • INPUT: Nếu muốn chân này nhận dữ liệu từ bên ngoài vào.
    • OUTPUT: Nếu muốn Arduino xuất dữ liệu thông qua chân này.

Do cần Arduino phát tín hiệu cho đèn LED hoạt động nên cài đặt chân số 7 có giá trị OUTPUT.

Hàm digitalWrite()

Hàm digitalWrite() có 2 vế:

  • Vế 1: Thể hiện chân đang đề cập đến.
  • Vế 2: Giá trị muốn gán cho chân đó.
    • HIGH: chân sẽ có giá trị 5V hay còn gọi là “có tín hiệu”.
    • LOW: chân sẽ có giá trị 0V hay còn gọi là “không có tín hiệu”.

Hàm delay()

Hàm delay() có 1 vế, vế đó thể hiện cho số mili giây mà Arduino sẽ dừng lại.

Để đèn LED chớp tắt, gán cho chân số 7 giá trị HIGH (mở đèn) rồi chờ 0,5 giây. Sau đó lại gán chân 7 giá trị LOW (tắt đèn) rồi lại chờ 0,5s. Ứng dụng hàm loop(), để LED mở rồi tắt 1 lần, khi hết hàm loop(), hàm loop() được gọi một lần nữa và đèn sẽ lại mở rồi tắt 1 lần nữa và ... không ngừng lặp lại như vậy.

IO Stream

IO Stream Co., Ltd

30 Trinh Dinh Thao, Hoa Thanh ward, Tan Phu district, Ho Chi Minh city, Vietnam
+84 28 22 00 11 12
developer@iostream.co

383/1 Quang Trung, ward 10, Go Vap district, Ho Chi Minh city
Business license number: 0311563559 issued by the Department of Planning and Investment of Ho Chi Minh City on February 23, 2012

©IO Stream, 2013 - 2024