Jeffrey Cross
Jeffrey Cross

Membina Nota: Kotak Penghitungan

Lebih daripada beberapa kali saya telah mengintip pada waktu malam untuk mencari anak saya di tempat tidur dengan kalkulator dalam satu tangan dan lampu suluh di yang lain, tidur dengan ketat selepas menolak "1 + = = =" dan menonton nombor memanjat sehingga dia tidak dapat 't menjaga matanya terbuka. Oleh itu, untuk hari jadi keempatnya, saya memutuskan untuk membina dia mesin yang berdedikasi yang tidak akan dilakukan tetapi mengira dan menghitung perintahnya.

Idea awal saya adalah mudah: paparan tujuh segmen pelbagai warna besar, dua butang arcade besar untuk menambah dan tolak, dan suis berputar 10 kedudukan di tengah. Hidupkan suis berputar untuk memilih nilai dari satu hingga 10, kemudian tekan butang untuk meningkatkan bilangan yang dipaparkan pada LED oleh jumlah itu. Tekan butang lain dan ia akan turun dengan sama.

Litar ini

Litar pertama kali datang dalam projek ini, kerana saiz kes itu bergantung pada saiz paket elektronik siap.

Di teras itu semua adalah ATmega328, salah satu pemproses Arduino yang paling biasa. Sepasang jam LED 4 digit memaparkan nombor, didorong oleh cip pemacu MAX7219 Maxim LED yang mampu mengendalikan 64 LED, atau 8 digit tujuh segmen, menggunakan hanya 3 pin output pada ATmega.

Setelah membina litar pada papan roti dan menulis program ujian dasar, saya mendapat pengenalan pertama saya untuk menukar bouncing, bunyi elektronik atau perbualan pada tahap milisaat sebagai kenalan suis terbuka atau menutup. Apa yang kelihatan seperti satu butang tolak kepada kita boleh dibaca oleh mikroprosesor sebagai berpuluh-puluh, ratusan, atau lebih. Nasib baik, butang arcade yang saya pesankan berlaku untuk menjadi suis double throw. Ini membenarkan penyelesaian debounce yang agak mudah dalam perkakasan menggunakan 2 pintu logik NAND untuk setiap suis. Litar bersepadu 74HC00 menyediakan semua 4 pintu yang diperlukan dalam satu cip.

Suis putar itu dikodkan binari, jadi ia hanya menyambungkan 4 pinnya - satu untuk setiap bit yang diperlukan untuk dikira hingga 10 - ke pin input ATmega, membaca masing-masing dan menggabungkannya, kemudian menukar ke perpuluhan.

Sekarang bahawa litar boleh dikira, saya memerlukan satu cara untuk menyimpan nilai semasa paparan. Anda tidak mahu mendapatkan Kotak Penghitung anda sehingga jumlah yang sangat tinggi hanya untuk kehilangannya apabila anda mematikan kuasa. Ini harus menjadi tugas mudah untuk EEPROM dalaman ATmega, tetapi ketika saya melihat spesifikasi itu hanya diberi nilai untuk 100,000 siklus menulis. Dengan paparan yang boleh mencapai 99,999,999, yang kelihatannya tidak mencukupi. Sebaliknya saya dapati cip memori 24LC256 EEPROM dengan 1,000,000 kitaran menulis - masih tidak setinggi Box Counting boleh mencapai, tetapi lebih dekat. Walau bagaimanapun, dalam penggunaan sebenar, ingatan papan atas ATmega mungkin lebih mencukupi.

Saya melakukan prototaip dan pengaturcaraan saya dengan Duemilanove Arduino, tetapi untuk membina akhir saya menggunakan cip ATmega yang sama untuk membina litar tersendiri pada papan tulis. Saya lebih suka pengawal mikropen mandiri dalam projek saya kerana ia menggunakan ruang yang kurang daripada bangunan di seluruh Arduino, kosnya kurang, dan meninggalkan Arduino saya percuma untuk projek seterusnya.

Paparan LED berada pada papannya sendiri, disambungkan oleh kabel reben ke papan pemproses utama. Jumlah 99,999,999 yang membolehkan angka 8 digit pasti berlebihan, tetapi menggunakan paparan 4 digit LED menyimpan banyak pendawaian dan pematerian berbanding menggunakan digit individu.

Untuk kuasa, saya merancang untuk menggunakan bateri AA boleh dicas semula.

Perisian ini

Perisian ini mempunyai 3 fungsi utama: butang pengendalian menolak untuk meningkatkan dan menurunkan nombor dengan jumlah yang dipilih, memaparkan nombor, dan menyimpan nombor ke ingatan.

Butang menekan datang sebagai gangguan, yang cukup banyak seperti apa yang mereka akan - mengganggu apa-apa tindakan lain yang berlaku di dalam program. Alternatif untuk ini adalah untuk terus mengutarakan butang untuk melihat jika ia ditekan, tetapi ini tidak cekap berbanding pada dasarnya meminta butang untuk memberitahu anda apabila ia ditekan. Apabila butang ditekan, program membaca nilai suis berputar, menambah atau menolak jumlah itu daripada pembolehubah, kemudian memecahnya menjadi digit individu untuk dihantar ke MAX7219 untuk paparan. Dalam setiap gelung, program membandingkan nilai semasa pembolehubah kepada nilai pembolehubah pada gelung sebelumnya. Jika mereka berbeza, ia menyimpan nilai baru kepada cip memori EEPROM.

Anda boleh sifar Peti Pengiraan dengan menetapkan pemilih nombor hingga 8 dan menahan butang penurunan apabila anda menghidupkannya. Begitu juga, penetapan pemilih nombor kepada 3 dan memegang butang kenaikan pangkat semasa kuasa akan memaparkan statistik seperti angka tertinggi dan terendah yang dicapai dan jumlah butang menekan ke atas hayat kotak. Untuk menjimatkan kuasa, ATmega akan tidur dan paparan LED menjadi gelap jika tiada butang ditolak selama satu minit. Menolak sama ada butang akan membangunkan sistem.

Membina Peti

Dengan litar dan perisian yang dilakukan, saya menetapkan kedua-duanya. Mereka pasti dapat menahan pengoptimuman lebih lanjut, tetapi keperluan sebenar mereka hanyalah bahawa mereka bekerja. Kotak itu, bagaimanapun, akan dilihat setiap hari dan terpaksa melihat sebaik yang dapat. Ia harus bersahabat dengan tangan muda dan cukup berdaya tahan untuk menahan kejatuhan sekali-sekala. Kayu adalah bahan yang sempurna, tetapi saya tidak mempunyai kemahiran kerja atau ketepatan kerja kayu untuk membina apa yang saya inginkan. Memotong laser untuk menyelamatkan!

Untuk meletakkan pola sendi pada sudut, saya menggunakan utiliti dalam talian yang disebut BoxMaker (boxmaker.rahulbotics.com). Masukkan lebar luar, kedalaman dan ketinggian kotak siap anda, ketebalan bahan, dan kerf (lebar bahan yang dikeluarkan oleh potongan), dan ia menghasilkan PDF semua potongan yang diperlukan.

Saya mengimport PDF ini ke Adobe Illustrator, membuat sedikit tweak kecil untuk jarak untuk simetri antara sisi kiri dan kanan, dan meletakkan elemen seperti cutout tetingkap dan butang butang.

Sebelum memuatkan pemotongan, saya mencetak pelan dan menyemburkannya ke 1/4 "papan buih buih, kemudian dipotong dan dipasang kepingan. Papan buih adalah lebih murah daripada pemotongan laser, jadi tahap ini adalah tempat yang jauh lebih baik untuk mencari kesilapan (seperti tab di mana slot perlu, atau kotak tidak cukup untuk memegang butang).

Bukan sahaja mockup sesuai bersama, tetapi semua komponen sesuai dengannya. Dengan pemeriksaan akhir itu, saya memuatkan reka bentuk kepada Ponoko (ponoko.com) untuk dipotong laser dari papan lapis buluh.

Dua minggu kemudian, satu pakej tiba dengan kayu yang dipotong. Potongan-potongan itu cantik, tetapi mereka tidak sesuai bersama. Saya telah menyatakan terlalu lebar kerf (lebar potongan), dan dalam mengkompensasi bahawa program BoxMaker telah menyesuaikan lebar takik untuk menutup jurang yang tidak wujud. Dengan fail dan beberapa kertas pasir, saya dapat memperluas takuk cukup untuk mendapatkan kotak bersama.

Saya melekatkan sendi-sendi itu, menyandarkan radius pada semua sudut, kemudian menyelesaikan kayu dengan gloss poliuretana untuk perlindungan dan memberi buluh cahaya yang hangat, ambar.

Tingkap akrilik merah yang merangkumi LED dipotong laser pada masa yang sama dengan kayu. Saya berharap untuk muat yang ketat yang tidak akan memerlukan gam supaya saya membuat 6 versi berbeza tetingkap, setiap satu saiz seratus inci lebih besar daripada yang terakhir, dan menggunakan yang paling sesuai.

Semasa saya mula meletakkannya bersama-sama, saya sedar saya tidak senang dengan cara bateri AA sesuai dengan kes itu. Mereka hodoh, dan membawa mereka keluar untuk mengecas akan menjadi masalah. Untuk menggantikannya, saya menggunakan pek bateri lithium-ion dan pengecas USB, kedua-duanya dari Adafruit (adafruit.com). Bateri 3.7V memberi suapan litar voltan untuk menyediakan 5V yang diperlukan.

Seperti kebanyakan kita, anak saya suka melihat perkara-perkara dan melihat bagaimana mereka bekerja. Perubahan bekalan kuasa pada minit terakhir membolehkan saya meletakkan litar menghadap ke luar di mana bateri akan menjadi, membolehkan pintu di belakang berfungsi sebagai tingkap untuk dia mengintip ke dalam elektronik di dalamnya.Untuk memastikan wayar rapuh selamat, saya menutup litar dengan sekeping kepingan akrilik yang jelas untuk saiz dan dipegang oleh standoffs.

Pintu di belakang kotak itu dipegang oleh empat neodymium magnet 3mm yang dibuang ke dalam lubang yang dibor ke panel pintu dan bingkai. Magnet ini cukup kuat untuk memastikan pintu selamat digunakan secara tetap, tetapi mereka memberi apabila dibuka dengan menggunakan potongan setengah bulan pada setiap sisi.

Menggunakan Kotak Penghitung

Sebagai tambahan kepada keseronokan yang jelas untuk melihat betapa tinggi jumlahnya dapat diperoleh, mudah untuk menghasilkan permainan untuk bermain dengan Counting Box. Tanya soalan seperti, "Bagaimanakah anda boleh sampai ke 49 dengan menekan butang paling sedikit? Bolehkah anda melakukannya dengan suis pemilih yang ditetapkan pada nilai yang sama sepanjang masa? "Kotak Penghitung juga boleh digunakan untuk membantu memperkenalkan konsep matematik seperti menghitung lompat. Idea yang lebih maju seperti pendaraban dan pembahagian datang dengan cepat apabila ia dibuat jelas bahawa mereka tidak lebih daripada penambahan atau penolakan berulang.

Saya tidak pasti siapa yang belajar lebih banyak, saya dalam membina atau anak saya bermain dengannya, tetapi sama ada cara Counting Box menambah sehingga banyak keseronokan.

Lebih banyak di hahabird.com.

JUMLAH PEMOHON 33 mempunyai ciri-ciri khas Software for Makers yang meliputi aplikasi untuk reka bentuk papan litar, reka bentuk dan percetakan 3D, mikrokontroler, dan pengaturcaraan untuk kanak-kanak. Juga, temui robot Rovera bertenaga Arduino baru kami dan mulakan dengan Raspberry Pi. Seperti biasa, anda juga akan menemui pembuat yang menarik di dalam, seperti maniak pada penutup kami, penggodam di sebalik acara Power Racing Series popular di Maker Faire.

Cubalah tangan anda di 22 projek DIY yang hebat, seperti kotak kesan gitar Tremolo Optik, "Panjolele" cake-pan ukelele, Wii Nunchuk Mouse, trik tanggapan CNC, melayan-melepaskan kucing menggunting jawatan, tumbuh sangat lada "hantu cabai", dan banyak lagi.

Pada gerai surat berita sekarang, dengan langganan, atau tersedia di Maker Shed

Beli sekarang!

Kongsi

Meninggalkan Komen