11B3 - Nhóm 8 - Thiết kế đèn LED trang trí.


Từ: 23:48 23/09/2012
Bài: 8
Cảm ơn: 5
Thích: 1

Thiết kế đèn LED trang trí.

Sử dụng các cổng vào ra của máy tính để điều khiển các bóng đèn LED.

 

Phương án 1:  Sử dụng cổng LPT (Parallel) . ( Phương án đề xuất).

 Phương án khá khả thi, có khá nhiều tài liệu sử dụng cổng này, linh kiện dễ kiếm . Quan trọng là code điều khiển các chân cắm của cổng. Cổng LPT có trên main máy đời cũ.  Có thể sủ dụng cáp chuyển USB sang LTP. Nhưng có thể hđh nhận ra cổng USB mà không phải là LPT -> khó lập trình . ( Dùng máy để bàn mang tới lớp thì lịch kịch quá).

( Nguồn: http://pcmax.vn/cap-usb-sang-lpt-1284/usb-to-lpt-cap-chuyen-doi-danh-cho-may-in.html

Trích: ----
Còn vấn đề cổng chuyển USB -> LPT thì mới đau đầu, khi mình gắn cáp này vào USB thì trong Device Manager thông báo đây là cổng máy in USB Printing Support trong Universal Serial Bus Controller của USB, mà ko phải là LPT trong PORT(COM & LPT) tuy rằng là đã cài Driver chuyển cho cáp này. Mình đi hỏi thầy giáo thì thầy bảo cổng USB -> LPT này ko thể dùng dc như một cổng LPT nửa mà xem như nó là cái dây máy in mà thôi, hix!
Mình gắn cáp này vào rồi dùng VB điều khiển thì đúng là máy tính thông báo là ko thấy có cổng LPT nào cả, hix thế là đi toong 130k tiền mua cáp của em với cái của nợ này rùi các bác ơiiii!!! 
Mongcác bạn đã có kinh nghiệm về vấn đề này chia sẻ cho mình một ít để "gà con" này còn ko bị mất tiền oan vì thiếu hiểu biết cho sau này nhé, mong các cao thủ và Mod đừng nhìn lướt qua rồi bỏ đi nhé...
----)

Phương án 2:  Dùng cổng COM. ( cáp  USB -> COM).

Có chút khả thi nhưng tài liệu hướng dẫn chưa tìm thấy.

( Nguồn: http://pcmax.vn/cap-usb-sang-lpt-1284/usb-to-lpt-cap-chuyen-doi-danh-cho-may-in.html

Trích: ----

Cổng chuyển USB -> COM này vẫn xài tốt khi dùng để lập trình ghép nối ngoại vi bằng Visual Basic 6.0, mình đã thử gắn 1 con LED vào chân TXD và GND thì lập trình điều khiển cho nó chớp tắt bình thường ko có vấn đề gì nữa...

)

Phương án 3:  Dùng USB.

Cái này phải dùng IC -> Không khả thi.

Phương án 4: Dùng cổng VGA.

Không có tài liệu. Chủ yếu nói đến máy chiếu.

 

 

Label
Từ: 15:48 01/06/2012
Bài: 125
Cảm ơn: 147
Thích: 25

http://www.instructables.com/id/USB-Project-USB-Interface-Board-Using-PIC18F455/

Trong link này, người ta đã điều khiển 6 leds từ chương trình máy tính qua cổng USB sử dụng PIC18F455 

Có cả hướng dẫn Step by step. Các em có thể vận dụng cho đề tài của mình nhé.

Cũng có thể chọn giải pháp khả thi khác 

Label
Từ: 15:48 01/06/2012
Bài: 125
Cảm ơn: 147
Thích: 25

http://www.youtube.com/watch?feature=player_embedded&v=J3BraNUj2cY

Cái này, người ta điều khiển 3 dàn x 4 leds

Label
Từ: 23:48 23/09/2012
Bài: 8
Cảm ơn: 5
Thích: 1

Cảm ơn thầy về coment bổ sung, bọn em sẽ tham khảo thêm.

BÁO CÁO CHUYÊN ĐỀ ngày 24/10/1013.

 

Slide: 

https://drive.google.com/file/d/0BxBBn9gTv9c8RTU0clZFOU05VGs/edit?usp=sharing

Nguồn: 

http://www.trimoor.com/lpt_switch/

http://old.voer.edu.vn/module/khoa-hoc-va-cong-nghe/cau-truc-cong-lpt.html

 

 

Label
Từ: 23:48 23/09/2012
Bài: 8
Cảm ơn: 5
Thích: 1

Vấn đề Code C++ cho quá trình quét LED mong thầy giúp đỡ.

 
cout<<"\n Demo"<<endl;
    //Vao ra du lieu
    for(int i=0;i<5000;i++)
    {
            out(p,0x01); cout<<"\n Sang den 1";
            out(p,0x02); cout<<"\n Sang den 2";
            out(p,0x03); cout<<"\n Sang den 1 + 2";
            out(p,0x00); cout<<"\nTat het";
            
    }
    
    //Ket thuc  
    cout<<"\n\n Xong\n"; 
 
Em muốn vòng for kia kết thúc sau  ? giây  hoặc kết thúc khi nhấn 1 phím nào đó. Thầy dùng khác vòng for cũng được.  Yêu cầu các câu lệnh trong vòng for phải chạy liên tục để duy trì đèn Led sáng. Em toàn thay giá trị của i<???? để tăng giảm thời gian. Khó căn thời gian lắm ạ. Tăng giảm câu lệnh cái là rất khó căn thời gian.
 
File đính kèm: https://drive.google.com/file/d/0BxBBn9gTv9c8b1lSd280T2ROaFU/edit?usp=sharing
 
Thầy copy file inpout32.dll vào  C:\Windows\System32\  biên dịch Code trên Dev C++.
 
Chân thành cảm ơn thầy.
 
 
Label
Từ: 15:48 01/06/2012
Bài: 125
Cảm ơn: 147
Thích: 25

Em cần sau 1 khoảng N giây thì mới chạy đến phần //kết thúc chứ gì?

Dùng delay(miliSecond); trong dos.h đi

Vòng lặp kia em thực hiện 5000 lần khối lệnh chứ không đồng nghĩa với N giây

Label
Từ: 23:48 23/09/2012
Bài: 8
Cảm ơn: 5
Thích: 1

Em cảm ơn thầy !

Không được thầy ạ. delay(??); hay Sleep(??);  vòng lặp ko thực hiện liên tục.

VD:

out(p,0x01); bật đèn 1                                                                    

delay(1000); dừng 1 giây

tắt đèn 1;

 

-> chỉ hiệu quả khi dùng trên cổng LPT. không dùng được trên IC. 

 

nếu đặt delay sau lệnh for thì hết for mới delay nên chỉ dùng để dãn cách thời gian giữa 2 ký tự A và B thôi. Nếu chèn delay vào các lệnh trong for thì sẽ bị giảm tần số quét của LED. Ký tự A vẫn phải phụ thuộc vào i để căn time. Giá trị cuả i giúp tăng số lằn lặp để kéo dài time thôi a. 

 

Label
Từ: 15:48 01/06/2012
Bài: 125
Cảm ơn: 147
Thích: 25

Như vậy vòng lặp của em là 1 vòng lặp vô hạn, chỉ kết thúc khi 1 trong 2 điều kiện sau xảy ra:

  1. Sau N giây lặp
  2. Người dùng bấm 1 phím nào đó

Vấn đề số (2) thì dễ rồi, vấn đề thứ (1) tức là trong khi lặp vẫn phải tính xem đủ số giây chưa, nếu đủ thì dừng lặp

Để giải quyết vấn đề này, ta phải có 1 chương trình chạy độc lập: nếu đủ số giây thì bật 1 "cờ" nào đó lên (VD: đủ=true), vòng lặp kia sẽ thoát nếu đủ=true.

Để làm 1 chương trình chạy độc lập, song song trong khi vòng lặp kia vẫn chạy thì chỗ này ta cần xử lý song song (hay còn gọi là "đa luồng"). Mà ngôn ngữ em chọn là C++ chạy trên DOS nên phần đa luồng này phải giả lập bằng cách: viết chương trình đếm số giây và gắn vào ngắt đồng hồ của máy tính.

Em tìm hiểu thêm về "chặn ngắt" trong DOS, C, C++ nhé.

Label
Từ: 23:48 23/09/2012
Bài: 8
Cảm ơn: 5
Thích: 1

Xong vấn đề 1.

Sử dụng vòng lặp while + tính thời gian trên 1 lần lặp rồi tổng chúng lại. khi nào tổng time lớn hơn time cho trước thì dừng.

Thầy ơi còn  Vấn đề 2 thì em pó tay rồi. Em chỉ làm đc ra nó hỏi có tiếp tục hay không thôi.

 

 

Label
Từ: 15:48 01/06/2012
Bài: 125
Cảm ơn: 147
Thích: 25

Vấn đề 2 có từ hồi học cơ sở lập trình, xem lại vở nhé.

Em bó tay thì còn 4 bạn cùng nhóm nữa, tất cả bó tay thì mất điểm thôi

Label
Từ: 23:48 23/09/2012
Bài: 8
Cảm ơn: 5
Thích: 1

I.                    GIỚI THIỆU

Ngày nay khi nhu cầu về thông tin quảng cáo rất lớn , việc áp dụng các phương tiện kĩ thuật mới vào các lĩnh  vực trên là rất cần thiết .Khi bạn đến các nơi công cộng, bạn dễ dàng bắt gặp những áp phích quảng cáo điện tử chạy theo các hướng khác nhau với nhiều hình ảnh và màu sắc rất ấn tượng. Khi đề tài được mở rộng thì sẽ có khả năng ứng dụng thực tiễn rất lớn. Nói tóm lại, trong thời đại bùng nổ thông tin hiện nay, khả năng ứng dụng và tiềm lực phát triển của hệ thống này là rất lớn, đặc biệt ở Việt Nam, các hệ thống như vậy còn rất ít, hầu hết đều được nhập từ nước ngoài với giá thành khá cao.

 

Bài toán:

Bài toán xây dựng điều khiển ma trận LED hiển thị các số toán học. Bài toán chia làm 2 phần.

-         Phần cứng : Gồm đèn led, bảng mạch các Ic cổng đầu vào tín hiệu LPT và cổng nguồn USB được kết hợp lại với nhau thành bảng mạch để nhận tín hiệu từ máy tính nhờ kiến thức kỹ thuật điện tử số

-         Phần mềm : Dùng ngôn ngữ C++ để điều khiển đèn led bằng việc xuất bit tín hiệu qua cổng  LPT .

Tài liệu được này sẽ hướng dẫn chi tiết về cách hoạt động của các linh kiện và cách điều khiển chúng.

I.                   Giới thiệu.

II.                 CỔNG LPT VÀ ĐIỀU KHIỂN CỔNG

III.             IC 74HC595

IV.              TRANSISTOR C1815

V.                ĐIỆN TRỞ

VI.              MA TRẬN LED 5x7

VII.           MẠCH LED HOÀN CHỈNH.

VIII.      HÌNH ẢNH DEMO

Trong quá trình thực hiện đề tài chúng em đã nhận được sự chỉ bảo, hướng dẫn của thầy giáo Lê Hữu Dũng. Chúng em xin chân thành cảm ơn thầy và mong nhận được lời góp ý để đề tài ngày càng hoàn thiện hơn.

 

 

II.                 CỔNG LPT VÀ ĐIỀU KHIỂN CỔNG

1.      Cấu trúc cổng LPT.

Cấu trúc của Parallel port nhìn trên phương diện phần cứng (Hardware).

Parallel port bao gồm 25 pins (chân) được bố trí theo sơ đồ dưới đây, đa số giao diện đầu cắm của Parallel port đều ở dạng female(cái).

8 pins dùng để gởi và nhận data (từ pin số 2 đến số 9) gọi là DATA Port (dân software cũng gọi như thế). Dữ liệu trao đổi qua 8 pin này được gói gọn trong 1 byte.

5 pins dùng để hiển thị tình trạng hoạt động của parallel port: đang bận, đang gởi/nhận thông tin...(các pin số 10-13 và pin số 15) gọi là STATUS Port. Dữ liệu trao đổi qua 8 pin này dùng 5 bit cao của byte.

4 pins dùng để điều khiển gọi là CONTROL Port, là các pin số 1, 14, 16 và 17. Dữ trao đổi qua pnin này dùng 4 bit thấp của byte.

8 pins còn lại được dùng tùy theo ý người sử dụng. Nếu không được sử dụng thì chúng sẽ được grounded (nối đất-thuật ngữ ngành điện?).

Ðây là cấu hình được thống nhất trong công nghệ vi tính và được công nhận bởi IEEE (vốn là một tổ chức lớn nhất về qui định hardware quốc tế). Bạn có thể kiểm tra lại các số pin và đánh dấu bằng cách nhìn rõ hơn vào các dây parallel port cũng như parallel port phía sau máy vi tính của bạn.

Cấu trúc của parallel port nhìn trên phương diện phần mềm (software).

Thực ra thì với lập trình viên, họ cũng không cần biết phía parallel port sau lưng máy tính có bao nhiên pin và mỗi pin cần bao nhiêu điện, cấu trúc như thế nào...Mấy cái nầy hơi thừa cho lập trình viên. Tất cả những gì mà một người lập trình cần biết là address của các pin trên parallel port là đủ. 25 pins kia sẽ được chia làm 3 phần với tên gọi là DATA port (hay là DATA register), STATUS port (hay là STATUS register), và CONTROL port (hay là CONTROL register). Mỗi port là 8 bits với address rõ ràng. Như mô tả từ đầu, DATA port sẽ là 8 bits, STATUS port có 5 pins cho nên sẽ cộng thêm 3 bit trống để tạo một byte, tương tự như thế cho CONTROL port. Riêng phần địa chỉ cho các port nầy cũng khá là phức tạp, vì nó liên quan đến BIOS. Nếu bạn đã hiểu cách phân bố memory của máy tính thì đơn giản hơn, còn không thì hy vọng là lối giải thích của tôi sẽ làm bạn hiểu phần nào. Ðại khái là khi máy tính bật lên (turn on) thì BIOS sẽ làm việc trước, nó sẽ tìm kiếm và định địa chỉ cho cái port trong máy của bạn. Vì BIOS không cái nào giống cái nào cho nên lối qui định địa chỉ của nó cũng khác, tuy nhiên dưới đây là một ví dụ điển hình (bạn thường thấy) trong các máy tính ngày nay. Những địa chỉ này bạn có thể thấy khi khởi động máy trong các thông số BIOS hiện ra.

Port Address 3BCh - 3BFh dùng cho prallel port vốn dính vào Video Card (cách cũ) 378h - 37Fh khu vực memory thường dùng cho LPT 1 278h - 27Fh khu vực memory thường dùng cho LPT 2 ....(nên nhớ là mỗi khoản là 8 bits, tính theo hệ hexadecimal)

Một điều tôi muốn nhắc các bạn là những thông tin đưa ra trên đây thường là thay đổi tùy theo từng máy tính, một máy có thể có nhiều LPT, thông thường thì BIOS sẽ dò xem trong máy có bao nhiêu port và sẽ qui định địa chỉ cho từng port. Theo tôi thường thấy thì nếu máy bạn có hai cái parallel port (nếu bạn mua motherboard có hai parallel port) thì LPT1 sẽ được gán vào điạ chỉ 378h-37Fh (8 bits). Nếu có LPT2 thì sẽ được gán vào địa chỉ 278h-27Fh. Riêng phần 3BCh-3BFh trong quá khứ thường được dùng khi parallel port cài sẵn trong video card.

Ứng dụng của việc điều khiển parallel port

Việc hiểu hoạt động và biết điều khiển parallel port là tối cần thiết cho các bạn đi chuyện sâu trong các kỹ nghệ hardware. Hầu hết các dụng cụ tân tiến thời nay điều liên quan đến việc dùng software để vận hành hardware, ví dụ như bạn có thể gỡi một lệnh từ máy vi tính làm cho tên lửa phóng đi, shutdown computer...điều thuộc dạng software điều khiển hardware. Và với trách nhiệm một trình điều khiển nó, bạn phải thấu hiểu tất cả. Một ví dụ đơn giản khác trong điều khiển học như điều khiển robot, nếu bạn dùng software từ máy vi tính kích hoạt một pin nào đó của cổng parallel và gỡi tới robot như mệnh lệnh, chẳng hạn đi tới phía trước, quay qua bên trái....

 

 

Cấu trúc một chương trình C++ gửi dữ liệu ra cổng LPT.

Cần copy file inpout32.dll vào  C:\Windows\System32\  biên dịch Code trên phần mềm Dev C++ (Trong file đính kèm).

// Thư viện hỗ trợ vào ra và xử lý dữ liệu.

#include <stdio.h> 

#include <conio.h>                        

#include <windows.h>   

// Định nghĩa kiểu dữ liệu.

typedef short _stdcall (*inpfuncPtr)(short portaddr);              

typedef void _stdcall (*oupfuncPtr)(short portaddr, short datum);   

int main() 

// Thêm thư viện liên kết động inpout32.dll hỗ trợ vào ra các cổng trên Windows 2000 về sau.

              HINSTANCE hLib;

              inpfuncPtr in;

  oupfuncPtr out;

   hLib = LoadLibrary("inpout32.dll");

// Quy định cú pháp vào ra ra dữ liệu.

   in = (inpfuncPtr) GetProcAddress(hLib, "Inp32");

    out = (oupfuncPtr) GetProcAddress(hLib, "Out32");

    out(0x378,0x01);  // Gửi ra pins 1 của DATA port cổng LPT 1.

return 0; 

}

 

 

 

III.               IC 74HC595.

 

1. Sơ lược về IC ghi dịch 74HC595:

Là ic ghi dịch 8bit kết hợp chốt dữ liệu , đầu vào nối tiếp đầu ra song song .

Chức năng: Thường dùng trong các mạch quét led 7 , led matrix …để tiết kiệm số chân VDK tối đa (3 chân) . Có thể mở rộng số chân vi điều khiển bao nhiêu tùy thích mà k ic nào có thể làm dc bằng việc mắc nối tiếp đầu vào dữ liệu các ic với nhau. Cách mở rộng ta chỉ việc nối Q7' của IC trước với chân DATA (chân 14) của IC sau, với IC đầu tiên nhận dữ liệu từ VĐK.

 

2.   Sơ đồ chân IC

 

Giải thích ý nghĩa hoạt động của một số chân quan trọng:

Chân 14 : Đầu vào dữ liệu nối tiếp . Tại 1 thời điểm xung clock chỉ đưa vào được 1 bit

Chân 15,1,2,3,4,5,6,7 (Q0=>Q7) : là các chân đưa dữ kiệu ra ngoài. Xuất dữ liệu khi chân chân 13 tích cực ở mức thấp và có một xung tích cực ở sườn âm tại chân chốt 12

Chân 13 : Chân cho phép tích cực ở mức thấp (0) .Khi ở mức cao, tất cả các đầu ra của 74595 trở về trạng thái cao trở, không có đầu ra nào được cho phép.

Chân 9: Chân dữ liệu nối tiếp . Nếu dùng nhiều 74595 mắc nối tiếp nhau thì chân này đưa vào đầu vào của con tiếp theo khi đã dịch đủ 8bit.

Chân 11: Chân vào xung clock . Khi có 1 xung clock tích cực ở sườn dương(từ 0 lên 1) thì 1bit được dịch vào ic.

Chân 12 : Xung clock chốt dữ liệu . Khi có 1 xung clock tích cực ở sườn dương thì cho phép xuất dữ liệu trên các chân output . lưu ý có thể xuất dữ liệu bất kỳ lúc nào bạn muốn ,ví dụ đầu vào chân 14 dc 2 bit khi có xung clock ở chân 12 thì dữ liệu sẽ ra ở chân Q0và Q1 (chú ý chiều dịch dữ liệu từ Q0=>Q7)

Chân 10: khi chân này ở mức thấp(mức 0) thì dữ liệu sẽ bị xóa trên chip.

3.      Nguyên lý hoạt động.

 

Cách gửi dữ liệu vào IC  có thể diễn tả đơn giản như sau: cho data bit cuối cùng vào chân 14, cho chân 11 lên 1 xuống 0 để ghi bit vào thanh ghi 8 bit, lại cho data của bit tiếp theo vào, lại cho lên 11 lên 1 rồi xuống 0, truyền đủ 8 bit thì cho chân 12 lên 1 xuống 0 để đưa dữ liệu ra ngoài. Nếu chân 13 trong trạng thái tích cực bằng 1 thì không có bit nào được đưa ra ngoài. Muốn xóa dữ liệu trên thanh ghi 8 bít đi chỉ việc đưa chân 10 về mức 0.

 

 

4.      Code C++ diều khiển IC.

Với cổng LPT sử dụng 3 pins 2,3,4 để gửi dữ liệu.

Với IC sử dụng 3 pins 11,12,14 để nhận và xử lý.

 

                        Code C++ như sau:

int a[8]={1,1,1,0,0,1,0,1}   Khai báo 1 mảng 8 bit cần gửi.(từ bit 0 đến bit 7)

for(int i=7;i>=0;i--)

{         

if(a[i]==10

{

out(0x378,0x01);     Cho chân số 2 nhận bit 1 (gửi dữ liệu).

out(0x378,x003);     Cho chân số 2 và 3 nhận bít 1 (nhận và chốt dữ liệu)

            out(0x378,0x00);     Cho chân 2,3, nhận bít 0. (chuyển dữ liệu vào ô địa chỉ tiếp theo.)

            }

            else

{

out(0x378,0x01);     Cho chân số 2 nhận bit 0 (gửi dữ liệu).

out(0x378,x002);     Cho chân số 2 nhận bit 0 và 3 nhận bít 1 (nhận và chốt dữ liệu)

            out(0x378,0x00);     Cho chân 2,3, nhận bít 0. (chuyển dữ liệu vào ô địa chỉ tiếp theo)

            }

}

            Truyền xong 8bit đẩy dữ liệu ra ngoài bằng chân 12.

            out(0x378,0x04);     Cho chân 12 nhận bit 1

            out(0x378.0x00);     Cho chân 12 nhận bit 0

 

 

 

IV.              TRANSISTOR C1815

1.      Cấu tạo của Transistor. ( Bóng bán dẫn )

Transistor gồm ba lớp bán dẫn ghép với nhau hình thành hai mối tiếp giáp P-N , nếu ghép theo thứ tự PNP ta được Transistor thuận , nếu ghép theo thứ tự NPN ta được Transistor ngược. về phương diện cấu tạo. Transistor tương đương với hai Diode đấu ngược chiều nhau. Trong đó Transistor C1815 là Transistor ngược.

 

 

 

Ba lớp bán dẫn được nối ra thành ba cực , lớp giữa gọi là cực gốc ký hiệu là B ( Base ), lớp bán dẫn B rất mỏng và có nồng độ tạp chất thấp. Hai lớp bán dẫn bên ngoài được nối ra thành cực phát (Emitter ) viết tắt là E,  và cực thu hay cực góp ( Collector ) viết tắt là C, vùng bán dẫn E và C có cùng loại bán dẫn (loại N hay P ) nhưng có kích thước và nồng độ tạp chất khác nhau nên không hoán vị cho nhau được.

 

2.         Nguyên tắc hoạt động của C1815.

Ta cấp một nguồn một chiều UCE vào hai cực C và E trong đó nguồn +5V  vào cực C và -5V nguồn vào cực E. Khi công tắc mở , ta thấy rằng, mặc dù hai cực C và E đã được cấp điện nhưng vẫn không có dòng điện chạy qua mối C E. Khi công tắc đóng, mối P-N được phân cực thuận do đó có một dòng điện chạy từ nguồn +5V  qua công tắc => qua R hạn dòng => qua mối BE về cực -5V tạo thành dòng khép kín. Ngay khi dòng xuất hiện => lập tức cũng có dòng từ C chạy qua mối E làm bóng đèn phát sáng.

            Giải thích : Khi có điện áp U CE nhưng các điện tử và lỗ trống không thể vượt qua mối tiếp giáp P-N để tạo thành dòng điện, khi xuất hiện dòng IBE do lớp bán dẫn P tại cực B rất mỏng và nồng độ pha tạp thấp, vì vậy số điện tử tự do từ lớp bán dẫn N ( cực E ) vượt qua tiếp giáp sang lớp bán dẫn P( cực B ) lớn hơn số lượng lỗ trống rất nhiều, một phần nhỏ trong số các điện tử đó thế vào lỗ trống tạo thành dòng IB còn phần lớn số điện tử bị hút về phía cực C dưới tác dụng của điện áp UCE => tạo thành dòng ICE chạy qua Transistor.

 

 

V.                ĐIỆN TRỞ

1. Khái niệm về điện trở.

Điện trở là gì ? Ta hiểu một cách đơn giản - Điện trở là sự cản trở dòng điện của một vật dẫn điện, nếu một vật dẫn điện tốt thì điện trở nhỏ, vật dẫn điện kém thì điện trở lớn, vật cách điện thì điện trở là vô cùng lớn.

Điện trở của dây dẫn : Điện trở của dây dẫn phụ thộc vào chất liệu, độ dài và tiết diện của dây. được tính theo công thức sau:

R = ρ.L / S

Trong đó:

 ρ là điện trở xuất phụ thuộc vào chất liệu

L là chiều dài dây dẫn

S là tiết diện dây dẫn

R là điện trở đơn vị là Ohm

2. Điện trở trong thiết bị điện tử.

a) Hình dáng và ký hiệu :

Trong thiết bị điện tử điện trở là một linh kiện quan trọng, chúng được làm từ hợp chất cacbon và kim loại tuỳ theo tỷ lệ pha trộn mà người ta tạo ra được các loại điện trở có trị số khác nhau.

b) Đơn vị của điện trở

Đơn vị điện trở là Ω (Ohm) , KΩ , MΩ

1KΩ = 1000 Ω

1MΩ = 1000 K Ω = 1000.000 Ω

 

Công thức tính trong mạch:

 R=U / I

U: hiệu điện thế.

R: Điện trở (Ω).

I: Cường độ điện trở.

 

 

 

VI.           MA TRẬN LED 5x7

 

Dựa trên nguyên tắc như quét màn hình, ta có thể thực hiện việc hiển thị ma trận đèn bằng cách quét theo hàng và quét theo cột. Mỗi Led trên ma trận LED có thể coi như một điểm ảnh. Địa chỉ của mỗi điểm ảnh này được xác định đồng thời bởi mạch giải mã hàng và giải mã cột,  điểm ảnh này sẽ được xác định trạng thái nhờ dữ liệu đưa ra từ IC 74HC595

Như vậy tại mỗi thời điểm chỉ có trạng thái của một điểm ảnh được xác định. Tuy nhiên khi xác định địa chỉ và trạng thái của điểm ảnh tiếp theo thì các điểm ảnh còn lại sẽ chuyển về trạng thái tắt (nếu LED đang sáng thì sẽ tắt dần). Vì thế để hiển thị được toàn bộ hình ảnh của ma trận đèn, ta có thể quét ma trận nhiều lần với tốc độ quét rất lớn, lớn hơn nhiều lần thời gian kịp tắt của đèn. Mắt người chỉ nhận biết được tối đa 24 hình/s do đó nếu tốc độ quét rất lớn thì sẽ không nhận ra được sự thay đổi nhỏ của đèn mà sẽ thấy được toàn bộ hình ảnh cần hiển thị.

Các LED trên cùng một hàng sẽ được nối các chân dương với nhau.

Các LED trên cùng một cột sẽ được nối các chân âm với nhau như hình vẽ.

Ta có thể mô phỏng một ma trận Led đơn giản  4x4 như sau:

 Sơ đồ thiết kế ma trận LED

Trạng thái của một LED sẽ được quyết định bởi tín hiệu điện áp đi vào đồng thời cả 2 chân. Ví dụ để LED sáng thì điện áp 5V phải đưa vào chân dương và chân âm phải được nối đất, LED sẽ tắt khi không có điện áp đưa vào chân dương.

Với đề tài này, chúng em chọn loại ma trận LED 5x7 để hiển thị.

Ta có sơ đồ nguyên lý của Ma trận LED 5x7:

 

 

Để ma trận có thể sáng như hình vẽ

Thực hiện quét dòng và cột:

-         Chọn cột 1, đưa điện áp cột 1 về 0.

-         Sau đó chọn và quét lần lượt các hàng 0,1,2,3,4,5,6như sau:

+ Đèn 1 tắt    à Điện áp đưa vào hàng 0 là 0V.

+ Đèn 2 tắt    à Điện áp đưa vào hàng 1 là 0V.

+ Đèn 3 sáng à Điện áp đưa vào hàng 2 là 5V.

+ Đèn 4 sáng à Điện áp đưa vào hàng 3 là 5V.

+ Đèn 5 sáng à Điện áp đưa vào hàng 4 là 5V.

+ Đèn 6 sáng à Điện áp đưa vào hàng 5 là 5V.

+ Đèn 7 sáng à Điện áp đưa vào hàng 6 là 5V.

 

Chọn cột 2, nối đất. Sau đó quét lần lượt các hàng 0,1,2,3,4,5,6.

+ Đèn 1 tắt    à Điện áp đưa vào hàng 0 là 0V.

+ Đèn 2 sáng à Điện áp đưa vào hàng 1 là 5V

+ Đèn 3 tắt    à Điện áp đưa vào hàng 2 là 0V                

+ Đèn 4 sáng à Điện áp đưa vào hàng 3 là 5V    

+ Đèn 5 tắt    à Điện áp đưa vào hàng 4 là 0V                

+ Đèn 6 tắt    à Điện áp đưa vào hàng 5 là 0V                

+ Đèn 7 tắt    à Điện áp đưa vào hàng 6 là 0V

                        

-         Tiếp tục quét với các cột từ 3 đến 5bằng cách như trên

-         Để mắt người nhận biết được toàn bộ hình ảnh của ma trận ta phải tiến hành quét nhiều lần. Do mắt người không phân biệt được sự thay đổi ảnh nếu ảnh đó được quét với tốc độ 24 hình/s nên nếu ta quét ảnh với tốc độ lớn hơn hoặc bằng 24 hình/s thì ảnh sẽ chạy liên tục và không bị giật.

 

 

 

 

VII.           MẠCH LED HOÀN CHỈNH.

 

 

 

 

 

VIII.         HÌNH ẢNH DEMO.

 

Hướng phát triển của chương trình

-         Thực tế hình ảnh hiển thị lớn hoặc cần có độ phân giải tốt đòi hỏi số lượng đèn trong ma trận lớn hơn nhiều lần. Từ đó đặt ra một yêu cầu là mở rộng ma trận đèn.

-         Dựa trên cơ sở là ma trận LED 5X7 như đã nói ở trên, có thể thiết kế mở rộng (bằng cách tăng thêm số hàng và số cột) theo nguyên lý tương tự (quét hàng và quét cột) tuy nhiên phải thêm IC và linh kiện khác.

 

 

MUC LUC

Nội dung                                                                                                        Trang

I.                    GIỚI THIỆU............................................................................ 1

II.                 CỔNG LPT VÀ ĐIỀU KHIỂN CỔNG................................. 2

III.               IC 74HC595........................................................................... 5

IV.              TRANSISTOR C1815........................................................... 8

V.                ĐIỆN TRỞ............................................................................ 10

VI.              MA TRẬN LED 5x7........................................................... 12

VII.           MẠCH LED HOÀN CHỈNH............................................... 15

VIII.         HÌNH ẢNH DEMO.............................................................. 17

 

 

 

-          

TÀI LIỆU THAM KHẢO

 

[1] Thái Thanh Long – Giáo trình kỹ thuật điện tử số .2011.

[2] Forum http://www.dientuvietnam.net

        http://dientuvietnam.net/forums/vi-dieu-khien-ho-8051-53/ic-ghi-dich-74hc595-can-giup-do-21590/index3.html

        http://www.dientuvietnam.net/forums/vi-dieu-khien-ho-8051-53/cac-phuong-phap-quet-led-6595/

[3] Forum http://codientu.org

      http://codientu.org/threads/74hc595-su-thong-dung-va-cach-dung.196/

       

[4] Forum  http://www.codeproject.com

        http://www.codeproject.com/Articles/4981/I-O-Ports-Uncensored-1-Controlling-LEDs-Light-Emit

[5]Forum  http://jpjitendrapal.wordpress.com

        http://jpjitendrapal.wordpress.com/2011/07/14/parallel-port-programming-in-windows-xp-or-windows-vista/

[6] Forum  http://old.voer.edu.vn

      http://old.voer.edu.vn/module/khoa-hoc-va-cong-nghe/cau-truc-cong-lpt.html