ዝርዝር ሁኔታ:

የኢንፍራሬድ ሌዘር መለያ ከ Raspberry Pi Zero ጋር: 6 ደረጃዎች (ከስዕሎች ጋር)
የኢንፍራሬድ ሌዘር መለያ ከ Raspberry Pi Zero ጋር: 6 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የኢንፍራሬድ ሌዘር መለያ ከ Raspberry Pi Zero ጋር: 6 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የኢንፍራሬድ ሌዘር መለያ ከ Raspberry Pi Zero ጋር: 6 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: THE WALKING DEAD SEASON 2 COMPLETE GAME 2024, ሀምሌ
Anonim
የኢንፍራሬድ ሌዘር መለያ ከ Raspberry Pi Zero ጋር
የኢንፍራሬድ ሌዘር መለያ ከ Raspberry Pi Zero ጋር

ይህ አስተማሪ የመሠረታዊ አገልጋይ ኮምፒተርን እና ለእያንዳንዱ ተጫዋች የ Raspberry Pi ዜሮ በመጠቀም የኢንፍራሬድ ሌዘር መለያ ጨዋታን ለመፍጠር በሂደቱ ውስጥ ያልፋል። ፕሮጀክቱ ፒን ታላቅ እጩ ከሚያደርገው ከአገልጋዩ ጋር ለመገናኘት በ Wifi ግንኙነት ላይ በእጅጉ ይተማመናል።

በዚህ ፕሮጀክት ውስጥ ጥቅም ላይ የዋለው አገልጋይ ከሊኑክስ ጋር የቆየ ዴስክቶፕ ኮምፒተር ነበር። ኮምፒዩተሩ ልዩ የሆነ ነገር አያስፈልገውም ፣ እና ምናልባትም ከ Raspberry Pi 3. ሊሠራ ይችላል ፣ በጨዋታው ወቅት አገልጋዩ እና እያንዳንዱ የፒሮ ዜሮ ከተመሳሳይ አውታረ መረብ ጋር መገናኘት አለባቸው።

ደረጃ 1: ቁሳቁሶች

ቁሳቁሶች
ቁሳቁሶች
ቁሳቁሶች
ቁሳቁሶች

ለአስፈላጊ ቁሳቁሶች መግለጫው እና አንዳንድ አገናኞች ከዚህ በታች ይታያሉ። ከዚህ በታች ያለው የቁስ ዝርዝር ለ 3 ጠመንጃዎች ነው።

  • የአገልጋይ ኮምፒተር (1)
  • Raspberry Pi Zero W (3) Adafruit
  • ቢያንስ 4 ጊባ ኤስዲ ካርድ (3) አማዞን
  • IR LED አስተላላፊ (3)
  • የ IR ተቀባይ (6) አማዞን
  • ቀይ LED (3)
  • ሰማያዊ LED (3)
  • አረንጓዴ LED (3)
  • Passive Buzzer (3) አማዞን
  • የግፊት አዝራር (6)
  • LCD 16x2 ማያ ገጽ ከ I2C አስማሚ (3) አማዞን ጋር
  • ተንቀሳቃሽ የባትሪ ጥቅል (3) አማዞን
  • ማይክሮ ወደ መደበኛ የዩኤስቢ ገመድ (3) አማዞን
  • PN2222 ትራንዚስተር (3)
  • 100Ω ተከላካይ (3)
  • 1kΩ Resistor (9)

አማራጭ ዕቃዎች

  • ቬስት (3) አማዞን
  • ሪባን ኬብል ቅጥያ (3) አማዞን

በዚህ ፕሮጀክት ውስጥ የእያንዳንዱን ጠመንጃ ጠመንጃ ለማጥበብ እንዲረዳ በአስተላላፊው ዙሪያ ጥቁር ሾጣጣ ካለው የድሮው የሌዘር መለያ ጠመንጃዎች የ IR LED አስተላላፊውን ወስደናል። ሆኖም ፣ ማንኛውም አጠቃላይ አስተላላፊ መሥራት አለበት።

ከላይ ከተዘረዘሩት ዕቃዎች በተጨማሪ ሌዘር ጠመንጃዎቹ ራሳቸው 3 ዲ ታትመዋል። ስለዚህ ይህ ፕሮጀክት እንዲሁ ለ 3 ዲ አታሚ እና ክር መዳረሻ ይፈልጋል። በአጠቃላይ ፣ ለሶስት ጠመንጃዎች ድምር ወደ 350 ዶላር ደርሷል።

ደረጃ 2 የአገልጋይ ማዋቀር

የአገልጋይ ማዋቀር
የአገልጋይ ማዋቀር
የአገልጋይ ማዋቀር
የአገልጋይ ማዋቀር
የአገልጋይ ማዋቀር
የአገልጋይ ማዋቀር

አገልጋዩን ለማዋቀር የሚያስፈልገው የመጀመሪያው ነገር Mosquitto MQTT ደላላ አገልግሎትን መጫን ነው። Mosquitto በጨዋታው ውስጥ ባሉ እያንዳንዱ መሣሪያዎች መካከል የግንኙነት ማዕቀፍ የሚሰጥ አገልግሎት ነው። ይህ አገልጋዩ ከአገልግሎቱ ጋር ለተገናኘ ለእያንዳንዱ ፒስ መልዕክቶችን እንዲልክ ያስችለዋል። በተርሚናል ውስጥ የሚከተሉትን ትዕዛዞች ያሂዱ።

sudo apt-get ዝማኔ

sudo apt-get upgrade sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 ጫን paho-mqtt

ለአገልጋዩ አንዳንድ GUI ዎች የተፈጠሩት ፒጉቡ የተባለ GUI ዲዛይነር በመጠቀም ነው። ይህንን በማሄድ ሊጫን ይችላል-

pip3 ጫን ፒጉቡቡ

ስለ ፒጉቡ ተጨማሪ መረጃ በ https://github.com/alejandroautalan/pygubu ላይ ይገኛል

MQTT እና Pygubu አንዴ ከተጫኑ አዲስ ማውጫ ይፍጠሩ እና የተያያዙ ፋይሎችን ይቅዱ። ማውጫው የሚከተሉትን ማካተት አለበት

  • ltag.py
  • pregame.py
  • game_statistics.py
  • gvars.py
  • pygubu.ui
  • pygubu_limited.ui
  • ቤት. png
  • ራስን.ፒንግ
  • ጠላቶች.png
  • laser.jpg

ማሳሰቢያ - በዚህ ፕሮጀክት ውስጥ ጥቅም ላይ የዋሉት ተያይዘው የቀረቡት ምስሎች በልማት ቡድኑ አልተፈጠሩም ስለዚህ ደራሲነት አይልም።

ደረጃ 3: Raspberry Pi Setup

Raspberry Pi ማዋቀር
Raspberry Pi ማዋቀር

በእያንዳንዱ ደረጃ Raspberry Pis ላይ ይህ እርምጃ መደገም አለበት።

1. ስርዓተ ክወና ጫን

በመጀመሪያ ፣ በ Raspbian አዲስ ጭነት ይጀምሩ። ፒው ለማስተናገድ አነስተኛ ስለሆነ የ Lite ሥሪት እንዲጠቀሙ እንመክራለን ፣ ግን ሁለቱም ሥሪት በጥሩ ሁኔታ መሥራት አለበት። ማውረዱ በ https://www.raspberrypi.org/downloads/raspbian/ ላይ ይገኛል

2. MQTT ን ይጫኑ

በመቀጠል የ MQTT ደላላ አገልግሎትን መጫን አለብን። እኛ Mosquitto ን ለዚህ እንጠቀማለን። በተርሚናል ውስጥ የሚከተሉትን ትዕዛዞች ያሂዱ።

sudo apt-get ዝማኔ

sudo apt-get upgrade sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 ጫን paho-mqtt

Mosquitto በጨዋታው ውስጥ ባሉ እያንዳንዱ መሣሪያዎች መካከል የግንኙነት ማዕቀፍ የሚሰጥ አገልግሎት ነው። ይህ አገልጋዩ ከአገልግሎቱ ጋር ለተገናኘ ለእያንዳንዱ ፒስ መልዕክቶችን እንዲልክ ያስችለዋል።

3. I2C መሳሪያዎችን ይጫኑ

የሚከተለው ትዕዛዝ ለኤልሲዲ ማያ ገጽ የሚያገለግሉ ቤተ -ፍርግሞችን ይጭናል።

sudo apt-get install -y python3-smbus i2c-tools

sudo apt -get install rpi.gpio -y

በ lcddriver.py ፋይል ውስጥ የ i2c አድራሻ መለወጥ ሊያስፈልገው ይችላል። አድራሻውን የሚከተለውን ትዕዛዝ በማስገባት ማግኘት ይቻላል።

i2cdetect -y 1

4. LIRC ን ይጫኑ እና ያዋቅሩ

አዲስ ማውጫ ይፍጠሩ እና የተያያዙ ፋይሎችን ወደዚህ ቦታ ያውርዱ።

አብዛኛዎቹ የበይነመረብ አሳሾች ፋይሎችን ያለ ቅጥያዎች አያወርዱም። በዚህ ዙሪያ ለማግኘት ሁለቱ ፋይሎች በጊዜያዊ ቅጥያዎች ተሰቅለዋል። ሁለቱም “lircrc.deleteExtension” እና “modules.deleteExtension” በእውነቱ ቅጥያ-ያነሰ መሆን አለባቸው እና ፋይሎቹ በተሳካ ሁኔታ ከወረዱ በኋላ ወደ “lircrc” እና “ሞጁሎች” መሰየም አለባቸው።

ይህ ደረጃ ለሊኑክስ ኢንፍራሬድ የርቀት መቆጣጠሪያ (LIRC) ጥቅል ጥገኛዎችን ይጭናል እና ያዋቅራል። ለተጨማሪ መረጃ LIRC ን ለማዋቀር አጋዥ ስልጠናውን በ ላይ ይመልከቱ

ከዚህ በታች ባሉት ትዕዛዞች እንደሚታየው መጀመሪያ ቤተመጽሐፉን ይጫኑ ፣ ከዚያ የተካተቱትን ፋይሎች በየየራሳቸው ማውጫዎች ይቅዱ። በመጨረሻ ፣ የወሲብ አገልግሎቱን እንደገና ያስጀምሩ።

sudo apt-get install python3-lirc -y

ከአዲሱ የተፈጠረ ማውጫ የውቅረት ፋይሎችን ወደ ትክክለኛ ቦታዎቻቸው ለማንቀሳቀስ የሚከተሉትን ትዕዛዞች ያከናውኑ።

sudo mv lircd.conf hardware.conf lircrc lirc_options.conf/etc/lirc/

sudo mv ሞጁሎች /ወዘተ /

ከዚያ በማስኬድ የሊንክ አገልግሎቱን እንደገና ያስጀምሩ-

sudo /etc/init.d/lircd ዳግም ማስጀመር

በመቀጠል /boot /config.txt ፋይልን ያርትዑ እና የሚከተለውን መስመር ያክሉ

dtoverlay = lirc-rpi ፣ gpio_in_pin = 18 ፣ gpio_out_pin = 25

ለውጦቹ እንዲተገበሩ የእርስዎን ፒ ዳግም ያስነሱ።

sudo ዳግም አስነሳ

5. I2C ን ያንቁ እና ለእያንዳንዱ ተጫዋች ደንበኛን ያርትዑ

በመቀጠል ፣ የ I2C በይነገጽን እናነቃለን። ይህ በመጠቀም ሊከናወን ይችላል

sudo raspi-config

እና በ “በይነገጽ አማራጮች” ምናሌ ውስጥ I2C ን ማንቃት።

6. የተጫዋች ደንበኛን እና LTSERVER ን ያርትዑ

የጨዋታው ማውጫ አሁን ቀሪዎቹን አራት ፋይሎች ማካተት አለበት።

  • i2c_lib.py
  • lcddriver.py
  • ltsounds.py
  • ተጫዋች.ፒ

ፒን ለማዋቀር የመጨረሻው ደረጃ እያንዳንዱን ፒአይኤን የደንበኛ ቁጥር መመደብ እና የአገልጋዩን ቦታ ማከል ነው። ይህ ለእያንዳንዱ የተካተተውን “player.py” ፋይል በማስተካከል ሁሉም የተለየ የደንበኛ ቁጥር እንዲኖራቸው ይደረጋል። የደንበኛ ቁጥሩ በ player.py መስመር 3 ላይ ተመድቧል። የመጀመሪያውን ፓይ ደንበኛ “1” ፣ ሁለተኛው “2” ፣ ሦስተኛው ደንበኛ “3” እንዲሆን ይመድቡ።

የ LTSERVER መስመር ወደ አገልጋዩ አይፒ አድራሻ መለወጥ አለበት። ይህ 'ifconfig | grep “inet addr”’በአገልጋዩ ኮምፒተር ተርሚናል ውስጥ።

ደረጃ 4 - የጠመንጃ ስብሰባ

የጠመንጃ ስብሰባ
የጠመንጃ ስብሰባ
የጠመንጃ ስብሰባ
የጠመንጃ ስብሰባ

ከላይ ባለው የሽቦ ዲያግራም እና በእቅዱ መሠረት እያንዳንዱን ጠመንጃዎች ወደ ሽቦ ይቀጥሉ።

እያንዳንዱ ተጓipች በ Pi Zero ላይ ከሚከተሉት የ GPIO ፒኖች ጋር የተገናኙ ናቸው

  • ጩኸት GPIO5
  • ቀስቅሴ: GPIO26
  • ዳግም ጫን ፦ GPIO12
  • IR አስተላላፊ - GPIO25
  • የ IR ተቀባዮች GPIO18
  • ቀይ LED: GPIO17
  • አረንጓዴ LED: GPIO27
  • ሰማያዊ LED: GPIO22
  • I2C_SDA: GPIO2
  • I2C_SCL: GPIO3

ለተጨማሪ ዝርዝሮች ስልታዊውን ይመልከቱ።

ከተፈለገ ሌዘር ጠመንጃዎች የተካተተውን የደረጃ ሞዴል ፋይሎችን በመጠቀም 3 ዲ ሊታተም ይችላል። ሁለቱ ከ “front1STL. STL” ፋይሎች መታተም እንዳለባቸው ያስታውሱ።

ደረጃ 5: የጨዋታ ጨዋታ

የጨዋታ ጨዋታ
የጨዋታ ጨዋታ
የጨዋታ ጨዋታ
የጨዋታ ጨዋታ
የጨዋታ ጨዋታ
የጨዋታ ጨዋታ

ጨዋታው የሚጀምረው “ltag.py” ፋይልን በአገልጋዩ ላይ በማሄድ ነው። አንዴ ይህ ከተደረገ ፣ እያንዳንዱ ተጫዋቾች የየራሳቸውን “player.py” ፋይል በማሄድ ከአገልጋዩ ጋር መገናኘት ይችላሉ።

ማሳሰቢያ -የባትሪውን ጥቅል ከጫኑ በኋላ ፒው እስኪነሳ ድረስ አንድ ደቂቃ ሊወስድ ይችላል።

ፒ አንዴ ከተጀመረ በኋላ የ player.py ፋይልን በራስ -ሰር የሚያከናውን የክሮን ሥራ ማከል ጠቃሚ ሊሆን ይችላል። ይህንን ወደ ሥራ ለመግባት ተቸግረን የ “player.py” ፋይልን ለማስኬድ በእያንዳንዱ ፒስ ላይ በ “/etc/rc.local” ፋይል ላይ መስመር ጨመርን። ይህ የተጫዋቹን ስክሪፕት ለማስኬድ ወደ ፒኤች (SSH) ሳያስገቡ ጨዋታው እንዲጀመር ያስችለዋል።

ጨዋታው በተጫዋቾች ዝግጁ ሆኖ ከተጀመረ ፣ ጥቂት የጨዋታ ቅንብሮች እንዲዋቀሩ የሚፈቅድ GUI ይታያል። የመነሻ ቁልፍ ከተጫነ በኋላ ጨዋታው ይጀምራል።

ከእያንዳንዱ ጨዋታ በኋላ መለያዎችን ፣ ዓለም አቀፋዊ መቶኛዎችን እና የጨዋታ ጊዜን ጨምሮ ስለቀደመው ጨዋታ በስታቲስቲክስ አንድ ማብቂያ GUI ይታያል።

ማሳሰቢያ - በሶፍትዌር ቤተ -መጽሐፍት ውስንነቶች ምክንያት ፣ ትክክለኛው የሪፖርት መለያ ሥፍራዎች ትክክለኛ የሌዘር መለያዎችን አይወክልም። አሁን ባለው ስሪት ፣ የተጫዋች ትክክለኛነት ሪፖርት ምስል በእውነተኛ የመለያ ሥፍራ ትግበራ የወደፊቱን ስሪት ተስፋ በማድረግ ለሥነ -ውበት ብቻ ነው።

ደረጃ 6 - የወደፊት ማሻሻያዎች

የወደፊት ማሻሻያዎች
የወደፊት ማሻሻያዎች
የወደፊት ማሻሻያዎች
የወደፊት ማሻሻያዎች

በአጠቃላይ ፕሮጀክቱ ትልቅ ስኬት ነበር። በመንገድ ላይ ፣ ለወደፊቱ እትም ሊጨመሩ የሚችሉ ጥቂት ተጨማሪ ባህሪያትን አሰብን።

  • ለ 3 ዲ የታተሙ ጠመንጃዎች Sturdier ቀስቅሴ ንድፍ
  • ካለፉት ጨዋታዎች ስታቲስቲክስን ለማሳየት GUI ተቆልቋይ ምናሌን ያጠናቅቃል
  • ከተጫዋቾች ቀሚሶች ጋር ሊጣበቁ የሚችሉ ተጨማሪ የኢንፍራሬድ ተቀባዮች
  • በቅድመ -ጨዋታ GUI ውስጥ ሊመረጡ የሚችሉ ተጨማሪ የጨዋታ ሁነታዎች
  • በተጫዋቾች ስታቲስቲክስ ገጽ ላይ የበለጠ ትክክለኛ የመለያ ሥፍራ ስልተ ቀመር

የሚመከር: