Tự Làm Mạch Led Trái Tim | Cộng đồng Arduino Việt Nam
Có thể bạn quan tâm
Bài viết này tôi sẽ giới thiệu cách làm một mạch đèn led trái tim kết hợp Arduino với IC HC595, bạn có thể dùng nó để tỏ tình, làm quà tặng bạn gái rất ý nghĩa và lãng mạn. Trước khi bắt đầu bạn cần tìm hiểu các bài viết sau đây:
- Điều khiển 8 đèn LED sáng theo ý muốn của bạn, dễ hay khó ?
- Tổng quan về cách làm mạch in bằng phương pháp ủi thủ công
Nếu bạn đã nắm rõ cách sử dụng IC HC595 và phương pháp làm mạch in thủ công thì chúng ta hãy bắt đầu ngay thôi:
Bạn cần chuẩn bị những thứ sau:
- Arduino Uno
- 3 con IC HC595
- 24 đèn led 5mm màu đỏ đục (Màu vỏ trắng đục, không nên dùng led siêu sáng vỏ trong suốt vì ánh sáng rất chói)
- 24 điện trở 560 Ohm
- Các vật liệu làm mạch in (Phíp phủ đồng, giấy in nhiệt, bột ăn mòn ... )
Sơ đồ nguyên lý

Sơ đồ mạch in bạn có thể download tại đây
Chú ý sơ đồ nối chân linh kiện theo hình sau:

Phần tiếp theo không thể thiếu được, đó là lập trình điều khiển led:
// Khai báo các chân sẽ sử dụng để giao tiếp IC HC595 int latchPin = 10; int clockPin = 12; int dataPin = 11; // Khai báo mảng dùng điều khiển IC byte ledStatus[3]= {}; byte SangHet=0b11111111; byte TatHet=0b00000000; // Khai báo các kiểu chạy byte Chay1[9]= {0b00000000,0b10000000,0b11000000,0b11100000,0b11110000,0b11111000,0b11111100,0b11111110,0b11111111}; byte Chay2[9]= {0b11111111,0b01111111,0b00111111,0b00011111,0b00001111,0b00000111,0b00000011,0b00000001,0b00000000}; void setup() { pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); } // Hàm shiftOut ra IC 595 // Ở đây bạn hoàn toàn có thể sử dụng vòng lặp cho code ngắn gọn và chuyên nghiệp hơn // Nhưng tôi thích làm thế này nhìn cho dễ hiểu void shiftOutHC595(int dataPin, int clockPin, byte ledStatus[]) { digitalWrite(latchPin, LOW); shiftOut(dataPin,clockPin,MSBFIRST,ledStatus[0]); shiftOut(dataPin,clockPin,MSBFIRST,ledStatus[1]); shiftOut(dataPin,clockPin,MSBFIRST,ledStatus[2]); digitalWrite(latchPin, HIGH); } // Hàm chạy led kiểu 1 void Kieu1(int _delay) { for (int i = 0;i<=8;i++) { ledStatus[0]=Chay1[i]; ledStatus[1]=TatHet; ledStatus[2]=TatHet; shiftOutHC595(dataPin,clockPin,ledStatus); delay(_delay); } for (int i = 0;i<=8;i++) { ledStatus[0]=SangHet; ledStatus[1]=Chay1[i]; ledStatus[2]=TatHet; shiftOutHC595(dataPin,clockPin,ledStatus); delay(_delay); } for (int i = 0;i<=8;i++) { ledStatus[0]=SangHet; ledStatus[1]=SangHet; ledStatus[2]=Chay1[i]; shiftOutHC595(dataPin,clockPin,ledStatus); delay(_delay); } } // Hàm chạy led kiểu 1 void Kieu2(int _delay) { for (int i = 0;i<=8;i++) { ledStatus[0]=Chay2[i]; ledStatus[1]=SangHet; ledStatus[2]=SangHet; shiftOutHC595(dataPin,clockPin,ledStatus); delay(_delay); } for (int i = 0;i<=8;i++) { ledStatus[0]=TatHet; ledStatus[1]=Chay2[i]; ledStatus[2]=SangHet; shiftOutHC595(dataPin,clockPin,ledStatus); delay(_delay); } for (int i = 0;i<=8;i++) { ledStatus[0]=TatHet; ledStatus[1]=TatHet; ledStatus[2]=Chay2[i]; shiftOutHC595(dataPin,clockPin,ledStatus); delay(_delay); } } // Hàm chạy led kiểu 3 void Kieu3(int _delay, int SoLan) { for (int i = 0;i<=SoLan;i++) { ledStatus[0]=SangHet; ledStatus[1]=SangHet; ledStatus[2]=SangHet; shiftOutHC595(dataPin,clockPin,ledStatus); delay(_delay); ledStatus[0]=TatHet; ledStatus[1]=TatHet; ledStatus[2]=TatHet; shiftOutHC595(dataPin,clockPin,ledStatus); delay(_delay); } } void loop() { // Gọi hàm chạy kiểu 1 thời gian delay 50 Kieu1(50); // Gọi hàm chạy kiểu 2 thời gian delay 50 Kieu2(50); // Gọi hàm chạy kiểu 3 thời gian delay 500 và vòng lặp chạy 5 lần Kieu3(500,5); }Xong rồi, sau khi hoàn thành mạch in, hàn linh kiện hãy upload code, kết nối mạch với Arduino và chạy thôi, bạn hãy tự sáng tạo các kiểu chạy led khác nhau và cùng chia sẻ với mọi người nhé. Nếu bạn có ý định dùng mạch trái tim này để tỏ tình, tặng bạn gái thì hãy dùng Arduino Mini Pro hoặc Arduino Nano cho rẻ :D hay muốn tiết kiệm hơn bạn có thể dùng Attiny85 và 1 số con vi điều khiển AVR khác tương thích với Arduino. Cách sử dụng Attiny85 tương tự Attiny13, bạn có thể tìm hiểu các bài viết liên quan đến Attiny13 tại đây:
- Attiny13 - Trợ thủ đắc lực của Arduino - Lập trình nó?
- Dùng ATTiny13 để shiftOut ra IC 595 điều khiển nhiều LED
Cuối cùng là video test sản phẩm:
Từ khóa » Cách Làm Mạch đèn Led Trái Tim
-
Hướng Dẫn Làm Mạch Led Trái Tim RGB - Xem Xong Thấy... Quá Dễ
-
[TH]: HƯỚNG DẪN CHI TIẾT CÁCH LÀM LED TRÁI TIM
-
Hướng Dẫn Làm Mạch Led Trái Tim 32 Led - ChipKool - Đồng Hồ Led
-
Hướng Dẫn Làm Mạch Led Trái Tim NE555 - 4017 Điện Tử Tuyên Quang
-
Mạch Led Trái Tim Vesion 1: Đơn Giản, Dễ Làm – KD0001 - Gianghm
-
Hướng Dẫn Làm Led Trái Tim - TuHu
-
Hướng Dẫn Làm Mạch đèn LED Hình Trái Tim - Tự Tay Làm
-
Hướng Dẫn Làm Đèn Led Trái Tim RGB 7 Màu Full Color
-
Hướng Dẫn Làm Led Trái Tim đôi 64 Led 2 Vòng Cực đẹp - Linh Kiện 3M
-
Cách Làm Mạch Led Trái Tim Vesion 1 - Lltb3d
-
Đề Tài MẠCH NHÁY LED TRÁI TIM - Tài Liệu - 123doc
-
Cách Làm Led Trái Tim
-
Tự Làm đèn LED Trái Tim 32 LED 7 Màu 89S52 đơn Giản đẹp Mắt
-
Chia Sẻ Cách Lập Trình Led Trái Tim đơn Giản Dễ Thực Hiện