Სარჩევი:

QuizzPi, Raspberry Pi Trivia თამაში Python– ით: 7 ნაბიჯი (სურათებით)
QuizzPi, Raspberry Pi Trivia თამაში Python– ით: 7 ნაბიჯი (სურათებით)

ვიდეო: QuizzPi, Raspberry Pi Trivia თამაში Python– ით: 7 ნაბიჯი (სურათებით)

ვიდეო: QuizzPi, Raspberry Pi Trivia თამაში Python– ით: 7 ნაბიჯი (სურათებით)
ვიდეო: QuizzPi, a Raspberry Pi trivia game 2024, ივლისი
Anonim
QuizzPi, Raspberry Pi წვრილმანი თამაში პითონთან ერთად
QuizzPi, Raspberry Pi წვრილმანი თამაში პითონთან ერთად
QuizzPi, Raspberry Pi წვრილმანი თამაში პითონთან ერთად
QuizzPi, Raspberry Pi წვრილმანი თამაში პითონთან ერთად

QuizzPi არის არკადული ტიპის წვრილმანი თამაში. QuizzPi დაიბადა იმიტომ, რომ მე მჭირდებოდა ჩემი ქალიშვილის გართობა. ის 7 წლისაა და ის უკვე მოითხოვს ახალი ტექნოლოგიების გამოყენებას, იდეა იყო ისეთი რაღაცის შექმნა, რაც სახალისოც იყო და საგანმანათლებლოც.

პროექტის მოთხოვნები:

  • ადვილად გამოსაყენებელი
  • პორტატული
  • ადვილია კითხვებისა და პასუხების ნაკრების განახლება
  • მაღალი ქულების ცხრილი

მრავალი ელემენტი კონფიგურირებადია. თქვენ შეგიძლიათ შექმნათ თქვენი შეკითხვების/პასუხების მონაცემთა ბაზა, ან გამოიყენოთ ერთ – ერთი მრავალი სერვერი, რომელიც გთავაზობთ მონაცემთა ბაზას, სადაც თქვენ გადაწყვეტთ კითხვების ტიპს, რთულ… მე შევქმენი ჩემი ქალიშვილისთვის პირველი კლასის კითხვების მონაცემთა ბაზა, მაგრამ ჩვენ შეგვიძლია შეცვალეთ კონფიგურაცია წვრილმანი კითხვების მისაღებად ოლინის სერვერისგან. ეს სასწავლო ვერსია მიიღებს კითხვებს ერთობლივი კითხვებიდან და პასუხებიდან, ღია წვრილმანების მონაცემთა ბაზა. მე შევარჩიე ზოგადი ცოდნის კითხვები, მაგრამ თქვენ შეგიძლიათ აირჩიოთ ფილმის, სპორტის ან რელიგიის საკითხები.

ბოდიშს ვიხდი ჩემი ცუდი ინგლისურისთვის. მე ესპანელი ვარ, მაგრამ მირჩევნია შევქმნა ეს ინგლისურად სასწავლო, რათა ის უფრო მეტ ადამიანს მიაღწიოს.

Წავედით!

ნაბიჯი 1: თქვენ გჭირდებათ მასალები და ინსტრუმენტები…

გჭირდებათ მასალები და ინსტრუმენტები…
გჭირდებათ მასალები და ინსტრუმენტები…

თქვენ ნამდვილად გაქვთ მასალების უმეტესობა სახლში …

  • Raspberry Pi 2/3 8 GB ან მეტი SD ბარათით (35 $)
  • Raspberry Pi 3.5 ინჩიანი LCD ყუთით (11 $). იხილეთ (ეს არჩევითია, თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი ჩვენება, რომელიც თქვენ გჭირდებათ, თქვენ მხოლოდ QuizzPi ქეისის შეცვლა გჭირდებათ)
  • ბატარეები. თქვენ შეგიძლიათ გამოიყენოთ დენის ბანკი ან გამოიყენოთ წვრილმანი 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 $)

თქვენ ასევე გჭირდებათ ინსტრუმენტები…

  • Soldering Utilities
  • ხრახნიანი დრაივერები
  • ცხელი იარაღი
  • 3D პრინტერი (სურვილისამებრ)

Წავედით!

ნაბიჯი 2: მოდით შევქმნათ მაგარი QuizzPi საქმე…

მოდით შევქმნათ მაგარი QuizzPi საქმე…
მოდით შევქმნათ მაგარი QuizzPi საქმე…
მოდით შევქმნათ მაგარი QuizzPi საქმე…
მოდით შევქმნათ მაგარი QuizzPi საქმე…

პირველი რაც ჩვენ გვჭირდება არის ვიცოდეთ რამდენი სივრცე გვჭირდება აპარატურის დასაყენებლად (ჟოლო + ეკრანი + ღილაკები + ბატარეა + მავთულები). წინა საფეხურზე აღწერილი ნაწილების გათვალისწინებით, მე გავაკეთე შემთხვევის 3D დიზაინი უფასო ონლაინ 3D დიზაინერის Tinkercad გამოყენებით (იხ.). თუ გსურთ საქმის 3D მოდელის დაბეჭდვა, შეგიძლიათ გადმოწეროთ თანდართული ფაილიდან QuizzPi ქეისი.სტლ

იმ მომენტში მე უნდა გადავწყვიტო მოდელი დაბეჭდო ჩემს 3D პრინტერზე თუ პლაივუდისგან. ვიფიქრე, რომ ჩემი ქალიშვილისთვის მე შევძლებდი ცოტა მეტი დროის დახარჯვას პლაივუდისგან. ასე რომ, მე ვიღებ გეგმებს 3D მოდელიდან და ვჭრი ხეს.

შემდეგი ნაბიჯი არის ნაწილების ცხელი წებო…

ნაბიჯი 3: პლაივუდის ქეისის დამზადება…

პლაივუდის ყუთის დამზადება…
პლაივუდის ყუთის დამზადება…
პლაივუდის ყუთის დამზადება…
პლაივუდის ყუთის დამზადება…
პლაივუდის ყუთის დამზადება…
პლაივუდის ყუთის დამზადება…
პლაივუდის ყუთის დამზადება…
პლაივუდის ყუთის დამზადება…

მას შემდეგ რაც გეგმის პლაივუდის ყველა ნაწილი დავჭრა, შემდეგი ნაბიჯი არის მათი ცხელი წებო. ზოგიერთ მიერთებაში ჩავამატე გამაგრება, რათა ყუთი გამყარებულიყო. ჩარჩოში ფანქრით ვხატავ LCD ეკრანის მონახაზს და ვჭრი მას. ხრახნებს ვაკეთებ ოთხ ხვრელს. თუ თქვენ იყენებთ სხვა ეკრანს, თქვენ უნდა შეცვალოთ ეს ნივთი.

უკანა კარი იკეტება ორი მაგნიტით, რომელიც მიმაგრებულია კარზე და ორი მაგნიტი წებოთი კორპუსზე, ამიტომ თავიდან ავიცილებ სახსრების გამოყენებას.

QuizzPi საქმე დასრულებულია…

ნაბიჯი 4: GPIO ქინძისთავების გაყვანილობა, ჟოლოს+LCD– ის დაყენება…

GPIO ქინძისთავების გაყვანილობა, ჟოლოს+LCD დამონტაჟება…
GPIO ქინძისთავების გაყვანილობა, ჟოლოს+LCD დამონტაჟება…
GPIO ქინძისთავების გაყვანილობა, ჟოლოს+LCD დამონტაჟება…
GPIO ქინძისთავების გაყვანილობა, ჟოლოს+LCD დამონტაჟება…
GPIO ქინძისთავების გაყვანილობა, ჟოლოს+LCD დამონტაჟება…
GPIO ქინძისთავების გაყვანილობა, ჟოლოს+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+კორპუსის დამონტაჟება ჩარჩოზე. მე გამოვიყენე Raspberry Pi საქმის საკუთარი ხრახნები.

QuizzPi დამონტაჟებულია…

ნაბიჯი 5: ბატარეა, ღილაკები, გადამრთველი და USB კონექტორი…

ბატარეა, ღილაკები, გადამრთველი და USB კონექტორი…
ბატარეა, ღილაკები, გადამრთველი და USB კონექტორი…
ბატარეა, ღილაკები, გადამრთველი და USB კონექტორი…
ბატარეა, ღილაკები, გადამრთველი და USB კონექტორი…
ბატარეა, ღილაკები, გადამრთველი და USB კონექტორი…
ბატარეა, ღილაკები, გადამრთველი და USB კონექტორი…

მე ისევ Tinkercad გამოვიყენე კლიპის შესაქმნელად, რათა დენის ბანკი დამდგარიყო საქმისთვის. მე დავბეჭდე კლიპი ჩემი 3D პრინტერით და შევუერთდი საქმეს ცხელი წებოს პისტოლეტით. ქვემოთ ვამაგრებ მოდელის.stl ფაილს. თუ არ გაქვთ წვდომა 3D პრინტერზე, შეგიძლიათ შეუერთდეთ Power Bank– ს Velcro ლენტით.

შემდეგი ნაბიჯი არის ჩართვა/გამორთვის გადამრთველი დენის ბანკსა და Raspberry Pi- ს შორის. ავიღე USB კაბელი და გავთიშე მხოლოდ დენის მავთული, შემდეგ ერთი მავთულის ბოლო შევაერთე ჩართვის/გამორთვის ერთ პინზე და მეორე მავთულის ბოლო მეორე ჩართვის/გამორთვის ჩამრთველს. ასე რომ, როდესაც გამორთული დენის ჩართვა არ გადის სვიტიჩზე და ჟოლო გამორთულია და როდესაც ჩართვის ჩართვა გადის სვიტიჩზე და ჟოლო ჩართულია.

როდესაც დენის ბანკის დათხოვნა პრობლემაა მისი ამოღება საქმის დასატენად, ამიტომ არ მინდოდა მისი ამოღება ყოველ ჯერზე დასატენად. პრობლემა ის იყო, რომ დენის ბანკის დატენვის პორტი არის USC ტიპის C და მე მქონდა მხოლოდ დენის ბანკის კაბელი. ასე რომ, მე გავამაგრე ორი ქალი USB კონექტორი და ჩავდე ქეისში. კონექტორი შიგნით დენის ბანკის კაბელის დასაკავშირებლად, ხოლო გარე კონექტორი USB დენის კაბელის დასაკავშირებლად.

ღილაკების განთავსება და გაყვანილობა ადვილი იყო. ღილაკებს აქვთ 2 ქინძი, თითოეული ღილაკის ერთი პინი უკავშირდება საერთო კაბელს, რომელიც მიდის GPIO გრუნტზე, ხოლო ღილაკის მეორე პინი უკავშირდება ჟოლოს შესაბამის GPIO პინს. გაყვანილობის დიაგრამა ნაჩვენებია თანდართულ დიაგრამაში.

ხმის სისტემა დაფუძნებულია PAM8403– ზე, იაფი ხმის გამაძლიერებელი. ეს აუცილებელია, რადგან Raspberry Pi- ის ბუდედან ხმა არ არის ისეთი ძლიერი, რომ სპიკერი იმუშაოს. თქვენ უნდა ჩართოთ 5 ვ ან მეტი. თანდართულ სურათებში შეგიძლიათ ნახოთ როგორ დააკავშიროთ გამაძლიერებელი და დინამიკი. ჩვენ გვჭირდება 3,5 მმ მამრობითი ჯეკი Rapberry– ის აუდიო/ვიდეო ჯეკთან დასაკავშირებლად. მე შევაერთე 3 მავთული ჯეკს: აუდიო, ვიდეო და მიწა. თანდართული დიაგრამა გვიჩვენებს, რა არის ყველა პინი. შემდეგ მე შევაერთე მავთული ჩართვის/გამორთვის გადამრთველზე ენერგიის მისაღებად და კიდევ ერთი მავთული დენის ბანკის კაბელიდან. შემდეგ მე ვუკავშირდები მავთულს დინამიკიდან გამაძლიერებლის გამოსავალზე. მარტივი ნაწილი არის ხმის სისტემის გამოყოფა საქმეში. თქვენ შეგიძლიათ ნახოთ სურათებში.

QuizzPi დამონტაჟებულია, ბოლო ფოტოზე ჩვენ კვლავ ვხედავთ ფანქრების ნიშნებს ხეზე, მაგრამ დროა პროგრამული უზრუნველყოფა … მოდით წავიდეთ პატარა ვიქტორინის ძრავის შესაქმნელად…

ნაბიჯი 6: რასბიანის გამოსახულება და ვიქტორინის პროგრამირება…

რასბიანის გამოსახულება და ვიქტორინის პროგრამირება…
რასბიანის გამოსახულება და ვიქტორინის პროგრამირება…
რასბიანის გამოსახულება და ვიქტორინის პროგრამირება…
რასბიანის გამოსახულება და ვიქტორინის პროგრამირება…
რასბიანის გამოსახულება და ვიქტორინის პროგრამირება…
რასბიანის გამოსახულება და ვიქტორინის პროგრამირება…
რასბანის გამოსახულება და ვიქტორინის პროგრამირება…
რასბანის გამოსახულება და ვიქტორინის პროგრამირება…

ჩვენ ვაჭერთ დენის ღილაკს. არაფერი ხდება. Ღმერთო ჩემო! არაუშავს! რისი ბრალი შეიძლება იყოს? რაიმე კაბელი კავშირის გარეშე? არ ინერვიულოთ, ჩვენ უნდა დავაყენოთ სურათი SD ბარათზე…

ვიქტორინის ძრავა ჩაწერილია პითონში 3, ასე რომ ჩვენ გვჭირდება Raspbian სურათი პითონის შემდგენლის დაყენებით. ამ ეტაპზე ჩვენ უნდა გავითვალისწინოთ ჩვენ მიერ დაყენებული ეკრანის ტიპი. ჩემი ეკრანი არის SPI ინტერფეისი და გამყიდველი იძლევა Raspbian გამოსახულებას დაყენებული ყველა ეკრანის დრაივერით. Raspbian– ის ამ ვერსიას აქვს პითონის ძრავაც. თქვენ შეგიძლიათ გადმოწეროთ ეს სურათი ამ ბმულზე.

თუ თქვენ გაქვთ HDMI ან RCA ეკრანი, შეგიძლიათ ჩამოტვირთოთ ბოლო Raspbian სურათი, რომელიც ხელმისაწვდომია raspberrypi.org საიტზე. ყურადღება: თქვენ გჭირდებათ Desktop Rasbian ვერსია, ასე რომ მოერიდეთ Lite Raspbian სურათის გადმოტვირთვას. ეს სურათები შეიცავს პითონის შემდგენელს.

SD ბარათზე გამოსახულების დასაყენებლად ჩვენ შეგვიძლია გამოვიყენოთ ნებისმიერი აპლიკაცია. მე ვიყენებ Win32diskimager- ს. შემდეგ ჩვენ ჩავსვამთ SD ბარათს ჟოლოში და ვუშვებთ ჩართვას/გამორთვას. Მუშაობს! ახლა ჩვენ უნდა შევქმნათ პითონის პროგრამა ვიქტორინის ძრავით.

შემდეგი ნაბიჯი არის ვიქტორინის ძრავის ფაილების ჩამოტვირთვა. მე დავამატე წყაროს კოდი ფაილში QuizzPi.zip. ჩამოტვირთეთ წყარო და შექმენით საქაღალდე Raspberry Pi– ში:

# mkdir/home/pi/QuizzPi

და გახსენით ამ საქაღალდეში გადმოწერილი ფაილი.

QuizzPi.zip შეიცავს ამ ფაილებს:

  • QuizzPi.py - ის შეიცავს კოდს
  • MP3 ხმოვანი ფაილები - თქვენ შეგიძლიათ შეცვალოთ პერსონალიზაცია
  • losmejores.txt - ის შეიცავს მაღალი ქულების ცხრილს, შეგიძლიათ წაშალოთ ის ცხრილის დასაწყებად
  • ინსტრუქციები. Txt

მე არ მივცემ ამომწურავ ახსნას, თუ როგორ დავპროგრამე ძრავის კოდი პითონში, რადგან ძნელია ადამიანებისთვის პროგრამირების ცოდნის გარეშე. მათ მხოლოდ ფაილების შენახვა სჭირდებათ ჟოლოში. პროგრამირების ცოდნის მქონე ადამიანებს შეეძლებათ შეცვალონ იგი ყოველგვარი ახსნის გარეშე;)

კითხვები და პასუხები მოცემულია კითხვა -პასუხის ერთობლივი მონაცემთა ბაზიდან სახელწოდებით 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

ამ ინსტრუქციის დასასრულებლად შეგიძლიათ ნახოთ ეს ვიდეო. თქვენ ხედავთ, რომ მისი გამოყენება მარტივია და კითხვების სირთულე თქვენზეა დამოკიდებული…

რედაქტირება: ვიდეო ახლა განახლებულია ხმით!

მიკროკონტროლერის კონკურსი
მიკროკონტროლერის კონკურსი

მეორე ადგილი მიკროკონტროლერის კონკურსში

გირჩევთ: