STDIO
Tìm kiếm gần đây
    Nội dung
    0
    0
    Chia sẻ

    Điện Tử Cơ Bản Với Arduino – LED 7 Đoạn

    Giới thiệu LED 7 đoạn và code demo sử dụng LED 7 đoạn với Arduino.
    01/09/2015 10/08/2020 5 phút đọc
    Điện Tử Cơ Bản Với Arduino – LED 7 Đoạn

    LED 7 đoạn

    LED 7 đoạn.
    LED 7 đoạn

    LED 7 đoạn thường được dùng để hiển thị số, về cấu tạo LED 7 đoạn là các đèn LED được lắp theo thứ tự và hình ảnh giống số 8. Về phương thức hoạt động tương tự như LED bình thường.

    Mỗi đoạn tương ứng một đèn LED nên cũng có cực âm và cực dương. Tuy nhiên có 2 loại đèn LED:

    • Anode các chân LED có chung 1 chân cực dương.
    • Cathode các chân LED có chung 1 chân cực âm.

    Sử dụng LED 7 đoạn với Arduino

    Chuẩn bị

    • 1 x LED 7 đoạn loại chung Anode
    • Breadboard
    • Dây cắm các loại
    • Arduino Uno R3 hoặc tương đương

    Hiện thực

    Cũng như cách hiện thực LED chớp tắt, chỉ quan tâm các giá trị cho chân đó là HIGHLOW. Để biểu diễn một thông tin ra ngoài chỉ có cách bật đèn LED, tuy nhiên có thể sắp xếp thứ tự các đèn LED để thành ký tự.

    Thử nghiệm

    Trước khi hiện thực, thử lắp đặt các linh kiện như sau: nối chân 5V vào các chân A của LED 7 đoạn nhưng thông qua 1 con trở 500Ω.

    Lắp đặt thử nghiệm LED 7 đoạn

    Cấu trúc của LED 7 đoạn

    Cấu trúc LED 7 đoạn.
    Cấu trúc LED 7 đoạn
    • Từ số 1 → 7 tượng trưng cho chân cắm tương đương với vị trí các đèn LED ở hình kế bên.
    • Dấu . tượng cho dấu chấm trên đèn LED.
    • Chân A tượng trưng cho chân nguồn của đèn. Tùy vào đây là đèn LED gì mà chân A khác nhau:
      • Đèn LED Anode: chân A được nối vào VCC.
      • Đèn LED Cathode: chân A được nối vào GND.

    Do LED 7 đoạn này là Anode, để cho một trong các đèn LED của “đoạn" đó của LED 7 đoạn sáng, Nối chân của "đoạn" LED đó với GND. Ví dụ muốn để đoạn số 1 của LED 7 đoạn sáng thì cắm chân số 1 như hình trên.

    Kết quả sẽ được như hình dưới:

    Lý do sử dụng đèn Anode

    Vì LED 7 đoạn cần nguồn nhỏ tức ~ < 3V, trong khi đó nguồn mà Arduino cung cấp là 5V. Vì thế cần hạ áp dòng trước khi đưa vào đèn, tuy nhiên nếu sử dụng đèn Cathode thì phải nối nguồn 5V cho từng chân đèn LED dẫn đến việc tốn nhiều điện trở. Nếu sử dụng Anode, chỉ cần sử dụng một điện trở để hạ nguồn cho toàn bộ LED.

    Code cài đặt

    Sau kết quả kiểm tra trên, các đèn của LED 7 đoạn hoạt động dựa trên nguyên lý tắt mở.

    Cắm các chân theo một thứ tự để dễ kiểm soát.

    Ở đây cắm các chân 1 → 7 của đèn theo thứ tự từ chân 3 → 10 và tạm thời không sử dụng chân nối với LED thể hiện kí tự ..

    • Để tắt một đoạn LED bất kì, đưa điện áp nối với chân đó lên HIGH.
    • Để mở một đoạn LED bất kì, hạ điện áp nối với chân đó về LOW
    Sơ đồ lắp mạch cho LED 7 đoạn và Arduino.
    Sơ đồ lắp mạch

    Để bật đèn LED 7 đoạn hiển thị số 2, sử dụng đoạn code:

    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
    digitalWrite(5, HIGH);
    digitalWrite(6, LOW);
    digitalWrite(7, LOW);
    digitalWrite(8, HIGH);
    digitalWrite(9, LOW);

    Tương tự như các chân còn lại, tổ chức code như sau:

    void Print_7SEG(byte number);
    void Clear();
    void setup() {
      pinMode(3, OUTPUT);
      pinMode(4, OUTPUT);
      pinMode(5, OUTPUT);
      pinMode(6, OUTPUT);
      pinMode(7, OUTPUT);
      pinMode(8, OUTPUT);
      pinMode(9, OUTPUT);
    }
    
    void loop() {
      for (int i = 0; i<10; i++)
      {
        Clear();
        Print_7SEG(i);
        delay(500);
      }
    }
    void Clear() { digitalWrite(3, HIGH); digitalWrite(4, HIGH); digitalWrite(5, HIGH); digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); digitalWrite(9, HIGH); }
    void Print_7SEG(byte number) { switch (number) { case 0: digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, HIGH); break; case 1: digitalWrite(3, HIGH); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); digitalWrite(9, HIGH); break; case 2: digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, HIGH); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(8, HIGH); digitalWrite(9, LOW); break; case 3: digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, HIGH); digitalWrite(8, HIGH); digitalWrite(9, LOW); break; case 4: digitalWrite(3, HIGH); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(8, LOW); digitalWrite(9, LOW); break; case 5: digitalWrite(3, LOW); digitalWrite(4, HIGH); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, HIGH); digitalWrite(8, LOW); digitalWrite(9, LOW); break; case 6: digitalWrite(3, LOW); digitalWrite(4, HIGH); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, LOW); break; case 7: digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); digitalWrite(9, HIGH); break; case 8: digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, LOW); break; case 9: digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, HIGH); digitalWrite(8, LOW); digitalWrite(9, LOW); break; } }

    Viết hàm Print_7SEG để in giá trị ra LED 7 đoạn tùy vào giá trị truyền vào byte number, hàm Clear() để đưa tất cả các chân về trạng thái tắt. Trong loop() ta cho lặp từ 0 → 9 và lần lượt đưa các giá trị đó vào hàm Print_7SEG.

    Nạp code vào Arduino và chạy thử

    LED 7 đoạn với Arduino.
    0 Bình luận
    Điện Tử Ứng Dụng

    Điện Tử Ứng Dụng

    Kiến thức điện tử, Arduino, Raspberry Pi, giới thiệu sản phẩm.

    Khi bạn nhấn vào sản phẩm do chúng tôi đề xuất và mua hàng, chúng tôi sẽ nhận được hoa hồng. Điều này hỗ trợ chúng tôi có thêm kinh phí tạo nhiều nội dung hữu ích. Tìm hiểu thêm.
    STDIO

    Trang chính

    Công ty TNHH STDIO

    • 30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
      +84 28.36205514 - +84 942.111912
      developer@stdio.vn
    • 383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
      Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012
    ©STDIO, 2013 - 2021