ዝርዝር ሁኔታ:
- ደረጃ 1: ቁሳቁሶች እና መሳሪያዎች
- ደረጃ 2: የ LED Strip ን ወደ ትናንሽ ቁርጥራጮች ይቁረጡ
- ደረጃ 3: ማያ ገጹን በአንድ ላይ መሸጥ
- ደረጃ 4 ኮር ኮር ኤሌክትሮኒክስን መሸጥ
- ደረጃ 5 ተቆጣጣሪ
- ደረጃ 6 - ሸሚዝ
- ደረጃ 7 - ፕሮግራሚንግ
- ደረጃ 8: የተጠናቀቀ ምርት
ቪዲዮ: ሸሚዝ ላይ ተጣጣፊ ማያ ገጽ በመጫወት ላይ Pong: 8 ደረጃዎች (ከስዕሎች ጋር)
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:33
ይህ ለዓመቱ የሃሎዊን አለባበሴ ነው። እሱ ለአንድ ዓመት ያህል በስራ ላይ ነበር እና ለመፍጠር ጥቂት የሰው ሰዓታትን ወስዷል። ማያ ገጹ 14 በ 15 ፒክሰሎች ነው ፣ ስለዚህ ፣ በጣም ዝቅተኛ ጥራት ግን አሁንም አንዳንድ አስደሳች ነገሮችን ማድረግ ይችላል። ምንም ጉዳት ሳይደርስ ሊታጠፍ ባይችልም በሁሉም አቅጣጫ በአካል ተለዋዋጭ ነው። በዩኤስቢ በኩል ከአንድ ፕሮ ሜጋ ጋር የተገናኘ ነጠላ አዝራር እና ተንሸራታች ማሰሮ የያዘ መቆጣጠሪያ አለው። ለረጅም ጊዜ በሕይወት ለመቆየት አስፈላጊውን voltage ልቴጅ ለማግኘት በተከታታይ በገመድ የተያዙ ሁለት ግዙፍ 2200 ሚአሰ ባትሪዎችን እና ቀጥሎም 5 ቮልት ተቆጣጣሪ ይጠቀማል። ሁሉም ኤሌክትሮኒክስዎች እንዲወገዱ እና ሸሚዙ እንዲታጠብ በሸሚሱ ውስጠኛ ክፍል ውስጥ በኪስ ውስጥ ይቀመጣሉ። እሱ የፓንጎ ተግባራዊ ጨዋታ ይጫወታል። የተቀየረውን የቶም ጣት ቅርጸ-ቁምፊ ስሪት በመጠቀም “PONG PLAY” በሚሉት ሰማያዊ ፊደላት መጀመሪያ ያስደስተዋል (https://robey.lag.net/2010/01/23/tiny-monospace-font ላይ ይገኛል).html)። ከአምስት ሰከንዶች በኋላ ለመቀጠል ቁልፉን ለመጫን ወይም አዝራሩን ላለመጫን እና ፍጹም ጥሩ ልምድን ለመተው አማራጭ ሊሰጥ ይችላል። አንድ ሰው አዝራሩን ለመጫን ሲመርጥ ጨዋታው ይጀምራል። በቀኝ በኩል ቀይ ቀዘፋ የኮምፒተር መቅዘፊያ እና በቀኝ በኩል ያለው አረንጓዴ መቅዘፊያ ወደ ላይ እና ወደ ታች ለመንቀሳቀስ በተንሸራታች ማሰሮ የሚቆጣጠረው የተጫዋች ቀዘፋ ነው። እያንዳንዱ ጎን አንድ ነጥብ ለማግኘት ሲሞክር ኳሱ ዙሪያውን ይወጣል። ኮምፒዩተሩ ይህንን ማድረግ በማይችልበት ጊዜ ተጫዋቹ ለማፋጠን (ጥሩ ባህርይ) ኳሱን በጫፋቸው ጠርዝ መምታት ይችላል ፣ ይልቁንም ከኳሱ ይልቅ በትንሹ በዝግታ በመንቀሳቀስ ተጣብቋል። አንድ ነጥብ ሲመዘገብ በተቆጣጣሪ ጎኖች መቅዘፊያ ላይ ፒክሰል ወደ ነጭ ይለወጣል። ከታች ጀምሮ በሁለትዮሽ ይቆጥራል። አረንጓዴ ወይም ቀይ ዜሮ እና ነጭ በሆነበት 1. 21 የማሸነፍ ውጤት ነው (ወይም 21 ነጥቦችን በማግኘት ላይ በመጣል) እና ስለዚህ የተጫዋቹ ቀዘፋ 10101 ን ሲያነብ “እርስዎ ያሸንፋሉ” የሚለው ጽሑፍ ይታያል። እንደገና በተሻሻለው ቶም አውራ ጣት ውስጥ። ተመሳሳይ ነገር ይከሰታል ፣ ግን በምትኩ “እርስዎ አጥተዋል”። ካሸነፈ ወይም ከጠፋ በኋላ ጨዋታው ከፖንግ ጨዋታ በኋላ ወደ ነጥቡ እንደገና ይጀምራል። ሙሉ በሙሉ እንደገና ለማስጀመር በ ‹አስማት ሣጥን› ላይ ፣ እንዲሁም ከሁሉም-ከኤሌክትሮኒክስ-ከማያ ገጹ በስተቀር ፣ በመባልም የሚታወቀው ፣ እንደገና ተጭኗል።
ደረጃ 1: ቁሳቁሶች እና መሳሪያዎች
በ * ምልክት የተደረገባቸው ነገሮች አማራጭ ናቸው ፣ ግን ይመክራሉ እናም ስለዚህ በተለየ ቅደም ተከተል ውስጥ… ቁሳቁሶች -4 ያርድ አዳፍ ፍሬ ኒዮፒክስል 60 ፒክሴል በአንድ ሜትር ስትሪፕ 1 ቲሸርት * 1 ጥንድ ተንጠልጣይ 1/2 የጨርቃ ጨርቅ ከበቂ በላይ ይሆናል (ያልሆነ ተጣጣፊ ሽመና ይመረጣል) 1 የዩኤስቢ ቢ ሴት አያያዥ ከተቆራረጠ ቦርድ 1 ማብሪያ/ማጥፊያ ማብሪያ (መቀያየር) 1 ዳግም ማስጀመሪያ መቀየሪያ (መቀያየር ወይም ቅጽበታዊ) 1 ተንሸራታች ፖታቲሞሜትር *1 ተንሸራታች ማሰሮ ቁልፍ 1 ባለ ከፍተኛ አምፖች አያያዥ ጥንድ *1 የፕሮጀክት መያዣ 1 5V 3+ አምፕ ቮልቴጅ ተቆጣጣሪ ትንሽ ትንሽ ፕላስቲክ አንዳንድ የሽያጭ አንዳንድ ሽቦ አንዳንድ ክር *አንዳንድ ትኩስ ሙጫ *አንዳንድ ተጣጣፊ (ምናልባት ከ “አንዳንድ” የበለጠ ሊሆን ይችላል) አንዳንድ ጽናት (ምናልባት ምናልባት የዚህ እውነተኛ ነገር ትንሽ ያስፈልግዎታል) አንዳንድ ሙቀት የሚቀንስ ቱቦ ወይም የኤሌክትሪክ ቴፕ አንዳንድ ሱፐር አንዳንድ ሙጫዎችን በመደገፍ መሣሪያዎች *እገዛ እጆች መደበኛ እጅ ዎች (ወይም ለእነሱ መዳረሻ ያለው ሰው) ብረት ማጠጫ *ሙቅ ሙጫ ጠመንጃ ድሬሜል ወይም የአሸዋ ወረቀት ቺዝ ሽቦ ሽቦዎች ሽቦ መቁረጫዎች ዋና ጠመንጃ ጠመዝማዛ ነጂ ሾው ፒን ስፌት ማሽን የጨርቅ መቀሶች
ደረጃ 2: የ LED Strip ን ወደ ትናንሽ ቁርጥራጮች ይቁረጡ
እርስዎ የመረጡትን የመቁረጫ ዕቃ ይጠቀሙ እና እያንዳንዱን 15 ፒክሰሎች ርዝመቱን በ 14 ክፍሎች ይቁረጡ። እንደ “DO” “DIN” “+5V” እና “GND” ያለ ነገር በመሰየሙ በመዳብ ዱካዎች መካከል ብቻ ይቁረጡ። እሱ ቀድሞውኑ በመዳብ ላይ ከተሸጠ ልክ በትክክል ተቆርጠዋል። በተጋለጠው መዳብ ውስጥ በጣም ብዙ ላለመቁረጥ ይሞክሩ ነገር ግን ትንሽ ጠቅ ካደረጉት ጥሩ ነው። አንዴ 14 ቱ እርከኖች ከተቆረጡ በኋላ ጠርዞቹን ለመሸጥ ከመንገድ ላይ ለማስወጣት ከእያንዳንዱ ጫፍ ትንሽ ጎማውን ይከርክሙት።
ደረጃ 3: ማያ ገጹን በአንድ ላይ መሸጥ
ሽቦውን ወስደው ወደ 3.5 ኢንች (9 ሴ.ሜ) ክፍሎች ይቁረጡ። በእኔ ሁኔታ ፣ በሚሸጡበት ጊዜ ቀጥ ብለው እንዲቆዩ ለማድረግ ሦስት የተለያዩ ቀለሞች አሉኝ ፣ ግን አንድ ቀለም በትክክል ይሠራል። ከእነዚህ 40 ወንዶች መካከል ወደ 40 ገደማ ያስፈልግዎታል ፣ ግን እንደዚያ ከሆነ አንድ ባልና ሚስት የበለጠ ይቁረጡ። አንዴ ሽቦውን ቆርጠው ከጨረሱ በኋላ ጫፎቹን ይከርክሙ እና ይከርክሙ (የሽያጭ ተሞክሮ ካለዎት ወደ ቀጣዩ አንቀጽ መዝለል ይችላሉ) ፣ ይህ ማለት ትንሽ ፕላስቲክን ካስወገዱ በኋላ በእያንዳንዱ ሽቦ ጫፎች ላይ የተወሰነ ብረትን ያስቀምጡ። ሻጩን አያሞቁ እና ወደ ሽቦው ለመሸጋገር አይሞክሩ ፣ ከመዳብ ግርጌ በብረት በሚሸጡበት ብረት ያሞቁ እና ሻጩን በላዩ ላይ ያድርጉት። ታጋሽ ሁን እና ሞቃታማው ሽቦ ሻጩ እስኪቀልጥ ድረስ ይጠብቁ። እሱን ለመጀመር ብየዳውን ብረት ለማሸግ ከባድ ነው (የእኔ ትዕግሥት ማጣት እና እርስዎ ምን እንደሚሰማዎት በትክክል አውቃለሁ) ግን ሻጩ እንዲሁ አይጣበቅም። በእያንዳንዱ የጭረት ክፍሎች ላይ ለተጋለጡ የመዳብ ዱካዎች እንዲሁ ያድርጉ። ቀድሞውኑ ብየዳ ያለው ከሆነ ስለሱ አይጨነቁ። ለጣቢያው በኋላ ትንሽ ለማቅለል ትንሽ ጉብታ መገንባት ይፈልጉ ይሆናል። ከድፋዩ ጋር በሚሰሩበት ጊዜ በፍጥነት ያድርጉት እና ሙቀቱን ወደ ሙቀቱ ለመተግበር ብዙ ጊዜ ላለማሳለፍ ይሞክሩ። በሻጩ ላይ ሻጩን ለማቅለጥ ማድረግ ያለብዎትን ብቻ ያድርጉ። የመጀመሪያው ምልክት እስከ መጨረሻው ድረስ በእያንዳንዱ ዱካ ላይ ሽቦን ያሽጡ (የመጀመሪያው ገመድ ከሽቦዎቹ እና ከአገናኙ ጋር ያለው ፣ ወደ ተጋለጠው ጫፍ ያሽጡት)። እርቃኑን ከተመለከቱ ሽቦውን እስከሸጡበት ጫፍ ድረስ በላዩ ላይ ትናንሽ ቀስቶች ይታያሉ። ቀስቶቹ ወደ ተቃራኒው አቅጣጫ እንዲያመለክቱ ሌላ ሰቅ ይውሰዱ እና ከ GND ዱካ ወደ ሌላኛው የ GND ዱካ ፣ +5V ወደ +5 ቮ ወዘተ የሚመጣውን ሽቦ በብረት ይሽጡ። እርስዎ ከተከተሉዋቸው ወደላይ እና ወደ ታች ዚግ እንዲል ፣ እና በመጨረሻው ረዥም ሰቅ ላይ እንዲዘረጋ ለማድረግ ቀስቶቹ ከእያንዳንዱ ክፍል በኋላ አቅጣጫዎችን እንደሚቀይሩ ያረጋግጡ። አንዴ ሁሉም 14 ቁርጥራጮች ከተሸጡ በኋላ የ LED አምድ ፍርግርግ እንዲፈጥሩ ያድርጓቸው እና ከዚያ መስመር ያድርጓቸው። ከዚያ በኋላ በጥቅሉ ላይ ጉዳት ሳይደርስ ሊወገድ የሚችል ዘዴን በመጠቀም አብረው ያቆዩዋቸው። ስኮትች ቴፕ እጠቀም ነበር። እሱ ሁሉንም ነገር በአንድ ላይ ለማቆየት በቂ ነው ፣ ግን ቀሪውን ለመተው በጣም የተጣበቀ አይደለም። እኔ እንደ ቋሚዎች ወይም የቧንቧ ቴፕ ያሉ ለቋሚነት ማንኛውንም ነገር አልመክርም። አንዴ ሁሉም ነገር አንድ ላይ ከተለጠፈ በኋላ ሽቦው ከታች ከ +5V ወደ ሽቦው ወዲያውኑ ወደሚቀጥለው ወደ ሽቦው ይሸጣል። ጠቅላላው የታችኛው ክፍል እስከሚያልፈው ድረስ የኃይል ቧንቧዎች እስኪኖሩት ድረስ ይድገሙት። የ LED ዎች መስመር እየገፋ ሲሄድ ማያ ገጹ እንዳይደበዝዝ ይህ ነው።
ደረጃ 4 ኮር ኮር ኤሌክትሮኒክስን መሸጥ
የዩኤስቢ ቢ መገንጠያ ሰሌዳውን (BOB) ወደ ዩኤስቢ ቢ አያያዥ ያሽጡ። ተገቢዎቹን ሽቦዎች ወደ ዩኤስቢ ሀ አያያዥ ያሽጡ። በዚህ ድር ጣቢያ ፣ https://image.pinout.net/pinout_USB_files/pc_usb_connectors_pinout-p.webp
ደረጃ 5 ተቆጣጣሪ
መጀመሪያ ለመጀመር ትክክለኛውን ቅርፅ መምረጥ ነው። ሁሉም ተቆጣጣሪው እንዴት እንደተዋቀረ እንደሚፈልጉ ላይ የተመሠረተ ነው። የበለጠ ጠፍጣፋ መቆጣጠሪያ ስለፈለግኩ አንድ ቁራጭ 3 1/2 "በ 3/4" ጣውላ አገኘሁ። አብሮ ለመስራት ተስማሚ እና ምቹ በሚመስል መንገድ ክፍሎቹን ያዘጋጁ። ሁሉም ቁርጥራጮች የት መሄድ እንዳለባቸው ለመሳል የፈረንሳይ ኩርባ ፣ ኮምፓስ ፣ ሶስት ማእዘን እና ቀጥታ ጠርዝ ይጠቀሙ። እርስዎ የመረጡትን የመቁረጫ መሣሪያ በመጠቀም መሠረታዊውን ዝርዝር ይቁረጡ። የእገዳው መጋዝ የተሻለ ይሆናል ፣ ግን እኔ በጥሩ ሁኔታ የሚሠራውን የመቋቋም መጋዝን እጠቀም ነበር። በተቀላጠፈ ሁኔታ እንዲሸጋገሩ ጠርዞቹን ወደታች አሸዋ ፣ ከዚያ የበለጠ ምቹ ለማድረግ ወደ ማዕዘኖቹ አሸዋ ያድርጉ። ለማዞሪያው ቀዳዳውን ይቅፈሉት ፣ ከዚያ አሸዋ ፣ ቺዝል እና/ወይም ድሬሜል የሚስማማውን ማንኛውንም ክፍል ያውጡ። ከላይ ምንም ነገር ላለማድረግ ይሞክሩ እና በመጠምዘዝ ፣ በአንግሊንግ ፣ ወይም ወደ ውስጥ ለመግባት ሌላ ማንኛውንም ነገር ለማጣጣም የሚያስፈልግዎትን ብቻ አሸዋ ያውጡ። አንዴ ከፕላስቲክ ነት ጋር አያይዘው እና ያያይዙት መቀየሪያ። ጠልቆ እንዲገባ እና እስከመጨረሻው እንዲገጣጠም የፖታቲሞሜትር አንጓው እንዲገጣጠም ቦታውን ይከርክሙት እና አንድ ቦታ ያጥፉ። አንድ ቀዳዳ እንዲይዝበት አንዳንድ ቀዳዳዎችን ይቅፈሉ። አጠቃላይ ስፋቱ ትንሽ እንዲጨምር በሚያደርጉት የዩኤስቢ አያያዥ ትናንሽ ቁርጥራጮች ውስጥ መታጠፍ (ስዕሎቹን ይመልከቱ)። አገናኙን የሚስማማ መሆኑን ለማረጋገጥ ቀስ በቀስ በመፈተሽ ለአገናኙው የተወሰነውን ክፍል ያውጡ። አገናኙን በእሱ ማስገቢያ ውስጥ በጣም ሙጫ ያድርጉ። ትንሽ የፕላስቲክ ቁራጭ ወስደህ በአገናኛው ላይ በሚስማማ ቅርፅ (ስዕሎቹን ተመልከት) ፣ ከዚያም በእንጨት ላይ አጣበቅ። ሊያደናቅፉ የሚችሉ ማናቸውንም ቁርጥራጮች ይቁረጡ። በ potentiometer ውስጥ ይከርክሙ እና ጉብታውን ያያይዙ። የአዎንታዊ ሽቦውን ከ potentiometer ጫፎች ወደ አንዱ (ተለዋዋጭው ክፍል አይደለም) እና አሉታዊውን ሽቦ ወደ ተቃራኒው ጫፍ ያሽጡ። ዲ-ፒኑን በድስት ላይ ወደ ተለዋጭ ፒን ያሽጡ። በድስት ላይ ካለው ፒን ሽቦ በአዎንታዊ ሽቦ ወደ አዝራሩ ላይ ካሉት ፒኖች አንዱ። በአዝራሩ ላይ ወዳለው ሌላ ሚስማር Solder D+። ትርፍ ሽቦውን ይከርክሙት እና የሚያስፈልጉትን ቁርጥራጮች ይሸፍኑ።
ደረጃ 6 - ሸሚዝ
ብርሃኑን እንዲያልፍ የሚያስችል ምቹ ሸሚዝ ያግኙ። ይህንን መሰረታዊ ነጭ ቲሸርት መርጫለሁ። ብርሃኑ ከውስጥ እስኪያበራ ድረስ እስከሚታይ ድረስ ቀለሙም ሆነ ዘይቤው ምንም አይደለም። ሆኖም እኔ ከፊት ለፊት ግራፊክስን አልመክርም። የት እንደሚፈልጉ እንዲወስኑ ለማገዝ ሁሉንም ነገር በሸሚዝ ላይ ያኑሩ እና እሱን ለመሳል የሚደመሰስ የማሳያ መሣሪያ ይጠቀሙ። እኔ (እኔ የማውቃቸው አንዳንድ ሰዎች ማለት) በቀላሉ የሚታጠቡ ጨርቆችን ለማመልከት የታሰበ እርሳስ አለኝ። የባትሪዎቹን መጠን ፣ የመቆጣጠሪያ መያዣውን እና ማያ ገጹን ይለኩ እና ለማዛመድ የወረቀት ቁርጥራጮችን ይቁረጡ። ከዚያ ወረቀቱን ባልተለጠጠ ጨርቅ ላይ ይሰኩት። ሽመና ለዚህ ጥሩ ይሠራል። ከዚያ ዙሪያውን ሁሉ ለአንድ ስፌት ሩብ ኢንች ያህል በመተው አራት ማዕዘኑን ይቁረጡ። ከዚያ የወረቀት ወረቀቱን እንደ መመሪያ በመጠቀም እጥፉን ወደ ጨርቁ ውስጥ ያስገቡ። አሁን ወረቀቱ ሊወገድ ይችላል። በኪሱ በኩል ከላይኛው ላይ እራሱ ላይ ሶስት ጊዜ እጠፉት። በቦታው እንዲቆይ ብረት እና ይሰኩት። በማጠፊያው መሃል ላይ አንድ መንገድ ይመስሉ። አሁን ጥግውን ይውሰዱ እና እርስ በእርሳቸው ቀጥ ያሉ ያልተሰፉ ጠርዞች ትይዩ እንዲሆኑ እና ወደ ማእዘኑ በጣም ቅርብ በሆነው በብረት በተሠራው ክሬም ላይ አንድ መስፋት (ሥዕሎቹ በእውነት ይረዳሉ)። ለሌላው ጥግ እንዲሁ ያድርጉት። ከኪስ የሚወጣ የመቀያየር ማብሪያ / ማጥፊያ ካለዎት ቁልፉ በሚነካበት በኪሱ መሠረት ላይ የአዝራር ቀዳዳ ይስፉ። ከዚያ የአዝራር ቀዳዳ መስፋት እና መካከለኛውን ክፍል ይቁረጡ። የአዝራር ቀዳዳዎችን ለመሥራት አሪፍ መሣሪያ ስለነበረኝ በእውነት ዝርዝር መመሪያዎችን መስጠት አልችልም። ኪሱ ከመሰፋቱ በፊት ቀዳዳዎቹን መስራትዎን እርግጠኛ ይሁኑ። ጥቂት ካስማዎችን ወስደህ ለኪሱ በምልክቶቹ ጥግ ላይ ባለው ሸሚዝ ውስጥ አስገባቸው። ኪሱን ውሰድ እና እያንዳንዱን ጥግ በፒን (በሸሚዙ ውስጠኛው) ላይ አስቀምጥ ፣ ለአንድ ስፌት ሩብ ኢንች ትተህ ሸሚዙ ላይ አጣብቀው። ኪሱ ከተሰካ በኋላ። ኪሱን ያልያዙትን ካስማዎች ያስወግዱ እና ኪሱን ወደ ሸሚዝ ያያይዙት። ለሁሉም ኪሶች ይድገሙ። ማያ ገጹን ለያዘው ትልቅ ኪስ በኪሱ ግርጌ ላይ ላሉት ሽቦዎች ክፍተት ይተው። በሸሚዙ ውስጥ ቀዳዳ ለማስቀመጥ ቦታውን ምልክት ያድርጉ እና በጀርባው ላይ ብረት ይውሰዱ (በጨርቅ ላይ ካለው አንጸባራቂ ክፍል ጋር) እና በብረት ያድርጉት። ከዚያ ለትንሽ ቀዳዳ (እንደ መቀያየር መቀየሪያ እንደተጠቀምኩት) ፣ የአዝራር ቀዳዳ ያድርጉ። ለትልቅ ጉድጓድ ፣ ዝርዝሩን ምልክት ያድርጉ እና በመስመሩ (ወይም ኩርባ ወይም ምን አለዎት) የዚግዛግ ስፌት ይጠቀሙ እና መካከለኛውን ክፍል ይቁረጡ። ከፈለጉ የኪሶቹን ክብደት ለመያዝ ተንጠልጣይዎችን መጠቀም ይችላሉ ፣ ሁለቱ ክሊፖች ከፊት ለፊታቸው ያለውን ኪስ የሚይዙትን እና የኋላውን ክሊፕ ወደ ሱሪዎቹ ይይዛሉ። እኔ ደግሞ ቆዳዬን በሚነኩት በተንጠለጠሉ አካላት ላይ ትንሽ የጨርቅ እጀታ አገኘሁ። ሁለት ሸሚዞች ትንሽ በጣም ሊሞቁ ስለሚችሉ እኔ መርጫለሁ እና ትንሹን የጨርቅ እጀታ ተጠቀምኩ።
ደረጃ 7 - ፕሮግራሚንግ
እና ኮዱ እዚህ አለ። በደንብ አስተያየት የተሰጡ ጥቂት ክፍሎች አሉ ፣ ግን አብዛኛዎቹ አይደሉም። በተለያዩ ክፍሎች ላይ ጥያቄዎች ካሉዎት ወይም የመስመር ቁጥሩን (#እንደ መስመር ቁጥር አንድ ያካትቱ) ወይም የመስመር (ዎችን) እና የሚኖርበትን ተግባር (እንደ loop () ወይም compMovePaddle (ለእኔ) ሊሰጡኝ ይችላሉ።)) እና እኔ ለማብራራት የተቻለኝን ሁሉ አደርጋለሁ ፣ ከዚያ በሚገልፀው ኮድ ላይ አስተያየት ያክሉ። #ጨምር #ገላጭ ፒን 6 // ይላል ለጨዋታው int buttonPin = 40 የግብዓት ካስማዎች ናቸው። // ውጤቱን ይደነግጋል ፣ በባህላዊ ድርድር ውስጥ ተይ esiል ምክንያቱም ኢሲየር int playerScore [5] = {0, 0, 0, 0, 0}; int compScore [5] = {0, 0, 0, 0, 0}; // የኳሱን አቅጣጫ int bvd = 0; // 0 ወደታች ፣ 1 ወደ ላይ ከፍቷል bhd = 0; // 0 ትክክል ነው ፣ 1 ቀርቷል // ኳሶችን አቀማመጥ int bvp = 8 ያዛል። int bhp = 6; // ኳሱ በፍጥነት ሁኔታ ውስጥ መሆኑን ለማየት ይፈትሻል ቡሊያን ፈጣን = ሐሰት; // ውጤት መሆኑን ይፈትሻል። ቡሊያን cIsPoint = ሐሰት; ቡሊያን pIsPoint = ሐሰት; // ቀዘፋ ቦታዎች int cPaddle = 0; int pPaddle = 0; ረጅም ቀዳሚ ሚሊሊስ = 0; ረጅም ቀዳሚ ሚሊሊስ ፎርኮፕ = 0; // ለፈጣን እና ቀርፋፋ ተንቀሳቃሽ ኳስ ‹Int› ን በመደበኛ እና ፈጣን ውስጥ የመዘግየትን ጊዜዎች ያዘጋጁ / u200b / u200bInt and fastInt ለተወሰነ ጊዜ int normInt = 50; int fastInt = 10; // ለማሸነፍ ለመፈተሽ ጥቅም ላይ ውሏል። 1 የተጫዋች ማሸነፍ ነው ፣ -1 በኮምፒተር ማሸነፍ ፣ እና 0 እስካሁን ምንም ነገር አልሆነም int win = 0; // ሳንካን ለማስወገድ። በ addOne መግለጫ ውስጥ እና በሌላ ቦታ ላይ ጥቅም ላይ ውሏል። int የትኛው = 0; // ከመጀመሩ በፊት የሚታየው ነገር -1 ማምለጫ int pongPlay ነው = {1, 2, 3, 4, 10, 11, 12, 13, 16, 18, 20, 27, 29, 33, 34, 41 ፣ 42 ፣ 61 ፣ 62 ፣ 63 ፣ 70 ፣ 71 ፣ 72 ፣ 76 ፣ 85 ፣ 86 ፣ 88 ፣ 91 ፣ 92 ፣ 94 ፣ 100 ፣ 101 ፣ 102 ፣ 103 ፣ 131 ፣ 132 ፣ 136 ፣ 139 ፣ 144 ፣ 145 ፣ 146 ፣ 147 ፣ 148 ፣ 161 ፣ 162 ፣ 166 ፣ 175 ፣ 183 ፣ 185 ፣ 192 ፣ 194 ፣ 195 ፣ 196 ፣ 197 ፣ 198 ፣ 199 ፣ 204 ፣ 205 ፣ 206 ፣ 207 ፣ 208 ፣ -1}; // int youWin ውስጥ ካሸነፉ = {1 ፣ 2 ፣ 3 ፣ 4 ፣ 5 ፣ 16 ፣ 17 ፣ 18 ፣ 19 ፣ 20 ፣ 27 ፣ 33 ፣ 34 ፣ 39 ፣ 46 ፣ 47 ፣ 48 ፣ 49 ፣ 54 ፣ 55 ፣ 56 ፣ 57 ፣ 58 ፣ 77 ፣ 78 ፣ 79 ፣ 84 ፣ 88 ፣ 91 ፣ 92 ፣ 93 ፣ 94 ፣ 95 ፣ 99 ፣ 103 ፣ 106 ፣ 110 ፣ 114 ፣ 118 ፣ 130 ፣ 131 ፣ 132 ፣ 144 ፣ 145 ፣ 146 ፣ 147 ፣ 151 ፣ 162 ፣ 163 ፣ 168 ፣ 169 ፣ 170 ፣ 177 ፣ 181 ፣ 192 ፣ 193 ፣ 204 ፣ 205 ፣ 206 ፣ 207 ፣ -1}; // በ int youLose ከጠፉ = {1 ፣ 3 ፣ 5 ፣ 16 ፣ 17 ፣ 18 ፣ 19 ፣ 20 ፣ 24 ፣ 26 ፣ 28 ፣ 31 ፣ 32 ፣ 32 ፣ 32 ፣ 33 ፣ 34 ፣ 35 ፣ 39 ፣ 46 ፣ 47 ፣ 48 ፣ 49 ፣ 62 ፣ 65 ፣ 77 ፣ 78 ፣ 79 ፣ 84 ፣ 86 ፣ 88 ፣ 91 ፣ 94 ፣ 99 ፣ 103 ፣ 106 ፣ 110 ፣ 122 ፣ 123 ፣ 124 ፣ 130 ፣ 131 ፣ 132 ፣ 144 ፣ 148 ፣ 152 ፣ 153 ፣ 154 ፣ 162 ፣ 163 ፣ 168 ፣ 169 ፣ 170 ፣ 181 ፣ 192 ፣ 193 ፣ 204 ፣ 205 ፣ 206 ፣ 207 ፣ 208 ፣ -1}; // መሪውን ጭረት Adafruit_NeoPixel strip = Adafruit_NeoPixel (210 ፣ ፒን ፣ NEO_RGB + NEO_KHZ800) ያዘጋጃል ፤ // ማዋቀር ፣ ለግቤት ምንም ፒን 40 አይቀይርም ፣ እርቃኑን ይጀምራል ፣ // መልዕክቱን ያሳያል እና ያሳየዋል። ባዶነት ማዋቀር () {pinMode (buttonPin ፣ INPUT) ፤ strip.begin (); ለ (int i = 0; pongPlay > 0; i ++) {strip.setPixelColor (pongPlay , strip. Color (0, 0, 255)); } strip.show (); መዘግየት (5000); ሳለ (digitalRead (buttonPin) == LOW) {// ወጥመድ ነው! (አዝራሩ እስኪጫን ድረስ።)}} ባዶ ክፍተት () {clearScreen (); // ውጤቱን ለማሳየት ቀዘፋዎቹን ይስባል (int i = 0; i <5; i ++) {if (playerScore == 1) {strip.setPixelColor (204-i ፣ strip. Color (255 ፣ 255 ፣ 255)); } ሌላ ከሆነ ((playerScore == 0)) {strip.setPixelColor (204-i, strip. Color (0, 255, 0)); } ከሆነ (compScore == 1) {strip.setPixelColor (5+i ፣ strip. Color (255 ፣ 255 ፣ 255)) ፤ } ሌላ ከሆነ ((compScore == 0)) {strip.setPixelColor (5+i ፣ strip. Color (255, 0, 0)); }} // ኳሱን በመነሻ ቦታው ይስባል። strip.show (); // ኳሱ ወደ ላይ ወይም ወደ ታች እየሄደ እንደሆነ ይወስናል (pIsPoint == false && cIsPoint == false) {clearScreen (); ያልተፈረመ ረዥም የአሁኑ ሚሊሊስ = ሚሊስ (); // የተጫዋቹን ቀዘፋ አቀማመጥ pPaddle = checkPaddlePos () ይመድባል ፤ // የሚቀጥለውን የቦታ ማረጋገጫ ይፈትሻል ቀጣይ (); // ኳሱን ማንቀሳቀስ ከሆነ (ፈጣን == ሐሰተኛ) {ከሆነ (currentMillis - previousMillis> normInt) {previousMillis = currentMillis; moveBall (); }} ሌላ ከሆነ (ፈጣን == እውነት) {ከሆነ (currentMillis - previousMillis> fastInt) {previousMillis = currentMillis; moveBall (); }} // ኳሱን ይሳሉ (bhp%2! = 0) {strip.setPixelColor (bhp*15+14-bvp ፣ strip. Color (255 ፣ 255 ፣ 255)) ፤ } ሌላ ከሆነ (bhp%2 == 0) {strip.setPixelColor (bhp*15+bvp ፣ strip. Color (255 ፣ 255 ፣ 255)) ፤ } // የኮምፒተር ቀዘፋ እንቅስቃሴ compMovePaddle (); // መሳል ቀዘፋዎች drawPaddles (); // በእውነቱ ሁሉንም ነገር አስቀምጧል።strip.show (); // ነጥብ (pIsPoint == እውነት) {የትኛው = 0 ከሆነ/ነጥብ እንደተገኘ ለማየት ማረጋገጥ። bhd = 0; addOne (); ሰበር; } ሌላ ከሆነ (cIsPoint == true) {which = 1; bhd = 1; addOne (); ሰበር; }} ከሆነ (ማሸነፍ == 1) {clearScreen (); ለ (int i = 0; youWin > 0; i ++) {strip.setPixelColor (youWin , strip. Color (255, 0, 0)); strip.show (); } መዘግየት (5000); ለ (int i = 0; i <5; i ++) {playerScore = 0; compScore = 0; } ማሸነፍ = 0; } ሌላ ከሆነ (ማሸነፍ == -1) {clearScreen (); ለ (int i = 0; youLose > 0; i ++) {strip.setPixelColor (youLose , strip. Color (0, 255, 0)); strip.show (); } መዘግየት (5000); ለ (int i = 0; i <5; i ++) {playerScore = 0; compScore = 0; } ማሸነፍ = 0; } pIsPoint = ሐሰት; cIsPoint = ሐሰት; bvp = 8; bhp = 6; bvd = የዘፈቀደ (0 ፣ 2) ፤ // 0 ወደ ታች ፣ 1 ፈጣን ነው = ሐሰት; } // AI ለጨዋታው ባዶ ባዶ compMovePaddle () {ያልተፈረመ ረጅም የአሁኑ ሚሊስ = ሚሊስ (); ከሆነ (currentMillis - previousMillisForComp> 51) {previousMillisForComp = currentMillis; ከሆነ (bvp> = 13 && 10-cPaddle 0) {cPaddle--; } ሌላ ከሆነ (bvp = 0 && cPaddle <10) {cPaddle ++; } ሌላ ከሆነ (bvp-3> 10-cPaddle && 10-cPaddle> = 0 && cPaddle> 0) {cPaddle--; } ሌላ ከሆነ (bvp <10-cPaddle && 10-cPaddle <= 10) {cPaddle ++; }}} // ኳሱን ባዶ ያደርጋል moveBall () {ከሆነ (bhd == 0) {bhp--; } ሌላ ከሆነ (bhd == 1) {bhp ++; } ከሆነ (bvd == 0) {bvp--; } ሌላ ከሆነ (bvd == 1) {bvp ++; }} // አንዱን ወደ ድርድር ያክላል። የትኛው 0 ከሆነ ለተጫዋቹ ውጤት ይጨምራል። እሱ 1 ከሆነ ወደ ባዶ ባዶ addOne () {ከሆነ (የትኛው == 0) {// የተጫዋቹ ውጤት ከሆነ // አንድ ይጨምሩ። እኔ የማውቀው ቀላሉ መንገድ ይህ ነው። ለ (int i = 0; i <5; i ++) {// loop if (playerScore == 0) {// ያ እሴት ዜሮ ተጫዋች ከሆነ ነጥብ = 1; // 1 እንዲሰበር ያድርጉት ፤ // ከዚያ ይሂዱ} ሌላ {// እሱ ከሆነ 1 ተጫዋችScore = 0; // ዜሮ እና ሉፕ ያድርጉት}}} ሌላ ከሆነ (የትኛው == 1) {ለ (int i = 0; i <5; i ++) {ከሆነ (compScore == 0) {compScore = compScore +1; ሰበር; } ሌላ {compScore = 0; }}} // ማንም ያሸነፈ መሆኑን ለማየት ይፈትሻል። ከሆነ (compScore [0] == 1 && compScore [2] == 1 && compScore [4] == 1) {ማሸነፍ = -1; } ሌላ ከሆነ (playerScore [0] == 1 && playerScore [2] == 1 && playerScore [4] == 1) {win = 1; }} // ኳሶችን ይፈትሻል ቀጣዩ ቦታ ባዶ ቼክ ቀጣይ () {// ቼኮች (bhp == 13) {pIsPoint = እውነት ፤ } ሌላ ከሆነ (bhp == 0) {cIsPoint = true; } // አንድ ነጥብ ከተመዘገበ በቀሪው በዚህ ነገር ላይ ከመዝለል (pIsPoint == ሐሰት || cIsPoint == ሐሰተኛ) {// ኳሱን አቀባዊ (ቢቪፒ+bvd == 15) ቢፈትሽ {bvd = 0; } ሌላ ከሆነ (bvp+bvd == 0) {bvd = 1; } // ኳሱን በአግድም ይፈትሻል (bhp+bhd == 13) {// መጀመሪያ በኮምፒዩተር በኩል (bvp> = 10-cPaddle && bvp <= 10-cPaddle+4) {ከሆነ (bhd == 1) {bhd = 0; } ሌላ ከሆነ (bhd == 0) {bhd = 1; } ፈጣን = ሐሰት; } ሌላ ከሆነ (bvp+bvd == 10-cPaddle || bvp+bvd == 10-cPaddle+5) {ከሆነ (bvp! = 0 && bvp! = 14) {ከሆነ (bvd == 0) {bvd = 1; } ሌላ ከሆነ (bvd == 1) {bvd = 0; } bhd = 1; } ሌላ ከሆነ (bvp == 0 || bvp == 14) {bhd = 1; } ፈጣን = ሐሰት; }} ሌላ ከሆነ (bhp+bhd == 1) {// ከዚያ በተጫዋች በኩል ከሆነ (bvp> = pPaddle && bvp <= pPaddle+4) {// መቅዘፊያውን በመደበኛ ቦታ መምታት ነው? // ኳሱን ይምቱ! ከሆነ (bhd == 1) {bhd = 0; } ሌላ ከሆነ (bhd == 0) {bhd = 1; }} ሌላ ከሆነ (bvp+bvd == pPaddle || bvp+bvd-5 == pPaddle) {// ጥግ ላይ መቅዘፉን መምታት ከሆነ (bvp! = 0 && bvp! = 14) {// ነው ወደ ላይ ወይም ወደ ታች ዝቅ አይደለም? // ኳሱን ይዝለሉ! ከሆነ (bvd == 0) {bvd = 1; } ሌላ ከሆነ (bvd == 1) {bvd = 0; } bhd = 1; ፈጣን = እውነት; } ሌላ ከሆነ (bvp == 0 || bvp == 14) {// ወደ ላይ ወይም ወደ ታች ዝቅ ይላል? // ኳሱን ይምቱ! bhd = 0; ፈጣን = እውነት ፤ // ኳሱን በፍጥነት ለማንቀሳቀስ እሴቱን ያዘጋጁ}}}}} int checkPaddlePos () {// ድስቱን ያነባል እና (analogRead (A15) <93) {መመለስ 0 ከሆነ; } ሌላ ከሆነ (analogRead (A15) <186) {መመለስ 1; } ሌላ ከሆነ (analogRead (A15) <279) {መመለስ 2; } ሌላ ከሆነ (analogRead (A15) <372) {መመለስ 3; } ሌላ ከሆነ (analogRead (A15) <465) {መመለስ 4; } ሌላ ከሆነ (analogRead (A15) <558) {መመለስ 5 ፤ } ሌላ ከሆነ (analogRead (A15) <652) {መመለስ 6 ፤ } ሌላ ከሆነ (analogRead (A15) <745) {መመለስ 7 ፤ } ሌላ ከሆነ (analogRead (A15) <837) {መመለስ 8 ፤ } ሌላ ከሆነ (analogRead (A15) <= 931) {መመለስ 9; } ሌላ ከሆነ (analogRead (A15) <= 2014) {መመለስ 10; }} ባዶ ባዶ Drads () {// ቀዘፋዎቹን በትክክለኛው ቦታ ላይ ይሳሉ እና ለ (int i = 0; i <5; i ++) {if (playerScore == 1) {strip. setPixelColor (pPaddle+i ፣ strip. Color (255 ፣ 255 ፣ 255)); } ሌላ ከሆነ ((playerScore == 0)) {strip.setPixelColor (pPaddle+i, strip. Color (255, 0, 0)); } ከሆነ (compScore == 1) {strip.setPixelColor (199+cPaddle-i ፣ strip. Color (255 ፣ 255 ፣ 255)); } ሌላ ከሆነ ((compScore == 0)) {strip.setPixelColor (199+cPaddle-i ፣ strip. Color (0 ፣ 255 ፣ 0)) ፤ }}} ባዶ ባዶ ማያ ገጽ () {ለ (int i = 0; i <= 210; i ++) {strip.setPixelColor (i ፣ strip. Color (0, 0, 0)) ፤ } strip.show (); }
ደረጃ 8: የተጠናቀቀ ምርት
እና እዚያ ይሂዱ ፣ የተጠናቀቀው ሸሚዝ!
የሚመከር:
ተጣጣፊ - አንድ መቶ ፒክስል ተጣጣፊ የ PCB ኳስ ከ WiFi ጋር - 6 ደረጃዎች (ከስዕሎች ጋር)
FLEXBALL - አንድ መቶ ፒክስል ተጣጣፊ የፒ.ሲ.ቢ ኳስ ከ WiFi ጋር: ሰላም ሰሪዎች ፣ ሠሪው ሞኢኮ ነው! በ ESP8285-01f ቁጥጥር ይደረግበታል - በኢስፕሬስ ትንሹ ESP ላይ የተመሠረተ ሞዱል። በተጨማሪም ADXL345 የፍጥነት መለኪያ አለው
በቲ-ሸሚዝ ውስጥ ኤልኢዲዎችን እንዴት መስፋት እንደሚቻል -9 ደረጃዎች (ከስዕሎች ጋር)
በቲቪ ሸሚዝ ውስጥ ኤልዲዎችን እንዴት እንደሚሰፍኑ-ይህንን ፕሮጀክት በ ITP ካምፕ ውስጥ በዚህ ወር እንደ አውደ ጥናት አስተምሬያለሁ። ተማሪዎቼ የምሠራውን እንዲያዩ ቪዲዮ ሠርቻለሁ (ሁሉም ነገር በመስመር ላይ ነው!) ጥሩ ከመሆኑ የተነሳ እኔም እዚህ እጋራዋለሁ ብዬ አሰብኩ! ይህ የፍሳሽ ማስወገጃ ፕሮጀክት ነው
የተሰበረ ወይም የተቀደደ ተጣጣፊ / ተጣጣፊ ኬብሎችን እንዴት እንደሚጠግኑ። 5 ደረጃዎች
የተሰበረ ወይም የተቀደደ ተጣጣፊ / ተጣጣፊ ገመዶችን እንዴት እንደሚጠግኑ። - ትክክለኛው የኬብል መጠን አንድ ኢንች ስፋት 3/8 ነበር
ባለሁለት ቀለም ዲዛይን የሙቀት ማስተላለፊያ ቪኒል ለቲ-ሸሚዝ 10 ደረጃዎች (ከስዕሎች ጋር)
ባለሁለት ቀለም ዲዛይን የሙቀት ማስተላለፊያ ቪኒዬል ለቲ-ሸሚዝ-ይህ አስተማሪ በሙቀት ማተሚያ በመጠቀም ባለ ሁለት ቀለም የቪኒል ዲዛይን ያለው ቲሸርት እንዴት እንደሚሠራ ያስተምርዎታል። ቁሳቁሶች-የሙቀት ማስተላለፊያ ቪኒል የቪኒየል መቁረጫ ኮምፒተር ከቪኒማስተር ፕሮግራም ጋር የሙቀት ማተሚያ ጠቋሚዎች ዊደር ቲ-ሸሚዝ RulerX-ACTO ቢላዋ
ፒኢዞ “መንታ ፣ መንታ ፣ ትንሹ ኮከብ”: 6 ደረጃዎች በመጫወት ብልጭ ድርግም የሚል ኮከብ ለመፍጠር ኤልኢዲዎችን እና አነስተኛውን በመጠቀም።
“መንታ ፣ መንታ ፣ ትንሹ ኮከብ” ን በመጫወት ብልጭ ድርግም የሚል ኮከብ ለመፍጠር ኤልኢዲዎችን እና አነስተኛን በመጠቀም ይህ የወረዳ ብልጭ ድርግም የሚል ኮከብ እና ሙዚቃ ለማምረት የ “ቲንክሊንክ ፣ ትሪንክሌል ፣ ትንሽ ኮከብ” ሙዚቃን ለማምረት ይህ ወረዳ ኤልኢዲኤስን ፣ ቲንይ እና ፒዞን ይጠቀማል። እባክዎን ለሚቀጥለው እና ለወረዳ አጠቃላይ እይታ የሚቀጥለውን ደረጃ ይመልከቱ