Мазмұны:

QuizzPi, Python көмегімен Raspberry Pi Trivia ойыны: 7 қадам (суреттермен)
QuizzPi, Python көмегімен Raspberry Pi Trivia ойыны: 7 қадам (суреттермен)

Бейне: QuizzPi, Python көмегімен Raspberry Pi Trivia ойыны: 7 қадам (суреттермен)

Бейне: QuizzPi, Python көмегімен Raspberry Pi Trivia ойыны: 7 қадам (суреттермен)
Бейне: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Шілде
Anonim
QuizzPi, Python көмегімен Raspberry Pi Trivia ойыны
QuizzPi, Python көмегімен Raspberry Pi Trivia ойыны
QuizzPi, Python көмегімен Raspberry Pi Trivia ойыны
QuizzPi, Python көмегімен Raspberry Pi Trivia ойыны

QuizzPi - бұл аркада түріндегі тривиа ойын. QuizzPi дүниеге келді, себебі мен қызыма ойын -сауық беруім керек болды. Ол 7 жаста, ол қазірдің өзінде жаңа технологияларды қолдануды талап етеді, идеясы қызықты әрі тәрбиелік мәні бар нәрсені жасау болды.

Жобаға қойылатын талаптар:

  • Қолдануға оңай
  • Портативті
  • Сұрақтар мен жауаптар жиынтығын жаңарту оңай
  • Жоғары балл кестесі

Бірнеше элементтер конфигурациялануы мүмкін. Сіз өзіңіздің сұрақтарыңыздың/жауаптарыңыздың жеке дерекқорын құра аласыз немесе сіз дерекқорды ұсынатын бірнеше серверлердің бірін қолдана аласыз, онда сіз сұрақтардың түрін шешесіз, қиын … мен қызым үшін бірінші сынып сұрақтарының базасын құрдым, бірақ біз жасай аламыз. oline серверінен маңызды емес сұрақтарды алу үшін конфигурацияны өзгертіңіз. Бұл нұсқаулық нұсқаулық сұрақтарды бірлескен сұрақтар мен жауаптардан алады, Open Trivia Database. Мен жалпы білім сұрақтарын таңдадым, бірақ сіз кино, спорт немесе дін сұрақтарын таңдай аласыз.

Мен нашар ағылшын тілім үшін кешірім сұраймын. Мен испанмын, бірақ мен бұл нұсқаулықты ағылшын тілінде жасауды жөн көрдім, сондықтан ол көп адамдарға жетуі мүмкін.

Барайық!

1 -қадам: Сізге кейбір материалдар мен құралдар қажет …

Сізге кейбір материалдар мен құралдар қажет …
Сізге кейбір материалдар мен құралдар қажет …

Сізде көптеген материалдар бар екені анық …

  • 8Gb немесе одан көп SD картасы бар Raspberry Pi 2/3 (35 $)
  • Корпусы бар Raspberry Pi 3,5 дюймдік LCD (11 доллар). Қараңыз (бұл міндетті емес, сіз кез келген дисплейді пайдалана аласыз, ол үшін тек QuizzPi корпусын өзгерту қажет)
  • Батареялар. Сіз қуат банкін пайдалана аласыз немесе DIY 18650 батарея жинағын (5 доллар) пайдалана аласыз. Менің жағдайда мен Aukey 5000mah қуат банкін қолдандым (12 $). Қараңыз
  • Төрт аркада түймесі. Менде бұлар бар (3 $, 10 түймеге 12 түйме). Қараңыз
  • Бір қосу/өшіру қосқышы (0,25 доллар). Қараңыз
  • Екі USB қосқышы (0,50 доллар)
  • Бір USB/микро USB кабелі
  • Бір арзан динамик (міндетті емес) (0,25 доллар). Қараңыз
  • Бір PAM8403 күшейткіші (міндетті емес) (0,80 $). Қараңыз
  • Батырмаларды, USB коннекторын қосуға және GPIO түйреуіштеріне қосуға/өшіруге арналған кейбір сымдар (1 $?)
  • Төрт неодимий магнит немесе артқы есікті жабу үшін кез келген затты қолдануға болады. Қараңыз
  • Фанера. Мен 5 мм фанераны қолдандым, бірақ сізде бар кез келгенді қолдануға болады (2 доллар)

Сізге кейбір құралдар қажет …

  • Дәнекерлеу утилиталары
  • Бұрауыштар
  • Ыстық желім қаруы
  • 3D принтері (міндетті емес)

Барайық!

2 -қадам: QuizzPi -дің керемет корпусын жасайық …

Біз керемет QuizzPi корпусын жасайық …
Біз керемет QuizzPi корпусын жасайық …
Біз керемет QuizzPi корпусын жасайық …
Біз керемет QuizzPi корпусын жасайық …

Бізге қажет бірінші нәрсе - бізде қанша жабдық болуы керек екенін білу (таңқурай + экран + түймелер + батарея + сымдар). Алдыңғы қадамда сипатталған бөліктерді ескере отырып, мен Tinkercad ақысыз 3D дизайнерінің көмегімен корпустың 3D дизайнын жасадым (Қараңыз). Егер сіз корпустың 3D моделін басып шығарғыңыз келсе, оны QuizzPi корпусының файлынан жүктей аласыз..stl

Сол сәтте мен модельді 3D принтерімде басып шығару керек пе, әлде оны фанерден жасау керек пе деген шешімге келдім. Мен қызым үшін фанерадан жасауға біраз уақыт жұмсауға болады деп ойладым. Сондықтан мен 3D моделінен жоспарларды алып, ағаш кесемін.

Келесі қадам-бөлшектерді ыстық желіммен жабыстыру …

3 -қадам: фанера қаптамасын жасау …

Фанера қаптамасы жасалуда…
Фанера қаптамасы жасалуда…
Фанера қаптамасы жасалуда…
Фанера қаптамасы жасалуда…
Фанера қаптамасы жасалуда…
Фанера қаптамасы жасалуда…
Фанера қаптамасы жасалуда…
Фанера қаптамасы жасалуда…

Мен фанераның барлық бөліктерін кесіп алғаннан кейін, келесі қадам-оларды ыстық желіммен жабыстыру. Кейбір қосылыстарда мен қорапты күшейту үшін арматуралар салдым. Панельде қарындашпен СКД экранының контурын сызып, қиып аламын. Мен бұрандалар үшін төрт тесік жасаймын. Егер сіз басқа экранды қолдансаңыз, оны өзгертуіңіз керек.

Артқы есік есікке екі магнитпен және корпусқа екі магнитпен жабылады, сондықтан мен ілмектерді пайдаланудан аулақпын.

QuizzPi ісі аяқталды …

4 -қадам: GPIO түйреуіштерін қосу, таңқурай+СКД орнату …

GPIO түйреуіштерін қосу, таңқурай+СК орнату …
GPIO түйреуіштерін қосу, таңқурай+СК орнату …
GPIO түйреуіштерін қосу, таңқурай+СК орнату …
GPIO түйреуіштерін қосу, таңқурай+СК орнату …
GPIO түйреуіштерін қосу, таңқурай+СК орнату …
GPIO түйреуіштерін қосу, таңқурай+СК орнату …

Біз батырмаларды Raspberry Pi -ге қосуымыз керек, сонда ол қандай батырманың басылғанын біледі. Түймелер GPIO түйреуіштеріне қосылған. Бізге төрт IN GPIO түйреуіші және бір Gnd GPIO түйреуіші қажет. Мен сәйкесінше қызыл, сары, жасыл және көк түймелер үшін GPIO pin 31 (GPIO6), 33 (GPIO13), 35 (GPIO19), 37 (GPIO26) және 39 (Gnd) түйіндерін қолдандым. Бұл экранда SPI интерфейсі бар. Бұл GPIO банкіне қосылғанын білдіреді, сондықтан мен алдымен түйреуіштермен шаршыға аяқталған сымдарды салдым, содан кейін СКД экранын жалғадым.

Келесі қадам - Raspberry+LCD+корпусын тақтаға орнату. Мен Raspberry Pi корпусының өз бұрандаларын қолдандым.

QuizzPi орнатылған …

5 -қадам: Батарея, түймелер, қосқыш және USB қосқышы …

Батарея, түймелер, қосқыш және USB қосқышы …
Батарея, түймелер, қосқыш және USB қосқышы …
Батарея, түймелер, қосқыш және USB қосқышы …
Батарея, түймелер, қосқыш және USB қосқышы …
Батарея, түймелер, қосқыш және USB қосқышы …
Батарея, түймелер, қосқыш және USB қосқышы …

Мен қуат банкін корпуста ұстайтын клип жасау үшін Tinkercad -ты қайтадан қолдандым. Мен клипті 3D принтермен басып шығардым және корпусқа ыстық желімді тапаншамен қосылдым. Мен төмендегі модельдің.stl файлын тіркеймін. Егер сізде 3D принтері болмаса, сіз қуат банкіне велкро таспамен қосылуға болады.

Келесі қадам - қуат банкі мен Raspberry Pi арасындағы қосу/өшіру қосқышын қосу. Мен USB кабелін алдым, мен тек қуат сымын кесіп алдым, содан кейін мен сымның бір ұшын қосу/өшіру қосқышының бір түйреуішіне, ал екінші сымды қосу/өшіру қосқышының басқа істігіне дәнекерледім. Сондықтан сөндіру қуаты свитчтен өтпесе және таңқурай өшірулі болса, қосқыш свичтен өтіп, таңқурай қосулы тұрса.

Қуат банкінің разрядтары оны зарядтауды алып тастауда қиындық туғызады, сондықтан мен оны әр уақытта зарядтауды қаламадым. Мәселе қуат банкінің зарядтау порты USC типті болды, менде тек қуат банкінің кабелі болды. Сондықтан мен екі әйел USB коннекторын дәнекерлеп, корпусты қойдым. Қуат банкінің кабелін жалғау үшін ішіндегі қосқыш, ал сыртқы коннектор - USB қуат кабелін жалғау.

Түймешіктерді орналастыру және оларды сымға қосу оңай болды. Түймелерде 2 түйреуіш бар, әр түйменің бір түйреуі жердегі GPIO түйреуішіне өтетін жалпы кабельге қосылады, ал түйменің екінші түйреуі таңқурайдың сәйкес GPIO түйреуішіне қосылады. Қосылу схемасы бекітілген диаграммада көрсетілген.

Дыбыстық жүйе арзан дыбыс күшейткіші PAM8403 -ке негізделген. Бұл қажет, себебі Raspberry Pi ұясынан шығатын дыбыс динамиктің жұмыс істеуі үшін тым күшті емес. Сіз оны 5В немесе одан да көп қуатпен қамтамасыз етуіңіз керек. Қосылған суреттерде күшейткіш пен динамикті қалай сыммен қосуға болатынын көруге болады. Rapberry дыбыс/бейне ұясына қосылу үшін бізге 3,5 мм еркек ұясы қажет. Мен ұяға 3 сымды жалғадым: аудио, видео және жерге қосу. Қосылған диаграммада әркімнің қандай пин екенін көрсетеді. Содан кейін мен сымды қосу/өшіру қосқышына қуат алу үшін, ал басқа сымды жерге қосу кабелінен жалғадым. Содан кейін мен сымдарды динамиктен күшейткіштің шығысына қосамын. Оңай бөлігі - дыбыстық жүйені жағдайда бөлу. Сіз суреттерден көре аласыз.

QuizzPi орнатылған, соңғы суретте біз әлі де ағаштан қарындаш іздерін көре аламыз, бірақ бағдарламалық жасақтаманың уақыты келді … кішкентай викториналық қозғалтқышты құруға барайық …

6 -қадам: Rasbian бейнесі және викториналық қозғалтқышты бағдарламалау …

Rasbian кескіні және викторина қозғалтқышын бағдарламалау …
Rasbian кескіні және викторина қозғалтқышын бағдарламалау …
Rasbian кескіні және викторина қозғалтқышын бағдарламалау …
Rasbian кескіні және викторина қозғалтқышын бағдарламалау …
Rasbian кескіні мен викториналық бағдарламаны бағдарламалау …
Rasbian кескіні мен викториналық бағдарламаны бағдарламалау …
Rasbian кескіні мен викториналық бағдарламаны бағдарламалау …
Rasbian кескіні мен викториналық бағдарламаны бағдарламалау …

Біз қуат түймесін басамыз. Ештеңе болмайды. О Құдайым-ай! Бұл жұмыс істемейді! Не қате болуы мүмкін? Қосылымсыз кез келген кабель? Уайымдамаңыз, бізге суретті SD картасына орнату керек …

Викторинаның қозғалтқышы Python 3 -те жазылған, сондықтан бізге Python компиляторы орнатылған Raspbian бейнесі қажет. Бұл жағдайда біз орнатқан экран түрін ескеруіміз керек. Менің экраным SPI интерфейсі, ал сатушы барлық экран драйверлері орнатылған Raspbian бейнесін береді. Бұл Raspbian нұсқасында Python қозғалтқышы бар. Сіз бұл суретті мына сілтемеден жүктей аласыз.

Егер сізде HDMI немесе RCA экраны болса, raspberrypi.org сайтында қол жетімді соңғы Raspbian кескінін жүктеуге болады. Назар аударыңыз: сізге Rasbian Desktop нұсқасы қажет, сондықтан Raspbian Lite суретін жүктеуден аулақ болыңыз. Бұл суреттерде Python компиляторы бар.

Суретті SD картасына орнату үшін біз кез келген қосымшаны пайдалана аламыз. Мен Win32diskimager қолданамын. Содан кейін біз SD картаны таңқурайға салып, қосу/өшіру қосқышын басамыз. Ол істейді! Енді бізге викториналық қозғалтқышы бар Python бағдарламасын құру керек.

Келесі қадам - викторина қозғалтқышының файлдарын жүктеу. Мен QuizzPi.zip файлына бастапқы кодты қостым. Дереккөзді жүктеп алып, Raspberry Pi қалтасын жасаңыз:

# mkdir/home/pi/QuizzPi

және осы қалтаға жүктелген файлды ашыңыз.

QuizzPi.zip келесі файлдарды қамтиды:

  • QuizzPi.py - онда код бар
  • MP3 дыбыстық файлдары - жекелендіру үшін өзгертуге болады
  • losmejores.txt - онда жоғары ұпайлар кестесі бар, оны кестені инициализациялау үшін жоюға болады
  • Instructions.txt

Мен Python -да қозғалтқыш кодын қалай бағдарламалағаным туралы толық түсініктеме бермеймін, себебі бағдарламалауды білмейтін адамдарға қиын. Олар тек таңқурайдағы файлдарды сақтау керек. Бағдарламалауды білетін адамдар оны түсіндірусіз өзгерте алады;)

Сұрақтар мен жауаптар Open Trivia Database деп аталатын «Сұрақтар мен жауаптар» бірлескен мәліметтер базасынан алынған, мұнда сіз таба аласыз. QuizzPi.py файлындағы жолды өзгертетін сұрақтардың санаты мен күрделілігін өзгертуге болады:

#Жүктер URLurl = 'https://opentdb.com/api.php?amount=10&type=multiple'

opentdb.com/api_config.php api конфигураторынан алынған url арқылы өзгерту

Мен Photoshop -та ойын экрандарын жасадым, оларды өзгертуге болады. Сұрақтар экранында, нәтижелер экранында және жоғары ұпай экрандарында кейбір ақ аймақтарды сақтау қажет, себебі ойын қозғалтқышы оларға жазады.

Сіз ойынның дыбыстарын жекелендіре аласыз. Сізге қажет басқа.mp3 файлдарын өзгерту қажет, сол атауларды сақтау қажет. Сіз Интернеттегі мәліметтер базасынан көптеген дыбыстарды ала аласыз, мен Free Sound Effects -тен миналар аламын.

Енді сіз QuizzPi -ді автоматты түрде іске қосу үшін Raspbian -ды өзгертуіңіз керек. Сіз мұны қалай жасау керектігін түсіндіретін мақаланы оқи аласыз:

Біз аяқтадық !!!

7 -қадам: демонстрация…

Image
Image

Бұл нұсқаулықты аяқтау үшін сіз бұл бейнені көре аласыз. Көруге болады, оны қолдану оңай, ал сұрақтардың күрделілігі сізге байланысты …

Өңдеу: бейне дыбыспен жаңартылды!

Микроконтроллер сайысы
Микроконтроллер сайысы

Микроконтроллер сайысында екінші орын

Ұсынылған: