Daftar Isi:

Puzzle Berbasis Warna: 6 Langkah
Puzzle Berbasis Warna: 6 Langkah

Video: Puzzle Berbasis Warna: 6 Langkah

Video: Puzzle Berbasis Warna: 6 Langkah
Video: Alat Permainan Edukatif (APE) Mengenal Buah-Buahan untuk usia 4-5 Tahun 2024, Juli
Anonim
Teka-teki Berbasis Warna
Teka-teki Berbasis Warna
Teka-teki Berbasis Warna
Teka-teki Berbasis Warna

Hei!

Untuk proyek sekolah bernama "Jika Ini Lalu Itu" saya harus membangun objek interaktif menggunakan Arduino. Saya memutuskan untuk membuat teka-teki berbasis warna dengan sistem umpan balik sederhana.

Apa yang dilakukannya (singkatnya):

  1. Ini menentukan warna objek di atas sensor warna.
  2. Ia memeriksa apakah warna itu cocok dengan solusi yang benar.
  3. Entah itu memunculkan tanda "Anda mati" atau tidak, tergantung pada cuaca teka-teki itu dipecahkan atau tidak.

Jadi menurut Anda teka-teki ini mudah dipecahkan?

Nah, untuk seseorang yang tahu cara kerjanya, meskipun Anda dapat mengganti solusinya! Tapi jangan khawatir, bagi seseorang yang tidak tahu cara kerjanya, itu terlihat seperti sihir. Dalam pengalaman saya, banyak orang mengira teka-teki itu tentang berat, bukan warna. Dan, jangan lupa, Anda adalah penguasa teka-teki, berapa banyak petunjuk yang Anda berikan terserah Anda.

Bagaimana saya (ingin) menggunakannya:

Saya ingin menggunakan teka-teki ini sebagai bagian interaktif dari kampanye D&D saya.

Langkah 1: Bahan

Bahan
Bahan
Bahan
Bahan

Anda memerlukan hal-hal berikut sebelum Anda dapat mulai membangun:

Secara umum:

Otak (kreatif) untuk membuat teka-teki

Barang Arduino:

  • Arduino Uno
  • Papan tempat memotong roti
  • Sebuah motor servo
  • (TCS3200) Sensor warna
  • 7x Kabel jumper Pria - Wanita (sebaiknya semua warna berbeda, sangat disarankan)
  • 11x Kabel jumper Pria - Pria
  • powerbank (jika Anda ingin berfungsi tanpa komputer/laptop)

Selubung:

  • Kotak (sepatu) dengan penutup (untuk membuat puzzle)
  • beberapa lembar karton (untuk membuat dinding, tiang di tengah dan tanda kamu mati)
  • Balok kayu, (setidaknya) satu sisi harus lebih besar dari sensor warna.
  • cat: hitam, merah, biru dan hijau (dan warna tambahan apa pun jika Anda mau*)
  • Kertas putih ukuran A4
  • Gunting
  • Sebuah penanda hitam
  • Pita perekat dua sisi yang kuat
  • Pensil
  • lem instan
  • Pisau pengupas atau pisau Stanley

* Catatan kecil tentang warna: awalnya saya juga menggunakan warna ungu tetapi sensor tidak dapat membedakan warna merah dan ungu jadi saya tinggalkan. Ketahuilah bahwa warna lain mungkin juga tidak berfungsi dengan baik (tetapi mungkin, saya belum mencobanya). Sensor saya murah, sensor yang lebih presisi mungkin bisa membedakan lebih banyak warna.

Langkah 2: Teka-teki

Teka-teki
Teka-teki

Bagian terpenting dari proyek ini adalah memiliki teka-teki pemecahan otak yang bagus.

Seperti yang bisa Anda lihat pada gambar pertama (yang memiliki intro), saya melukis rune norse ke blok saya (di setiap sisi kecuali bagian bawah). Mereka ada hubungannya dengan teka-teki. Saya kemudian menempelkan pertanyaan sederhana pada kasus: "Kekayaan sejati adalah …?".

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

Solusi untuk teka-teki:

Kekayaan sejati adalah kebahagiaan!

Jadi yang perlu pemain lakukan adalah mengganti harta (balok dengan simbol kekayaan) dengan balok dengan simbol kebahagiaan di atasnya.

Jangan ragu untuk menggunakan teka-teki saya, tetapi saya akan mendorong Anda untuk membuat teka-teki Anda sendiri.

Langkah 3: Pengkabelan

Pengkabelan
Pengkabelan
Pengkabelan
Pengkabelan

Pengkabelan cukup sederhana karena hanya ada 2 komponen (dan arduino). Dalam deskripsi saya menggunakan jumlah kabel minimum, jika Anda ingin menggunakan lebih banyak, silakan lakukan. (Saya menggunakan lebih banyak kabel pada gambar)

Arduino ke papan tempat memotong roti: (Gunakan 2 kabel Male - Male)

  1. sambungkan pin 5V ke sisi + papan tempat memotong roti Anda.
  2. sambungkan salah satu pin ground ke - sisi papan tempat memotong roti Anda.

Servo: (Gunakan 3 kabel Pria - Pria)

servo memiliki tiga kabel: daya, ground dan sinyal.

  1. Daya biasanya berupa kabel merah, sambungkan kabel ini ke sisi + papan tempat memotong roti Anda.
  2. Ground biasanya berupa kabel hitam atau coklat, sambungkan kabel ini ke - sisi papan tempat memotong roti Anda.
  3. Sinyal biasanya berupa kabel kuning atau oranye, sambungkan kabel ini ke baris horizontal di papan tempat memotong roti Anda.*

Sensor warna: (Gunakan 7 kabel Pria - Wanita)

  1. VCC: sambungkan kabel ini ke sisi + papan tempat memotong roti Anda (ini adalah daya).
  2. GND: hubungkan kabel ini ke - sisi papan tempat memotong roti Anda (ini di-ground).
  3. S0: sambungkan kabel ini ke baris horizontal di papan tempat memotong roti Anda.*
  4. S1: sambungkan kabel ini ke baris horizontal di papan tempat memotong roti Anda.*
  5. S2: sambungkan kabel ini ke baris horizontal di papan tempat memotong roti Anda.*
  6. S3: sambungkan kabel ini ke baris horizontal di papan tempat memotong roti Anda.*
  7. KELUAR: sambungkan kabel ini ke baris horizontal di papan tempat memotong roti Anda.*

*Saya tidak memberi tahu Anda persis di mana harus menyematkannya di papan tempat memotong roti karena lebih mudah untuk mencari tahu sendiri apa yang terbaik dalam kombinasi dengan bangunan Anda.

Breadboard ke Arduino: **(Gunakan 6 kabel Male - Male)

Adalah cerdas untuk melihat apakah semuanya berfungsi sebelum memasukkannya ke dalam kasing, ketahuilah bahwa untuk melakukan itu Anda perlu melepas kabel ini dan memasangnya kembali nanti. Pastikan untuk mengingat atau menuliskan kabel mana yang terhubung dengan apa.

  1. hubungkan baris yang Anda sambungkan ke pin sinyal servo ke pin 9 pada Arduino.
  2. hubungkan baris yang Anda sambungkan ke pin S0 dari sensor warna ke pin 4 pada Arduino.
  3. hubungkan baris yang Anda sambungkan ke pin S1 dari sensor warna ke pin 5 pada Arduino.
  4. hubungkan baris yang Anda sambungkan ke pin S2 dari sensor warna ke pin 6 pada Arduino.
  5. hubungkan baris yang Anda sambungkan ke pin S3 dari sensor warna ke pin 7 pada Arduino.
  6. hubungkan baris yang Anda sambungkan ke pin OUT dari sensor warna ke pin 8 pada Arduino.

** baris yang saya maksud di atas di sini adalah yang ada di papan tempat memotong roti Anda.

Langkah 4: Kode

Dalam lampiran di sini Anda akan menemukan kode yang Anda butuhkan untuk menjalankan proyek ini. Komentar dalam kode harus jelas tentang fungsinya. Jika Anda ingin informasi lebih mendalam tentang cara kerja sensor warna (karena jika Anda ingin memahami kode sepenuhnya) saya sarankan Anda untuk memeriksa tutorial ini "Bagaimana cara kerja sensor?" bagian.

Meskipun Anda belum melakukannya, ada beberapa hal yang perlu Anda sesuaikan dalam kode:

  • Sesuaikan variabel.
  • Sesuaikan pernyataan if agar sesuai dengan teka-teki Anda (jika perlu).

Sangat berguna untuk membuat pilar dan mengecat blok dari langkah berikutnya sebelum Anda menyesuaikan variabel sehingga Anda tidak perlu melakukannya lagi.

Sesuaikan variabel:

Jika Anda membuat pengkabelan dengan benar, kodenya akan berfungsi, ambil selembar kertas, pena, dan balok (yang dicat).*

  1. Komentar sementara fungsi void checkRiddle keluar dari kode. (agar bagian itu tidak berjalan)
  2. Unggah kode ke Arduino Anda.
  3. Buka monitor serial, itu akan mulai berjalan dan menunjukkan kepada Anda R= … G= … B= … (dan beberapa hal lagi, itu tidak penting sekarang)
  4. Pegang balok berwarna tepat di depan sensor (sedekat desain akhir Anda) selama beberapa detik.
  5. Sambil tetap memegangnya di depan sensor, matikan daya Arduino Anda. (tarik keluar dari port usb)
  6. Tuliskan nilai terluar (tertinggi dan terendah) yang diukur oleh sensor warna pada setiap warna (R, G dan B).
  7. Pilih dua nilai yang paling sedikit variasinya (misalnya R dan B).**
  8. Hitung +10 pada nilai tertinggi dan -10 pada nilai terendah sehingga sensor diperbolehkan melakukan kesalahan kecil.
  9. Sekarang ganti nilai dalam kode dengan yang Anda miliki sekarang. (Komentar mengatakan nilai mana yang harus Anda ganti)
  10. Jika Anda menggunakan warna yang berbeda dari saya, ubah juga serial.print.
  11. Sekarang unggah ulang kode ke Arduino Anda dengan menggunakan nilai yang baru diukur.
  12. Uji apakah monitor serial dengan baik mencetak warna yang baru saja Anda masukkan ke dalam kode dengan memegang blok berwarna yang sama di depannya. Pastikan konsisten selama Anda memegangnya di depan sensor.
  13. Jika tidak::(periksa nilainya, lihat apakah Anda perlu memperbesar rentang. Jika ya::) kode sekarang mengenali warna ini.
  14. Sekarang ulangi proses ini (langkah 4 - 13) hingga semua warna yang ingin Anda gunakan terintegrasi dalam kode.
  15. Jangan lupa untuk membatalkan komentar pada fungsi void checkRiddle!

* pergi ke langkah "kasus" terlebih dahulu jika Anda belum mengecatnya.

** Anda bisa lebih tepat jika Anda mau dengan menggunakan semua 3 (R, G dan B) tetapi untuk proyek ini tidak diperlukan.

Sesuaikan pernyataan if dengan teka-teki Anda: (hanya jika Anda ingin mengubah solusinya)

Langkah 5: Kasus dan Lukisan Blok

Kasus dan Lukisan Blok
Kasus dan Lukisan Blok
Kasus dan Lukisan Blok
Kasus dan Lukisan Blok
Kasus dan Lukisan Blok
Kasus dan Lukisan Blok
Kasus dan Lukisan Blok
Kasus dan Lukisan Blok

Kasing adalah bagian yang agak rumit tetapi tidak sulit untuk dibuat, sebagian besar tentang memiliki pengukuran yang benar. Saya tidak memberikan ukuran saya karena kami (kemungkinan besar) tidak menggunakan bahan dengan ukuran yang sama.

Pengecatan blok:

Cat balok dengan warna yang ingin Anda gunakan. Saya merekomendasikan merah, hijau dan biru karena paling mudah untuk membedakannya dengan sensor.

Jika Anda tidak membuat cat puzzle sendiri pada rune juga.

Pilar:

Pilar adalah untuk (sebagian) menyembunyikan sensor warna dan kabel yang terpasang padanya. Untuk menentukan ukuran pilar, Anda perlu mengukur sisi sensor warna Anda, dan menentukan seberapa tinggi pilar yang Anda inginkan. lihat di gambar tingginya 3 cm). Kemudian gambar itu ke karton dan potong, Anda bisa mengecatnya jika mau.

Pasang kabel ke sensor SEBELUM Anda memasangnya ke dalam pilar, Anda tidak akan dapat menjangkau pin lagi.

Saya menggunakan pita perekat dua sisi untuk memasang sensor di dalam pilar. Anda dapat melihat ini pada gambar ketiga.

Pastikan led pada sensor berada di dalam pilar (bukan di tepi), balok harus berdiri di atasnya nanti.

Tanda "Anda mati":

Potong selembar karton dan tulis "kamu mati" di atasnya. Seperti yang Anda lihat pada gambar pertama, saya menempelkan gambar seorang pria yang marah dengan pedang di sisi lain. Pastikan tanda memiliki lug di bagian bawah. Gunakan lug untuk menempelkan tanda ke servo.

Membuat ruangan:

  1. Cat kotak yang Anda pilih untuk kasing. (Warna apa pun yang Anda suka, saya menggunakan hitam)
  2. Gambarlah bentuk ruangan ke bagian bawah kotak untuk menentukan panjang dinding. (Ukur garis dengan penggaris).
  3. Tentukan ketinggian dinding yang Anda inginkan. Dinding dalam contoh saya tingginya 5 sentimeter.
  4. Sekarang Anda memiliki dimensi dinding Anda, gambarkan ke karton dan potong.
  5. Cat dinding. (Saya melukisnya hitam)
  6. Rekatkan dinding ke kotak, pada garis yang Anda gambar sebelumnya.

Anda sekarang telah menyiapkan ruangan.

Lubang untuk kabel dan tanda:

Anda perlu membuat dua lubang di dalam kotak, satu untuk kabel dan satu untuk tanda "Anda mati". dan berhati-hatilah! lubang tidak dapat dihapus begitu mereka ada di sana.

buat lubang di bawah tempat yang Anda inginkan untuk sensor warna. Buat lubang sekecil mungkin tetapi hindari ketegangan pada kabel, Anda tidak ingin mereka longgar.

Lubang untuk tanda "Anda mati" harus sedikit lebih tebal dari karton yang Anda gunakan sehingga dapat muncul tanpa mengenai kasingnya. Panjang lubang tergantung pada seberapa besar tanda itu. Gunakan pisau Stanley atau pisau pengupas untuk membuat lubang.

Sekarang gunakan selotip dua sisi untuk menempelkan motor servo ke sisi kotak.

Langkah 6: Ada Pertanyaan??

Jadi sekarang Anda harus dapat membuat teka-teki berbasis warna yang mengagumkan dengan Arduino. Jika Anda memiliki pertanyaan, pastikan untuk bertanya!

Selamat membangun!

Direkomendasikan: