Isi kandungan:

Permainan Gunting Kertas Rock Arduino Genggam Menggunakan Paparan LCD 20x4 Dengan I2C: 7 Langkah
Permainan Gunting Kertas Rock Arduino Genggam Menggunakan Paparan LCD 20x4 Dengan I2C: 7 Langkah

Video: Permainan Gunting Kertas Rock Arduino Genggam Menggunakan Paparan LCD 20x4 Dengan I2C: 7 Langkah

Video: Permainan Gunting Kertas Rock Arduino Genggam Menggunakan Paparan LCD 20x4 Dengan I2C: 7 Langkah
Video: How to Make Rock Paper Scissor Game using Arduino 2024, November
Anonim
Permainan Gunting Kertas Rock Arduino Genggam Menggunakan Paparan LCD 20x4 Dengan I2C
Permainan Gunting Kertas Rock Arduino Genggam Menggunakan Paparan LCD 20x4 Dengan I2C
Permainan Gunting Kertas Rock Arduino Genggam Menggunakan Paparan LCD 20x4 Dengan I2C
Permainan Gunting Kertas Rock Arduino Genggam Menggunakan Paparan LCD 20x4 Dengan I2C
Permainan Gunting Kertas Rock Arduino Genggam Menggunakan Paparan LCD 20x4 Dengan I2C
Permainan Gunting Kertas Rock Arduino Genggam Menggunakan Paparan LCD 20x4 Dengan I2C

Halo semua atau mungkin saya harus mengucapkan "Hello World!"

Dengan senang hati berkongsi projek dengan anda yang menjadi entri saya kepada banyak perkara Arduino. Ini adalah permainan Arduino Paper Rock Scissors genggam yang menggunakan paparan LCD I2C 20x4. Saya tahu anda mungkin berfikir, "Permainan Paper Rock Scissors yang lain?" Tetapi kebanyakan permainan Arduino Paper Rock Scissors menggunakan LED sederhana dan saya juga melihat satu yang menggunakan simbol kertas yang diangkat oleh servo. Itu sejuk. Projek ini menggunakan paparan LCD 20x4 dan satu dengan I2C dan satu tanpa itu (tidak ditunjukkan di sini). Inginkan casing yang murah dengan rupa yang sudah siap, bukan hanya kekacauan papan roti. Tidak semua orang mempunyai akses ke pencetak 3D dan ingin membayar seseorang yang melakukannya. Dan saya mahu senang dibuat sehingga saya dapat berkongsi idea dengan orang lain. Oleh kerana kemahiran pengaturcaraan saya adalah peringkat pemula, lakarannya cukup mudah dan senang difahami dan diedit. Ini adalah pendidikan peribadi saya untuk membuat lakaran. Anda akan mendapat banyak catatan dalam lakaran dan ia telah melalui banyak (20+?) Berulang sehingga saya percaya ia betul. Projek berharga kurang dari $ 20 untuk dibuat (bukan I2C).

Bermula dengan Arduino pada tahun 2018 dan membaca laman web mereka dan membaca semua yang saya dapat. Dibina dan bereksperimen dengan contoh projek yang disertakan dan membaca banyak Instruksional yang telah anda kongsikan selama ini. Hargailah mereka dan telah banyak belajar daripada anda semua. Terima kasih. Sekarang saya ingin berkongsi beberapa perkara yang telah saya pelajari dengan menambahkan kreativiti saya sendiri. Sebelum bahagian komen disusun dengan banyak pertanyaan mengenai cara melakukan ini dan yang perlu diingat, saya memulakannya tanpa pengalaman di Arduino. Saya belajar dengan membina projek contoh di laman web Arduino dan Instructables. Saya belajar dari kalian. Apabila anda buntu, ini mungkin kaedah terpantas bagi anda untuk mencari jalan keluar.

Langkah 1: Pengenalan Projek

Pengenalan Projek
Pengenalan Projek
Pengenalan Projek
Pengenalan Projek

Memilih paparan LCD dari Amazon dan memilih LCD I2C 20x4 kerana kos rendah (sekitar $ 12 - $ 18) dan kemudahan pendawaian dan pengaturcaraan. Sekiranya anda mahu, anda boleh menggunakan satu tanpa I2C dan mungkin mendapatkannya semurah $ 7. Tetapi anda perlu menggunakan perpustakaan dan skema pendawaian yang berbeza dan menggunakan lebih banyak pin Arduino. Jangan risau, sudah cukup untuk pergi. Serial I2C 20x4 lebih senang dibina, lebih sedikit wayar kurang mengelirukan. Tetapi LCD 20x4 selari lebih kurang $ 5 lebih murah. Saya membuat skema untuk kedua-dua skema pendawaian. Sebilangan besar bahagian lain yang saya beli dari Amazon dan beberapa kedai tempatan. Kotak saya adalah kotak campuran minuman cappuccino yang kosong. Saya suka penutupnya mudah terpadam untuk menghidupkan / mematikan kuasa, berfungsi pada sebarang komponen atau menukar bateri. Dan "Hei!" kotak itu percuma dan saya suka cappuccino. Kitar semula plastik baik untuk alam sekitar. Anda boleh menggunakan kotak apa sahaja yang anda suka semuanya sesuai atau bahkan melangkau kotak atau papan roti projek. Saya mahukan "projek siap" dengan harga murah. Saya yakin seseorang membuat versi bercetak 3D. Arduino memainkan permainan Paper Rock Scissors dengan anda di LCD, menyimpan skor, anda dapat memasukkan dengan butang, dan jika anda memilih ada pilihan yang membolehkan anda menipu. Pada mulanya ciri cheat ditulis untuk tujuan penyahpepijatan dan ketika saya selesai dengannya, saya memberikan komen. Hanya untuk keseronokan saya memasukkannya semula.

Langkah 2: Papan roti

Papan roti
Papan roti
Papan roti
Papan roti

Saya menggunakan sirkuit roti menggunakan Arduino Uno tetapi ketika menyatukannya semuanya menggunakan Arduino Nano kerana lebih sesuai di dalam kotak. Jadi, anda boleh membina ini dengan salah satu. Tetapi ingat untuk menukar tetapan pasangan di IDE. Nano dipasang di bahagian belakang LCD menggunakan Jalur Perintah atau pita melekit dua sisi. Posisikan Arduino Nano di sebelah papan piggyback I2C supaya penyambung USB menghadap ke luar (di sebelah kanan LCD). Anda boleh menggunakan kotak bateri 9v atau 4x AA (yang memberi anda 6v) dengan suis slaid SPST untuk kuasa yang dipasang di dalam kotak juga dengan Jalur Perintah. Dibangun dengan dua arah, Arduino mempunyai pengatur voltan on-board yang menurunkannya hingga 5 volt yang diperlukannya. Sekiranya anda memikirkannya, permainan ini sebenarnya boleh mengitar semula "bateri 9v yang kebanyakan mati" untuk kuasa dan berfungsi dengan baik. (Anda menukar bateri pengesan asap dua kali setahun, bukan?) Peranti lain yang menggunakan bateri 9v mungkin mengatakan ia mati pada 6 - 8 volt; tetapi tidak mati sehingga "Arduino Dead!"

Semasa merancang projek, saya menggunakan 4 butang tekan SPST untuk input. Tetapi membina permainan selesai ke dalam kotak menggunakan 5 butang tekan SPST berfikir pada masa akan datang saya mungkin akan berusaha membuat permainan yang memerlukan lebih banyak butang. Mungkin permainan labirin? Pembahagi voltan perintang untuk butang dipasang bersama pada sekeping papan proto sekerap yang juga dapat dipasang dengan Jalur Perintah.

Langkah 3: Perhimpunan

perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan
perhimpunan

Perhimpunan:

4 unit utama adalah LCD dengan papan piggyback I2C pilihan, Arduino Nano, perintang dan suis daisy yang dirantai ke papan proto yang saling bersambung dan kotak bateri dengan suis hidup / mati.

Anda harus memulakan dengan memotong papan litar atau memasang wayar keras papan proto mengikut skema. Saya suka menyimpan LCD menghadap ke bawah di penutup kotak agar tidak tergores. Saya menggunakan header hanya pada satu sisi Arduino yang mempunyai 5v untuk menghubungkannya ke papan proto. Saya membuat jambatan dengan 3 header (banyak kerja solder) dari Arduino ke papan proto sehingga mereka meletakkan rata di bahagian belakang LCD dengan jalur Perintah atau pita melekat dua sisi. Tetapi sebenarnya, papan boleh disambungkan hanya dengan memateri wayar dari satu ke yang lain. Digunakan header wanita untuk menyambungkan papan proto ke LCD I2C. Kaki perintang papan proto boleh digunakan untuk membuat 5 titik solder untuk butang. Kaki lain dari setiap butang menuju ke pin Arduino A0. Setiap butang akan memerlukan 2 wayar yang disolder. Gunakan meter Ohm untuk menentukan kaki butang mana yang akan digunakan tetapi secara amnya anda tidak boleh salah dengan kaki yang tidak bersebelahan (pepenjuru antara satu sama lain).

Pilih tetapan anda untuk Arduino anda di IDE. Muat turun lakaran dan muatkan ke Arduino dan uji / masalah.

Sedia memasukkannya ke dalam kotak? Membuang label cappuccino, mencuci dan mengeringkan kotak saya. Diukur dengan teliti dan potong lubang di dalam kotak untuk LCD seperti yang anda lihat dan dipasang dengan 3 dowel yang disekat ke tiga lubang sudut LCD (2 ke bahagian bawah kotak, 1 di dekat penutup) cukup lama untuk mencapai belakang kotak dan simpan di tempat dengan geseran. Lubang skru pada papan paparan piggyback mungkin terlalu dekat dengan terminal, jadi saya menghilangkannya. Menggunakan pisau Exacto untuk menggerudi lubang juruterbang untuk skru di dowel supaya tidak pecah (berhati-hati, jangan tergelincir dan menikam diri sendiri, pegang dowel dengan tang). Harus membengkokkan / membungkus kotak sedikit untuk pemasangan terakhir, tetapi terkunci kembali ke bentuk yang tepat. Lubang untuk butang "digerudi" dengan meletakkannya (lukiskan garis dengan tepi lurus) dan panaskan terminal dengan besi pematerian sehingga mereka "mencairkan" kotak. Kemudian keluarkan butang setelah sejuk dan terpateri pada sekerap wayar CAT 5e 6 "- 9" atau wayar 18ga hingga 22ga ke butang. Pasang butang dawai pertama ke dalam lubang mereka kemudian pateri ke papan proto perintang. Titik gam super, lem panas atau hanya geseran akan mengekalkan butang di tempatnya. Pada satu binaan digunakan beberapa penyambung kabel telefon (bulatan merah di blok plastik jernih) untuk membantu membuat beberapa sambungan terakhir lebih mudah antara kotak bateri, papan protor perintang dan pemasangan LCD / Arduino. Sekiranya anda mahu, anda boleh menggunakan pateri dan penyusutan panas. Kemudian dengan berhati-hati dan perlahan-lahan tolak semua wayar dan komponen ke dalam kotak dan tutup penutupnya. Anda memang memasang bateri dan memuat naik lakaran Arduino sebelum melakukan semua ini? Anda juga memerlukan perpustakaan untuk paparan LCD 20x4 dengan atau tanpa I2C (mana yang anda pilih) yang boleh anda muat turun secara percuma di Github. Nyalakannya, cubalah, dan lihat apakah ia berfungsi. Kemudian saya menyunting lakaran saya dengan jeda agar lebih mudah dibaca, menambah "kesan titik berkelip" dan beberapa perkara lain bersama dengan banyak komen. Cuba letakkan Arduino sehingga USB masih dapat disambungkan dan lakaran baru dimuat naik. Sudah tentu, menggunakan carta alir semasa membuat lakaran. Anda akan mendapat komen yang cukup menentukan di mana setiap blok carta alir berada.

