Mục lục:

3 Quà tặng Kỳ nghỉ ATTiny dễ dàng: 4 bước
3 Quà tặng Kỳ nghỉ ATTiny dễ dàng: 4 bước

Video: 3 Quà tặng Kỳ nghỉ ATTiny dễ dàng: 4 bước

Video: 3 Quà tặng Kỳ nghỉ ATTiny dễ dàng: 4 bước
Video: IOT102 Buổi 2,3-Spring 2022 2024, Tháng mười một
Anonim
3 Quà tặng Kỳ nghỉ ATTiny Dễ dàng
3 Quà tặng Kỳ nghỉ ATTiny Dễ dàng

Mỗi năm, kỳ nghỉ lễ lại đến và tôi lại băn khoăn không biết nên tặng gì cho bạn bè và gia đình. Mọi người luôn nói rằng tốt hơn là tự làm món quà hơn là mua ở cửa hàng, vì vậy năm nay tôi đã làm điều đó. Đèn đầu tiên hiển thị tên hoặc hình ảnh cơ bản khi vẫy trong không khí, đèn thứ hai mờ dần giữa hai đèn LED màu trắng (Nó cũng có chốt an toàn để gắn vào quần áo hoặc ví) và đèn thứ ba là đèn tâm trạng các loại, cuộn liền mạch giữa các màu. Tất cả đều dưới $ 15 và dễ dàng lắp ráp trong vòng chưa đầy một giờ. Bạn cũng có thể cung cấp các hướng dẫn này cũng như các bộ phận như một món quà cho ai đó quan tâm đến việc học điện tử.

Lưu ý: Giả định mức hàn cơ bản. Tuy nhiên, không giống như hướng dẫn trước đây của tôi, tôi sẽ giải thích về cách lập trình AVR. Tôi thực sự hy vọng rằng điều này sẽ giúp ích cho những người đang cố gắng bắt đầu trong lĩnh vực điện tử. Tôi nhớ khi tôi ở đó và sẽ sẵn lòng trả lời bất kỳ câu hỏi nào của bạn. Hãy nhớ rằng không có câu hỏi ngu ngốc! Tôi đã để ngỏ cho bạn xác định cách bạn sẽ bố trí bảng mạch của mình với hy vọng rằng bạn sẽ nghĩ ra một cách mới để hiển thị các mạch đơn giản mà tôi đã vẽ ra. Vui lòng đăng ảnh sau khi bạn hoàn thành, tôi rất nóng lòng muốn xem bạn nghĩ ra gì! RadioShack) x 1 Bảng Perf lớn (Tôi đã mua ở RadioShack) x N 3v Pin đồng xu và giá đỡ (RadioShack) x1 Lập trình viên (Tôi sử dụng cái này và makefile đi kèm sẽ được định cấu hình để sử dụng cái này) x2 N Điện trở, một 10 ohm và một 10k ohm (RadioShack) Đây là hình ảnh của ba dự án đã hoàn thành:

Bước 1: Tên Flasher

The Name Flasher
The Name Flasher
The Name Flasher
The Name Flasher
The Name Flasher
The Name Flasher

Các bộ phận khác x5 LED 3mm DIFFUSED (RadioShack) Dự án này sử dụng tầm nhìn bền bỉ để hiển thị hình ảnh hoặc văn bản khi di chuyển nhanh. Nó hoạt động tốt hơn khi trời tối. Với AVR, chúng tôi chuyển đổi giữa các đèn LED nhanh hơn khi mắt thường có thể nhìn thấy chúng tôi có thể tạo ra một bức tranh trong không khí với rất ít thành phần. Mã: (Tải xuống tệp.zip ở cuối trang cho mã, makefile, v.v. (Mã đó không có nhận xét mở rộng như mã này nhưng nếu mã này không hoạt động, hãy thử một trong tệp zip)) #define F_CPU 1000000 #include #include void dispClear () {PORTB = ~ 0b00000000; } int main () {DDRB = 0xFF; // Đối với những bạn chưa bao giờ đọc C trước khi dấu gạch chéo kép biểu thị nhận xét. Điều này đặt các chân của avr như một đầu ra char x = 10; // x được sử dụng để thiết lập thời gian trễ. Việc tăng giá trị cho phép chuyển đổi chậm hơn giữa các pixel, giảm, thấp hơn while (1) // While (điều kiện là đúng); {Do This} (True trong C là 1) {PORTB = ~ 0b00010001; // Tên của bạn tôi là Zoe nên tôi đã vẽ các ký tự trên giấy kẻ ô vuông và sau đó gán chúng vào PORTB. Ba số không đầu tiên không quan trọng vì chỉ có năm led được kết nối. Một trong một trong năm khoảng trống còn lại cho biết rằng đèn LED đang bật, số 0, tắt. _delay_ms (x); // độ trễ tính bằng mili giây PORTB = ~ 0b00010011; _delay_ms (x); PORTB = ~ 0b00010101; _delay_ms (x); PORTB = ~ 0b00011001; _delay_ms (x); PORTB = ~ 0b00010001; _delay_ms (x); dispClear (); // Mở khoảng trắng giữa các ký tự _delay_ms (x); PORTB = ~ 0b00001110; _delay_ms (x); PORTB = ~ 0b00010001; _delay_ms (x * 3); PORTB = ~ 0b00001110; _delay_ms (x); dispClear (); _delay_ms (x); PORTB = ~ 0b00011111; _delay_ms (x); PORTB = ~ 0b00010101; _delay_ms (x); PORTB = ~ 0b00010001; _delay_ms (x); dispClear (); _delay_ms (x * 5); // Từ được thực hiện vì vậy tôi có khoảng cách lớn hơn giữa các từ}} Bây giờ hãy làm theo hướng dẫn trên trang 4 để biên dịch mã này và gửi nó tới AVR của bạn.

Bước 2: Đèn chiếu sáng ví

Ánh sáng ví
Ánh sáng ví
Ánh sáng ví
Ánh sáng ví

Các bộ phận khác của x2 LED KHÔNG BỊ KHÁC BIỆT (RadioShack) Dự án này mờ dần giữa hai đèn LED. Mẹ tôi muốn có thứ gì đó trong ví của bà ấy để giúp con ong của bà ấy nhìn thấy vào ban đêm. Tôi cảm thấy như đèn xe đạp nhấp nháy sẽ thu hút quá nhiều sự chú ý nên tôi đã làm điều này. Nó sử dụng PWM (Điều chế độ rộng xung) để tạo hiệu ứng làm mờ và sáng. Những gì thực sự đang xảy ra là đèn LED nhấp nháy nhanh hơn mắt có thể nhìn thấy ở các khoảng thời gian khác nhau để mô phỏng một sự thay đổi. Bạn có thể thấy điều này rõ ràng hơn khi bạn vẫy nó vào mặt mình như khi bạn làm với Máy rửa mặt định danh. Mã có thể được tải xuống ở cuối trang này. Xem trang 4 về cách biên dịch sang AVR của bạn. Thay vì bình luận mã ở đây, tôi sẽ giải thích ngắn gọn khái niệm. PWM được tạo ra bởi một bộ đếm thời gian. Mỗi chu kỳ đồng hồ, bộ đếm thời gian đếm lên một. Khi nó đạt đến một giá trị nhất định (Trong trường hợp này là OCR1B), nó sẽ thay đổi trạng thái của chân (Trong trường hợp này là OC1B). Để làm cho đèn LED "tắt", tôi đã nối dây cái còn lại với [OPPOSITE] OC1B (Đó là ý nghĩa của thanh ngang trên cùng). Sau đó, chúng tôi sử dụng x để tăng và giảm khoảng thời gian để đèn LED bật.

Bước 3: Con lăn màu

Con lăn màu
Con lăn màu
Con lăn màu
Con lăn màu

Các bộ phận khácX1 LED RGB (khuếch tán tốt hơn) (RadioShack) Điều này đối với tôi là một cổ điển. Tôi luôn bị mê hoặc bởi những ánh sáng như thế này và thấy chúng rất êm dịu nên tự nhiên tôi muốn làm một chiếc. Ngoài ra, khả năng hiển thị của họ trong xã hội mang lại cho họ một yếu tố WOW thực sự. "Bạn ĐÃ LÀM điều đó?!" Mã này gần giống nhau và theo tôi, dễ đọc hơn. Bạn có thể tải xuống ở dưới cùng. Lần này, chúng tôi cung cấp chân cắm PWM'd cho mỗi chân nối đất trên đèn LED RGB. Bằng cách này, chúng tôi tiếp đất thông qua chip. Vôn có thể được đo bằng hiệu giữa hai điểm. 3v-0v = 3v 5v-2v = 3v *** 3v-3v = 0v *** Ví dụ cuối cùng này là những gì chúng ta đang làm khi nối đất qua chip. Giả sử, khi có ba vôn ở cả hai bên, không có đủ vôn để điều khiển đèn LED. Vì vậy, để làm mờ dần giữa các màu, chúng tôi đã chọn một màu và một màu khác. Đặt một cái bằng x và cái kia bằng 255-x hoặc INVERSE của x. Giống như chúng tôi đã làm trong dự án trước đó. Bây giờ chuyển sang bước 4 để lập trình.

Bước 4: Lập trình

Lập trình
Lập trình

Trước tiên, hãy tải xuống và cài đặt Emacs, avr-gcc, Avrdude và bất kỳ phụ thuộc nào mà chúng có thể có. Trên Arch linux, tôi đã làm điều này với: sudo pacman -Sy emacs avrdude

Bây giờ đã đến lúc kết nối lập trình viên của bạn với avr của bạn. Nối các chân trên bộ lập trình ISP 6 chân (hình bên dưới) vào các chân tương ứng trên AVR của bạn (Datasheet, trang 2) (Tôi đã làm điều này trên breadboard). Bây giờ hãy cắm bộ lập trình vào máy tính của bạn và RẤT NHANH CHÓNG chạm vào đầu AVR. Nếu thấy nóng, hãy BỎ BỘ LẬP TRÌNH khỏi MÁY TÍNH CỦA BẠN MỘT LẦN kiểm tra các kết nối của bạn và thử lại (Nguồn và Gnd ngược?). Nếu nó không nóng thì mở emacs và nhấn Ctl-x Ctl-f để tìm tệp.c. Mở nó và sau đó nhấn Meta (Alt thường dùng) -x và nhập biên dịch. Nhấn enter hai lần và nếu bạn may mắn, AVR của bạn bây giờ sẽ chạy mã của bạn! Cảm ơn vì đã đọc! Tôi hy vọng bạn thích nó và học được điều gì đó. Xin đừng ngần ngại đặt câu hỏi và đừng quên đăng những bức ảnh về những gì bạn nghĩ ra. Những ngày nghỉ vui vẻ và đừng quên bình chọn!

Đề xuất: