Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Đúng vào ngày lễ tình nhân, một tiện ích nhỏ sẽ được tặng cho người yêu của bạn: một trái tim xoay qua nhiều hình ảnh động. Nó phù hợp tuyệt vời trên bàn làm việc hoặc bàn để người thân yêu của bạn nhớ đến bạn!
Trái tim hoạt hình này rất nhỏ gọn và đơn giản: chỉ cần bật nó lên và 12 đèn LED tạo thành hình trái tim sẽ quay vòng qua một vòng hình ảnh động mà bạn hoàn toàn có thể tùy chỉnh.
Nó chạy không giống nhau và dựa trên vi điều khiển rất phổ biến và rẻ tiền, ATTINY13 8 chân, có thể được lập trình thuận tiện với Arduino Uno. Thông qua kỹ thuật đặc biệt của charlieplexing, 12 đèn LED có thể được điều khiển riêng lẻ chỉ với 4 chân đầu ra.
Bước 1: Vật liệu và Công cụ:
Vật liệu:
- 12 đèn LED đỏ 5mm
- Một bảng nguyên mẫu 3x7cm (10x24 lỗ, hai mặt dày màu xanh lá cây là tốt nhất)
- Một bộ vi điều khiển Attiny13A
- Ổ cắm DIP 8 chân
- Một công tắc nhỏ
- Một ngăn đựng tiền xu
- Một ô đồng xu CR2032
- 20cm dây móc nhiều sợi màu
- 15cm dây lõi rắn dày
Công cụ:
- Một Arduino Uno để lập trình ATTINY
- Mỏ hàn
- Một cái kéo cắt dây
Bước 2: Xây dựng trái tim
12 đèn LED được lắp vào bảng nguyên mẫu theo cách sắp xếp hình trái tim, như trong sơ đồ. Chú ý đến cực tính: 6 đèn LED có cực dương bên phải và cực âm bên trái, 6 đèn LED được lắp theo chiều ngược lại. Che đèn LED bằng cellotape để ngăn chúng rơi ra ngoài khi chúng tôi làm việc ở mặt sau.
Các dây dẫn của đèn LED phải được kết nối theo một mô hình phức tạp. Bẻ cong các chốt và cắt chúng ra theo sơ đồ. Hãy lưu ý rằng sơ đồ hiển thị mặt trước, trong khi chúng tôi đang làm việc ở mặt sau, vì vậy nó sẽ trông giống như hình ảnh phản chiếu của sơ đồ, như thể hiện trong hình. Các dây dẫn hiện có thể được hàn lại với nhau và loại bỏ cellotape.
Kiểm tra xem nó hoạt động: trái tim có bốn kết nối điện được chỉ định là màu xanh lam, xanh lá cây, vàng và trắng trong sơ đồ. Nối đất với một kết nối và + 5V mắc nối tiếp với một điện trở 1kOhm với một kết nối khác. 1 đèn LED sẽ sáng và tất cả 12 đèn LED sẽ có thể sáng theo cách này.
Bước 3: Chạy Trái tim từ Arduino
Tải bản phác thảo đính kèm lên Arduino UNO hoặc Nano và gắn các chân D8-D11 vào 4 kết nối điện của trái tim: D8 sang xanh lam, D9 sang xanh lục, D10 sang vàng và D11 sang trắng. Trái tim sẽ hiển thị hình ảnh động kéo dài khoảng 1 phút.
Mã có thể được tùy chỉnh để thay đổi tốc độ hoặc thay đổi hoạt ảnh. Mảng ‘patt’ chứa mẫu hoạt hình. Hai byte của mỗi bước cho biết đèn LED nào đang bật trong mỗi bước. Các đèn LED được đánh số 0-11 bắt đầu từ phía dưới và chạy ngược chiều kim đồng hồ xung quanh. LED0 tương ứng với bit 0, LED1 đến bit 1, v.v.
Mảng mẫu được lưu trữ trong bộ nhớ chương trình, cho phép tạo ra hình ảnh động phong phú hơn nhiều so với khi chúng được lưu trữ trong RAM. Bản phác thảo hiện tại có 168 bước. Đối với Arduino, có khoảng trống cho hàng nghìn bước nữa, và ngay cả đối với ATTINY13, chỉ có 1kByte bộ nhớ chương trình, vẫn có khoảng trống cho khoảng 400 bước.
Tốc độ của hoạt ảnh được xác định bởi ‘steptime’ được xác định trên dòng 196. Để tăng tốc độ hoạt ảnh, hãy làm cho số này nhỏ hơn. Hãy lưu ý rằng trên ATTINY, hoạt ảnh sẽ chạy chậm hơn một chút vì chúng tôi sẽ chạy nó ở tốc độ đồng hồ thấp hơn.
Bước 4: Chuyển đến ATTINY
Mã này đủ nhỏ để phù hợp với vi điều khiển 8 chân nhỏ rất tiện lợi, ATTINY13A. Bản phác thảo từ bước trước sẽ hoạt động mà không có bất kỳ sửa đổi nào trên ATTINY.
- Có các tài liệu hướng dẫn tận tình https://www.instructables.com/id/Programming-an-A… cách lập trình ATTINY13A. Dưới đây là một bản tóm tắt ngắn gọn:
- Khởi động Arduino IDE, mở 'Tùy chọn', sau đó thêm https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json để có thêm người quản lý hội đồng quản trị.
- Trong 'Công cụ / Bảng', chọn 'Trình quản lý Bảng' và ở cuối danh sách, cài đặt 'MicroCore by MCUdude'
- Kết nối Arduino Uno và tải lên 'ArduinoISP'. Nó có sẵn trong 'Tệp / ví dụ'
- Kết nối Arduino với ATtiny, dễ dàng thực hiện nhất bằng cách đặt ATtiny lên tấm chắn nguyên mẫu: Chân Arduino 13 - Chân ATtiny 7 Chân Arduino 12 - Chân ATtiny 6 Chân Arduino 11 - Chân ATtiny 5 Chân Arduino 10 - Chân ATtiny 1 Arduino + 5v - Chân ATtiny 8 Arduino GND - Chân ATtiny 4
- Chọn 'Board ATtiny13', 'B. O. D 2.7V', 'Clock 1.2 MHz internal' và lập trình viên 'Arduino as ISP' (chú ý: không phải 'ArduinoISP' mà là 'Arduino as ISP')
- Thực hiện ‘Burn Bootloader’ - không có bootloader cho attiny và nó có thể xuất hiện lỗi, nhưng cần thực hiện bước này để ‘set the fuses’ về cài đặt đồng hồ chính xác Tải lên bản phác thảo.
Kiểm tra xem nó có hoạt động không: nối lần lượt các kết nối màu xanh lam, xanh lá cây, vàng và trắng của trái tim với PB0 (chân 5), PB1 (chân 6), PB2 (chân 7) và PB3 (chân 2). Trái tim sẽ hoạt động giống như với Arduino, chỉ chậm hơn một chút. Ngoài ra, hãy kiểm tra xem nó có hoạt động khi ATTINY được cấp nguồn từ trùng hay không.
Bước 5: Hoàn thiện Dự án
Bây giờ bạn đã có hệ thống tim mạch và ATTINY được lập trình, dự án có thể kết thúc. Hàn ổ cắm IC, giá đỡ ô đồng xu và công tắc bật / tắt vào bảng nguyên mẫu và hoàn thành các kết nối như thể hiện trong sơ đồ. Chèn ATTINY, trùng và bật để kiểm tra xem nó có hoạt động không.
Cuối cùng, tôi thêm một giá đỡ vào nó làm bằng dây điện lõi rắn dài khoảng 15cm. Cởi bỏ lớp cách ly 2cm ở cả hai bên và uốn cong theo hình giá đỡ. Phần bị loại bỏ bây giờ có thể được hàn vào các miếng đệm của bảng nguyên mẫu.
Tất cả đã sẵn sàng để tạo nên một món quà tuyệt vời cho Lễ tình nhân!
Á quân cuộc thi Trái tim