Geektimes, halo! Seperti yang dijanjikan, ini adalah kelanjutan dari artikel terakhir tentang dunia sihir kecil kita. Hari ini saya akan memberi tahu Anda tentang di belakang panggung pencarian sihir, keputusan apa yang dibuat dan bagaimana kita sampai pada kesimpulan bahwa pencarian tersebut hanya memiliki skenario dan penampilan seperti itu.
Karena Sampai pencarian dibangun, saya menyukai elektronik, khususnya pemrograman mikrokontroler AVR di C, diputuskan untuk mencoba memaksimalkan potensi ini, yang memungkinkan untuk menambahkan interaktivitas, minat, dan kegembiraan maksimum pada pencarian! Selain itu, saya benar-benar tidak ingin membuat pencarian terlihat seperti puluhan orang lain (bekerja saat itu di kota kami).
Sambil memikirkan skenario baru, kami dengan jelas memutuskan bahwa kami tidak akan memiliki kunci, tidak ada kunci, tidak ada tugas standar, secara umum, nyalakan elektronik hingga maksimal kemampuan kami!
Mari kita lihat bagian teknisnya lebih dekat, dan sekarang saya akan memberi tahu Anda cara membuat elektronik sekompleks mungkin.

Ulasan umum
Kami akan mengabaikan implementasi awal pencarian (mungkin saya akan membicarakannya nanti), dan fokus pada saat penyelesaian (setelah itu pencarian memiliki bentuk akhir).
Setelah kami membahas visi baru pencarian kami, saya menyadari bahwa kekuatan satu mikrokontroler sudah kecil dan Anda perlu menghubungkan komputer, menggabungkan semua perangkat ke dalam satu sistem. Untuk memahami integritas gambar, diagram semua perangkat dan interaksinya dikompilasi:
Dari diagram Anda mungkin berpikir bahwa komputer adalah yang utama, tetapi ini tidak sepenuhnya benar, itu akan mengambil peran mengelola dan memutar trek audio, yang, seperti yang sudah Anda perhatikan dari artikel sebelumnya, kami punya banyak.
Mikrokontroler Atmega16 menjadi jantung dari seluruh sistem (satu-satunya kriteria seleksi adalah jumlah GPIO yang cukup), yang, melalui UART, berkomunikasi dengan program di komputer. Semua perangkat lain dibuat pada mikrokontroler Atmega8 (sangat bagus dalam jumlah GPIO dan memiliki harga yang terjangkau).
Sebagian besar papan disolder pada papan tempat memotong roti dua sisi paling keren, masing-masing, semua detail dalam casing DIP. Beberapa papan tetap dari awal pencarian.
Program untuk komputerJendela program utama:
Jendela yang diperluas untuk situasi darurat:
Jendela kesalahan:
Papan utama hanya menerima (!) Sinyal diskrit dari perangkat lain (melalui optocoupler yang dapat dilihat pada foto), berkomunikasi dengan komputer, mengontrol LED dalam mangkuk memori.
Meriam Sihir Utama: Tongkat sihir
Tongkat sihir adalah sihir kecil, magnet neodymium dibangun di ujungnya. Dia menjadikannya kakek yang baik untuk membeli kayu hanya dengan $ 2. Masalah utama adalah mendorong magnet berdiameter maksimum, menjaga ujungnya setipis mungkin.
Sekarang mari kita melihat lebih dekat pada masing-masing perangkat.
Cabang merah
Buku itu
Acara audio buku ini dipicu oleh trailer, yang dipasang di rak. Awalnya ditutup dan untuk membukanya, Anda perlu membawa tongkat dengan magnet. Buku ini seperti brankas mini: memiliki baterai (Li-ion 3S), saklar buluh dan kunci transistor yang mengontrol kait elektromekanis (agar tidak membiarkan semua arus melalui saklar buluh. Pada saat yang sama, Anda dapat mengamati cahaya indah di dalam saklar buluh, tetapi tidak akan bertahan lama dan kemungkinan "menempel" kontak). Semuanya sederhana di sini - tongkat dinyalakan, saklar buluh melewati arus, transistor terbuka dan baut kait ditarik. Bagian dalam jari kaki terlihat seperti ini:
Dan tampilan terakhir:
Dobby
Karena tugasnya adalah bereaksi paling interaktif untuk membawa kaus kaki ke Dobby, pilihan ada pada teknologi RFID. Untuk melakukan ini, saya harus menjahit gantungan kunci kecil ke kaus kaki saya (seperti dari interkom di pintu masuk) dan mengenakan kaus kaki tanda yang sama seperti Dobby di telapak tangannya. Di belakang gambar Dobby adalah modul RFID.
Perangkat ini didasarkan pada mikrokontroler Atmega8 dan modul RFID RC522 yang populer. Setelah mengangkat kaus kaki (jari-jari respons hingga 4 cm sempurna), transistor efek medan membuka kait elektromagnetik di dalam kotak dan dengan bantuan pegas penutup diangkat, sinyal dikirim ke papan utama dan lampu merah menyala di mangkuk memori.
Cabang biru
Perapian
Perapian secara alami palsu. Terbuat dari profil dan drywall yang dilem dengan ubin bata.
Elektronik dirakit di Atmega8. Trailer dipasang di setiap bata dan strip LED biru terhubung. Batu bata itu sendiri duduk di satu sisi gorden, dan di sisi lain pemandu primitif dengan pegas yang kembali dibuat. Ketika Anda pertama kali mengklik bata apa pun, semua tombol-tekan (ada 7 dari mereka) menyala untuk 100 ms dan mata dihapus dengan motor stepper, sinyal akan pergi ke papan utama, memori akan menyala dan lampu biru di mangkuk memori.
Motor stepper dan strip LED dikendalikan menggunakan perakitan transistor Darlington ULN2003 (untuk yang penasaran, bagian teoretis dapat dibaca di sini ).
Sekarang setiap klik pada bata apa pun membalikkan kondisinya (satu klik - aktif, berikutnya - mati dan seterusnya), pertama kali Anda mengklik bata apa pun, sensor inframerah disembunyikan dalam gambar: LED IR menyala, radiasi terpukul menjauh dari pemain yang mendekat dan itu adalah ke transistor IR yang menggunakan pertanian kolektif penyesuaian yang tepat oleh resistor memberikan sinyal diskrit 0 atau 1 pada output.
Ada juga solusi terhadap iluminasi palsu (terutama benar jika pengguna mulai menyinari lampu di perapian), sirkuit (bertopeng) lain termasuk dalam sirkuit terbuka dari transistor IR utama, yang, ketika terkena cahaya, cukup mematikan respons mikrokontroler.
Segera setelah sensor IR dipicu, mikrokontroler juga menyalakan kedip kombinasi yang diinginkan yang perlu ditekan (highlight) dan, omong-omong, urutan penekanan juga berperan. Berkedip kombinasi yang diinginkan mematikan semua batu bata yang ditekan sebelumnya.
Ketika kombinasi yang benar ditekan, gambar terbuka dengan bantuan kait elektromekanis yang lebih besar dari pada peti mati. Untuk melakukan ini, saya bahkan harus meletakkan transformator yang agak besar hanya untuk kait ini.
(Secara umum, kait ini sangat lemah, meskipun mereka mengkonsumsi banyak arus di puncaknya. Anda harus sangat berhati-hati dengan kontrol mereka, jika Anda memberi arus padanya selama lebih dari 5 detik, itu dapat terbakar, itulah cara saya membakar satu kait)
Akses ke simpul dan papan teknis Cabang hijau
Peti mati
Di atas meja ada stoples yang tidak mencolok pada trailer, jika Anda mengangkatnya, lampu hijau di kuali menyala dan peti mati terbuka, di mana ada petunjuk untuk pintu.
(Ini adalah stoples yang sama yang diperlukan untuk telur Paskah dengan lelucon Dobby, yang dijelaskan dalam artikel pertama)
Pintu
Ketika Anda pertama kali menekan gagang ke bawah dan ke atas (untuk melakukan ini, Anda harus meletakkan 2 sakelar ujung di bagian belakang pintu untuk menanggapi dorongan penuh gagang), mata ular di pintu mulai berkedip.
Algoritma pembukaan pintu yang benar dapat dipahami dari prompt:
Kemudian ternyata petunjuk ini cukup rumit untuk para pemain. Selanjutnya, digantikan oleh yang lebih dimengerti Selama jeda (5s), mikrokontroler hanya menggantung dalam penundaan, dan selama menekan, variabel bertambah. Karena itu, jika Anda menekan pegangan untuk waktu yang lama dan keras, itu akan tetap terbuka, omong-omong, beberapa orang membuka pintu dengan cara ini, tanpa memahami bagaimana mereka melakukannya. Agar tidak membuat papan baru dengan mikrokontroler terpisah untuk tugas sederhana ini, beberapa pin bebas ditemukan di papan labirin dan semuanya terhubung di sana.
Cermin dada
Pada tutup dada 10 simbol sihir diterapkan, dan di dalam buluh terpaku di bawahnya.
Pengguna perlu membawa tongkat ke 3 karakter yang benar (urutannya tidak masalah. Foto ditandai dengan tanda centang), namun, tokoh lain juga memiliki buluh sakelar, memegang tongkat yang membatalkan klik sebelumnya, bahkan jika itu benar (sehingga tidak mungkin untuk membuka peti dengan memegang tongkat untuk semua karakter dalam satu baris). Dengan pilihan simbol yang tepat, elektromagnet di dada terbuka (Atmega8 dan ULN2003 favorit ada di dada). Pada tahap ini, sinyal dikirim ke papan tombol labirin (unit biasa dari pin satu MK ke pin lainnya melalui kunci transistor) dan berputar-putar mulai berputar di labirin.
Labirin
Kami meremehkan desain besar ini. Dia membutuhkan banyak waktu dan upaya untuk menciptakannya, tetapi hasilnya sepadan. Untuk pekerjaan "objek hitam besar di dinding", banyak GPIO diperlukan (semuanya dilakukan dengan cara yang paling primitif - tidak ada multiplexer / demultiplexer, hanya hardcore!), Jadi saya harus memecah perangkat menjadi unit fungsional - dial dan labirin itu sendiri. Setiap node dibuat pada Atmega8 yang sama.
Dalam labirin, prinsipnya sederhana (walaupun kemudian sepertinya tidak cukup sederhana :)). Banyak masalah disebabkan oleh keberadaan bola di ujung jalannya. Gangguan acak terus-menerus mengganggu pengoperasian optocoupler terbuka.
Kapasitor kuning inilah yang membantu menyelesaikan masalah operasi acak optocoupler.
Sebagai hasil melewati labirin, akses ke bola hijau terbuka. Sistem untuk menyediakan akses ke sana dibuat terkunci dari pintu mobil. (Dalam hal kekuatan harga / retraksi, dia adalah monster!).
Awalnya, itu tidak direncanakan untuk memberikan 1 bola untuk pertandingan, tetapi saya harus melakukan penyesuaian pada tahap akhir, karena dalam bola magnet, mereka dapat "bersatu" dan memisahkannya sangat bermasalah, oleh karena itu, untuk mengecualikan probabilitas ini sebanyak mungkin dalam permainan, diputuskan untuk mengeluarkan bola secara bergantian. Umpan dilakukan dengan menggunakan motor stepper dan rana improvisasi dari batang pemintalan tua.
Bergabung dengan kekuatan
Catur
Setelah banyak pertimbangan, tugas dengan algoritma tunggal dipikirkan (dalam kondisi tertentu, pemain melakukan reservasi). Satu-satunya yang tersisa adalah menerapkan sistem pergerakan catur dan reaksi terhadap tindakan para pemain :)
Dengan dukungan produksi pertanian kolektif, desain trrrresh berikut diimplementasikan: Mekanisme ini terbuat dari stud dan mur M8, bantalan dan kayu Cina. Sebuah magnet dipasang di setiap gambar dengan bantuan mekanisme yang menggerakkannya. Kopling antara mesin dan stud terbuat dari komponen lem, yang kami punya bahan habis pakai, karena meningkatnya konsumsi lem silikon.
Siapa tahu, kami mengambil potongan dari set catur Harry Potter, mereka masih membuat suara yang berbeda, bersinar, dll. Saya tidak bisa meninggalkan fitur-fitur ini begitu saja, saya memindahkan selendang ini di bawah papan dan ternyata ketika mereka pergi dengan kuda, itu meringkik, dan pada akhirnya Anda dapat mendengar suara raja yang jatuh.
Setelah menang dalam catur, pintu kabinet terbuka (pintu itu terbuka dengan cepat dengan bantuan rel gas furnitur).
Sebelum beralih ke hal yang paling menarik, saya ingin berbicara tentang kuali (semangkuk kenangan) dan interkom untuk komunikasi antara administrator dan pengunjung selama pertandingan.
Semangkuk kenangan
Untuk mulai dengan, kuali aluminium sepuluh liter ini ditemukan oleh kakek saya di garasi sebagai atribut masakan Soviet :) Gagasan untuk membuat semangkuk kenangan dari mana asap akan berhembus (dan bahkan uap) tergantung di pikiran untuk waktu yang lama, tetapi kami sampai pada implementasi yang kompeten. sedikit kemudian.
Humidifier ultrasonik dalam jumlah 6 (!!!) pcs dan dengan daya total sekitar 100 watt menjadi agen fogging!
Sayangnya, foto itu tidak diawetkan, tetapi perangkat ini sangat sederhana, dibuat sesuai dengan skema:
Dimensi dibuat agar pas dengan sistem ini di atas meja (ruang untuk laci).
Interkom
Sedikit pengetahuan saya tentang sirkuit analog tidak memungkinkan solusi cepat untuk masalah ini. Setelah upaya yang lama dan tidak berhasil (tetapi ternyata kemudian, solusinya dekat dengan Chetrov!) Saya meminta teman saya dari Kherson untuk menjadikan saya alat seperti itu.
Dan setelah beberapa saat saya mendapat perangkat seperti itu Preamplifier dibuat pada penguat operasional low-noise NE5532, setelah itu harganya TDA2006.
Akhirnya, kita beralih ke salah satu sistem paling kompleks di ruangan itu - pertempuran terakhir dengan Pangeran Kegelapan!
Berkelahi
Idenya adalah untuk mewujudkan setidaknya "pertempuran" pemain yang kira-kira mirip (Harry Potter) dengan Voldemort. Untuk efek yang lebih besar, angin telah ditambahkan (2 kipas). Kami memikirkan banyak pilihan, dan kemudian seorang teman memberi tahu saya tentang LED WS2812 yang dapat dialamatkan. Sekarang bahkan pengemudi Arduino yang paling malas berbicara tentang hal-hal keren apa yang mereka lakukan, tetapi WS2812 kurang dikenal, tetapi mereka menjadi keselamatan kita! Tanpa mereka, sungguh tidak realistis untuk mewujudkan ide kami!
Strip LED 5m dilipat dua, dan kawat untuk sakelar buluh direntangkan ke dalam. Kaset 5m pertama dibakar dengan aman dalam upaya menghemat catu daya untuk kaset yang sama :)
Kami memulai pengembangan dengan mengatur timing:
Beberapa masalah menambahkan dimasukkannya penggemar. Jika Anda sering membawa / melepas tongkat, maka relay (awalnya saya mencoba untuk menyalakan kipas melalui relay), mikrokontroler hanya menghancurkan menara. Sebagai hasilnya, saya belajar tentang kemampuan untuk mengontrol beban 220V melalui opto-simmistor. Setelah itu saya tidak menggunakan relay :)
Perlu juga disebutkan bahwa kekuatan komputasi yang serius (pada skala Atmega8) diperlukan untuk mencurahkan perhatian pada kontrol strip LED. Pada awalnya, pekerjaan rekaman itu sangat tergantung, kami menderita untuk waktu yang lama, kami tidak mengerti mengapa. Akibatnya, saya harus menemukan di internet orang yang menulis perpustakaan untuk rekaman ini dan meminta bantuan darinya. Alasannya sederhana: MK tidak punya waktu untuk mengeksekusi kode dalam pengendali interupsi, dan segera setelah kami memperbaikinya, semuanya bekerja dengan sempurna!
→ Program untuk mikrokontroler
→ Program untuk komputer
Menurut ide kami, ini harus menjadi artikel terakhir, tetapi kami masih ingin memberi tahu Anda banyak hal menarik, jadi saya ingin mengumumkan perilisan dua artikel lagi tentang cara membuat Hogwarts (1) yang sebenarnya dan membahas gagasan yang belum direalisasi (2) dari kantor .
Itu akan menarik!