• HOME
  • DỰ ÁN & MẠCH ĐIỆN
    • Lập trình
      • ARDUINO PROJECT
      • ESP8266 PROJECT
      • ESP32 PROJECT
      • RASPBERRY PI PROJECT
      • Vi điều khiển
    • Điện tử ứng dụng
      • Audio / Amplifiers
      • Nguồn điện
      • Pin sạc/Acquy và mạch sạc
      • Biến đổi AC và DC
      • Robotic
      • Cảm biến
      • LED
      • LCD
      • Động cơ bước
      • Mạch linh tinh
      • Test & Measurement
      • RF – FM
    • HOME AUTOMATION
    • Dân dụng
    • Công nghiệp
    • Đồng hồ
      • Clocks
      • Nixie Clock
      • Gixie Clock
      • Lixie Clock
      • Scope Clock
  • KIẾN THỨC CĂN BẢN
    • Điện tử cơ bản
    • Điện tử số
    • PCB
    • Nixie Tube
    • Raspberry Pi
    • Vi điều khiển
    • Arduino
    • IN 3D
  • DOWNLOAD
    • Giáo trình
      • Giáo trình Điện – Điện tử
      • Giáo trình Tự Động Hóa
      • Giáo trình Viễn thông
    • Đề tài
      • Đề tài – Điện – Điện Tử
      • Đề tài – Tự Động Hóa
      • Đề tài – Viễn thông
    • Điện tử ứng dụng
    • Tài liệu nước ngoài
    • Hướng dẫn, sửa chữa
    • Sơ đồ, nguyên lý thiết bị
    • Tiêu chuẩn – Đo lường – Thử nghiệm
    • Datasheet
  • LIÊN HỆ
  • SẢN PHẨM

Mạch Điện Lý Thú

Sơ đồ nguyên lý, PCB, đồ án, tài liệu, DIY

Trang chủ » Kiến thức căn bản » Arduino » Arduino cơ bản 01 – Phần 2: Chớp tắt LED trên Arduino Uno

Arduino cơ bản 01 – Phần 2: Chớp tắt LED trên Arduino Uno

11/12/2019 by admin Để lại bình luận

Trong bài viết hôm nay mình xin giới thiệu với các bạn cách chớp tắt Led trên Arduino Uno. Và cách tạo một biến ra sao, cách thức làm việc của các hàm trên Arduino IDE.

Xem thêm:

  • Arduino cơ bản 01: Getting Started
  • Arduino cơ bản 01 – Phần 3: Chớp tắt LED trên Arduino Uno

Code ví dụ chớp tắt Led

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
  This example code is in the public domain.
*/
// Pin 10 has an LED connected on most Arduino boards.
// give it a name:
int ledPin = 10;
 
// the setup routine runs once when you press reset:
void setup() {
        // initialize the digital pin as an output.
        pinMode(ledPin, OUTPUT);
}
 
// the loop routine runs over and over again forever:
void loop() {
        digitalWrite(ledPin,HIGH);        // turn the LED on (HIGH is the voltage level)
        delay(1000);                      // wait for a second
        digitalWrite(ledPin,LOW);         // turn the LED off by making the voltage LOW
        delay(1000);                      // wait for a second
}

Giải thích Code

Comment

Mục lục hiện
Comment
Hàm setup()
Vòng lặp
Delay()
Mối quan hệ của pinMode, digitalWrite và digitalRead
Sơ đồ đấu nối
Các linh kiện cần thiết cho bài học
Tổng kết

Trong Arduino bạn sẽ bắt gặp 2 dạng comment: Comment đơn dòng và đa dòng

  • Comment theo kiểu đa dòng

Mở đầu bằng /* và kết thúc */ ở dạng comment này không giới hạn ký tự và số dòng.

1
2
3
4
5
6
/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
  This example code is in the public domain.
*/
  • Comment theo kiểu đơn dòng

Mở đầu bằng // và kéo dài cho tới cuối dòng

1
digitalWrite(ledPin,HIGH);    // turn the LED on (HIGH is the voltage level)

Kiểu số nguyên int 

1
int ledPin = 10;
Kiểu dữ liệu Độ rộng bit Dãy giá trị
int (số nguyên)  2 byte (16bit) -32,768 đến 32,767
  • ledPin = 10: Là tên biến (ở đây bạn có thể đặt tên gì mà bạn mong muốn, tốt nhất là các bạn đặt theo tên của chức năng để dễ dàng nhớ khi code. Ở đây mình kết nối LED vào chân số 10 trên Arduino UNO).
  • Kết thúc khai báo bằng dấu (;): Trong trường hợp bạn không có (;) thì trình biên dịch sẽ báo lỗi.

Hàm setup()

1
void setup() {}

Hàm setup() được Arduino đọc khi bắt đầu khởi động. Nó dùng để khởi tạo biến, khởi tạo thư viện và thiết lập thông số.

Hàm setup() chỉ chạy một lần khi bật nguồn hoặc reset lại chương trình.

pinMode

1
pinMode(ledPin, OUTPUT);

  • “pinMode”: Cấu hình quy định hoạt động của một chân như là một đầu vào (INPUT) hoặc đầu ra (OUTPUT).
  • “Pin”: Là chân mà bạn muốn đặt.
  • “Mode”: INPUT, OUTPUT hoặc INPUT_PULLUP.

Vòng lặp

1
void loop() {}

Sau khi hàm setup () chạy xong, những lệnh trong vòng loop () sẽ thực hiện và chúng sẽ lặp đi lặp lại cho đến khi Arduino bị ngắt nguồn hoặc reset lại chương trình.

1
digitalWrite(ledPin,HIGH);    // turn the LED on (HIGH is the voltage level)

digitalWrite ghi giá trị mức “CAO” (bật) hoặc mức “THẤP” (tắt) vào chân được cấu hình. Nếu chân được cấu hình là OUTPUT bởi pinMode, thì điện áp của nó sẽ tương ứng với giá trị được đặt: 5V (hoặc 3.3V trên bo là 3.3V) là mức “CAO”, 0V là mức “THẤP”.

Delay()

1
delay(1000);                      // wait for a second
  • delay(): Tạm dừng chương trình trong khoảng thời gian chỉ định (được tính bằng mili giây) và ở đây (1000 mili giây sẽ bằng 1 giây).

Mối quan hệ của pinMode, digitalWrite và digitalRead

Nếu pinMode cấu hình điều khiển là đầu vào (INPUT), bạn nên sử dụng hàm digitalRead(). Nếu chân cấu hình là đầu ra (OUTPUT), bạn nên sử dụng hàm digitalWrite.

LED, Buzzer  Button
pinMode(pin,OUTPUT) pinMode(pin,INPUT)
digitalWrite(pin,HIGH/LOW) digitalRead(pin)

Sơ đồ đấu nối

Các linh kiện cần thiết cho bài học

  • Arduino Uno
  • Led 5mm
  • Điện trở 220R
  • Breadboard

Tổng kết

Qua bài 1 – phần 2 các bạn sẽ nắm được những kiến thức về kiểu dữ liệu số nguyên (int), cách sử dụng biến như thế nào, sử dụng hàm và cách làm việc của vòng lặp.

Nguồn: arduinokit.vn

Đánh giá bài viết

You May Also Like

Mạch thắp đèn led bằng nguồn 220V
Mạch thắp đèn led bằng nguồn 220V
Giải mã Remote hồng ngoại với Arduino
Mạch kiểm tra dung lượng Pin dùng Arduino

Thuộc chủ đề:Arduino Tag với:arduino, cơ bản, code, led

Bài viết trước « Arduino cơ bản 03: Analog Inputs
Bài viết sau Arduino cơ bản 01 – Phần 3: Chớp tắt LED trên Arduino Uno »

Reader Interactions

Trả lời Hủy

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 *

Sidebar chính

NHẬN BÀI VIẾT QUA EMAIL

Hãy đăng ký ngay để là người đầu tiên nhận được thông báo qua email mỗi khi chúng tôi có bài viết mới!

Theo dõi qua mạng xã hội

  • Facebook
  • RSS

Bạn đang tìm gì?

Bài viết mới nhất

Mạch thắp đèn led bằng nguồn 220V

Mạch thắp đèn led bằng nguồn 220V

21/01/2021

Ổn áp công suất lớn dùng IC họ 78xx

Ổn áp công suất lớn dùng IC họ 78xx

20/01/2021

Mạch ổn áp LM317-LM337 nguồn đối xứng +-5V

Mạch ổn áp LM317-LM337 nguồn đối xứng +-5V

19/01/2021

Bảng tra tham số transitor công suất nhỏ (tín hiệu) TB hay BJT

Bảng tra tham số transitor công suất nhỏ (tín hiệu) TB hay BJT

18/01/2021

Varistor hay Tụ chống sét là gì?

Varistor hay Tụ chống sét là gì?

17/01/2021

Zalo hỏi đáp 24/7

Chuyên mục

  • DỰ ÁN & MẠCH ĐIỆN (223)
    • Công nghiệp (16)
    • Dân dụng (27)
    • Điện tử ứng dụng (169)
      • Audio / Amplifiers (34)
      • Biến đổi AC và DC (23)
      • Cảm biến (40)
      • Động cơ bước (6)
      • Kiểm thử và đo đạc (23)
      • LCD (11)
      • LED (19)
      • Mạch linh tinh (27)
      • Nguồn điện (39)
      • Pin sạc/Acquy và mạch sạc (22)
      • RF – FM (3)
      • Robotic (2)
    • Đồng hồ (6)
      • Clocks (3)
      • Nixie Clock (3)
    • HOME AUTOMATION (25)
    • Lập trình (72)
      • ARDUINO PROJECT (32)
      • ESP32 PROJECT (1)
      • ESP8266 PROJECT (25)
      • RASPBERRY PI PROJECT (7)
      • Vi điều khiển (11)
  • Kiến thức căn bản (145)
    • Arduino (34)
    • Điện tử cơ bản (70)
    • Điện tử số (7)
    • IN 3D (9)
    • Nixie Tube (13)
    • PCB (11)
    • Raspberry Pi (9)
    • Vi điều khiển (4)

Footer

Bài viết mới nhất

  • Mạch thắp đèn led bằng nguồn 220V
  • Ổn áp công suất lớn dùng IC họ 78xx
  • Mạch ổn áp LM317-LM337 nguồn đối xứng +-5V
  • Bảng tra tham số transitor công suất nhỏ (tín hiệu) TB hay BJT
  • Varistor hay Tụ chống sét là gì?
  • Chất bán dẫn là gì?

Bình luận mới nhất

  • admin trong Mạch Ampli 100W dùng IC TDA7294
  • Viet trong Mạch Ampli 100W dùng IC TDA7294
  • admin trong Hack hệ thống CAN bus trên ô tô
  • Nguyen Tien trong Hack hệ thống CAN bus trên ô tô

Tìm kiếm

Tất cả nội dung trên website chỉ dùng để tham khảo. Chúng tôi không chịu trách nhiệm về thông tin thành viên đăng tải lên website và xóa bài viết khi có vi phạm bản quyền tác giả.