Mục lục:
Video: Thay đổi màu LED bằng POT và ATTINY85: 3 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
Trong dự án này, chúng tôi sử dụng một chiết áp (POT) để thay đổi màu sắc trong đèn LED sử dụng ATTINY85.
Một số định nghĩa -
Chiết áp là một thiết bị có cơ cấu vặn / vặn nhỏ mà khi quay sẽ tạo ra các điện trở khác nhau. Bạn có thể thấy từ hình ảnh chú thích ở trên rằng POT có 3 chân, cụ thể là +, - và đầu ra. POT được cấp nguồn bằng cách kết nối các chân + và - với vcc và nối đất tương ứng trên nguồn điện. Khi vặn vít POT, điện trở đầu ra thay đổi và làm cho đèn LED giảm hoặc tăng cường độ.. Nói cách khác, nó là một biến trở. Chúng được sử dụng trong những thứ như bộ điều chỉnh độ sáng đèn gia đình.
Đèn LED - Đây là một đèn nhỏ chiếu sáng khi có dòng điện chạy qua nó. Trong trường hợp này, chúng tôi sẽ sử dụng đèn LED nhiều màu có 3 chân, một chân nối đất (giữa) và hai chân hiển thị màu xanh lá cây và màu đỏ tương ứng khi được kích hoạt.
ATTINY85 - đây là một vi chip nhỏ giá rẻ mà bạn có thể lập trình như Arduino.
Tổng quan - Đầu ra từ POT được kết nối với ATTINY85. Khi vặn vít POT, điện trở chênh lệch được xuất ra dưới dạng một số từ 0 đến 255. ATTINY có thể đo điều này và thực hiện các hành động khác nhau tùy thuộc vào giá trị của điện trở POT. Trong trường hợp này, chúng tôi đã lập trình để nó kết nối với đèn LED như sau.
Nếu số lớn hơn 170, hãy chuyển đèn LED sang XANH.
Nếu số nhỏ hơn 170 nhưng lớn hơn 85, hãy chuyển đèn LED sang ĐỎ.
nếu số lượng nhỏ hơn 85, hãy bật LED XANH VÀ ĐỎ dẫn đến ORANGE.
BOM
1 x 3 pin LED1 x ATTINY 85
1 x POT (B100K)
1 x breadboard và cáp
1 bộ nguồn.
Bước 1: Lập trình ATTINY85
Về lập trình ATTINY85, vui lòng tham khảo tài liệu hướng dẫn trước đây của tôi -
Các mã được hiển thị dưới đây. Một số điểm cần lưu ý là hai chân ATTINY, PB3, chân vật lý 2, PB2, chân vật lý 7 được kết nối, ở chế độ kỹ thuật số, với đèn LED để tạo hiệu ứng thay đổi màu sắc. Chân ATTINY PB4, chân vật lý 3, được kết nối với POT ở chế độ tương tự, có nghĩa là nó có thể đọc các giá trị từ 0 đến 254. Tôi đã tùy chỉnh mã mà tôi tìm thấy trên internet nên tôi xác nhận rằng công việc đó. -
void initADC () {// *** // *** Sơ đồ chân ATtiny25/45/85: // *** PDIP / SOIC / TSSOP // *** ================= ================================================== ============================== // *** // *** (PCINT5 / RESET / ADC0 / dW) PB5 [1] * [8] VCC // *** (PCINT3 / XTAL1 / CLKI / OC1B / ADC3) PB3 [2] [7] PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) // * ** (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) PB4 [3] [6] PB1 (MISO / DO / AIN1 / OC0B / OC1A / PCINT1) // *** GND [4] [5] PB0 (MOSI / DI / SDA / AIN0 / OC0A / OC1A / AREF / PCINT0) // *** // pb4 - đầu vào cho POT // pb3 led pin 1 // pb2 led pin 3 // ATTINY 85 tần số đặt ở nội bộ 8 MHz / * chức năng này khởi tạo ADC
Ghi chú của ADC Prescaler:
ADC Prescaler cần được thiết lập để tần số đầu vào ADC nằm trong khoảng 50 - 200kHz.
Để biết thêm thông tin, hãy xem bảng 17.5 "Các lựa chọn bộ lưu trữ ADC" trong chương 17.13.2 "ADCSRA - Thanh ghi trạng thái và điều khiển ADC A" (trang 140 và 141 trên biểu dữ liệu ATtiny25 / 45/85 hoàn chỉnh, Rev. 2586M – AVR – 07 / 10)
Giá trị bộ định mức hợp lệ cho các tốc độ đồng hồ khác nhau
Đồng hồ Giá trị bộ định mức sẵn có --------------------------------------- 1 MHz 8 (125kHz), 16 (62,5kHz) 4 MHz 32 (125kHz), 64 (62,5kHz) 8 MHz 64 (125kHz), 128 (62,5kHz) 16 MHz 128 (125kHz)
Ví dụ dưới đây đặt bộ định mức trước thành 128 cho mcu chạy ở 8MHz
(kiểm tra biểu dữ liệu để biết các giá trị bit thích hợp để đặt bộ định mức) * /
// độ phân giải 8 bit
// đặt ADLAR thành 1 để bật kết quả Dịch trái (chỉ các bit ADC9.. ADC2 khả dụng) // khi đó, chỉ đọc ADCH là đủ cho kết quả 8 bit (256 giá trị) DDRB | = (1 << PB3); // Pin được đặt làm đầu ra. DDRB | = (1 << PB2); // Pin được đặt làm đầu ra. ADMUX = (1 << ADLAR) | // kết quả dịch trái (0 << REFS1) | // Đặt tham chiếu. điện áp đến VCC, bit 1 (0 << REFS0) | // Đặt tham chiếu. điện áp đến VCC, bit 0 (0 << MUX3) | // sử dụng ADC2 cho đầu vào (PB4), MUX bit 3 (0 << MUX2) | // sử dụng ADC2 cho đầu vào (PB4), MUX bit 2 (1 << MUX1) | // sử dụng ADC2 cho đầu vào (PB4), MUX bit 1 (0 << MUX0); // sử dụng ADC2 cho đầu vào (PB4), MUX bit 0
ADCSRA =
(1 << ADEN) | // Bật ADC (1 << ADPS2) | // đặt prescaler thành 64, bit 2 (1 << ADPS1) | // đặt prescaler thành 64, bit 1 (0 << ADPS0); // đặt prescaler thành 64, bit 0}
int main (void)
{initADC ();
trong khi (1)
{
ADCSRA | = (1 << ADSC); // bắt đầu đo ADC while (ADCSRA & (1 << ADSC)); // đợi cho đến khi quá trình chuyển đổi hoàn tất
nếu (ADCH> 170)
{PORTB | = (1 << PB3); // Pin được đặt thành CAO. PORTB | = (1 << PB2); // Pin được đặt thành CAO. } else if (ADCH 85) {PORTB | = (1 << PB3); // Pin được đặt thành CAO. PORTB & = ~ (1 << PB2); // Ghim được đặt thành LOW
} khác {
PORTB | = (1 << PB2); // Pin được đặt thành CAO. PORTB & = ~ (1 << PB3); // Ghim được đặt thành LOW
}
}
trả về 0;
}
Bước 2: Mạch
Chân ATTINY
PB3, chân vật lý 2 - chân LED 1 được kết nối
PB4, chân vật lý 3, được kết nối với chân giữa POT
GND, chân vật lý 4, được kết nối với đường ray âm - nguồn điện
PB2, chân vật lý 7 - chân LED 3 được kết nối
VCC, chân vật lý 8, được kết nối với đường sắt dương - nguồn điện
NỒI
chân pos và neg kết nối với ray tương ứng - nguồn điện.
DẪN ĐẾN
chân giữa kết nối với thanh ray âm - nguồn điện
Tôi đã thử nghiệm bằng cách sử dụng nguồn điện 3 và 3,3 volt và cả hai đều hoạt động.
Bước 3: Kết luận
Khả năng của ATTINY85 để di chuyển giữa chế độ tương tự và kỹ thuật số rất mạnh mẽ và có thể được sử dụng trong một số ứng dụng khác nhau, ví dụ: điều khiển động cơ tốc độ thay đổi và tạo ra các nốt nhạc. Tôi sẽ khám phá điều này trong các tài liệu hướng dẫn trong tương lai. Tôi hy vọng bạn đã tìm thấy điều này hữu ích.
Đề xuất:
Bảng điều khiển LED có thể thay đổi tự làm (Màu kép): 16 bước (có hình ảnh)
Bảng điều khiển LED có thể thay đổi tự làm (Màu kép): Cải thiện ánh sáng của bạn bằng cách tạo Bảng điều khiển LED có thể sạc lại tự làm với giá cả phải chăng! Được trang bị tính năng điều chỉnh độ sáng Màu kép, dự án này giúp bạn linh hoạt trong việc điều chỉnh cân bằng trắng của nguồn sáng để phù hợp với ánh sáng xung quanh của bạn
Vẽ biểu đồ về sự thay đổi nhiệt độ từ biến đổi khí hậu bằng Python: 6 bước
Vẽ biểu đồ về sự thay đổi nhiệt độ từ biến đổi khí hậu bằng Python: Biến đổi khí hậu là một vấn đề lớn. Và nhiều người không biết bây giờ nó đã tăng bao nhiêu. Trong hướng dẫn này, chúng tôi sẽ vẽ biểu đồ sự thay đổi nhiệt độ trong khí hậu do biến đổi khí hậu. Đối với bảng gian lận, bạn có thể xem tệp python bên dưới
Thay đổi màu sắc ánh sáng ban đêm bằng Ardruino 101: 4 bước (có hình ảnh)
Thay đổi màu sắc ánh sáng ban đêm bằng Ardruino 101: Trong dự án này, bạn sẽ làm một chiếc đèn ngủ bằng ardruino, Adafruit neo rgb Strips và một máy in 3D. Lưu ý rằng intructable này hoàn toàn dành cho dự án trường học của tôi. Mã cho dự án này dựa trên một dự án khác. Với điều đó đã nói rằng tôi không phải là người yêu cũ
Chuyển đổi nguồn cấp cho máy tính thành nguồn cấp cho phòng thí nghiệm có thể thay đổi được trên băng ghế dự bị: 3 bước
Chuyển đổi Bộ nguồn cho Máy tính thành Bộ cấp nguồn cho Phòng thí nghiệm trên đầu có thể thay đổi: Giá Ngày nay cho một bộ nguồn phòng thí nghiệm vượt quá $ 180. Nhưng thay vào đó, một bộ nguồn máy tính lỗi thời lại hoàn hảo cho công việc. Với những thứ này, bạn chỉ tốn 25 đô la và có bảo vệ ngắn mạch, bảo vệ nhiệt, bảo vệ quá tải và
Thay thế các khung bao quanh loa bị mục nát khô bằng thay thế bằng vải.: 3 bước
Thay thế các khung xung quanh loa đã bị thối khô bằng vải thay thế. Thông thường thì không, lý do họ ngồi ở đó là vì chúng bị nổ hoặc trong nhiều trường hợp, bị bao quanh hình nón mục nát khô. Biển