สารบัญ:

QuizzPi เกม Raspberry Pi Trivia พร้อม Python: 7 ขั้นตอน (พร้อมรูปภาพ)
QuizzPi เกม Raspberry Pi Trivia พร้อม Python: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: QuizzPi เกม Raspberry Pi Trivia พร้อม Python: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: QuizzPi เกม Raspberry Pi Trivia พร้อม Python: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: How to Answer Any Question on a Test 2024, กรกฎาคม
Anonim
QuizzPi เกม Raspberry Pi Trivia พร้อม Python
QuizzPi เกม Raspberry Pi Trivia พร้อม Python
QuizzPi เกม Raspberry Pi Trivia พร้อม Python
QuizzPi เกม Raspberry Pi Trivia พร้อม Python

QuizzPi เป็นเกมเรื่องไม่สำคัญประเภทอาร์เคด QuizzPi เกิดมาเพราะฉันต้องการให้ความบันเทิงกับลูกสาว เธออายุ 7 ขวบและเธอต้องการใช้เทคโนโลยีใหม่ๆ อยู่แล้ว แนวคิดคือการสร้างสิ่งที่ทั้งสนุกและให้ความรู้

ความต้องการของโครงการ:

  • ง่ายต่อการใช้
  • แบบพกพา
  • ง่ายต่อการอัพเกรดชุดคำถามและคำตอบ
  • ตารางคะแนนสูง

หลายรายการสามารถกำหนดค่าได้ คุณสามารถสร้างฐานข้อมูลคำถาม/คำตอบของคุณเอง หรือคุณสามารถใช้เซิร์ฟเวอร์ใดเซิร์ฟเวอร์หนึ่งที่มีฐานข้อมูล ซึ่งคุณตัดสินใจประเภทของคำถาม ยาก … ฉันสร้างฐานข้อมูลสำหรับคำถามชั้นประถมศึกษาปีแรกสำหรับลูกสาวของฉัน แต่เราทำได้ เปลี่ยนการกำหนดค่าเพื่อรับคำถามเล็กน้อยจากเซิร์ฟเวอร์ oline เวอร์ชันที่สอนได้นี้จะถามคำถามจากคำถามและคำตอบร่วมกัน ซึ่งก็คือ Open Trivia Database ฉันเลือกคำถามความรู้ทั่วไป แต่คุณสามารถเลือกคำถามเกี่ยวกับภาพยนตร์ กีฬา หรือศาสนาได้

ฉันขอโทษสำหรับภาษาอังกฤษที่ไม่ดีของฉัน ฉันเป็นคนสเปน แต่ฉันชอบที่จะสร้างคำแนะนำเป็นภาษาอังกฤษเพื่อให้สามารถเข้าถึงผู้คนได้มากขึ้น

ไปกันเถอะ!

ขั้นตอนที่ 1: คุณต้องการวัสดุและเครื่องมือบางอย่าง…

คุณต้องการวัสดุและเครื่องมือบางอย่าง…
คุณต้องการวัสดุและเครื่องมือบางอย่าง…

คุณมีวัสดุส่วนใหญ่ที่บ้านอย่างแน่นอน…

  • Raspberry Pi 2/3 พร้อมการ์ด SD 8Gb ขึ้นไป (35$)
  • Raspberry Pi 3.5 นิ้ว LCD พร้อมเคส (11$) ดู (นี่เป็นทางเลือก คุณสามารถใช้จอแสดงผลใดก็ได้ คุณเพียงแค่แก้ไขเคส QuizzPi เท่านั้น)
  • แบตเตอรี่ คุณสามารถใช้พาวเวอร์แบงค์หรือใช้แบตเตอรี่แบบ DIY 18650 (5$) ในกรณีของฉันฉันใช้ธนาคารพลังงาน Aukey 5000mah (12 เหรียญ) ดู
  • ปุ่มอาร์เคดสี่ปุ่ม ฉันมีสิ่งเหล่านี้ที่บ้าน (3$, 12 ปุ่มสำหรับ 10$) ดู
  • สวิตช์เปิด/ปิดหนึ่งตัว (0.25$) ดู
  • ขั้วต่อ USB สองตัว (0.50$)
  • สาย USB/ไมโคร USB หนึ่งเส้น
  • ลำโพงราคาถูกหนึ่งตัว (อุปกรณ์เสริม) (0.25$) ดู
  • แอมพลิฟายเออร์ PAM8403 หนึ่งตัว (อุปกรณ์เสริม) (0.80$) ดู
  • สายบางเส้นสำหรับเชื่อมโยงปุ่ม ขั้วต่อ usb และสวิตช์เปิด/ปิดไปยังหมุด GPIO (1$?)
  • แม่เหล็กนีโอไดเมียมสี่อันหรือคุณสามารถใช้อะไรก็ได้เพื่อปิดประตูหลัง ดู
  • ไม้อัด. ฉันใช้ไม้อัด 5 มม. แต่คุณสามารถใช้อะไรก็ได้ที่บ้าน (2$)

คุณต้องมีเครื่องมือบางอย่างเช่นกัน…

  • ยูทิลิตี้บัดกรี
  • ไขควงปากแบน
  • ปืนกาวร้อน
  • เครื่องพิมพ์ 3 มิติ (อุปกรณ์เสริม)

ไปกันเถอะ!

ขั้นตอนที่ 2: มาออกแบบเคส QuizzPi สุดเท่…

มาออกแบบเคส QuizzPi สุดเท่…
มาออกแบบเคส QuizzPi สุดเท่…
มาออกแบบเคส QuizzPi สุดเท่…
มาออกแบบเคส QuizzPi สุดเท่…

อย่างแรกเราต้องรู้ก่อนว่าเราต้องรวมฮาร์ดแวร์ไว้กี่พื้นที่ (ราสเบอร์รี่ + หน้าจอ + ปุ่ม + แบตเตอรี่ + สายไฟ) โดยคำนึงถึงส่วนต่างๆ ที่อธิบายไว้ในขั้นตอนก่อนหน้านี้ ฉันทำการออกแบบเคส 3 มิติโดยใช้โปรแกรมออกแบบ 3D ออนไลน์ฟรี Tinkercad (ดู) หากคุณต้องการพิมพ์โมเดล 3 มิติของเคส คุณสามารถดาวน์โหลดได้จากไฟล์แนบ เคส QuizzPi.stl.

ในขณะนั้นฉันต้องตัดสินใจว่าจะพิมพ์แบบจำลองบนเครื่องพิมพ์ 3 มิติของฉันหรือทำจากไม้อัด ฉันคิดว่าการเป็นลูกสาวของฉันฉันสามารถใช้เวลาทำไม้อัดเพิ่มได้อีกเล็กน้อย ดังนั้นฉันจึงได้แผนผังจากแบบจำลอง 3 มิติและตัดไม้

ขั้นตอนต่อไปคือการติดกาวชิ้นส่วน…

ขั้นตอนที่ 3: การสร้างเคสไม้อัด…

ทำกล่องไม้อัด…
ทำกล่องไม้อัด…
ทำกล่องไม้อัด…
ทำกล่องไม้อัด…
ทำกล่องไม้อัด…
ทำกล่องไม้อัด…
ทำกล่องไม้อัด…
ทำกล่องไม้อัด…

เมื่อฉันตัดส่วนไม้อัดทั้งหมดของแผนแล้ว ขั้นตอนต่อไปคือการติดกาวร้อน ในการเข้าร่วมบางส่วนฉันเสริมกำลังเพื่อทำให้กล่องแข็งแกร่งขึ้น ในกรอบ ฉันวาดโครงร่างของหน้าจอ LCD ด้วยดินสอ แล้วตัดออก ฉันทำสี่รูสำหรับสกรู หากคุณใช้หน้าจออื่น คุณต้องแก้ไขสิ่งนี้

ประตูหลังปิดด้วยแม่เหล็ก 2 ตัวติดที่ประตู และแม่เหล็ก 2 ตัวติดกับเคส ดังนั้นฉันจึงหลีกเลี่ยงการใช้บานพับ

เคส QuizzPi เสร็จแล้ว…

ขั้นตอนที่ 4: เดินสายพิน GPIO, ติดตั้ง Raspberry+LCD…

การเดินสายไฟ GPIO Pins, การติด Raspberry+LCD…
การเดินสายไฟ GPIO Pins, การติด Raspberry+LCD…
การเดินสายไฟ GPIO Pins, การติด Raspberry+LCD…
การเดินสายไฟ GPIO Pins, การติด Raspberry+LCD…
การเดินสายไฟ GPIO Pins, การติด Raspberry+LCD…
การเดินสายไฟ GPIO Pins, การติด Raspberry+LCD…

เราจำเป็นต้องเชื่อมต่อปุ่มต่างๆ กับ Raspberry Pi เพื่อให้รู้ว่าปุ่มใดถูกกด ปุ่มเชื่อมต่อกับหมุด GPIO เราต้องการพิน IN GPIO สี่พินบวกหนึ่งพิน Gnd GPIO ฉันใช้ GPIO pin 31 (GPIO6), 33 (GPIO13), 35 (GPIO19), 37 (GPIO26) และ 39 (Gnd) สำหรับปุ่มสีแดง สีเหลือง สีเขียว และสีน้ำเงินตามลำดับ หน้าจอนี้มีอินเทอร์เฟซ SPI ซึ่งหมายความว่ามีการเชื่อมต่อกับธนาคาร GPIO ดังนั้นก่อนอื่นฉันวางสายที่สิ้นสุดในหมุดสี่เหลี่ยมในหมุดปุ่มแล้วจึงเชื่อมต่อหน้าจอ LCD

ขั้นตอนต่อไปคือการติดตั้ง Raspberry+LCD+case เข้ากับกรอบ ฉันใช้สกรูของเคส Raspberry Pi

ติดตั้ง QuizzPi…

ขั้นตอนที่ 5: แบตเตอรี่ ปุ่ม สวิตช์ และขั้วต่อ USB…

แบตเตอรี่ ปุ่ม สวิตช์ และขั้วต่อ USB…
แบตเตอรี่ ปุ่ม สวิตช์ และขั้วต่อ USB…
แบตเตอรี่ ปุ่ม สวิตช์ และขั้วต่อ USB…
แบตเตอรี่ ปุ่ม สวิตช์ และขั้วต่อ USB…
แบตเตอรี่ ปุ่ม สวิตช์ และขั้วต่อ USB…
แบตเตอรี่ ปุ่ม สวิตช์ และขั้วต่อ USB…

ฉันใช้ Tinkercad อีกครั้งเพื่อออกแบบคลิปเพื่อยึดพาวเวอร์แบงค์ไว้กับเคส ฉันพิมพ์คลิปด้วยเครื่องพิมพ์ 3 มิติของฉันและเข้าร่วมเคสด้วยปืนกาวร้อน ฉันแนบไฟล์.stl ของโมเดลด้านล่าง หากไม่มีเครื่องพิมพ์ 3 มิติ คุณสามารถเข้าร่วมพาวเวอร์แบงค์ด้วยเทปเวลโคร

ขั้นตอนต่อไปคือการเชื่อมต่อสวิตช์เปิด/ปิดระหว่างพาวเวอร์แบงค์กับ Raspberry Pi ฉันใช้สาย USB และตัดเฉพาะสายไฟ จากนั้นจึงบัดกรีปลายสายด้านหนึ่งเข้ากับพินหนึ่งของสวิตช์เปิด/ปิด และปลายสายอีกข้างหนึ่งไปยังอีกพินหนึ่งของสวิตช์เปิด/ปิด ดังนั้นเมื่อสวิตช์ปิดไฟไม่ผ่านสวิตช์และ Raspberry ปิดและเมื่อสวิตช์เปิดเครื่องจะผ่านสวิตช์และ Raspberry เปิดอยู่

เมื่อการคายประจุของพาวเวอร์แบงค์เป็นปัญหาในการถอดเคสออกเพื่อชาร์จ ฉันก็เลยไม่อยากถอดทุกครั้งที่ชาร์จ ปัญหาคือพอร์ตชาร์จของพาวเวอร์แบงค์คือ USC type C และฉันมีเฉพาะสายเคเบิลของพาวเวอร์แบงค์เท่านั้น ดังนั้นฉันจึงบัดกรีขั้วต่อ USB ตัวเมียสองตัวแล้วใส่ในเคส ขั้วต่อด้านในสำหรับต่อสายเพาเวอร์แบงค์ และขั้วต่อภายนอกสำหรับต่อสายไฟ USB

การวางปุ่มและการเดินสายไฟทำได้ง่าย ปุ่มต่างๆ มี 2 พิน โดยแต่ละปุ่มจะมีพินหนึ่งพินเชื่อมต่อกับสายเคเบิลทั่วไปที่เชื่อมต่อกับพิน GPIO กราวด์ และอีกพินของปุ่มจะเชื่อมต่อกับพิน GPIO ของราสเบอร์รี่ตามลำดับ แผนภาพการเดินสายไฟจะแสดงในแผนภาพที่แนบมา

ระบบเสียงใช้ PAM8403 ซึ่งเป็นเครื่องขยายเสียงราคาถูก จำเป็นเพราะเสียงที่มาจากแจ็คของ Raspberry Pi นั้นไม่ทรงพลังเกินไปที่จะทำให้ลำโพงทำงานได้ คุณต้องจ่ายไฟด้วย 5v ขึ้นไป ในภาพที่แนบมา คุณสามารถดูวิธีการต่อสายแอมพลิฟายเออร์และลำโพงได้ เราต้องการแจ็ค 3.5 มม. ตัวผู้เพื่อเชื่อมต่อกับแจ็คเสียง/วิดีโอของ Rapberry ฉันบัดกรีสายไฟ 3 เส้นเข้ากับแจ็ค: เสียง วิดีโอ และกราวด์ แผนภาพที่แนบมาแสดงให้เห็นว่าทุกคนเป็นพินอะไร จากนั้นฉันก็บัดกรีลวดเข้ากับสวิตช์เปิด/ปิดเพื่อดึงพลังงานออกมา และลวดอีกเส้นหนึ่งไปยังสายกราวด์จากสายเคเบิลของพาวเวอร์แบงค์ จากนั้นฉันก็เชื่อมต่อสายไฟจากลำโพงกับเอาท์พุตของเครื่องขยายเสียง ส่วนที่ง่ายคือการจัดสรรระบบเสียงในเคส คุณสามารถเห็นในภาพ

ติดตั้ง QuizzPi แล้ว ในรูปสุดท้ายเรายังเห็นรอยดินสอบนไม้ แต่ถึงเวลาของซอฟต์แวร์… ไปสร้างเครื่องมือตอบคำถามเล็กๆ กัน…

ขั้นตอนที่ 6: Rasbian Image และการเขียนโปรแกรม Quiz Engine…

Rasbian Image และการเขียนโปรแกรม Quiz Engine…
Rasbian Image และการเขียนโปรแกรม Quiz Engine…
Rasbian Image และการเขียนโปรแกรม Quiz Engine…
Rasbian Image และการเขียนโปรแกรม Quiz Engine…
Rasbian Image และการเขียนโปรแกรม Quiz Engine…
Rasbian Image และการเขียนโปรแกรม Quiz Engine…
Rasbian Image และการเขียนโปรแกรม Quiz Engine…
Rasbian Image และการเขียนโปรแกรม Quiz Engine…

เรากดปุ่มเปิดปิด ไม่มีอะไรเกิดขึ้น. โอ้พระเจ้า! มันไม่ทำงาน! อาจมีอะไรผิดปกติ? สายเคเบิลใด ๆ ที่ไม่มีการเชื่อมต่อ? ไม่ต้องกังวล เราจำเป็นต้องติดตั้งรูปภาพในการ์ด SD…

เอ็นจิ้นแบบทดสอบเขียนด้วย Python 3 ดังนั้นเราจึงต้องมีอิมเมจ Raspbian ที่ติดตั้งคอมไพเลอร์ Python ณ จุดนี้ เราต้องคำนึงถึงประเภทของหน้าจอที่เราได้ติดตั้งไว้ด้วย หน้าจอของฉันคืออินเทอร์เฟซ SPI และผู้ขายให้ภาพ Raspbian พร้อมติดตั้งไดรเวอร์หน้าจอทั้งหมด Raspbian เวอร์ชันนี้มีเอ็นจิ้น Python ด้วย คุณสามารถดาวน์โหลดภาพนี้ในลิงค์นี้

หากคุณมีหน้าจอ HDMI หรือ RCA คุณสามารถดาวน์โหลดภาพ Raspbian ล่าสุดที่มีอยู่ในเว็บไซต์ raspberrypi.org ข้อควรสนใจ: คุณต้องใช้เวอร์ชันเดสก์ท็อป Rasbian ดังนั้นให้หลีกเลี่ยงการดาวน์โหลดภาพ Lite Raspbian รูปภาพนี้มีคอมไพเลอร์ Python

ในการติดตั้งรูปภาพลงในการ์ด SD เราสามารถใช้แอปพลิเคชันใดก็ได้ ฉันใช้ Win32diskimager จากนั้นเราใส่การ์ด SD ลงใน Raspberry แล้วกดสวิตช์เปิด/ปิด มันได้ผล! ตอนนี้เราต้องสร้างโปรแกรม Python ด้วยเครื่องมือทดสอบ

ขั้นตอนต่อไปคือการดาวน์โหลดไฟล์ของเอ็นจิ้นแบบทดสอบ ฉันได้แนบซอร์สโค้ดในไฟล์ QuizzPi.zip ดาวน์โหลดแหล่งที่มาและสร้างโฟลเดอร์ใน Raspberry Pi:

# mkdir /home/pi/QuizzPi

และแตกไฟล์ที่ดาวน์โหลดมาไว้ในโฟลเดอร์นี้

QuizzPi.zip มีไฟล์นี้:

  • QuizzPi.py - มันมีรหัส
  • ไฟล์ภาพ-p.webp" />
  • ไฟล์เสียง MP3 - คุณสามารถเปลี่ยนเพื่อปรับแต่งได้
  • losmejores.txt - มีตารางคะแนนสูง คุณสามารถลบออกเพื่อเริ่มต้นตารางได้
  • คำแนะนำ.txt

ฉันจะไม่ให้คำอธิบายที่ละเอียดถี่ถ้วนเกี่ยวกับวิธีการที่ฉันตั้งโปรแกรมรหัสเครื่องยนต์ใน Python เพราะมันยากสำหรับผู้ที่ไม่มีความรู้ด้านการเขียนโปรแกรม พวกเขาต้องการบันทึกไฟล์ใน Raspberry เท่านั้น ผู้ที่มีความรู้ด้านการเขียนโปรแกรมจะสามารถแก้ไขได้โดยไม่ต้องอธิบายใดๆ;)

คำถามและคำตอบมาจากฐานข้อมูลการทำงานร่วมกันของคำถามและคำตอบที่เรียกว่า Open Trivia Database คุณสามารถค้นหาได้ที่นี่ คุณสามารถเปลี่ยนหมวดหมู่และความยากของคำถามเปลี่ยนบรรทัดในไฟล์ QuizzPi.py:

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

เปลี่ยนด้วย url ที่ได้รับจากตัวกำหนดค่า api

ฉันออกแบบหน้าจอเกมใน Photoshop คุณสามารถปรับเปลี่ยนได้ คุณต้องรักษาพื้นที่สีขาวบางส่วนไว้ในหน้าจอคำถาม ในหน้าจอผลลัพธ์ และหน้าจอคะแนนสูงเท่านั้น เนื่องจากเอ็นจิ้นเกมเขียนไว้

คุณสามารถปรับแต่งเสียงของเกมได้เช่นกัน คุณต้องเปลี่ยนไฟล์.mp3 โดยผู้อื่นที่คุณต้องการเท่านั้น คุณต้องคงชื่อเดิมไว้ คุณสามารถรับเสียงมากมายจากฐานข้อมูลออนไลน์ ฉันได้เสียงทุ่นระเบิดจากเอฟเฟกต์เสียงฟรี

ตอนนี้ คุณต้องแก้ไข Raspbian ของคุณเพื่อเรียกใช้ QuizzPi โดยอัตโนมัติ คุณสามารถอ่านบทความนี้ที่อธิบายวิธีการทำ:

เราจบแล้ว!!!

ขั้นตอนที่ 7: การสาธิต…

Image
Image

เพื่อให้คำแนะนำนี้เสร็จสิ้นคุณสามารถดูวิดีโอนี้ได้ คุณจะเห็นว่ามันใช้งานง่ายและคำถามยากขึ้นอยู่กับคุณ…

แก้ไข: อัปเดตวิดีโอพร้อมเสียงแล้ว!

การประกวดไมโครคอนโทรลเลอร์
การประกวดไมโครคอนโทรลเลอร์

รองชนะเลิศการประกวดไมโครคอนโทรลเลอร์

แนะนำ: