Làm LED trái tim với 8501

Làm LED trái tim với 8501


  Trái tim là bộ phận quan trọng của con người đồng thời trái tim tượng trưng cho tình yêu đẹp của đôi trai gái. Các bạn trai đọc điện - điện tử muốn trinh phục được chị em phụ nữ thì phải có gì tặng chị em thì chị em mới cảm động được. Bỏ tiên ra mua món quà thì không hay lắm nhưng chúng ta bỏ tiền ra để làm một cái gì đó tặng thì món quà đó thật là ý nghĩa. Khi đó chúng ta vừa học được và lại có quà tặng bạn gái đồng thời chiếm được tình cảm của bạn gái. Chính vì đó bài viết này sẽ hướng dẫn mọi người làm mạch trái tim đơn giản dùng 8501. Mạch rất đơn giản và chương trình cũng không khó.


I - Sơ lược về họ vi điều khiển 8501
Khi nhắc đến vi điều khiển, không ai là không biết họ vi điều khiển của 8051 do ATMEL cung cấp và phát triển. Thông dụng nhất là các sản phẩm của dòng 89Cxxx và 89sxxx. Ưu điểm lớn nhất của họ vi điều khiển 8051 là:
+Giá chip rẻ. Chỉ từ 20 nghìn là bạn có thể có trong tay chip 89C52
+Cấu tạo đơn giản với 35 câu lệnh ASM
+Với 89c52 có 8kb bộ nhớ dữ liệu, 128bye ram, 32 chân I/O, 3 timer, 8 ngẳt, hoạt động ở điện áp 5V, đóng gói với kiểu chân dip40 chân và kiểu PLCC
+Tần số tối đa: 33Mhz


89c52 với 4 PORT có khả năng nhập,xuất. Gồm PORT0 (P0), PORT1 (P1), PORT2 (P2), PORT3 (P3)
Mỗi PORT gồm 8 PIN( hay chân) và có thể được đinh địa chỉ từng bit. ví dụ:
P1^0, P1^1... P1^8 tương tự với các PORT 0,2,3
Các PIN của PORT chỉ có 2 trạng thái là: mức cao(1) có giá trị xấp xỉ giá trị VCC. Mức thấp(0) có giá trị xấp xỉ 0V(GND)
II - Tổng quan và tính toán cho LED phát quang
1) Hoạt động và phân cực cho LED
LED phát quang được phát sáng khi chúng ta cấp nguồn cho nó thì nó sẽ phát sáng. Có rất nhiều LED phát quang với mầu sắc, kích thước chủng loại khác nhau. Và được ứng dụng trong thắp sáng, trang trí...


Bản chất của LED chính là một diode có khả năng phát sáng khi phân cực thuận. Khi Led sáng thi điện áp rơi trên LED có giá trị nhỏ nhất là 0.7V và lớn nhất gần 2V tùy từng loại LED. Tùy vào từng loại LED mà có giá trị dòng qua LED khác nhau để LED sáng bình thường. Thông thường thì nguồn cấp cho LED 3V thì chúng ta không cần điện trở hạn dòng nhưng đối với nhiều mạch người ta không thể dùng thêm một nguồn nữa nên người ta dùng nguồn cho LED chung với nguồn điều khiển (5V) và lắp thêm con điện trở nối tiếp cho LED. Mục đích là để hạn dòng cho LED không cho dòng qua LED lớn hơn giá trị định mức. Nếu mà quá dòng thì LED sẽ cháy. Tính toán điện trở đó như thế nào?
2) Cách tính toán điện trở hạn dòng cho LED
Nếu chúng ta sử dụng nguồn 3V thì không cần phải điện trở mà có thể lắp trực tiếp được nhưng nếu mà cho nguồn lớn hơn 3V thì cần phải có thêm một con điện trở hạn dòng cho LED


Chúng ta áp dụng lý thuyết mạch điện vào tính toán điện trở này như sau:
R = (Vcc - Uled)/Iled
với Uled là điện áp rơi trên LED phát quang. Nằm trong 0.7 ~ 2V tùy từng loại LED
    Iled là dòng điện định mức qua LED.
Dựa vào công thức đó chúng ta sẽ tính được giá trị điện trở cho vào cho từng loại LED.
Lấy ví dụ : Mua LED có Uled = 1V, Iled = 10mA với điện áp nguồn là 5V. Áp dụng công thức trên ta sẽ tính được R = 400 ôm.
3) Điều khiển LED với 8501
LED phát quang chúng ta chỉ cần phân cực thuận là nó sẽ sáng.Trong 8501 chỉ điều khiển được mức 1 (5V) và mức 0 (0V) nên do đó LED khi mắc vào chân của 8501 sẽ được điều khiển tắt hoặc mở tùy thuộc vào trạng thái của chân 8501 được điều khiển như thế nào? Có hai cách mắc LED và chân 8501
+ Mắc ở chế độ xả dòng


Với mắc ở chế độ này thì LED sẽ sáng rất tối vì công suất của chân 8501 rất yếu. Không đủ cấp dòng cho LED sáng với chế độ định mức. Nên phương pháp này sẽ làm LED sáng tối nên không hiểu quả. Chân 8501 ở mức 1 thì LED sáng và mức 0 thì tắt
+ Mắc ở chế độ hút dòng


Mắc kiểu này thì LED sáng hết công suất. Đây là phương pháp ghép trực tiếp nhưng vi xử lý nó chỉ chịu được một giá trị dòng nhất định qua nó. Nếu mà quá nhiều LED ghép nối thế này thì tất cả dòng sẽ qua vi xử lý gây ra quá dòng trên vi xử lý gây nên cháy chíp và chíp nóng không hoạt động được lâu. Phương pháp này chỉ mang tính lắp ít LED và điều khiển không đồng thời. Giải pháp là gắn thêm một transitor đệm. Đối với mắc kiểu này thì mức 1 thì LED tắt và mức 0 thì LED tắt.
Điều khiển LED đơn này cũng rất là đơn giản. Nó dựa vào cách ghép nối với vi xử lý và đưa mức cần thiết ra chân vi xử lý thì LED sẽ sáng và tắt theo ý muốn của chúng ta.
III - Mạch trái tim với 32 LED ghép nối với 8501
1) Mạch nguyên lý
Mỗi PORT của 89C52 có độ dài 8 bit, do vậy không thể truy xuất lên từng PORT một lúc được. Ta chỉ có thể làm lần lượt với từng Port của 89C52. Nhưng với điều khiển LED, Thời gian thực hiên rất nhanh, và coi như thực hiện gần như cùng một lúc. Sau đây mình sẽ điều khiển 32 LED được xếp thành một hình trái tim.


Mạch nguyên lý trên là ghép trực tiếp không dùng đệm. Theo nguyên tắc vẫn chạy được nhưng không đảm bảo cho con 8501 hoạt động tốt và không bị quá dòng. Nhưng với bài toán này chúng ta có thể ghép trực tiếp với LED thường và điều khiển không đồng thời. Mạch vẫn chạy ổn định.
2) Thuật toán điều khiển
Việc điều khiển 32 LED đơn này cũng không khó. Ta cứ cho LED này bật rồi LED kia tắt theo hiệu ứng của chúng ta. Các thời điểm được tính là rất nhanh. Việc chuyển từ thời điểm này sang thời điểm kia được qua một thời gian trễ nếu cần thiết. Ta chỉ cần xuất mức 0 ra chân 8501 là LED sáng và mức 1 ra chân của 8501 là LED tắt. Dựa vào điểm này chúng ta có thể điều khiển 32 LED theo ý thíc. Một ví dụ đơn giản là chạy LED từ trên xuống
#include"reg52.h"
unsigned char ma[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void delay(unsigned int tre)
{
  unsigned int tg;
  for(tg=0;tg<tre;tg++);
}

void main()
{
  unsigned int i,x;
  while(1)
  {
    P0=P1=P2=P3=0xff;
    for(i=0;i<8;i++)
    {
      P0=P1=ma;
      delay(42000);
    }  
    
    P0=P1=0xff;
    for(i=0;i<8;i++)
    {
      P3=ma;
      P2=ma[7-i];
      delay(42000);
    }  
  }
}
Đó là các ví dụ đơn giản nhất mà các bạn dễ dàng thực hiện. Từ đó các bạn phát triển thêm nhiều kiểu nháy LED phong phú hơn
IV - Sản phẩm, Code&mô phỏng, PCB
1) Sản phẩm
Dưới đây là sản phẩm của mạch hình LED trái tim mà tôi làm được. Nhìn trông giao diện cũng khá đẹp. Tặng người yêu thì quá tốt


Linh kiện được gắn theo kiểu SMD để tăng thêm tính thẩm mỹ của sản phẩm


2) Code và Mô phỏng, PCB
+ Chương trình được viết cho dòng vi xử lý 8501, môi trường biên dịch Kei C
+ Mô phỏng bằng phần mền Protues để minh họa thêm sản phẩm
+ Mạch in PCB bằng Protues để mọi người có thể làm luôn
Ngoài chương trình tham khảo này các bạn có thể phát triển thêm nhiều hiệu ứng đẹp để cho mạch đèn LED trái tim phong phú và đẹp hơn
Tải code, mô phỏng, PCB (File đính kèm)
Video sản phẩm.


Bình Luận
tainan321 - 16/10/2017 - 04:12:31

Cho xin lại cái file ạ file kìa lỗi rồi ạ 


duyphuidol - 18/04/2015 - 10:37:35

sao k thấy file mạch in


Cùng danh mục: Điện tử ứng dụng

DIY - Mạch sạc acquy 12V tự ngắt đơn giản

18/08/2023 21:35:22 / Lượt xem: 1004 / Người đăng: biendt

Bạn phải làm gì khi mà bộ sạc pin hiện tại không thể dừng lại quá trình sạc khi mà bình ắc qui đã đầy. Bình ắc qui bị nóng lên, bình bị phồng, có thể gây cháy nổ hoặc làm bình của bạn bị hỏng. Nếu như vậy, bạn cần một thiết bị/hay mạch sạc tự động có thể tự động ngắt khi bình đã sạc đủ điện. Vì vậy, bạn có thể lắp một mạch điện đơn giản, theo sơ đồ mạch dưới đây để quá trình sạc diễn ra tự động, bạn không còn bận tâm việc phải canh thời gian để ngắt nguồn sạc, và nỗi lo quên ngắt nguồn điện ngây hỏng bình ắc qui nữa.

Tổng quan về mạch Snubber - Phần I

09/04/2023 23:55:20 / Lượt xem: 1294 / Người đăng: Saonam Tronics

Tôi biết nhiều bạn học điện tử nhưng kiến thức về mạch snubber rất hạn chế, hiểu mơ hồ về nó. Đây là bài viết mở đầu cho tổng quan về mạch Snubber, hy vọng trang bị cho các bạn yêu thích bộ môn điện tử học kiến thức bổ ích về loại mạch rất phổ biến này. ác bạn kỹ thuật viên điện tử thường dùng oscillocope để đo "nhịp tim'' của mạch sw thỉnh thoảng hay gặp hình ảnh này ''điện áp thoáng đột biến và đổ chuông'', điều đó chứng tỏ rằng mạch điện đang gặp nhiều vấn đề nguy hại, nhiều, nhưng tôi tập trung 3 vấn đề chính sau

TTP224 - IC 4 nút cảm ứng điện dung

18/09/2022 16:00:00 / Lượt xem: 1269 / Người đăng: biendt

Ngày nay ở một số thiết bị gia dụng, thiết bị điện, điện tử sử dụng nút bấm nằm trên mặt phẳng cứng, ví dụ nút bấm trên một số loại bếp từ, nút bấm trong bảng công tắc điều khiển nhà thông minh, nút back của một số điện thoại…đó là các nút bấm điện dung. Đặc điểm của các loại nút này là chỉ cần chạm, không cần nhấn nút và ta cũng không thể nhấm “lõm” như những nút bấm cơ bình thường vì chúng được vẽ trên mặt nhựa hoặc mặt kính phẳng.

Hướng dẫn sử dụng module SIM800, SIM900 : Cơ bản chung và các tập lệnh cơ bản

31/05/2022 08:13:45 / Lượt xem: 3725 / Người đăng: biendt

SIM800 và SIM900 là hai module GSM giống nhau tính năng cơ bản : Băng tần (GSM850, EGSM900, DCS1800, PCS1900), Dữ liệu (SMS, GPRS, FM), giao tiếp với chíp điều khiển (Nối tiếp AT)...Nhưng với SIM800 cải tiến mới thì hỗ trợ thêm một số tính năng hỗ trợ Bluetooth và các lệnh AT cho FM/Bluetooth, cải thiện tín hiệu, giá thành rẻ. Những dự án xây dựng các hệ thống điều khiển từ xa, gửi nhận dữ liệu thu thập từ các cảm biến…

Mạch Dimmer điều khiển tải AC hoạt động như thế nào?

17/04/2022 16:18:16 / Lượt xem: 5017 / Người đăng: biendt

Dimmer là một bộ điều khiển công suất đơn giản, sử dụng Triac, có mạch nguyên lý rất đơn giản và chi phí rất thấp. Do vậy chúng rất phổ biến trong các thiết bị điện dân dụng và công nghiệp. Dimmer là điều khiển, thay đổi điện áp ra tải từ đó cường độ dòng điện (Công suất) cũng thay đổi theo. Do đó được ứng dụng điều khiển như điều chỉnh độ sáng của bóng đèn, lò sưởi, tốc độ vòng quay trong các thiết bị công suất....