Isi kandungan:

QuizzPi, Permainan Raspberry Pi Trivia Dengan Python: 7 Langkah (dengan Gambar)
QuizzPi, Permainan Raspberry Pi Trivia Dengan Python: 7 Langkah (dengan Gambar)

Video: QuizzPi, Permainan Raspberry Pi Trivia Dengan Python: 7 Langkah (dengan Gambar)

Video: QuizzPi, Permainan Raspberry Pi Trivia Dengan Python: 7 Langkah (dengan Gambar)
Video: Normal People VS Programmers #coding #python #programming #easy #funny #short 2024, November
Anonim
QuizzPi, Permainan Raspberry Pi Trivia Bersama Python
QuizzPi, Permainan Raspberry Pi Trivia Bersama Python
QuizzPi, Permainan Raspberry Pi Trivia Bersama Python
QuizzPi, Permainan Raspberry Pi Trivia Bersama Python

QuizzPi adalah permainan trivia jenis arked. QuizzPi dilahirkan kerana saya mempunyai keperluan untuk memberi hiburan kepada anak perempuan saya. Dia berumur 7 tahun dan dia sudah menuntut penggunaan teknologi baru, idenya adalah untuk mencipta sesuatu yang menggembirakan dan mendidik.

Keperluan projek:

  • Mudah untuk digunakan
  • Mudah alih
  • Mudah untuk meningkatkan set soalan dan jawapan
  • Jadual skor tinggi

Pelbagai item boleh dikonfigurasi. Anda boleh membuat pangkalan data soalan / jawapan anda sendiri atau anda boleh menggunakan salah satu daripada beberapa pelayan yang menawarkan pangkalan data, di mana anda menentukan jenis soalan, sukar,… Saya buat untuk anak perempuan saya pangkalan data soalan kelas satu, tetapi kami dapat ubah konfigurasi untuk mendapatkan soalan-soalan sepele dari pelayan oline. Versi yang dapat dipelajari ini mendapat soalan dari soalan kolaboratif dan jawapan, Open Trivia Database. Saya telah memilih soalan pengetahuan umum tetapi anda boleh memilih soalan filem, sukan atau agama.

Saya minta maaf atas Bahasa Inggeris saya yang lemah. Saya berbahasa Sepanyol tetapi saya lebih suka membuat arahan ini dalam bahasa Inggeris sehingga dapat menjangkau lebih banyak orang.

Mari pergi!

Langkah 1: Anda Memerlukan Sebilangan Bahan dan Alat …

Anda Memerlukan Sebilangan Bahan dan Alat …
Anda Memerlukan Sebilangan Bahan dan Alat …

Anda pasti mempunyai banyak bahan di rumah…

  • Raspberry Pi 2/3 dengan kad SD 8Gb atau lebih (35 $)
  • Raspberry Pi 3.5 inci LCD dengan casing (11 $). Lihat (ini adalah pilihan, anda boleh menggunakan paparan apa pun yang anda miliki, anda hanya perlu mengubah suai casing QuizzPi)
  • Bateri. Anda boleh menggunakan power bank atau bateri 18650 diy (5 $). Dalam kes saya, saya menggunakan satu bank kuasa Aukey 5000mah (12 $). Lihat
  • Empat butang arked. Saya mempunyai ini di rumah (3 $, 12 butang dengan harga $ 10). Lihat
  • Satu suis hidup / mati (0.25 $). Lihat
  • Dua penyambung USB (0.50 $)
  • Satu kabel USB / mikro USB
  • Satu pembesar suara murah (pilihan) ($ 0.25). Lihat
  • Satu penguat PAM8403 (pilihan) ($ 0.80). Lihat
  • Sebilangan wayar untuk butang pautan, penyambung usb dan suis hidup / mati ke pin GPIO (1 $?)
  • Empat magnet neodymium atau anda boleh menggunakan apa sahaja untuk menutup pintu belakang. Lihat
  • Papan lapis. Saya menggunakan papan lapis 5mm tetapi anda boleh menggunakan apa sahaja yang anda ada di rumah (2 $)

Anda juga memerlukan beberapa alat …

  • Utiliti Pematerian
  • Pemacu skru
  • Pistol panas
  • Pencetak 3D (pilihan)

Mari pergi!

Langkah 2: Mari Reka Casing QuizzPi Keren …

Mari Rancang Kes QuizzPi yang Hebat…
Mari Rancang Kes QuizzPi yang Hebat…
Mari Rancang Kes QuizzPi yang Hebat…
Mari Rancang Kes QuizzPi yang Hebat…

Perkara pertama yang kita perlukan adalah mengetahui berapa banyak ruang yang kita perlukan untuk memasukkan perkakasan (skrin Raspberry + butang + bateri + wayar). Dengan mengambil kira bahagian-bahagian yang dijelaskan pada langkah sebelumnya, saya membuat reka bentuk casing 3D menggunakan pereka 3D dalam talian percuma Tinkercad (Lihat). Sekiranya anda ingin mencetak model casing 3D, anda boleh memuat turunnya dari fail QuizzPi yang dilampirkan.stl.

Pada masa itu saya harus memutuskan sama ada mencetak model pada pencetak 3D saya atau membuatnya dari papan lapis. Saya fikir bahawa untuk anak perempuan saya dapat menghabiskan lebih banyak masa untuk membuatnya dari papan lapis. Oleh itu, saya mendapat rancangan dari model 3D dan memotong kayu.

Langkah seterusnya adalah melekatkan bahagian …

Langkah 3: Membuat Kes Papan Lapis …

Membuat Kes Papan Lapis …
Membuat Kes Papan Lapis …
Membuat Kes Papan Lapis …
Membuat Kes Papan Lapis …
Membuat Kes Papan Lapis …
Membuat Kes Papan Lapis …
Membuat Kes Papan Lapis …
Membuat Kes Papan Lapis …

Setelah saya memotong semua bahagian papan lapis rancangannya, langkah seterusnya adalah melekatkannya. Dalam beberapa gabungan saya meletakkan bala untuk menjadikan kotak lebih kuat. Di bezel saya melukis dengan pensil garis besar skrin LCD, dan memotongnya. Saya membuat empat lubang untuk skru. Sekiranya anda menggunakan skrin yang berbeza, anda mesti mengubahsuai perkara ini.

Pintu belakang ditutup dengan dua magnet terpaku pada pintu dan dua magnet menempel pada casing, jadi saya mengelakkan penggunaan engsel.

Kes QuizzPi selesai…

Langkah 4: Pendawaian GPIO Pin, Pemasangan Raspberry + LCD…

Pin GPIO Pendawaian, Pemasangan Raspberry + LCD…
Pin GPIO Pendawaian, Pemasangan Raspberry + LCD…
Pin GPIO Pendawaian, Pemasangan Raspberry + LCD…
Pin GPIO Pendawaian, Pemasangan Raspberry + LCD…
Pin GPIO Pendawaian, Pemasangan Raspberry + LCD…
Pin GPIO Pendawaian, Pemasangan Raspberry + LCD…

Kita perlu menyambungkan butang ke Raspberry Pi supaya dapat mengetahui butang apa yang ditekan. Butang disambungkan ke pin GPIO. Kami memerlukan empat pin GPIO IN ditambah satu pin GPIO Gnd. Saya menggunakan GPIO pin 31 (GPIO6), 33 (GPIO13), 35 (GPIO19), 37 (GPIO26) dan 39 (Gnd) untuk butang merah, kuning, hijau dan biru. Skrin ini mempunyai antara muka SPI. Ini bermaksud bahawa ia disambungkan ke bank GPIO, jadi pertama-tama saya memasang wayar yang berakhir di segi empat di pin butang dan kemudian saya menyambungkan skrin LCD.

Langkah seterusnya adalah memasang sarung Raspberry + LCD + ke bezel. Saya menggunakan skru kes Raspberry Pi sendiri.

QuizzPi dipasang…

Langkah 5: Bateri, Butang, Suis dan Penyambung USB…

Bateri, Butang, Suis dan Penyambung USB…
Bateri, Butang, Suis dan Penyambung USB…
Bateri, Butang, Suis dan Penyambung USB…
Bateri, Butang, Suis dan Penyambung USB…
Bateri, Butang, Suis dan Penyambung USB…
Bateri, Butang, Suis dan Penyambung USB…

Saya menggunakan Tinkercad sekali lagi untuk merancang klip untuk menahan power bank ke casing tersebut. Saya mencetak klip dengan pencetak 3D saya dan bergabung dengan casing dengan pistol gam panas. Saya melampirkan fail.stl model di bawah. Sekiranya tidak mempunyai akses ke pencetak 3D, anda boleh bergabung dengan power bank dengan pita velcro.

Langkah seterusnya adalah menyambungkan suis hidup / mati antara power bank dan Raspberry Pi. Saya mengambil kabel USB dan saya hanya memotong wayar kuasa, kemudian saya menyolder satu hujung wayar ke satu pin suis hidup / mati dan hujung wayar yang lain ke pin suis hidup / mati yang lain. Oleh itu, apabila suis kuasa mati tidak melalui swtich dan Raspberry dimatikan dan apabila suis kuasa mati melalui swtich dan Raspberry dihidupkan.

Apabila pelepasan power bank adalah masalah untuk mengeluarkannya untuk mengecasnya, jadi saya tidak mahu mengeluarkannya setiap kali untuk dicas. Masalahnya ialah port caj bank kuasa adalah USC jenis C, dan saya hanya mempunyai kabel power bank. Oleh itu, saya menyolder dua penyambung USB wanita dan memasukkannya ke dalam beg itu. Penyambung di dalam untuk menyambungkan kabel power bank, dan penyambung luar untuk menyambungkan kabel kuasa USB.

Mudah untuk meletakkan butang dan memasang kabel. Butang mempunyai 2 pin, satu pin dari setiap butang menghubungkan ke kabel biasa yang menuju ke pin GPIO tanah, dan pin butang yang lain menghubungkan ke pin GPIO raspberry masing-masing. Gambarajah pendawaian ditunjukkan dalam rajah yang dilampirkan.

Sistem suara berdasarkan PAM8403, penguat suara yang murah. Ia perlu kerana suara dari jack Raspberry Pi tidak terlalu kuat untuk membuat pembesar suara berfungsi. Anda perlu mengaktifkannya dengan 5v atau lebih. Dalam gambar yang dilampirkan, anda dapat melihat cara memasang penguat dan pembesar suara. Kami memerlukan bicu 3.5mm lelaki untuk menyambung ke bicu audio / video Rapberry. saya menyolder 3 wayar ke soket: audio, video dan tanah. Gambar rajah yang dilampirkan menunjukkan apa pin semua orang. Kemudian saya menyolder wayar ke suis Hidup / Mati untuk mengambil kuasa dari, dan wayar lain ke wayar arde dari kabel power bank. Kemudian saya menyambungkan wayar dari pembesar suara ke output penguat. Bahagian yang mudah adalah memperuntukkan sistem bunyi dalam kes ini. Anda dapat melihat dalam gambar.

QuizzPi dipasang, di foto terakhir kita masih dapat melihat tanda pensil di atas kayu, tetapi sudah tiba masanya perisian … mari kita buat mesin kuis kecil …

Langkah 6: Imej Rasbian dan Memprogram Mesin Kuiz…

Imej Rasbian dan Memprogram Mesin Kuiz…
Imej Rasbian dan Memprogram Mesin Kuiz…
Imej Rasbian dan Memprogram Mesin Kuiz…
Imej Rasbian dan Memprogram Mesin Kuiz…
Imej Rasbian dan Memprogram Mesin Kuiz…
Imej Rasbian dan Memprogram Mesin Kuiz…
Imej Rasbian dan Memprogram Mesin Kuiz…
Imej Rasbian dan Memprogram Mesin Kuiz…

Kami menekan butang kuasa. Tiada apa yang berlaku. Ya Tuhan! Tidak berjaya! Apa yang mungkin salah? Apa-apa kabel tanpa sambungan? Jangan risau, kami perlu memasang gambar pada kad SD…

Enjin kuiz ditulis dalam Python 3, jadi kami memerlukan gambar Raspbian dengan penyusun Python dipasang. Pada ketika ini kita harus mengambil kira jenis skrin yang telah kita pasang. Skrin saya adalah antara muka SPI, dan penjual memberikan gambar Raspbian dengan semua pemacu skrin dipasang. Versi Raspbian ini juga mempunyai enjin Python. Anda boleh memuat turun gambar ini di pautan ini.

Sekiranya anda mempunyai skrin HDMI atau RCA, anda boleh memuat turun gambar Raspbian terakhir yang terdapat di laman web raspberrypi.org. Perhatian: anda memerlukan versi Desktop Rasbian, jadi elakkan memuat turun gambar Lite Raspbian. Gambar ini mengandungi penyusun Python.

Untuk memasang gambar ke kad SD kita dapat menggunakan aplikasi apa pun. Saya menggunakan Win32diskimager. Kemudian kami memasukkan kad SD ke dalam Raspberry dan tekan suis hidup / mati. Ianya berfungsi! Sekarang kita perlu membuat program Python dengan mesin quizz.

Langkah seterusnya adalah memuat turun fail mesin kuiz. Saya telah melampirkan kod sumber dalam fail QuizzPi.zip. Muat turun sumber dan buat folder di Raspberry Pi:

# mkdir / rumah / pi / QuizzPi

dan buka zip fail yang dimuat turun ke dalam folder ini.

QuizzPi.zip mengandungi fail ini:

  • QuizzPi.py - ia mengandungi kod
  • Fail gambar-p.webp" />
  • Fail suara MP3 - anda boleh menukar untuk memperibadikan
  • losmejores.txt - ia mengandungi jadual Skor Tinggi, anda boleh menghapusnya untuk memulakan jadual
  • Arahan.txt

Saya tidak akan memberikan penjelasan yang menyeluruh tentang bagaimana saya telah memprogramkan kod enjin di Python kerana sukar bagi orang tanpa pengetahuan pengaturcaraan. Mereka hanya perlu menyimpan fail di Raspberry. Orang yang mempunyai pengetahuan pengaturcaraan akan dapat mengubahnya tanpa penjelasan;)

Soalan dan jawapan adalah dari pangkalan data kolaborasi Soalan & Jawapan yang disebut Open Trivia Database, anda boleh dapatkan di sini. Anda boleh mengubah kategori dan sukar soalan menukar baris dalam fail QuizzPi.py:

#Cargo desde URLurl = 'https://opentdb.com/api.php?amount=10&type=multiple'

berubah dengan url yang diperoleh dari configurator api

Saya merancang skrin permainan di Photoshop, anda boleh mengubahnya. Anda hanya perlu mengekalkan beberapa kawasan putih di layar soalan, di layar hasil dan skrin skor tinggi kerana mesin permainan menuliskannya.

Anda juga boleh memperibadikan suara permainan. Anda hanya perlu menukar fail.mp3 oleh orang lain yang anda mahukan, anda mesti mengekalkan nama yang sama. Anda boleh mendapat banyak suara dari pangkalan data dalam talian, saya mendapat tambang dari Free Sound Effect.

Sekarang anda mesti mengubahsuai Raspbian anda untuk menjalankan QuizzPi secara automatik. Anda boleh membaca artikel ini di mana menerangkan cara melakukannya:

Kami telah selesai !!!

Langkah 7: Demonstrasi …

Image
Image

Untuk menyelesaikan arahan ini, anda dapat melihat video ini. Anda dapat melihatnya senang digunakan dan soalan yang sukar bergantung kepada anda …

Edit: video dikemas kini sekarang dengan suara!

Peraduan Mikrokontroler
Peraduan Mikrokontroler

Naib Johan dalam Peraduan Mikrokontroler

Disyorkan: