Tổng quan về cách sử dụng Module 4 LED 7 đoạn - Phần 2

Xin chào mọi người! Sau 1 quãng thời gian khá lâu vì mình ôn thi học kì thì bây giờ mình đã rãnh rỗi để viết tiếp phần 2 cho chuỗi bài "Tổng quan về cách sử dụng Module 4 LED 7 đoạn". Ở phần 1, mình đã nói về phần cứng của các loại module led 7 đoạn. Bạn nào chưa xem thì xem lại tại đây. Còn ở phần 2 này, mình sẽ nói về cách lập trình cho module 4 led 7 đoạn loại 12 chân.

Lắp mạch

Mình sẽ không nói về phần cứng nữa, vì mình đã trình bày rõ ở phần 1. Mà mình chỉ nói tới cách lắp mạch.

Ở đây mình chỉ nói 1 lần, còn các loại 14, 16 chân bạn làm tương tự. Bạn sẽ nối tất cả các pin của module vào các pin arduino (Trừ pin 0 và 1). Khá đơn giản :v. Còn cách sử dụng ic74hc595 thì mình đang nghiên cứu, khi nào thành công, mình viết tiếp :D. Nếu bạn muốn thì có thể lắp thêm điện trở từ 220 - 1k5 ôm vào mỗi pin chung của từng nhóm led (Chung âm hoặc chung dương).

Code lập trình

Trước tiên các bạn tải thư viện này về, tải tại đây. Sau khi tải về giải nén và chép vào thư mục libraries trong thư mục cài đặt Arduino IDE của bạn.

Các bạn tham khảo code bên, mình cũng có vài câu giải thích trong code luôn.

#include "SevSeg.h" //Thêm thư viện SevSeg vào.

//Tạo đối tượng led 7 đoạn
SevSeg myDisplay;

void setup()
{

    int displayType = COMMON_CATHODE; //Kiểu led chung cực dương(COMMON_ANODE) hay cực âm(COMMON_CATHODE)

    int digit1 = 8; //Pin chung nhóm 1
    int digit2 = 5; //Pin chung nhóm 2
    int digit3 = 11; //Pin chung nhóm 3
    int digit4 = 13; //Pin chung nhóm 4

    //Khai báo pin các nhánh của led đơn
    int segA = 7; //Nhánh led A
    int segB = 6; //Nhánh led B
    int segC = 10; //Nhánh led C
    int segD = 3; //Nhánh led D
    int segE = 9; //Nhánh led E
    int segF = 4; //Nhánh led F
    int segG = 2; //Nhánh led G
    int segDP = 12; //Dấu chấm

    int numberOfDigits = 4; //Số dấu chấm

    myDisplay.Begin(displayType, numberOfDigits, digit1, digit2, digit3, digit4, segA, segB, segC, segD, segE, segF, segG, segDP); //Thông báo thông tin về module
    myDisplay.SetBrightness(100); //Điều chỉnh độ sáng là 100%
}

void loop()
{
    myDisplay.DisplayString("abcd", 0b00001000); /* Thể hiện chữ AbcD ra bảng LED, và dãy số 0b00001000 là vị trí dấu chấm. 
                                                     Bạn hãy thử thay những số 0 bằng số 1 hoặc ngược lại để kiểm nghiệm*/
    delay(5000); //Chờ 5s
    myDisplay.DisplayString("11 3", 0b00000001); /*Thể hiện dãy "11 3" ra bảng led*/
}

Khi bạn biểu diễn một kí tự mà thư viện không có và biểu diễn dấu cách thì led đơn đó sẽ không sáng.

Thư viện này rất đơn giản, sau khi mình khám file nguồn của thư viện nó chỉ gồm 3 câu lệnh chính:

  • .Begin();
  • .SetBrightness();
  • .DisplayString();
và vài câu lệnh phụ khác được tác giả khai báo là không công khai nên ta không dùng được :V.

Tạm kết

Như vậy là ta vừa tìm hiểu xong cách lập trình cho module 4 led 7 đoạn loại 12 chân rồi. Ở phần sau sẽ là loại 16 chân. Chúc các bạn thành công. Tạm biệt!!!
 

Fix thư viện

Nếu bạn code bị lỗi thì tải bản fix thư viện này về và giải nén vào thư mục libraries trong thư mục cài đặt Arduino IDE của bạn. Lí do là bản thư viện ở trên được viết cho IDE bản Classic nên khi các bạn sử dụng Cho các bản IDE modern sẽ bị lỗi.

Tải tại đây

lên
6 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Lập trình Arduino không cần viết code - Phần 16: Lập trình Arduino thời gian thực - Lập trình sự kiện

Đây là phần 16 của chuỗi bài viết "Lập trình Arduino không cần viết code"

- Xem lại phần 15 tại đây

Xin chào các bạn, hôm nay mình sẽ cho các bạn thấy được sự thú vị nhất của phần mềm lập trình kéo thả mBlock. Đó chính là lập trình thời gian thực. Từ việc lập trình thời gian thực này ta có thể tạo ra được các game hay điều khiển Arduino bằng ứng dụng đồ họa, bởi đơn giản mBlock cũng hỗ trợ tạo ra game hay đồ họa. HeHe, bạn cũng có thể nói rằng nó là sự kết hợp 2 trong 1 của Processing và Arduino. Tất nhiên là ta chỉ làm được khi bạn kết nối Arduino với mBlock.

lên
6 thành viên đã đánh giá bài viết này hữu ích.

Giới thiệu về bộ Gear Box Tamiya 70168 2 Motor

Chào mọi người! Mấy bữa nay bận quá không có thời gian viết bài, hôm nay rãnh rỗi nên viết bài này cho mọi người cùng đọc hihi :)). Qua bài viết Giới thiệu về các loại hộp số (bộ giảm tốc) chúng ta thường dùng khi làm xe mô hình với Arduino, các bạn đã biết đôi chút về bộ giảm tốc này rồi. Đặc biệt tác giả của bài viết cũng đã thiết kế riêng cho hộp số này 1 cái đế để gắn cho cái bánh xe vàng. Vì vậy hôm nay mình sẽ giới thiệu nó một cách chi tiết cho các bạn xem.

lên
13 thành viên đã đánh giá bài viết này hữu ích.