Anda akan mendapati bahawa butang berada dalam rangkaian / litar selari yang membolehkan anda menggunakan satu pin input Arduino untuk seberapa banyak butang yang anda mahukan. Litar bertindak seperti pembahagi voltan untuk memberi nilai pada pin analog mengubah nilai yang dibaca oleh setiap butang yang ditekan. Anda boleh menggunakan monitor bersiri untuk mengetahui nilai litar berdasarkan perintang anda dan mengubah "nilai yang diterima" dalam lakaran anda.

Semoga anda bersenang-senang membina sendiri! Sekiranya anda membuat satu atau bahkan membuat beberapa mod ini, sila kongsi dengan kami yang lain. Terima kasih kerana membaca.

Langkah 4: Pengaturcaraan dan Tetapan

Pengaturcaraan dan Tetapan
Pengaturcaraan dan Tetapan
Pengaturcaraan dan Tetapan
Pengaturcaraan dan Tetapan

Sekarang untuk berseronok dengan IDE. Saya harap anda telah minum cappuccino. Anda mungkin memerlukannya untuk membantu anda berjaga.

Anda mungkin mendapati anda perlu menubuhkan beberapa perpustakaan. Anda memerlukan Wire.h Untuk I2C, LCD.h untuk LCD, LiquidCrystal_I2C.h untuk LCD terkawal I2C. Anda juga perlu menggunakan arahan lcd.begin (20, 4) untuk memberitahu Arduino bahawa anda menggunakan LCD 20 baris 4 aksara dan mungkin ada tetapan lain.

Untuk maklumat mengenai pemasangan perpustakaan, lihat:

Di Arduino IDE, anda mungkin perlu menetapkan papan anda dan port yang anda sambungkan. Port boleh didapati di panel kawalan komputer / pengurus peranti / pengawal Bas Serial Universal anda. Anda harus memikirkan Arduino mana yang anda gunakan. Saya menggunakan Arduino Nano tetapi Uno juga berfungsi untuk ini. Pilih tetapan anda dengan teliti.

Anda mungkin perlu mengetahui alamat I2C anda. Anda semestinya dapat membacanya terus dari penerjun papan. Anda juga boleh memuat turun pengimbas I2C dari Arduino.cc atau juga https://www.gammon.com.au/forum/?id=10896 dan tempat-tempat lain.

Di sekitar titik ini, anda seharusnya dapat memuatkan program ke Arduino dan menguji kefungsiannya. Adakah skrin LCD menyala? Bolehkah anda membaca watak? Suatu ketika saya membina litar kemudian mengujinya lampu latar menyala tetapi watak tidak dapat dibaca. Menghabiskan waktu (betul, JAM) mencuba tetapan dan menguatkan sambungan untuk memastikannya dibina dengan betul. Berpantang selama beberapa hari. Kembalilah kemudian dan menyedari perintang berubah pada papan piggyback ditetapkan minimum. Dihidupkan dan watak-watak kelihatan. Bang kepala di atas meja. Sebab lain untuk memukul kepala anda di atas meja? Sekiranya anda perlu menukar bateri, anda mungkin perlu menyesuaikan lagi perintang ubah ini. Ketika ini berlaku, saya memotong lubang kecil di bahagian belakang kotak untuk akses.

Anda mungkin perlu menetapkan nilai butang anda sendiri dalam program ini berdasarkan perintang yang anda gunakan untuk butang anda. Anda boleh menggunakan lakaran kecil yang berguna ini dan ingat untuk mengaktifkan monitor bersiri. Jalankan lakaran dan tekan setiap butang dan tuliskan setiap nilai. Kemudian edit lakaran untuk menggambarkan nilai butang anda. Kemudian muat naik lakaran yang diedit ke papan anda dan lihat apakah ia berfungsi.

Terdapat banyak pemboleh ubah kecil yang semuanya betul dan anda mungkin berbeza daripada yang lain. Bersabar dan mencuba pelbagai perkara akan membantu anda berusaha. Ingat juga setelah anda menetapkan pemboleh ubah Arduino anda (Seperti nama papan, com 3, 5 atau apa sahaja, pemproses dan pengaturcara [semua di bawah alat]) anda mungkin telah menetapkan semuanya dengan betul tetapi tidak berfungsi kerana anda perlu boot semula. Cabut plag Arduino dan pasangkan kembali ke komputer anda. Anda mungkin juga perlu menyimpan dan boot semula komputer anda.

Muat naik lakaran ini, jalankan monitor, tekan butang dan catat nilainya, kemudian edit lakaran Paper Rock Scissors yang menggantikan nilai perintang saya dengan nilai anda. Jalankan lakaran Paper Rock Scissors dan lihat apakah ia berfungsi dengan betul. Oh ya, adakah anda memasang butang anda dalam urutan yang salah? Anda mungkin perlu memasangnya semula jika anda menginginkannya mengikut urutan tertentu.

Berseronok!

Langkah 5: Sketsa Membaca Butang Akan Membantu Anda Mencari Nilai Resist Anda untuk Mengedit Lakaran Utama. Tekan Setiap Butang dan Catat Nilai Perintang Anda untuk Masuk ke dalam Lakaran Utama

// lakaran membaca butang

batal persediaan () {

// masukkan kod persediaan anda di sini, untuk dijalankan sekali:

Serial.begin (9600);

}

gelung kosong () {

// letakkan kod utama anda di sini, untuk dijalankan berulang kali:

int buTTon; // Untuk butang membaca

buTTon = 0; // Untuk butang membaca

buTTon = analogRead (A0); // Perintah digunakan untuk membaca Butang

kelewatan (100);

Serial.println (buTTon);

Langkah 6: Daftar Bahagian dan Alat yang Mungkin Anda Perlu

Senarai Bahagian Dari Amazon:

Arduino Uno atau Arduino Nano

Paparan LCD 20x4 dengan atau tanpa I2C

Kotak bateri 9v atau 6v dengan suis slaid SPST (atau dapatkan suis slaid secara berasingan)

Butang tekan 5x SPST

1x Pull-up Resistor 1k - 5k

Resistor 5x kurang dari 1k, 200 - 500 Ohms bagus

Senarai Bahagian Lokasi atau kedai lain:

Bateri 9v atau 4x 1.5 volt (pilihan 9v membolehkan anda mengitar semula bateri "kebanyakan mati")

Jalur Perintah (menggunakan paket pengisian semula) atau pita lekat dua sisi

Penyambung kabel telefon (pilihan tetapi memudahkan penyambungan wayar)

Beberapa inci dowel 1/4"

Skru kayu kecil untuk memasang dowel ke LCD

Pateri

Panaskan Kecilkan untuk wayar 18 ga

Sekerap atau Bahagian Kitar Semula:

Kotak campuran minuman cappuccino kosong (tidak semua orang mempunyai pencetak 3D, mempunyai cappuccino dan mengitar semula beberapa plastik)

Kira-kira sekeping papan Proto 1 "x 2" walaupun saya menggunakan protoboard dari Amazon

Pelbagai panjang wayar 18ga hingga 22ga atau teras pepejal Cat 5e

Alat yang Mungkin Anda Perlu:

Pemutar skru Philips kecil

Pemutar skru bilah rata kecil

Pisau Exacto

Pateri dan pateri

Gunting tugas berat

Playar mata jarum

Pembaris

Langkah 7: Beberapa Maklumat Lanjut dan Lakaran Utama

Terima kasih kerana membaca. Saya tahu ia banyak. Ini adalah Intructable pertama saya dan ini sahaja sedikit mendidik saya. Mengimbas kembali, saya melihat saya cukup ceria di beberapa tempat dan terlalu ringkas di tempat lain. Saya sepatutnya memecahkan perhimpunan menjadi beberapa langkah. Dan sejak saya membina projek ini kira-kira belasan kali sehingga tepat beberapa gambar adalah dari satu model atau yang lain. Saya perlu kembali dan mengambil gambar hanya satu model. Saya juga mahu memasukkan satu atau dua video. Jadi ya, saya akan kembali dan memperbaiki perkara ini. Tetapi buat masa ini saya memasukkannya ke tangan anda. Saya harap anda seronok membinanya seperti yang saya lakukan. Terima kasih sekali lagi kerana membaca.

Disyorkan: