Mục lục:
- Bước 1: Điều chế độ rộng xung trong phần mềm
- Bước 2: Phần cứng và các thành phần cần thiết
- Bước 3: Phần mềm còn lại và kết quả
Video: Nhiều nến điện tử: 3 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:32
Nến điện tử đã được đăng nhiều lần trên Các vật hướng dẫn vậy tại sao lại là nến này?
Ở nhà tôi có những ngôi nhà Giáng sinh bán trong suốt nhỏ này có đèn LED chiếu sáng và một cục pin nhỏ. Một số ngôi nhà có đèn LED với hiệu ứng ngọn nến và một số ngôi nhà có đèn LED chỉ sáng. Pin nhỏ cạn tương đối nhanh và vì tôi muốn có hiệu ứng ngọn nến trong tất cả các ngôi nhà nên tôi quyết định biến nó thành một dự án PIC. Tất nhiên bạn cũng có thể biến nó thành một dự án Arduino.
Vậy điều gì đã làm nên sự đặc biệt của loại nến điện tử này? PIC và Arduino đều có phần cứng điều biến độ rộng xung (PWM) trên bo mạch có thể được sử dụng để tạo hiệu ứng nến bằng đèn LED nhưng trong trường hợp của tôi, tôi muốn có 5 nến điện tử độc lập sử dụng một bộ điều khiển và điều đó không có, ít nhất là không mà tôi biết. Giải pháp tôi đã sử dụng là làm cho năm tín hiệu PWM độc lập này hoàn toàn trong phần mềm.
Bước 1: Điều chế độ rộng xung trong phần mềm
Điều chế độ rộng xung đã được mô tả nhiều lần, ví dụ: trong Bài viết Arduino này:
PIC và Arduino có phần cứng PWM đặc biệt trên bo mạch giúp việc tạo tín hiệu PWM này trở nên đơn giản. Nếu chúng ta muốn tạo một hoặc nhiều tín hiệu PWM trong phần mềm, chúng ta cần hai bộ định thời:
- Một bộ đếm thời gian được sử dụng để tạo tần số PWM
- Một bộ đếm thời gian được sử dụng để tạo chu kỳ nhiệm vụ PWM
Cả hai bộ định thời tạo ra và ngắt khi hoàn thành và do đó việc xử lý tín hiệu PWM được thực hiện hoàn toàn theo hướng ngắt. Đối với tần số PWM, tôi sử dụng bộ định thời 0 của PIC và để nó tràn. Với xung nhịp bộ dao động bên trong là 8 MHz và tỷ lệ đặt trước là 64, công thức là: Fosc / 4/256/64 = 2.000.000 / 256/64 = 122 Hz hoặc 8, 2 ms. Tần số phải đủ cao để mắt người không thể phát hiện ra nó. Tần số 122 Hz là đủ cho điều đó. Điều duy nhất mà quy trình ngắt hẹn giờ này làm là sao chép chu kỳ nhiệm vụ cho một chu kỳ PWM mới và bật tất cả các đèn LED. Nó thực hiện điều này cho tất cả 5 đèn LED một cách độc lập.
Giá trị của bộ đếm thời gian để xử lý chu kỳ nhiệm vụ PWM phụ thuộc vào cách chúng ta tạo hiệu ứng nến. Trong cách tiếp cận của mình, tôi mô phỏng hiệu ứng này bằng cách tăng chu kỳ nhiệm vụ với giá trị 3 để tăng độ sáng của đèn LED và giảm với giá trị 25 để giảm độ sáng của đèn LED. Bằng cách này, bạn sẽ có được một hiệu ứng giống như ngọn nến. Vì tôi sử dụng giá trị tối thiểu là 3, nên số bước để điều khiển chu kỳ nhiệm vụ hoàn chỉnh với một byte là 255/3 = 85. Điều này có nghĩa là bộ định thời chu kỳ nhiệm vụ PWM phải chạy với tần số gấp 85 lần tần số của Bộ hẹn giờ tần số PWM là 85 * 122 = 10.370 Hz.
Đối với chu kỳ nhiệm vụ PWM, tôi sử dụng bộ định thời 2 của PIC. Đây là bộ đếm thời gian có tự động tải lại và nó sử dụng công thức sau: Giai đoạn = (Nạp lại + 1) * 4 * Tosc * Giá trị tỷ lệ đặt trước của Timer2. Với tải lại là 191 và tỷ lệ đặt trước là 1, chúng tôi nhận được khoảng thời gian là (191 + 1) * 4 * 1 / 8.000.000 * 1 = 96 chúng tôi hoặc 10.416 Hz. Quy trình ngắt chu kỳ nhiệm vụ PWM kiểm tra xem chu kỳ nhiệm vụ đã trôi qua chưa và tắt đèn LED mà chu kỳ nhiệm vụ đã hoàn thành. Nếu chu kỳ nhiệm vụ không được thông qua, nó sẽ giảm bộ đếm chu kỳ nhiệm vụ bằng 3 và kết thúc quy trình. Nó thực hiện điều này cho tất cả các đèn LED một cách độc lập. Trong trường hợp của tôi, quy trình ngắt này chiếm khoảng 25 chúng tôi và vì nó được gọi là cứ 96 chúng tôi, nên 26% CPU đã được sử dụng để quản lý chu kỳ nhiệm vụ PWM trong phần mềm.
Bước 2: Phần cứng và các thành phần cần thiết
Sơ đồ giản đồ cho thấy kết quả cuối cùng. Mặc dù tôi chỉ điều khiển 5 đèn LED độc lập, nhưng tôi đã thêm đèn LED thứ 6 chạy cùng với một trong 5 đèn LED khác. Vì PIC không thể điều khiển hai đèn LED trên một chân cổng nên tôi đã thêm một bóng bán dẫn. Thiết bị điện tử được cấp nguồn bằng bộ chuyển đổi DC 6 volt / 100 mA và sử dụng bộ điều chỉnh điện áp rơi thấp để tạo ra mức ổn định 5 Volt.
Bạn cần các thành phần sau cho dự án này:
- 1 vi điều khiển PIC 12F615
- 2 tụ gốm: 2 * 100nF
- Điện trở: 1 * 33k, 6 * 120 Ohm, 1 * 4k7
- 6 đèn LED màu cam hoặc vàng, độ sáng cao
- 1 bóng bán dẫn BC557 hoặc tương đương
- 1 Tụ điện 100 uF / 16 V
- 1 bộ điều chỉnh điện áp rơi thấp LP2950Z
Bạn có thể xây dựng mạch trên một breadboard và không cần nhiều không gian, như bạn có thể thấy trong hình.
Bước 3: Phần mềm còn lại và kết quả
Phần còn lại của phần mềm là vòng lặp chính. Vòng lặp chính tăng hoặc giảm độ sáng của đèn LED bằng cách điều chỉnh chu kỳ nhiệm vụ một cách ngẫu nhiên. Vì chúng ta chỉ tăng với giá trị 3 và giảm với giá trị 25, nên chúng ta phải đảm bảo rằng sự giảm dần không xảy ra thường xuyên như khi tăng.
Vì tôi không sử dụng bất kỳ thư viện nào nên tôi phải tạo một bộ tạo ngẫu nhiên bằng cách sử dụng thanh ghi dịch chuyển phản hồi tuyến tính, hãy xem:
en.wikipedia.org/wiki/Linear-feedback_shif…
Hiệu ứng nến bị ảnh hưởng bởi tốc độ thay đổi của chu kỳ nhiệm vụ PWM, do đó, vòng lặp chính sử dụng độ trễ khoảng 10 ms. Bạn có thể điều chỉnh thời gian này để thay đổi hiệu ứng nến theo nhu cầu của bạn.
Video đính kèm cho thấy kết quả cuối cùng mà tôi đã sử dụng nắp che đèn LED để cải thiện hiệu ứng.
Tôi đã sử dụng JAL làm ngôn ngữ lập trình cho dự án này và đính kèm tệp nguồn.
Chúc bạn vui vẻ khi làm bài này có thể hướng dẫn và mong nhận được phản ứng cũng như kết quả của bạn.
Đề xuất:
Xóa nền của nhiều hình ảnh bằng Photoshop 2020: 5 bước
Xóa nền của nhiều ảnh bằng Photoshop 2020: Xóa nền của ảnh giờ đây cực kỳ dễ dàng! Đây là cách sử dụng Adobe Photoshop 2020 để xóa nền của nhiều (hàng loạt) hình ảnh bằng cách sử dụng một tập lệnh đơn giản
Nến điện chạy bằng nến: 8 bước (có hình ảnh)
Nến Điện chạy bằng Nến: Sau khi xem các bản tin về cơn bão Sandy và nghe thử thách mà tất cả gia đình và bạn bè của tôi ở New York và New Jersey đã trải qua, tôi nghĩ về việc chuẩn bị cho trường hợp khẩn cấp của mình. San Francisco - sau tất cả - nằm trên đỉnh một số
Trồng nhiều rau diếp trong ít không gian hơn hoặc Trồng rau diếp trong không gian, (nhiều hơn hoặc ít hơn).: 10 bước
Trồng nhiều rau diếp hơn trong ít không gian hơn hoặc … Trồng rau diếp trong không gian, (Nhiều hơn hoặc ít hơn): Đây là bài dự thi chuyên nghiệp cho Cuộc thi trồng trọt ngoài Trái đất, được gửi thông qua Huấn luyện viên. Tôi không thể vui mừng hơn khi được thiết kế cho sản xuất cây trồng vũ trụ và đăng Tài liệu hướng dẫn đầu tiên của mình. Để bắt đầu, cuộc thi yêu cầu chúng tôi
Sử dụng nhiều hơn 4 động cơ - Xếp chồng nhiều động cơ: 3 bước
Sử dụng nhiều hơn 4 động cơ - Xếp chồng nhiều động cơ: Thiết bị thay thế và tăng cường cảm giác Vibrotactile có thể hướng dẫn (https: //www.instructables.com/id/Vibrotactile-Sens …) cho biết cách chế tạo một thiết bị chuyển đổi cảm giác đầu vào các kích thích rung động. Những kích thích rung động đó là p
Giấy nến nhiều màu toàn diện với đầu ra có thể thay đổi: 12 bước (có hình ảnh)
Giấy nến nhiều màu toàn diện với đầu ra có thể thay đổi: Giấy nến thực tế nhiều lớp màu không phải là tất cả đều nhanh chóng và dễ dàng. Chắc chắn, bạn có thể tạo ra một cái trong một giờ, nhưng cần có thời gian và thực hành để có thể lặp lại quy trình và biết cách điều chỉnh nó cho từng stencil khác nhau. Trong hướng dẫn này, tôi