Daftar Isi:
Video: Kotak Puzzle Arduino: 7 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Untuk proyek ini kita akan membuat kotak teka-teki yang bekerja dengan musik. Inti dasarnya adalah ketika Anda menekan sebuah tombol, ia akan mengeluarkan nada dan Arduino menghitung tombol mana yang ditekan sehingga ia tahu jawaban mana yang benar dan mana yang salah.
Perlengkapan
1 x Arduino uno
1x1k Ohm resistor
5x220 Ohm resistor
1 xPiezo Buzzer
5 x tombol tekan 6x6 mm
1 x set kabel Jumper
1 x perf/strip papan
1 x solder set
1 x engsel
1 x penjepit
1 x laci kecil/kayu
1x pistol lem panas + lem tongkat
1x9v baterai + dudukan
sedikit worbla
cat
Langkah 1:
Untuk memulainya, Anda harus menekan pin di papan tempat memotong roti. Sekarang hubungkan analog 2 dengan kabel ke sudut papan. Kami akan menghubungkan dua resistor ke dalam satu baris. Yang pertama adalah resistor 10k Ohm. Ke ujung lain dari resistor ini kami menghubungkan kabel ke ground analog. Resistor kedua adalah resistor 220 Ohm yang kami sambungkan ke tombol pertama. Gunakan resistor lain dengan nilai yang sama untuk menghubungkan sisi terbuka kedua tombol dengan tombol kedua. Terus sambungkan tombol seperti ini hingga yang terakhir. Pada yang terakhir Anda mengambil kabel dan menghubungkannya ke sisi tertutup yang sesuai dari tombol dan menghubungkannya ke yang berikutnya dalam antrean. Anda sekarang mengulangi proses yang Anda lakukan dengan resistor hanya tahu dengan kabel biasa. Hubungkan tombol pertama ke port analog 3, 3V di Arduino Anda. Secara keseluruhan Anda akan mendapatkan semacam pola silang seperti yang digambarkan di bawah ini.
Langkah 2:
Selanjutnya colokkan buzzer Anda ke papan tempat memotong roti dan kencangkan satu sisi ke ground digital dan sisi lainnya ke port 12. Adalah cerdas untuk mengunggah kode berikut ke Arduino Anda sehingga Anda dapat menguji apakah semuanya berfungsi dengan benar. Jika ya, Anda dapat mulai menyolder komponen bersama-sama. Lakukan ini dengan mengeluarkannya dari papan tempat memotong roti dan menyolder kabel dan sambungan secara langsung. Jika Anda merasa perlu lebih panjang di antara tombol, Anda dapat menambahkan beberapa kabel ekstra di antara resistor. Papan tempat memotong roti tidak lagi diperlukan pada saat ini.
Langkah 3:
Setelah semuanya disolder saatnya untuk membuat kotak itu sendiri. Saya menggunakan satu set laci murah sebagai alas untuk laci saya. Saya hanya memotong setengah memanjang dan melepaskan bagian belakang dan samping yang saya potong. Anda harus memiliki dua buah berbentuk c sekarang. Potong salah satu sisinya untuk digunakan sebagai penutup. Sekarang putar salah satu bagian yang tersisa sehingga menyatu seperti kotak tanpa tutup dan rekatkan. Setelah lem terpasang dengan benar, bor lubang kecil di setiap sisi kotak untuk kancing dan lubang yang lebih besar untuk bel di tutupnya.
Langkah 4:
Sekarang Anda bisa mengecat kotaknya. Saya melakukan milik saya dengan desain bunga berdasarkan BOTW tetapi Anda benar-benar dapat memilih desain apa pun yang Anda inginkan. Setelah ini selesai, Anda dapat meletakkan kancing di dalam lubang dan menempelkan segumpal lem di bagian belakang kancing dan kayu di sekitarnya. Prinsip yang sama berlaku untuk bel tetapi milik saya sangat pas di lubang sehingga tidak perlu. Selanjutnya Anda ambil beberapa worbla dan panaskan dan potong untuk membuat beberapa kancing kecil. Rekatkan dengan hati-hati ke kancing, tetapi pastikan untuk tidak menggunakan terlalu banyak lem karena Anda mungkin tidak sengaja membuat kancing tersangkut. Sekarang Anda bisa mengecatnya agar lebih menyatu dengan kotak.
Langkah 5:
Terakhir Anda lem atau sekrup, klem dan engsel pada kotak dan tutup yang menghubungkan keduanya.
Langkah 6:
Sekarang setelah kotak Anda selesai, yang harus Anda lakukan adalah meletakkan Arduino dan baterai di dalamnya dan menutup penutupnya.
Langkah 7: Kode
// Ini adalah kode untuk kotak teka-teki/musik bertema Zelda.
// ini menghubungkan kode Anda ke daftar catatan di tab lain
#sertakan "pitches.h"
// variabel ini akan memastikan bahwa Arduino melihat penekanan tombol yang lebih lama hanya dengan sekali tekan
int sama = 0;
// dari sini ia akan membaca masukan Anda
int k = 2;
//ini adalah pin keluaran Anda
int pembicara = 12;
// di bawah ini adalah melodi akhir
int Zelda = {NOTE_B4, NOTE_D5, NOTE_A4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_D5, NOTE_A4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_D5, NOTE_A5, NOTE_G5, NOTE_D5, NOTE_C5, NOTE_B4, NOTE_A5};
int ZeldaWaktu = {2, 4, 2, 4, 4, 2, 2, 2, 4, 4, 2, 4, 2, 2, 2, 4, 4, 2};
int Epona = {NOTE_D5, NOTE_B4, NOTE_A4, NOTE_D5, NOTE_B4, NOTE_A4, NOTE_D5, NOTE_B4, NOTE_A4, NOTE_B4, NOTE_A4};
int EponaWaktu = {4, 4, 1.5, 4, 4, 1.5, 4, 4, 2, 2, 1};
int Saria = {NOTE_F4, NOTE_A4, NOTE_B4, NOTE_F4, NOTE_A4, NOTE_B4, NOTE_F4, NOTE_A4, NOTE_B4, NOTE_E5, NOTE_D5, NOTE_B4, NOTE_C5, NOTE_B4, NOTE_G4, NOTE_E4, NOTE_D4, NOTE_E4, NOTE_G4, NOTE_E4};
int SariaTime = {8, 8, 4, 8, 8, 4, 8, 8, 8, 8, 4, 8, 8, 8, 8, 3, 8, 8, 8, 2, 1};
// durasi normal sebuah not
int BEATTIME = 300;
// penghitung yang akan dilacak jika kita berada dalam solusi
int teller = 0;
batalkan pengaturan() {
Serial.begin(9600);
pinMode(2, INPUT);
pinMode(1, INPUT);
}
lingkaran kosong() {
// membaca input dari pin
k = analogBaca(2);
int p = analogBaca(1);
//jika tidak ada tombol yang ditekan seharusnya tidak ada nada
jika (petugas == 0) {
tidakNada(12);
}
//jika data yang dibaca sesuai dengan parameter, jalankan bit kode yang dijelaskan
if (k > 320 && k < 350) {
recht();
}
//""
else if (k 290) {
tautan();
}
//""
else if (k > 260 && k < 280) {
boven();
}
//""
else if (k> 240 && k < 260) {
melihat();
}
//""
else if (k > 220 && k < 240) {
A();
}
// jika tidak (bila tidak ada tombol yang ditekan), jalankan kode ini
lain {
// reset sama sehingga dapat digunakan saat tombol ditekan berikutnya
sama = 0;
// jika penghitung mencapai angka tertentu, jalankan bit kode yang dijelaskan
if (teller == 166) {
zelda();
}
//""
lain jika (teller == 386) {
sari();
}
//""
lain jika (teller == 266) {
epon();
}
//""
lain jika (teller == 999) {
//mainkan nada ini untuk menandai kesalahan
nada (speaker, NOTE_C3, BEATTIME);
//reset penghitung ke 0
teller = 0;
}
}
//penundaan antara input dan output
penundaan(100);
// mencetak nilai input Anda di monitor serial
Serial.println(k);
}
// ini adalah melodi pertama
batal zelda() {
// ini mengatur penghitung yang memperbarui dirinya sendiri saat memainkan melodi sehingga dapat membacanya dan berhenti ketika seharusnya
for (int i = 0; i < sizeof(Zelda); i++) {
//mengatakan berapa lama sebuah catatan harus bertahan
int ZWaktu = 1000 / ZeldaTime;
//menghasilkan nada
nada (speaker, Zelda, ZTime);
//membuat penundaan yang benar
int jeda = ZWaktu * 1,30;
penundaan (jeda);
//setel ulang penghitung
teller = 0;
// mencetak nilai input Anda di monitor serial
Serial.println(teller);
}
}
//""
kosong epon() {
for (int i = 0; i < sizeof(Epona); i++) {
int ETime = 1000 / EponaTime;
nada (speaker, Epona, ETime);
int jeda = EWaktu * 1,30;
penundaan (jeda);
teller = 0;
Serial.println(teller);
}
}
//""
batal sari() {
for (int i = 0; i < sizeof(Saria); i++) {
int STime = 1000 / SariaTime;
nada (speaker, Saria, STime);
int jeda = SWaktu * 1,30;
penundaan (jeda);
teller = 0;
Serial.println(teller);
}
}
batal rek
hts() {
// jika ini belum ditekan
jika (sama == 0) {
// jika penghitung saat ini memiliki salah satu dari nilai ini, tambahkan ini ke dalamnya
if (teller == 0 || teller == 132 || teller == 165 || teller == 232 || teller == 265 || teller == 331 || teller == 374) {
teller = teller + 1;
}
// jika tidak atur ke 999 sehingga Anda mendengar suara kesalahan te
lain {
teller = 999;
}
// atur sama ke satu sehingga Arduino tidak membaca pers yang lama sebagai beberapa penekanan
sama = 1;
}
// mainkan nadanya
lain {
nada(speaker, NOTE_A4, BEATTIME);
}
// mencetak nilai input Anda di monitor serial
Serial.println(teller); }
//""
tautan kosong() {
jika (sama == 0) {
if (teller == 133 || teller == 254 || teller == 244 || teller == 332 || teller == 375 || teller == 221) {
teller = teller + 11;
}
lain jika (teller == 0) {
teller = 111;
}
lain {
teller = 999;
}
sama = 1;
} lain{
nada(speaker, NOTE_B4, BEATTIME);
} Serial.println(teller);
}
//""
batal boven() {
if (sama == 0) { if (teller == 111 || teller == 144 || teller == 233) {
teller = teller + 21;
}
lain jika (teller == 0) {
teller = 221;
}
lain {
teller = 999;
}
sama = 1;
}
lain {
nada (speaker, NOTE_D5, BEATTIME);
Serial.println(teller);
}
}
//""
batalkan onder() {
jika (sama == 0) {
jika (teller == 343) {
teller = teller + 31;
}
lain jika (teller == 0) {
teller = 331;
} lain {
teller = 999;
} sama = 1;
} lain {
nada(speaker, NOTE_F4, BEATTIME);
Serial.println(teller);
}
}
//""
batal a() {
jika (sama == 0) {
jika (petugas == 0) {
teller = 461;
}
lain {
teller = 999;
}
sama = 1;
}
nada(speaker, NOTE_D4, BEATTIME);
Serial.println(teller);
}
Direkomendasikan:
Crack the Code Game, Puzzle Box Berbasis Arduino: 4 Langkah (dengan Gambar)
Crack the Code Game, Arduino Based Puzzle Box: Dalam Instructable ini, saya akan menunjukkan kepada Anda bagaimana membuat crack Anda sendiri pada permainan kode di mana Anda menggunakan dial rotary encoder untuk menebak kode yang dihasilkan secara acak ke brankas. Ada 8 LED di bagian depan brankas untuk memberi tahu Anda berapa
Proyeksi Azimuthal 3D Peta Dekorasi X Folk Music Puzzle Game - Arduino: 7 Langkah
Proyeksi Azimut 3D Peta Dekorasi X Folk Music Puzzle Game - Arduino: PENDAHULUAN Halaman berikut akan menginstruksikan Anda cara membuat proyek Arduino, yang memiliki dua fungsi utama-dekorasi polos dengan pencahayaan dan permainan puzzle musik rakyat, yang menggabungkan bidang geografi, geometri , peta, PBB, dan
Kotak Barbie: Kotak Kamuflase/ Kotak Boom untuk Pemutar Mp3 Anda: 4 Langkah (dengan Gambar)
Kotak Barbie: Kotak Kamuflase / Kotak Boom untuk Pemutar Mp3 Anda: Ini adalah tas pelindung berlapis untuk pemutar mp3 Anda yang juga mengubah jack headphone menjadi seperempat inci, dapat bertindak sebagai kotak boom di flip sakelar, dan menyamarkan pemutar mp3 Anda sebagai pemutar kaset awal tahun sembilan puluhan atau pencurian rendah serupa di
Bangun Kotak Baterai Kotak Cerutu untuk Radio Tabung: 4 Langkah
Bangun Kotak Baterai Kotak Cerutu untuk Radio Tabung: Jika Anda ingin membangun dan bermain-main dengan radio tabung seperti saya, Anda mungkin memiliki masalah yang sama seperti yang saya lakukan dengan menyalakannya. Sebagian besar sirkuit lama dirancang untuk berjalan dengan baterai b tegangan tinggi yang tidak lagi tersedia. Jadi
Tampilan Kotak Lampu Dari Kotak Kayu: 9 Langkah (dengan Gambar)
Pajangan Kotak Lampu Dari Kotak Kayu: Saya dan istri memberi ibu saya patung kaca untuk Natal. Saat ibuku membukanya, kakakku berkata "RadBear (dia benar-benar menyebut namaku) bisa membuatkanmu kotak lampu!". Dia mengatakan ini karena sebagai seseorang yang mengoleksi gelas, saya