Top Ad unit 728 × 90

Latest news

recent

Ứng Dụng Ý Tưởng 7 Segment

Seven Segment là một giải pháp rất phổ biến trong việc hiển thị số (0,1,2,...9) và kí tự đơn giản (dấu chấm, dấu than...) trên các hệ thống bảng điện tử. Ý tưởng chung là chỉ bằng việc bật và tắt các vị trí thích hợp trong bảng các bóng đèn bạn có thể hiển thị kí tự tương ứng. Đây là một phương pháp khá đơn giản nhưng cực kì hiệu quả. Hầu như ở mọi nơi bạn đều có thể thấy tính khả dụng của nó. Trong lập trình cũng vậy, bạn sẽ dễ dàng thấy bóng dáng giải pháp này thấp thoáng đâu đó trong các triển khai đồ họa cho Game, vẻ font chữ... cụ thể một chút chúng ta sẽ xem xét một yêu cầu như sau: cho một movie làm sao để tracking (đánh số ID các đối tượng di chuyển) và vẽ lên màn hình tại vị trí các đối tượng đó số tương ứng của nó. Có thể bạn sẽ cười mỉa mai, thiếu gì các thư viện hỗ trợ bạn thiết lập hệ thống font và vẽ chử lên màn hình :) Vậy bạn nghĩ sao khi nhiệm vụ đặt ra không dành cho máy tính để bàn mà cho các thiết bị nhúng với sự hạn chế về thư viện và cần bạn tự xây dựng các giải thuật cho riêng mình :p. Phương pháp đầu tiên tôi nghĩ tới đó là 7 segment. Thay cho một bảng bóng đèn bạn cần một ma trận với các phần tử chỉ hai giá trị 1 và 0. Trong trường hợp này tôi gọi nó là Mask. Tùy theo số mà bạn cần hiển thị bạn sẽ set giá trị 1 và 0 thích hợp cho Mask. Việc tiếp theo chỉ là quét ảnh tới vị trí cần vẽ rồi áp Mask vào để tô màu những điểm ứng với 0 hoặc 1 tùy bạn. Sau khi quét toàn bộ Mask là bạn đã vẽ xong một số. Với giá trị ID lớn gồm nhiều số thì chỉ cần tách các phần tử ra bằng giải pháp đã nêu trong bài viết trước rồi lặp lại quá trình vẽ này.

Hình trên đây minh họa cho cấu trúc của Mask 6x8 với ô đen tương ứng với giá trị (1) trắng tương ứng giá trị (0).


Binh Nguyen - Bioz
Ứng Dụng Ý Tưởng 7 Segment Reviewed by Bioz on 12:02:00 AM Rating: 5

2 comments:

  1. Em chào anh ạ !em đang viết chương trình face tracking nhưng đọc tài liệu tiếng anh thì có một vài vấn đề không hiểu.anh co viết bài nào giải thích không vấn đề nayf không ?nếu có anh post lên cho em tham khảo với.thank anh nhiều !

    ReplyDelete
  2. nếu được em hãy nêu lên các vấn đề em chưa hiểu để chúng ta có thể cùng ngâm cứu. Hiện vì anh ko có nhiều thời gian nên chỉ viết các vấn đề cơ bản, cố gắng trình bày trên diện rộng nhất thôi. Tương lai chắc chắn sẽ có các vấn đề liên quan của em :) hay em ráng nghiên cứu rối chia cho đàn em nó bớt khổ.

    ReplyDelete

chia sẻ cho chúng tôi ý tưởng hay khó khăn của bạn ...

All Rights Reserved by IEEV © 2009 - 2016
Powered By Blogger, Designed by Sweetheme

Contact Form

Name

Email *

Message *

Powered by Blogger.