Mục lục:

Đèn LED có thể lập trình: 6 bước (có hình ảnh)
Đèn LED có thể lập trình: 6 bước (có hình ảnh)

Video: Đèn LED có thể lập trình: 6 bước (có hình ảnh)

Video: Đèn LED có thể lập trình: 6 bước (có hình ảnh)
Video: HƯỚNG DẪN MÔ PHỎNG LED TÒA NHÀ.TRÊN PHẦN MỀM ST FULL MASTER 2024, Tháng mười một
Anonim
Đèn LED có thể lập trình
Đèn LED có thể lập trình

Lấy cảm hứng từ nhiều đèn LED Ném, đèn LED nhấp nháy và các chỉ dẫn tương tự, tôi muốn thực hiện phiên bản đèn LED được điều khiển bởi bộ vi điều khiển. Ý tưởng là làm cho chuỗi nhấp nháy của đèn LED có thể lập trình lại. Việc lập trình lại này có thể được thực hiện với ánh sáng và bóng tối, ví dụ: bạn có thể sử dụng đèn pin. Đây là hướng dẫn đầu tiên của tôi, mọi ý kiến đóng góp hoặc chỉnh sửa đều được hoan nghênh. Cập nhật 2008-08-12: Hiện đã có một bộ dụng cụ tại Tinker Store. Xin lỗi vì chất lượng.

Bước 1: Cách thức hoạt động

Một đèn LED được sử dụng làm đầu ra. Như đầu vào, tôi đã sử dụng một LDR, một điện trở phụ thuộc vào ánh sáng. LDR này thay đổi điện trở của nó khi nó nhận được nhiều hơn hoặc ít hơn ánh sáng. Sau đó, điện trở được sử dụng làm đầu vào tương tự cho bộ vi xử lý ADC (bộ chuyển đổi kỹ thuật số tương tự).

Bộ điều khiển có hai chế độ hoạt động, một để ghi lại một chuỗi, một để phát lại chuỗi đã ghi. Khi bộ điều khiển nhận thấy hai thay đổi độ sáng trong vòng nửa giây, (tối, sáng, tối hoặc ngược lại), nó sẽ chuyển sang chế độ ghi. Trong chế độ giải mã, đầu vào của LDR được đo nhiều lần trong một giây và được lưu trữ trên chip. Nếu bộ nhớ hết, bộ điều khiển sẽ chuyển về chế độ phát lại và bắt đầu phát trình tự đã ghi. Vì bộ nhớ của bộ điều khiển nhỏ bé này rất hạn chế, 64 byte (vâng, byte!), Bộ điều khiển có thể ghi 400 bit. Đó là không gian đủ cho 10 giây với 40 mẫu mỗi giây.

Bước 2: Vật liệu và công cụ

Vật liệu và Công cụ
Vật liệu và Công cụ
Vật liệu và Công cụ
Vật liệu và Công cụ

Vật liệu- Điện trở 2 x 1K- 1 x LDR (Điện trở phụ thuộc ánh sáng), ví dụ: M9960- 1 x Đèn LED dòng điện thấp, 1.7V, 2ma- 1 x Atmel ATtiny13v, RAM flash 1KB, RAM 64 byte, 64 byte EEPROM, [email protected] 1 x CR2032, 3V, 220mAh Công cụ- mỏ hàn - dây hàn- bảng mạch- bộ lập trình AVR- nguồn điện 5V- đồng hồ vạn năngSoftware- Eclipse- CDT plugin- WinAVRCosts tổng thể phải dưới 5 đô la nếu không có công cụ. Tôi đã sử dụng ATtiny13v vì phiên bản này của họ bộ điều khiển này có thể chạy ở 1.8V. Điều đó làm cho nó có thể chạy mạch với một pin rất nhỏ. Để nó chạy trong một thời gian rất dài, tôi quyết định sử dụng đèn LED hiện tại thấp đạt độ sáng đầy đủ ở mức 2ma.

Bước 3: Sơ đồ

Sơ đồ
Sơ đồ

Một số nhận xét về sơ đồ. Đầu vào đặt lại không được kết nối. Đây không phải là cách tốt nhất. Tốt hơn là sử dụng một điện trở 10K khi kéo lên. Nhưng nó hoạt động tốt đối với tôi khi không có và nó tiết kiệm một điện trở. Để giữ cho mạch đơn giản nhất có thể, tôi đã sử dụng bộ dao động bên trong. Điều đó có nghĩa là chúng ta tiết kiệm được một tinh thể và hai tụ điện nhỏ. Bộ dao động bên trong cho phép bộ điều khiển chạy ở tốc độ 1,2MHz, là quá đủ tốc độ cho mục đích của chúng tôi. Nếu bạn quyết định sử dụng nguồn điện khác hơn 5V hoặc sử dụng đèn LED khác, bạn phải tính điện trở R1. Công thức là: R = (Nguồn cấp V - LED V) / 0,002A = 1650 Ohm (Nguồn cung cấp = 5V, LED V = 1,7V). Sử dụng hai đèn LED dòng điện thấp thay vì một đèn LED, công thức có dạng như sau: R = (Nguồn cấp V - 2 * LED V) / 0,002A = 800 Ohm. Xin lưu ý rằng bạn phải điều chỉnh tính toán nếu bạn chọn loại đèn LED khác. Giá trị của điện trở R2 phụ thuộc vào LDR được sử dụng. 1KOhm phù hợp với tôi. Bạn có thể muốn sử dụng chiết áp để tìm giá trị tốt nhất. Các cicuit phải có thể phát hiện sự thay đổi ánh sáng trong ánh sáng ban ngày bình thường. Để tiết kiệm điện, PB3 chỉ được đặt ở mức cao, nếu một phép đo được thực hiện. Cập nhật: giản đồ đã bị sai lệch. Dưới đây là một phiên bản chính xác. Cảm ơn, dave_chatting.

Bước 4: Tập hợp trên bảng nguyên mẫu

Tập hợp trên một bảng nguyên mẫu
Tập hợp trên một bảng nguyên mẫu
Tập hợp trên một bảng nguyên mẫu
Tập hợp trên một bảng nguyên mẫu

Nếu bạn thích kiểm tra mạch của mình, một breadboard rất tiện dụng. Bạn có thể lắp ráp tất cả các bộ phận mà không cần phải hàn bất cứ thứ gì.

Bước 5: Lập trình mạch

Lập trình mạch
Lập trình mạch
Lập trình mạch
Lập trình mạch

Bộ điều khiển có thể được lập trình bằng các ngôn ngữ khác nhau. Được sử dụng nhiều nhất là Assembler, Basic và C. Tôi đã sử dụng C vì nó phù hợp với nhu cầu của tôi nhất. Tôi đã quen với C mười năm trước và có thể khôi phục một số kiến thức (tốt, chỉ một số…). Để viết chương trình của bạn, tôi khuyên bạn nên sử dụng Eclipse với plugin CDT. Tải về eclipse tại đây https://www.eclipse.org/ và plugin tại đây https://www.eclipse.org/cdt/. Để biên dịch ngôn ngữ C sang vi điều khiển AVR, bạn sẽ cần một trình biên dịch chéo. Thật may mắn như chúng ta đang tồn tại, có một cảng của GCC nổi tiếng. Nó được gọi là WinAVR và có thể tìm thấy ở đây https://winavr.sourceforge.net/. Một hướng dẫn rất hay về cách lập trình bộ điều khiển AVR với WinAVR tại đây https://www.mikrocontroller.net/articles/AVR-GCC- Hướng dẫn. Xin lỗi, nó bằng tiếng Đức nhưng bạn có thể tìm thấy hàng nghìn trang hướng dẫn về chủ đề đó bằng ngôn ngữ của mình, nếu bạn tìm kiếm chúng. Sau khi biên dịch nguồn của bạn, bạn phải chuyển tệp hex sang bộ điều khiển. Điều đó có thể được thực hiện bằng cách kết nối PC của bạn với mạch bằng ISP (trong bộ lập trình hệ thống) hoặc sử dụng các bộ lập trình chuyên dụng. Tôi đã sử dụng một bộ lập trình chuyên dụng vì nó làm cho mạch dễ dàng hơn một chút bằng cách tiết kiệm một số dây và phích cắm. Hạn chế là bạn phải hoán đổi bộ điều khiển giữa mạch và bộ lập trình mỗi khi bạn muốn cập nhật phần mềm của mình. Lập trình viên của tôi đến từ https://www.myavr.de/ và sử dụng USB để kết nối với sổ ghi chép của tôi. Có rất nhiều người khác xung quanh và bạn thậm chí có thể tự xây dựng nó. Để tự chuyển giao, tôi đã sử dụng một chương trình có tên avrdude, là một phần của bản phân phối WinAVR. Một dòng lệnh ví dụ có thể giống như sau:

avrdude -F -p t13 -c avr910 -P com4 -U flash: w: flickled.hex: iĐính kèm, bạn có thể nhận được nguồn và tệp hex đã biên dịch.

Bước 6: Hàn

Hàn
Hàn

Nếu mạch của bạn hoạt động trên breadboard, bạn có thể hàn nó.

Điều này có thể được thực hiện trên PCB (bảng cicuit in), trên bảng nguyên mẫu hoặc thậm chí không có bảng. Tôi quyết định làm điều đó mà không cần vì mạch chỉ bao gồm một vài thành phần. Nếu bạn không quen với cách hàn, tôi khuyên bạn nên tìm kiếm một hướng dẫn hàn trước. Kỹ năng hàn của tôi là một chút gỉ nhưng tôi nghĩ rằng bạn sẽ có được ý tưởng. Tôi hy vọng bạn thích nó. Alex

Đề xuất: