Isi kandungan:

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

Video: 3 Hadiah Percutian ATTiny yang Mudah: 4 Langkah

Video: 3 Hadiah Percutian ATTiny yang Mudah: 4 Langkah
Video: 3 Lokasi Percutian Pilihan EH! Di Pahang 2024, November
Anonim
3 Hadiah Percutian ATTiny yang Mudah
3 Hadiah Percutian ATTiny yang Mudah

Setiap tahun musim percutian berjalan dan saya terjebak dengan apa yang harus diberikan kepada rakan dan keluarga saya. Orang selalu mengatakan bahawa lebih baik membuat hadiah itu sendiri daripada membelinya di kedai jadi tahun ini saya melakukannya begitu sahaja. Yang pertama memaparkan nama atau gambar asas ketika melambai di udara, yang kedua memudar dengan lancar antara dua led putih (Ia juga mempunyai pin keselamatan untuk memasangkannya ke pakaian atau beg tangan), dan yang ketiga adalah cahaya suasana, bergulir lancar antara warna. Semua di bawah $ 15 dan mudah dipasang dalam masa kurang dari satu jam. Anda juga boleh memberikan arahan ini serta bahagian sebagai hadiah kepada seseorang yang berminat untuk belajar elektronik.

Catatan: Tahap asas pematerian dianggap. Walau bagaimanapun, tidak seperti arahan saya sebelumnya, saya akan menjelaskan cara memprogram AVR. Saya sangat berharap ini dapat membantu orang yang berusaha untuk memulakan elektronik. Saya ingat ketika saya berada di sana dan dengan senang hati akan mengemukakan sebarang pertanyaan yang anda ada. Ingat tidak ada soalan bodoh! Saya telah memberikannya terbuka kepada anda untuk menentukan bagaimana anda akan meletakkan papan litar anda dengan harapan anda akan tampil dengan cara baru untuk memaparkan litar sederhana yang telah saya hasilkan. Sila hantarkan gambar setelah selesai, saya tidak sabar untuk melihat apa yang anda hasilkan! Bahagian untuk Semua Projek N = bilangan projek x N ATTiny45 (www.digikey.com) x Soket DIP 8-pin (RadioShack) x 1 Perf Board Besar (saya ada di RadioShack) x N 3v Coin Cell Battery dan pemegang (RadioShack) x1 Programmer (Saya menggunakan ini dan makefile yang dibekalkan akan dikonfigurasikan untuk menggunakan yang ini) x2 N Resistor, satu 10 ohm dan satu 10k ohm (RadioShack) Berikut adalah gambar tiga projek yang telah siap:

Langkah 1: Nama Flasher

The Flasher Nama
The Flasher Nama
The Flasher Nama
The Flasher Nama
The Flasher Nama
The Flasher Nama

Bahagian lain x5 LED 3mm DIFFUSED (RadioShack) Projek ini menggunakan ketekunan penglihatan untuk memaparkan gambar atau teks apabila dipindahkan dengan pantas. Ia berfungsi lebih baik ketika gelap. Dengan AVR kita beralih antara LED lebih cepat sehingga mata dapat melihat kita dapat membuat gambar di udara dengan komponen yang sangat sedikit. Kod: (Muat turun fail.zip di bahagian bawah halaman untuk kod, makefile, dll. (Kod itu tidak mempunyai komen yang luas yang dilakukan oleh kod ini tetapi jika kod ini tidak berfungsi, cubalah yang ada di fail zip)) #define F_CPU 1000000 #include #include void dispClear () {PORTB = ~ 0b00000000; } int utama () {DDRB = 0xFF; // Bagi anda yang belum pernah membaca C sebelum garis miring berganda menunjukkan komen. Ini menetapkan pin avr sebagai output output x = 10; // x digunakan untuk menetapkan penundaan legnth. Menambah nilai memberikan peralihan yang lebih perlahan antara piksel, menurun, sementara yang lebih rendah (1) // Sementara (keadaan benar); {Lakukan Ini} (Benar dalam C adalah 1) {PORTB = ~ 0b00010001; // Nama rakan saya adalah Zoe jadi saya mengeluarkan watak-watak di kertas graf dan kemudian memasukkannya ke dalam PORTB. Tiga sifar pertama tidak menjadi masalah kerana hanya ada lima led yang bersambung. Satu dari satu daripada lima ruang yang tersisa menunjukkan bahawa LED menyala, sifar, mati. _delay_ms (x); // kelewatan milisaat PORTB = ~ 0b00010011; _delay_ms (x); PORTB = ~ 0b00010101; _delay_ms (x); PORTB = ~ 0b00011001; _delay_ms (x); PORTB = ~ 0b00010001; _delay_ms (x); dispClear (); // Ruang terbuka antara watak _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); // Perkataan ini dilakukan untuk kesaksian Saya mempunyai ruang yang lebih besar antara kata-kata}} Sekarang ikuti arahan di halaman 4 untuk menyusun kod ini dan hantarkan ke AVR anda.

Langkah 2: Cahaya Dompet

Cahaya Dompet
Cahaya Dompet
Cahaya Dompet
Cahaya Dompet

Bahagian lain x2 LED TIDAK BERBEDA (RadioShack) Projek ini memudar dengan lancar di antara dua LED. Ibu saya mahukan sesuatu untuk pergi ke dalam beg tangannya untuk menolongnya melihat lebah pada waktu malam. Saya rasa lampu basikal yang berkelip akan menarik perhatian sehingga saya membuat ini. Ia menggunakan PWM (Pulse Width Modulation) untuk memberi kesan redup dan cerah. Apa yang sebenarnya berlaku ialah led berkedip lebih cepat daripada yang dapat dilihat oleh mata pada selang waktu yang berbeza untuk mensimulasikan perubahan. Anda dapat melihatnya dengan lebih jelas semasa anda melambaikannya ke muka seperti yang anda lakukan dengan Nama Flasher. Kod boleh dimuat turun di hujung halaman ini. Lihat halaman 4 tentang cara menyusun ke AVR anda. Daripada mengulas kod di sini, saya akan menerangkan konsepnya secara ringkas. PWM dihasilkan oleh pemasa. Setiap pusingan jam pemasa mengira satu. Apabila mencapai nilai tertentu (Dalam hal ini OCR1B) ia mengubah keadaan pin (Dalam kes ini OC1B). Untuk menyalakan LED untuk "mematikan", saya memasang kabel yang lain ke [OPPOSITE] OC1B (Itulah maksud bar di bahagian atas). Kemudian kami menggunakan x untuk menambah dan mengurangkan jumlah masa untuk LED menyala.

Langkah 3: Penatal Warna

Penatal Warna
Penatal Warna
Penatal Warna
Penatal Warna

LED Partsx1 RGB lain (tersebar lebih baik) (RadioShack) Ini bagi saya adalah klasik. Saya selalu terpesona oleh lampu seperti ini dan menganggapnya sangat menenangkan sehingga secara semula jadi saya mahu membuatnya. Juga keterlihatan mereka dalam masyarakat memberi mereka faktor WOW yang nyata. "Anda BUAT itu ?!" Kodnya hampir sama dan, pada pendapat saya, lebih senang dibaca. Anda boleh memuat turun di bahagian bawah. Kali ini kami menyediakan pin PWM untuk setiap pin pembumian pada LED RGB. Dengan cara ini, kita berjaya melalui cip. Voltan dapat diukur sebagai perbezaan antara dua titik. 3v-0v = 3v 5v-2v = 3v *** 3v-3v = 0v *** Contoh terakhir ini adalah apa yang sedang kita lakukan semasa mendarat melalui cip. Apabila terdapat tiga volt di kedua-dua belah pihak, katakanlah, voltan tidak cukup untuk menggerakkan LED. Jadi untuk memudar antara warna kami memilih warna dan warna lain. Tetapkan satu sama dengan x dan yang lain sama dengan 255-x atau INVERSE x. Seperti yang kami lakukan dalam projek sebelumnya. Sekarang pergi ke langkah 4 untuk program.

Langkah 4: Pengaturcaraan

Pengaturcaraan
Pengaturcaraan

Muat turun dan pasang Emacs, avr-gcc, dan Avrdude terlebih dahulu dan sebarang pergantungan yang mungkin mereka ada. Pada Arch linux saya melakukan ini dengan: sudo pacman -Sy emacs avrdude

Kini tiba masanya untuk menghubungkan programmer anda ke avr anda. Kabelkan pin pada programmer ISP 6-pin (gambar di bawah) ke pin korosponding pada AVR anda (Lembaran Data, halaman 2) (saya melakukan ini di papan roti). Sekarang pasangkan pengaturcara ke komputer anda dan sentuh SANGAT CEPAT bahagian atas AVR. Sekiranya panas, HAPUSKAN PROGRAMMER DARI KOMPUTER ANDA SEKALI periksa sambungan anda dan cuba lagi (Kuasa dan Gnd ke belakang?). Sekiranya tidak panas, buka emac dan tekan Ctl-x Ctl-f untuk mencari fail.c. Buka dan kemudian tekan Meta (Usualy Alt) -x dan taip kompil. Tekan enter dua kali dan jika anda bernasib baik sekarang AVR anda harus menjalankan kod anda! Terima kasih untuk membaca! Saya harap anda menikmatinya dan belajar sesuatu. Tolong, jangan teragak-agak untuk bertanya dan jangan lupa untuk menghantar gambar mengenai apa yang anda buat. Selamat bercuti dan jangan lupa mengundi!

Disyorkan: