Isi kandungan:

Teka-teki Berasaskan Warna: 6 Langkah
Teka-teki Berasaskan Warna: 6 Langkah

Video: Teka-teki Berasaskan Warna: 6 Langkah

Video: Teka-teki Berasaskan Warna: 6 Langkah
Video: Tes Warna yang Bisa Menunjukkan Usia Mentalmu 2024, Julai
Anonim
Teka-teki Berasaskan Warna
Teka-teki Berasaskan Warna
Teka-teki Berasaskan Warna
Teka-teki Berasaskan Warna

Hai ada!

Untuk projek sekolah bernama "If This Then That" saya harus membina objek interaktif menggunakan Arduino. Saya memutuskan untuk membina teka-teki berdasarkan warna dengan sistem maklum balas yang mudah.

Apa yang dilakukannya (secara ringkas):

  1. Ia menentukan warna objek di atas sensor warna.
  2. Ia memeriksa apakah warna itu sesuai dengan penyelesaian yang betul.
  3. Ini sama ada menimbulkan tanda "anda mati" atau tidak, bergantung pada cuaca teka-teki itu diselesaikan atau tidak.

Oleh itu, anda mungkin menganggap teka-teki ini senang diselesaikan?

Baiklah, kepada seseorang yang mengetahui cara kerjanya, walaupun anda boleh menukar penyelesaiannya! Tetapi jangan bimbang, kepada seseorang yang tidak tahu bagaimana cara kerjanya ia kelihatan seperti sihir. Dalam pengalaman saya, banyak orang menganggap teka-teki itu mengenai berat badan, bukan warna. Jangan lupa, anda adalah penguasa teka-teki, berapa banyak petunjuk yang anda berikan bergantung kepada anda.

Cara saya (ingin) menggunakannya:

Saya ingin menggunakan teka-teki ini sebagai bahagian interaktif dalam kempen D&D saya.

Langkah 1: Bahan

Bahan
Bahan
Bahan
Bahan

Anda memerlukan perkara berikut sebelum mula membina:

Secara umum:

Otak (kreatif) untuk menghasilkan teka-teki

Barang Arduino:

  • Arduino Uno
  • Papan roti
  • Motor servo
  • (TCS3200) Sensor warna
  • 7x Wayar jumper Lelaki - Perempuan (lebih disukai semua warna yang berbeza, sangat disyorkan)
  • 11x Kabel jumper Lelaki - Lelaki
  • powerbank (sekiranya anda mahu ia berfungsi tanpa komputer / komputer riba)

Sarung:

  • Kotak (kasut) dengan penutup (untuk membina teka-teki)
  • beberapa keping kadbod (untuk membuat dinding, tiang di tengah dan anda mati tanda)
  • Blok kayu, (sekurang-kurangnya) satu sisi harus lebih besar daripada sensor warna.
  • cat: hitam, merah, biru dan hijau (dan warna tambahan jika anda mahu *)
  • Sekeping kertas putih A4
  • Gunting
  • Penanda hitam
  • Pita pelekat dua sisi yang kuat
  • Sebatang pensel
  • Gam segera
  • Paring pisau atau pisau Stanley

* nota sampingan kecil pada warna: pada mulanya saya juga menggunakan ungu tetapi sensor tidak dapat membezakan warna merah dan ungu jadi saya meninggalkannya. Ketahuilah bahawa warna lain mungkin tidak berfungsi dengan baik (tetapi mungkin, saya belum mencuba). Sensor saya murah, sensor yang lebih tepat mungkin dapat membezakan lebih banyak warna.

Langkah 2: Teka-teki

Teka-teki
Teka-teki

Bahagian yang paling penting dalam projek ini adalah mempunyai teka-teki retak otak yang baik.

Seperti yang anda lihat pada gambar pertama (gambar dengan intro), saya melukis rune norse ke blok saya (di setiap sisi kecuali bahagian bawah). Mereka ada kaitan dengan teka-teki. Saya kemudian menampal satu pertanyaan sederhana mengenai kes itu: "Kekayaan sejati adalah …?".

Saya menggunakan gambar di atas untuk menterjemahkan rune. Saya juga memberikan terjemahan kepada orang-orang yang mencuba teka-teki saya.

Penyelesaian untuk teka-teki:

Kekayaan sejati adalah kebahagiaan!

Jadi yang perlu dilakukan pemain ialah ganti harta karun (blok dengan simbol kekayaan) dengan blok dengan simbol kebahagiaan di atasnya.

Jangan ragu untuk menggunakan teka-teki saya tetapi saya mendorong anda untuk membuat sendiri.

Langkah 3: Pendawaian

Pendawaian
Pendawaian
Pendawaian
Pendawaian

Pendawaiannya agak mudah kerana hanya ada 2 komponen (dan arduino). Dalam keterangan saya menggunakan bilangan wayar minimum, jika anda ingin menggunakan lebih banyak kabel jangan ragu untuk melakukannya. (Saya menggunakan lebih banyak wayar pada gambar)

Arduino ke papan roti: (Gunakan 2 wayar Lelaki - Lelaki)

  1. sambungkan pin 5V ke sisi + papan roti anda.
  2. sambungkan salah satu pin tanah ke - sisi papan roti anda.

Servo: (Gunakan 3 kabel Lelaki - Lelaki)

servo mempunyai tiga wayar: kuasa, arde dan isyarat.

  1. Kuasa biasanya wayar merah, sambungkan wayar ini ke sisi + papan roti anda.
  2. Tanah biasanya adalah wayar hitam atau coklat, sambungkan wayar ini ke sisi papan roti anda.
  3. Isyarat biasanya wayar kuning atau oren, sambungkan wayar ini ke baris mendatar di papan roti anda. *

Sensor warna: (Gunakan 7 wayar Lelaki - Perempuan)

  1. VCC: sambungkan wayar ini ke sisi + papan roti anda (ini adalah kuasa).
  2. GND: sambungkan wayar ini ke - sisi papan roti anda (ini adalah tanah).
  3. S0: sambungkan wayar ini ke baris mendatar pada papan roti anda. *
  4. S1: sambungkan wayar ini ke baris mendatar pada papan roti anda. *
  5. S2: sambungkan wayar ini ke baris mendatar pada papan roti anda. *
  6. S3: sambungkan wayar ini ke baris mendatar pada papan roti anda. *
  7. OUT: sambungkan wayar ini ke baris mendatar pada papan roti anda. *

* Saya tidak memberitahu anda di mana tepat untuk mencantumkannya di papan roti kerana lebih mudah untuk mengetahui sendiri apa yang terbaik dalam kombinasi dengan binaan anda.

Papan Roti ke Arduino: ** (Gunakan 6 wayar Lelaki - Lelaki)

Adalah bijak untuk melihat apakah semuanya berfungsi sebelum memasukkannya ke dalam kotak itu, ketahuilah bahawa untuk melakukan itu, anda perlu mengeluarkan kabel ini dan memasukkannya semula kemudian. Pastikan anda mengingat atau menuliskan kabel mana yang disambungkan ke apa.

  1. sambungkan baris yang anda sambungkan ke pin isyarat servo ke pin 9 di Arduino.
  2. sambungkan baris yang anda sambungkan ke pin S0 sensor warna ke pin 4 di Arduino.
  3. sambungkan baris yang anda sambungkan ke pin S1 sensor warna ke pin 5 di Arduino.
  4. sambungkan baris yang anda sambungkan ke pin S2 sensor warna ke pin 6 di Arduino.
  5. sambungkan baris yang anda sambungkan ke pin S3 sensor warna ke pin 7 di Arduino.
  6. sambungkan baris yang anda sambungkan ke pin OUT sensor warna ke pin 8 pada Arduino.

** baris yang saya rujuk di atas adalah yang terdapat di papan roti anda.

Langkah 4: Kodnya

Di lampiran di sini anda akan menemui kod yang anda perlukan untuk menjalankan projek ini. Komen dalam kod harus jelas mengenai apa yang dilakukannya. Sekiranya anda menginginkan maklumat yang lebih mendalam mengenai bagaimana sensor warna berfungsi (kerana jika anda ingin memahami sepenuhnya kodnya) saya akan mengesyorkan anda memeriksa tutorial ini "Bagaimana sensor berfungsi?" bahagian.

Walaupun anda belum sampai ke sana, terdapat beberapa perkara yang perlu anda sesuaikan dalam kod:

  • Laraskan pemboleh ubah.
  • Sesuaikan pernyataan if agar sesuai dengan teka-teki anda (jika diperlukan).

Sangat berguna untuk membuat tiang dan melukis blok dari langkah seterusnya sebelum anda menyesuaikan pemboleh ubah sehingga anda tidak perlu melakukannya lagi.

Laraskan pemboleh ubah:

Sekiranya anda membina pendawaian dengan betul, kodnya harus berfungsi, ambil sehelai kertas, pen dan blok (dicat). *

  1. Komen sementara fungsi vide checkRiddle yang tidak sah dari kod. (supaya bahagian itu tidak berjalan)
  2. Muat naik kod ke Arduino anda.
  3. Buka monitor bersiri, ia akan mula berjalan dan menunjukkan kepada anda R =… G =… B =… (dan beberapa perkara lagi, mereka tidak menjadi masalah sekarang)
  4. Pegang blok berwarna tepat di hadapan sensor (sedekat mungkin dengan reka bentuk terakhir anda) selama beberapa saat.
  5. Semasa memegangnya di hadapan sensor, lepaskan Arduino anda. (tarik keluar dari port usb)
  6. Tuliskan nilai luar (tertinggi dan terendah) sensor warna yang diukur pada setiap warna (R, G dan B).
  7. Pilih dua nilai yang paling sedikit berbeza (contohnya R dan B). **
  8. Hitung +10 pada nilai tertinggi dan -10 dari nilai terendah sehingga sensor dibenarkan melakukan kesalahan kecil.
  9. Sekarang ganti nilai dalam kod dengan yang anda ada sekarang. (Komen menyatakan nilai mana yang harus anda ganti)
  10. Sekiranya anda menggunakan warna yang berbeza daripada saya, ubah juga cetakan seri.
  11. Sekarang muat naik semula kod ke Arduino anda dengan menggunakan nilai yang baru diukur.
  12. Uji apakah monitor bersiri mencetak warna yang baru anda masukkan ke dalam kod dengan memegang blok berwarna yang sama di depannya. Pastikan ia konsisten sepanjang anda memegangnya di hadapan sensor.
  13. Sekiranya tidak:: (periksa nilainya, lihat apakah anda perlu membuat julat lebih besar. Jika ya::) kod sekarang mengenali warna ini.
  14. Sekarang ulangi proses ini (langkah 4 - 13) sehingga semua warna yang ingin anda gunakan disatukan dalam kod.
  15. Jangan lupa untuk melepaskan fungsi checkRiddle yang tidak betul!

* pergi ke langkah "kes" terlebih dahulu jika anda belum melukisnya.

** anda boleh menjadi lebih tepat jika anda mahu dengan menggunakan semua 3 (R, G dan B) tetapi untuk projek ini yang tidak diperlukan.

Sesuaikan pernyataan if dengan teka-teki anda: (hanya jika anda ingin mengubah penyelesaiannya)

Langkah 5: Kes dan Melukis Blok

Kes dan Melukis Blok
Kes dan Melukis Blok
Kes dan Melukis Blok
Kes dan Melukis Blok
Kes dan Melukis Blok
Kes dan Melukis Blok
Kes dan Melukis Blok
Kes dan Melukis Blok

Sarungnya adalah bahagian yang agak rumit tetapi tidak sukar dibuat, kebanyakannya mengenai pengukuran yang betul. Saya tidak memberikan ukuran kerana kami (kemungkinan besar) tidak menggunakan bahan dengan ukuran yang sama.

Mengecat blok:

Warnakan blok dengan warna yang anda mahu gunakan. Saya mengesyorkan warna merah, hijau dan biru kerana yang paling mudah untuk membezakannya dengan sensor.

Sekiranya anda tidak membuat cat teka-teki anda sendiri di runes juga.

Tiang:

Tiang adalah untuk (sebahagian) menyembunyikan sensor warna dan kabel yang melekat padanya. Untuk menentukan ukuran tiang yang anda perlukan untuk mengukur sisi sensor warna anda, dan tentukan seberapa tinggi yang anda mahukan tiang anda (Yang anda lihat pada gambar setinggi 3 cm). Kemudian tarik ke kadbod dan potong, anda boleh melukisnya jika anda mahu.

Pasang wayar ke sensor SEBELUM anda memasangkannya ke tiang, anda tidak akan dapat mencapai pin lagi.

Saya menggunakan pita pelekat dua sisi untuk memasang sensor di dalam tiang. Anda dapat melihatnya pada gambar ketiga.

Pastikan lekukan pada sensor berada di dalam tiang (tidak di tepi), blok perlu berdiri di atasnya kemudian.

Tanda "anda mati":

Potong sekeping kadbod dan tulis "anda mati" di atasnya. Seperti yang anda lihat pada gambar pertama saya melekatkan gambar seorang lelaki yang marah dengan pedang di seberang. Pastikan tanda mempunyai lug di bahagian bawah. Gunakan lug untuk merakam tanda ke servo.

Membuat ruangan:

  1. Warnakan kotak yang anda pilih untuk casing tersebut. (Sebarang warna yang anda suka, saya menggunakan warna hitam)
  2. Lukiskan bentuk bilik ke bahagian bawah kotak untuk menentukan panjang dinding. (Ukur garis dengan pembaris).
  3. Tentukan ketinggian yang anda mahukan di dinding. Dinding dalam contoh saya tingginya 5 sentimeter.
  4. Sekarang anda mempunyai dimensi dinding anda, lukiskannya ke kadbod dan potong.
  5. Warnakan dinding. (Saya melukis mereka hitam)
  6. Lekatkan dinding ke kotak, pada garis yang anda lukis sebelumnya.

Anda kini telah menyediakan bilik.

Lubang untuk kabel dan tanda:

Anda perlu membuat dua lubang di dalam kotak, satu untuk kabel dan satu lagi untuk tanda "anda mati". dan berhati-hati! lubang tidak dapat dikeluarkan sebaik sahaja mereka berada di sana.

buat lubang di bawah tempat di mana anda mahu sensor warna pergi. Buat lubang sekecil mungkin tetapi elakkan ketegangan pada kabel, anda tidak mahu lubang itu terlepas.

Lubang untuk tanda "anda mati" mestilah sedikit lebih tebal daripada kadbod yang anda gunakan sehingga boleh keluar tanpa menyentuh casingnya. Panjang lubang bergantung pada seberapa besar tanda itu. Gunakan pisau Stanley atau pisau paring untuk membuat lubang.

Sekarang gunakan pita dua sisi untuk memasang motor servo ke sisi kotak.

Langkah 6: Ada Soalan ??

Jadi sekarang anda seharusnya dapat membina teka-teki berdasarkan warna yang hebat dengan Arduino. Sekiranya anda mempunyai sebarang pertanyaan, pastikan anda bertanya!

Selamat membina!

Disyorkan: