Daftar Isi:

3 Hadiah Liburan ATTiny yang Mudah: 4 Langkah
3 Hadiah Liburan ATTiny yang Mudah: 4 Langkah

Video: 3 Hadiah Liburan ATTiny yang Mudah: 4 Langkah

Video: 3 Hadiah Liburan ATTiny yang Mudah: 4 Langkah
Video: TUTORIAL CARA MEMBUAT LED BAR/RGB/STROBO/RUNING LED,RC CAR DENGAN ATTINY 2024, November
Anonim
3 Hadiah Liburan ATTiny yang Mudah
3 Hadiah Liburan ATTiny yang Mudah

Setiap tahun musim liburan bergulir dan saya terjebak pada apa yang harus saya berikan untuk teman dan keluarga saya. Orang-orang selalu mengatakan bahwa lebih baik membuat hadiah sendiri daripada membelinya di toko, jadi tahun ini saya melakukannya. Yang pertama menampilkan nama atau gambar dasar ketika melambai di udara, yang kedua memudar dengan mulus di antara dua led putih (Ini juga memiliki peniti untuk menempelkannya ke pakaian atau dompet), dan yang ketiga adalah semacam lampu suasana hati, bergulir mulus antara warna. Semuanya di bawah $15 dan mudah dirakit dalam waktu kurang dari satu jam. Anda juga dapat memberikan petunjuk ini serta suku cadang sebagai hadiah kepada seseorang yang tertarik untuk belajar elektronik.

Catatan: Tingkat dasar penyolderan diasumsikan. Namun, tidak seperti instruksi saya sebelumnya, saya akan membahas cara memprogram AVR. Saya sangat berharap bahwa ini membantu orang-orang yang mencoba untuk memulai dalam elektronik. Saya ingat ketika saya berada di sana dan dengan senang hati akan menjawab pertanyaan apa pun yang mungkin Anda miliki. Ingat tidak ada pertanyaan bodoh! Saya telah membiarkannya terbuka bagi Anda untuk menentukan bagaimana Anda akan meletakkan papan sirkuit Anda dengan harapan Anda akan menemukan cara baru untuk menampilkan sirkuit sederhana yang telah saya gambarkan. Silakan posting gambar setelah Anda selesai, saya tidak sabar untuk melihat apa yang Anda hasilkan! Bagian untuk Semua Proyek N = jumlah proyek x N ATTiny45 (www.digikey.com) x N soket DIP 8-pin (RadioShack) x 1 Large Perf Board (saya mendapatkan milik saya di RadioShack) x N 3v Coin Cell Battery dan holder (RadioShack) x1 Programmer (Saya menggunakan ini dan makefile yang disediakan akan dikonfigurasi untuk menggunakan yang ini) x2 N Resistor, satu 10 ohm dan satu 10k ohm (RadioShack) Berikut adalah gambar dari tiga proyek yang telah selesai:

Langkah 1: Nama Flasher

Nama Flashernya
Nama Flashernya
Nama Flashernya
Nama Flashernya
Nama Flashernya
Nama Flashernya

Bagian Lain x5 DIFFUSED 3mm LED (RadioShack) Proyek ini menggunakan kegigihan visi untuk menampilkan gambar atau teks ketika bergerak cepat. Ini bekerja lebih baik saat gelap. Dengan AVR kita beralih antara LED lebih cepat maka mata bisa melihat kita bisa membuat gambar di udara dengan komponen yang sangat sedikit. Kode: (Unduh file.zip di bagian bawah halaman untuk kode, makefile, dll. (Kode itu tidak memiliki komentar ekstensif seperti kode ini tetapi jika kode ini tidak berfungsi, coba yang ada di zip)) #define F_CPU 1000000 #include #include void dispClear() { PORTB = ~0b00000000; } int main() { DDRB = 0xFF; //Bagi Anda yang belum pernah membaca C sebelum tanda garis miring ganda menunjukkan komentar. Ini menetapkan pin avr sebagai output char x = 10; //x digunakan untuk mengatur panjang delay. Menaikkan nilai memberikan peralihan antar piksel yang lebih lambat, menurun, while yang lebih rendah(1) //While(kondisi benar); {Lakukan Ini} (Benar dalam C adalah 1) { PORTB = ~0b00010001; //Nama teman saya adalah Zoe jadi saya menggambar karakter di kertas grafik dan kemudian memasukkannya ke dalam PORTB. Tiga nol pertama tidak masalah karena hanya ada lima led yang terhubung. Satu di salah satu dari lima ruang yang tersisa menunjukkan bahwa LED menyala, nol, mati. _delay_ms(x); //delay dalam milidetik PORTB = ~0b00010011; _delay_ms(x); PORTB = ~0b00010101; _delay_ms(x); PORTB = ~0b00011001; _delay_ms(x); PORTB = ~0b00010001; _delay_ms(x); tampilanHapus(); //Membuka spasi antar karakter _delay_ms(x); PORTB = ~0b00001110; _delay_ms(x); PORTB = ~0b00010001; _delay_ms(x*3); PORTB = ~0b00001110; _delay_ms(x); tampilanHapus(); _delay_ms(x); PORTB = ~0b00011111; _delay_ms(x); PORTB = ~0b00010101; _delay_ms(x); PORTB = ~0b00010001; _delay_ms(x); tampilanHapus(); _delay_ms(x*5); //Kata selesai jadi untuk kejelasan Saya memiliki ruang yang lebih besar di antara kata-kata } } Sekarang ikuti instruksi di halaman 4 untuk mengkompilasi kode ini dan mengirimkannya ke AVR Anda.

Langkah 2: Cahaya Dompet

Cahaya dompet
Cahaya dompet
Cahaya dompet
Cahaya dompet

Bagian Lain x2 LED NON DIFFUSED (RadioShack) Proyek ini memudar dengan mulus di antara dua LED. Ibuku menginginkan sesuatu untuk dimasukkan ke dalam dompetnya untuk membantunya terlihat di malam hari. Saya merasa seperti lampu sepeda yang berkedip akan menarik terlalu banyak perhatian jadi saya membuat ini. Menggunakan PWM (Pulse Width Modulation) untuk memberikan efek peredupan dan pencerahan. Apa yang sebenarnya terjadi adalah led berkedip lebih cepat daripada yang bisa dilihat mata pada interval yang bervariasi untuk mensimulasikan perubahan. Anda dapat melihat ini lebih jelas ketika Anda melambaikannya ke wajah Anda seperti yang Anda lakukan dengan Flasher Nama. Kode dapat diunduh di akhir halaman ini. Lihat halaman 4 tentang cara mengkompilasi ke AVR Anda. Alih-alih mengomentari kode di sini, saya akan menjelaskan konsepnya secara singkat. PWM dihasilkan oleh timer. Setiap siklus jam, timer menghitung satu. Ketika mencapai nilai tertentu (Dalam hal ini OCR1B) itu mengubah status pin (Dalam hal ini OC1B). Untuk membuat LED "mematikan" saya menyambungkan yang lain ke [BERlawanan] OC1B (Itulah arti bilah di bagian atas). Kemudian kami menggunakan x untuk menambah dan mengurangi jumlah waktu untuk menyalakan LED.

Langkah 3: Penggulung Warna

Penggulung Warna
Penggulung Warna
Penggulung Warna
Penggulung Warna

Partsx1 RGB LED lainnya (difusi lebih baik) (RadioShack) Bagi saya ini klasik. Saya selalu terpesona oleh lampu seperti ini dan merasa sangat menenangkan, jadi tentu saja saya ingin membuatnya. Juga visibilitas mereka di masyarakat memberi mereka faktor WOW nyata. "Kamu MEMBUAT itu ?!" Kodenya hampir sama dan, menurut saya, lebih mudah dibaca. Anda dapat mengunduhnya di bagian bawah. Kali ini kami menyediakan pin PWM untuk setiap pin grounding pada LED RGB. Dengan cara ini kami membumikan melalui chip. Volt dapat diukur sebagai perbedaan antara dua titik. 3v-0v=3v 5v-2v=3v ***3v-3v=0v*** Contoh terakhir ini adalah apa yang kita lakukan ketika kita melakukan ground melalui chip. Ketika ada tiga volt di kedua sisi, katakanlah, tidak ada volt yang cukup untuk menggerakkan LED. Jadi untuk memudar antara warna kami memilih warna dan warna lain. Tetapkan satu sama dengan x dan yang lainnya sama dengan 255-x atau INVERSE dari x. Seperti yang kami lakukan di proyek sebelumnya. Sekarang lanjutkan ke langkah 4 untuk memprogram.

Langkah 4: Pemrograman

Pemrograman
Pemrograman

Pertama-tama unduh dan instal Emacs, avr-gcc, dan Avrdude dan semua dependensi yang mungkin mereka miliki. Di Arch linux saya melakukan ini dengan: Sudo pacman -Sy emacs avrdude

Sekarang saatnya untuk menghubungkan programmer Anda ke avr. Hubungkan pin pada programmer ISP 6-pin (gambar di bawah) ke pin yang sesuai pada AVR Anda (Lembar Data, halaman 2) (Saya melakukan ini di papan tempat memotong roti). Sekarang pasang programmer ke komputer Anda dan SANGAT CEPAT menyentuh bagian atas AVR. Jika panas, HAPUS PROGRAMMER DARI KOMPUTER ANDA SEKALI periksa koneksi Anda dan coba lagi (Daya dan Gnd mundur?). Jika tidak panas maka buka emacs dan tekan Ctl-x Ctl-f untuk mencari file.c. Buka dan kemudian tekan Meta (Biasanya Alt) -x dan ketik kompilasi. Tekan enter dua kali dan jika Anda beruntung AVR Anda sekarang akan menjalankan kode Anda! Terima kasih sudah membaca! Saya harap Anda menikmatinya dan belajar sesuatu. Tolong, jangan ragu untuk mengajukan pertanyaan dan jangan lupa untuk memposting foto dari apa yang Anda hasilkan. Selamat berlibur dan jangan lupa untuk memilih!

Direkomendasikan: