Агуулгын хүснэгт:

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: Танд зарим материал, багаж хэрэгсэл хэрэгтэй болно …

Танд зарим материал, багаж хэрэгсэл хэрэгтэй болно …
Танд зарим материал, багаж хэрэгсэл хэрэгтэй болно …

Та ихэнх материалыг гэртээ байгаа нь гарцаагүй …

  • Raspberry Pi 2/3 нь 8Gb ба түүнээс дээш SD карттай (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 кейс зохион бүтээцгээе …

Бидэнд хэрэгтэй хамгийн эхний зүйл бол тоног төхөөрөмж (бөөрөлзгөнө + дэлгэц + товчлуур + зай + утас) оруулахын тулд хичнээн их зай хэрэгтэйг мэдэх явдал юм. Өмнөх алхамд тайлбарласан хэсгүүдийг харгалзан би үнэгүй 3D 3D дизайнер Tinkercad ашиглан хэргийг 3D хэлбэрээр хийв. Хэрэв та хэргийн 3D загварыг хэвлэхийг хүсвэл QuizzPi хавтаснаас татаж авч болно..stl

Тухайн үед би загвараа 3D принтер дээрээ хэвлэх үү, эсвэл фанераар хийх үү гэдгээ шийдэх хэрэгтэй болсон. Охиныхоо төлөө фанераар хийхдээ арай илүү цаг зарцуулж чадна гэж бодсон. Тиймээс би 3D загвараас төлөвлөгөөгөө аваад модоо тайрч байна.

Дараагийн алхам бол эд ангиудыг халуун цавуугаар наах явдал юм.

Алхам 3: Фанер хайрцаг хийх …

Фанер хайрцаг хийж байна …
Фанер хайрцаг хийж байна …
Фанер хайрцаг хийж байна …
Фанер хайрцаг хийж байна …
Фанер хайрцаг хийж байна …
Фанер хайрцаг хийж байна …
Фанер хайрцаг хийж байна …
Фанер хайрцаг хийж байна …

Төлөвлөгөөний фанер хэсгүүдийг хайчилж авсны дараа дараагийн алхам бол халуун нааж болно. Зарим нэгдэлд би хайрцгийг илүү бат бөх болгохын тулд арматур тавьсан. Бүрхүүл дээр би харандаагаар LCD дэлгэцийн тоймыг зураад хайчилж ав. Би боолттой дөрвөн нүх гаргадаг. Хэрэв та өөр дэлгэц ашиглаж байгаа бол үүнийг өөрчлөх ёстой.

Арын хаалга нь хаалган дээр наасан хоёр соронз, хайрцагт наалдсан хоёр соронзоор хаагддаг тул нугас ашиглахаас зайлсхийдэг.

QuizzPi -ийн хэрэг дууссан …

Алхам 4: GPIO зүү холбох, Raspberry+LCD холбох …

GPIO зүү холбох, Raspberry+LCD холбох …
GPIO зүү холбох, Raspberry+LCD холбох …
GPIO зүү холбох, Raspberry+LCD холбох …
GPIO зүү холбох, Raspberry+LCD холбох …
GPIO зүү холбох, Raspberry+LCD холбох …
GPIO зүү холбох, 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+хайрцгийг хүрээ дээр суурилуулах явдал байв. Би Raspberry Pi -ийн хайрцгийг ашиглаж байсан.

QuizzPi суулгасан байна …

Алхам 5: Батерей, товчлуур, унтраалга, USB холбогч …

Батерей, товчлуур, унтраалга, USB холбогч…
Батерей, товчлуур, унтраалга, USB холбогч…
Батерей, товчлуур, унтраалга, USB холбогч …
Батерей, товчлуур, унтраалга, USB холбогч …
Батерей, товчлуур, унтраалга, USB холбогч…
Батерей, товчлуур, унтраалга, USB холбогч…

Би Tinkercad -ийг ашиглан цахилгаан банкинд бэхлэх хавчаар зохион бүтээв. Би клипээ 3D принтерээр хэвлээд хэрэгт халуун цавуугаар орлоо. Би доорх загварын.stl файлыг хавсаргав. Хэрэв 3D принтер ашиглах боломжгүй бол та цахилгаан банкинд хилэн туузаар холбогдож болно.

Дараагийн алхам бол цахилгаан банк ба Raspberry Pi -ийн хооронд асаах/унтраах холболтыг холбох явдал юм. Би USB кабель аваад зөвхөн цахилгааны утсыг таслаад дараа нь нэг утасны үзүүрийг асаах/унтраах товчлуурын нэг зүү рүү, нөгөө утсыг нөгөө асаах/унтраах зүү рүү гагнав. Тиймээс унтраах хүч нь swtich -ээр дамжихгүй бөгөөд Raspberry унтарч, асаах үед swtich -ээр дамжуулж Raspberry асаалттай байна.

Цахилгаан банк цэнэглэх нь хэргийг цэнэглэхэд асуудал болдог тул би үүнийг цэнэглэхийн тулд гаргаж авахыг хүсээгүй. Асуудал нь цахилгаан банкны цэнэглэх порт нь USC төрөл бөгөөд надад зөвхөн цахилгаан банкны кабель байсан. Тиймээс би хоёр эмэгтэй USB холбогчийг гагнаж, хайрцагт хийв. Цахилгаан банкны кабелийг холбохын тулд доторх холбогч, USB холболтын кабелийг холбохын тулд гадна талын холбогч.

Товчлууруудыг байрлуулах, утсыг холбоход хялбар байсан. Товчлуурууд нь 2 зүүтэй бөгөөд товчлуур бүрийн нэг зүү нь газрын GPIO зүү рүү явдаг нийтлэг кабелиар холбогддог бол нөгөө товчлуур нь бөөрөлзгөнөтэй холбоотой GPIO зүүтэй холбогддог. Утасны диаграммыг хавсаргасан диаграммд үзүүлэв.

Дууны систем нь хямд үнэтэй дуу өсгөгч PAM8403 дээр суурилагдсан. Raspberry Pi -ийн үүрнээс гарах дуу нь чанга яригчийг ажиллуулахад тийм ч хүчтэй биш тул үүнийг хийх шаардлагатай байна. Та үүнийг 5 вольт ба түүнээс дээш хүчээр тэжээх хэрэгтэй. Хавсаргасан зургуудаас өсгөгч болон чанга яригчийг хэрхэн яаж холбохыг харж болно. Rapberry -ийн аудио/видео үүрэнд холбогдохын тулд бидэнд 3.5 мм хэмжээтэй эрэгтэй үүр хэрэгтэй. Би 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 програмчлах …

Бид цахилгаан товчийг дардаг. Юу ч болдоггүй. Ээ бурхан минь! Энэ нь ажиллахгүй байна! Юу буруу байж болох вэ? Холболтгүй кабель байна уу? Санаа зоволтгүй, бид SD карт дээр зураг суулгах хэрэгтэй байна …

Асуултын хөдөлгүүрийг Python 3 дээр бичсэн тул Python хөрвүүлэгчийг суулгасан Raspbian дүрс хэрэгтэй болно. Энэ тохиолдолд бид суулгасан дэлгэцийн төрлийг анхаарч үзэх хэрэгтэй. Миний дэлгэц бол SPI интерфэйс бөгөөд худалдагч нь бүх дэлгэцийн драйверуудыг суулгасан Raspbian дүрсийг өгдөг. Raspbian -ийн энэ хувилбар нь Python хөдөлгүүртэй. Та энэ зургийг энэ линкээс татаж авах боломжтой.

Хэрэв та HDMI эсвэл RCA дэлгэцтэй бол raspberrypi.org сайт дээр байгаа хамгийн сүүлийн Raspbian зургийг татаж авах боломжтой. Анхаарна уу: танд ширээний Rasbian хувилбар хэрэгтэй тул Lite Raspbian зургийг татаж авахаас зайлсхий. Энэ зураг нь Python хөрвүүлэгчийг агуулдаг.

Зургийг SD карт дээр суулгахын тулд бид ямар ч програм ашиглаж болно. Би Win32diskimager ашигладаг. Дараа нь бид SD картыг Raspberry -д оруулаад асаах/унтраах товчийг дарна. Энэ нь ажилладаг! Одоо бид quizz хөдөлгүүртэй Python програм үүсгэх хэрэгтэй.

Дараагийн алхам бол асуулт хариултын системийн файлуудыг татаж авах явдал юм. Би QuizzPi.zip файлд эх кодыг хавсаргав. Эх сурвалжийг татаж аваад Raspberry Pi дээр хавтас үүсгэнэ үү.

# mkdir/home/pi/QuizzPi

мөн энэ фолдерт татаж авсан файлыг задлах.

QuizzPi.zip нь дараахь файлуудыг агуулдаг.

  • QuizzPi.py - энэ кодыг агуулдаг
  • MP3 дууны файлууд - та хувийн болгохын тулд өөрчилж болно
  • losmejores.txt - энэ нь өндөр онооны хүснэгтийг агуулдаг бөгөөд та хүснэгтийг эхлүүлэхийн тулд үүнийг устгаж болно
  • Заавар.txt

Python дээр хөдөлгүүрийн кодыг хэрхэн програмчилсан талаар би бүрэн тайлбар өгөхгүй, учир нь програмчлалын мэдлэггүй хүмүүст хэцүү байдаг. Тэд зөвхөн Raspberry дээрх файлуудыг хадгалах хэрэгтэй. Програмчлалын мэдлэгтэй хүмүүс үүнийг ямар ч тайлбаргүйгээр өөрчлөх боломжтой болно;)

Асуулт, хариултыг Open Trivia Database нэртэй Асуулт ба Хариултын мэдээллийн сангаас эндээс олж болно. Та QuizzPi.py файл дахь мөрийг өөрчлөх асуултуудын ангилал, хэцүү хэсгийг өөрчилж болно.

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

api тохируулагч https://opentdb.com/api_config.php -ээс авсан url ашиглан өөрчлөх.

Би Photoshop дээр тоглоомын дэлгэцийг зохион бүтээсэн бөгөөд та тэдгээрийг өөрчилж болно. Тоглоомын хөдөлгүүр дээр бичдэг тул та асуултын дэлгэц, үр дүнгийн дэлгэц болон өндөр онооны дэлгэц дээрх зарим цагаан хэсгийг хадгалах ёстой.

Та тоглоомын дууг өөрчилж болно. Та зөвхөн хүссэн хүмүүсийнхээ.mp3 файлуудыг өөрчлөх ёстой, ижил нэрийг хадгалах ёстой. Та онлайн мэдээллийн баазаас маш олон дуу авиа авах боломжтой, би Free Sound Effects -ээс уурхай авах болно.

Одоо та Raspbian -г QuizzPi -г автоматаар ажиллуулахын тулд өөрчлөх ёстой. Та үүнийг хэрхэн хийхийг тайлбарласан нийтлэлийг уншиж болно:

Бид дууслаа !!!

Алхам 7: Жагсаал …

Image
Image

Энэ зааварчилгааг дуусгахын тулд та энэ видеог үзэж болно. Ашиглахад хялбар бөгөөд асуултуудын хэцүү нь танаас хамаарна гэдгийг та харж байна …

Засварлах: видеог одоо дуугаар шинэчилж байна!

Микроконтроллерийн тэмцээн
Микроконтроллерийн тэмцээн

Микроконтроллерийн тэмцээнд дэд байр эзэлсэн

Зөвлөмж болгож буй: