ዝርዝር ሁኔታ:
ቪዲዮ: አውሎ ነፋስ የ LED የመጫወቻ ማዕከል ጨዋታ 4 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:31
የዚህ ፕሮጀክት ዓላማ ለልጆች መስተጋብራዊ እና መዝናኛ የሚሆን አርዱዲኖን በመጠቀም ቀላል ጨዋታ መፍጠር ነበር። ሲክሎኔ የመጫወቻ ማዕከል ጨዋታ በወጣትነቴ ከምወዳቸው የመጫወቻ ማዕከል ጨዋታዎች አንዱ እንደነበረ አስታውሳለሁ ፣ ስለዚህ እሱን ለመድገም ወሰንኩ። ይህ አርዱዲኖን ፣ በተናጥል ሊስተካከሉ የሚችሉ የኤልዲዎች ሕብረቁምፊ እና የግፋ ቁልፍን ያካተተ በጣም ቀላል ፕሮጀክት ነው።
የጨዋታው ግብ ወደ አመላካች (ቀይ) LED ሲደርስ የብስክሌት መብራቱን ማቆም ነው። ከተሳካ የችግር ደረጃው ይጨምራል። ካልተሳካ የብርሃን ዑደቱ አሁን ባለው የችግር ደረጃ እንደገና ይጀምራል።
ይህ አስተማሪ ለኮድዬ ዋናው ነገር ትልቅ ሀብት ነበር።
ደረጃ 1 - አቅርቦቶችን ይሰብስቡ
-
ዋና አካላት:
- አርዱinoኖ (UNO ን እጠቀም ነበር)
- በተናጥል ሊደረስባቸው የሚችሉ የኤልዲዎች ሕብረቁምፊ (አገናኝን ተጠቅሜያለሁ)
- የግፋ አዝራር (አገናኝ ተጠቅሜያለሁ)
- የታተመ የወረዳ ሰሌዳ (ፒሲቢ) ወይም የዳቦ ሰሌዳ
-
የኃይል አቅርቦት (ሁለት የተለያዩ የኃይል አቅርቦቶችን እጠቀም ነበር ፣ እርስዎ ፈጠራ ከፈጠሩ በአንዱ ሊያመልጡ ይችላሉ)
- 5V 3A ለ LEDs
- 9V 1A ለአርዱዲኖ
-
መዋቅር:
- የኤሌክትሮኒክስ መኖሪያ ቤት (ከእንጨት አምፖል ከመልካም ፈቃድ ቀይሬያለሁ)
- የ LED መኖሪያ ቤት (መደበኛ የግድግዳ ሰዓትዎን ቀይሬያለሁ እና የደቂቃ ለ identዎችን እንደ ቀዳዳ ምልክቶች በመጠቀም ቀዳዳዎችን ቆፍሬያለሁ። ቁፋሮውን ቀላል ለማድረግ ከተቻለ የእንጨት ሰዓት ይጠቀሙ።)
- የአዝራር መኖሪያ ቤት (በክርን የ PVC ቧንቧ እጠቀም ነበር)
-
መሣሪያዎች / ሌሎች ቁሳቁሶች
- ለወረዳዎ መለዋወጫ ሽቦ
- 10 ኪ (ለመቀያየር ወደታች መጎተቻ) እና 470 ohm (በ LEDs ላይ ለመረጃ ሽቦ) መከላከያዎች
- የእርስዎን ኤልኢዲዎች ለማኖር ቀዳዳዎችን ለመፍጠር እና ሽቦዎችን ለማለፍ በእቃ መጫዎቻዎ ውስጥ ማንኛውንም አስፈላጊ ቀዳዳዎችን ያድርጉ
- የወረዳዎን ለፒሲቢ ለመሸጥ ብረትን መሸጥ
- ኤልኢዲዎችን ከእርስዎ መሣሪያ ጋር ለማቆየት ትኩስ ሙጫ ጠመንጃ
- ቬልክሮ ወይም አንዳንድ ማዕቀፉን በአንድነት የማስጠበቅ ዘዴዎች
- ለማለፍ ሽቦዎች ለተቆፈሩት ቀዳዳዎች Gaskets እንደ አማራጭ
ደረጃ 2: ኮድ ይስቀሉ
“FastLED” ቤተ -መጽሐፍቱን ማውረዱ እና ማከልዎን ያረጋግጡ
የኮዱ ዋና (ባዶ ባዶ ሉፕ) ሁለት ግዛቶችን ያጠቃልላል -የግፊት ቁልፍ ከፍ (ጨዋታው ጨርስ) እና የግፊት ቁልፍ ዝቅተኛ (መጫወት)። አንዴ ተጠቃሚው አንዴ አዝራሩን ከተጫነ ፣ መብራቱ የቆመበት የ LED አድራሻ ከማዕከሉ LED አድራሻ ጋር ይነፃፀራል። እነሱ ተመሳሳይ ካልሆኑ ፣ ሁሉም መብራቶች ሁለት ጊዜ ቀይ ያበራሉ እና የአሁኑ ደረጃ እንደገና ይጀምራል። እነሱ ተመሳሳይ ከሆኑ ፣ ሳይሎን (FastLED ቤተ -መጽሐፍት ስክሪፕት) ሁለት ጊዜ ይሠራል ፣ የችግር ደረጃ ይጨምራል ፣ እና መጫወት ይቀጥላል። አንዴ ተጫዋቹ የመጨረሻውን ደረጃ ካሸነፈ ፣ ሳይሎን ስምንተኛ ጊዜን ያካሂዳል እና ጨዋታው በደረጃ 1 እንደገና ይጀምራል።
// አውሎ ነፋስ ጨዋታ
#‹FastLED.h› ን // /እስከ 50 #የሚገልጹ NUM_LEDS 40 #ገላጭ CENTER_LED 21 #መግለፅ DATA_PIN 7 #define LED_TYPE WS2811 #ጥራት COLOR_ORDER RGB // ክልል 0-64 #የጥራት ደረጃዎች 50 /ፍቺ የችግር ደረጃዎች #መግለጫ ቀላል 1 #ገላጭ ሜዲየም 2 #ገላጭ 3 #መግለፅ ON_SPEED 4 #ገላጭ SONIC_SPEED 5 #ገላጭ ROCKET_SPEED 6 #መግለፅ LIGHT_SPEED 7 #መግለፅ ተልዕኮ_አቅም 8 // ችግርን በመጀመር ላይ = 1; // የሊድ CRGB ሌዶችን [NUM_LEDS] ድርድር ይግለጹ ፤ // ተጫዋች በዚህ ዙር አሸን Didል? ይህ መለያ ለችግር መለኪያዎች ያገለግላል። bool wonThisRound = ሐሰት; // የብስክሌት መብራቱ መነሻ ቦታ LED LED = 0; // ጨዋታው እየሄደ ነው? bool Playing = እውነት; // ይህ የመጀመሪያው ድል ነው? bool CycleEnded = እውነት; // የአዝራር ዝርዝሮች const int buttonPin = 9; int buttonState = 0; // የሚመራውን ቤተ -መጽሐፍት እና የአሩዲኖ ተግባራት ባዶ ቅንብርን ያስጀምሩ () {FastLED.addLeds (ሌድ ፣ NUM_LEDS) ፤ FastLED.set ብሩህነት (ብሩህነት); pinMode (አዝራር ፒን ፣ ግቤት); Serial.begin (9600); } // ስጋው እና ድንቹ // ሁለት ሁነታዎች - የመጫወት እና የመጨረስ ጨዋታ ባዶ ዙር () {// END GAME buttonState = digitalRead (buttonPin); ከሆነ (buttonState == HIGH) {መጫወት = ሐሰት; // ተጠቃሚው አዝራሩን ተጭኗል ፣ እና ኤልኢዲ በአሸናፊው አድራሻ ላይ ቆሟል። ለ (int i = 0; i <NUM_LEDS; i ++) {leds = CRGB:: Black; } ሊድስ [CENTER_LED] = CRGB:: ቀይ; leds [LEDaddress] = CRGB:: አረንጓዴ; FastLED.show (); ከሆነ (CycleEnded = true) {int diff = abs (CENTER_LED - LEDaddress); // (diff == 0) {wonThisRound = true; // ተጫዋች (ችግር! = MISSION_IMPOSSIBLE) {ለ (int i = 0; i <2; i ++) {cylon (); }} ከሆነ (ችግር == MISSION_IMPOSSIBLE) {ለ (int i = 0; i <8; i ++) {cylon (); } ችግር = 0; } የችግር መጨመር (); wonThisRound = ሐሰት; } ሌላ {መዘግየት (1000); ለ (int i = 0; i <2; i ++) {flash (); }} CycleEnded = ሐሰት; } LEDaddress = 0; መዘግየት (250); buttonState = digitalRead (buttonPin); ከሆነ (buttonState == LOW) {መጫወት = እውነት; }} // መጫወት (መጫወት) {ለ (int i = 0; i <NUM_LEDS; i ++) {leds = CRGB:: Black; // ሁሉንም ሌዲዎች} ሌዲዎችን [CENTER_LED] = CRGB:: ቀይ ያጠፋል። // ማዕከላዊ መሪ ቀለም ወደ አረንጓዴ ሊድስ ያዘጋጃል [LEDaddress] = CRGB:: Green; // የሳይክል መሪ ቀለም ወደ ቀይ FastLED.show () ያዘጋጃል። // የብርሃን ዑደትን ያስጀምራል LEDaddress ++; // (LEDaddress == NUM_LEDS) {LEDaddress = 0; } መዘግየት (getTime (ችግር)); buttonState = digitalRead (buttonPin); ከሆነ (buttonState == HIGH) {መጫወት = ሐሰት; CycleEnded = እውነት; }}} // የደረጃ መለኪያዎች int getTime (int diff) // በችግር ላይ ለሚመራ የመንቀሳቀስ መሠረት የጊዜ መዘግየትን ይመልሳል {int timeValue = 0; መቀየሪያ (ልዩነት) {case EASY: timeValue = 100; ሰበር; ጉዳይ MEDIUM: timeValue = 80; ሰበር; ጉዳይ HARD: timeValue = 60; ሰበር; ጉዳይ ON_SPEED: timeValue = 40; ሰበር; መያዣ SONIC_SPEED: timeValue = 30; ሰበር; መያዣ ROCKET_SPEED: timeValue = 20; ሰበር; መያዣ LIGHT_SPEED: timeValue = 13; ሰበር; መያዣ MISSION_IMPOSSIBLE: የጊዜ እሴት = 7; } የመመለሻ ጊዜ እሴት ፤ // የመዘግየቱን መጠን ይመልሱ} // የማሸነፍ ችግር ግቤቶችን የመጨመር ባዶነት መጨመር () (ከሆነ (ችግር! = MISSION_IMPOSSIBLE && wonThisRound) {ችግር ++; }} // የጠፋ LED ባዶ ፍላሽ አሳይ () {fill_solid (ሊድስ ፣ NUM_LEDS ፣ CRGB:: ቀይ); FastLED.show (); መዘግየት (500); fill_solid (ሊዶች ፣ NUM_LEDS ፣ CRGB:: ጥቁር); FastLED.show (); መዘግየት (500); } // አሸነፈ የ LED አሳይ ባዶነት () (ለ (int i = 0; i <NUM_LEDS; i ++) {leds .nscale8 (250); }} ባዶ ባዶ ሳይሎን () {static uint8_t hue = 0; Serial.print ("x"); // መጀመሪያ መሪውን በአንድ አቅጣጫ ያንሸራትቱ ለ (int i = 0; i = 0; i--) {// I'th ን ወደ ቀይ ቀይ ሊድ = CHSV (hue ++ ፣ 255 ፣ 255) አመሩ ፤ // መሪዎቹን አሳይ FastLED.show (); // አሁን ሌዶቹን ስላሳየነው ፣ ወደ ጥቁር የተመራውን i’th ን እንደገና ያስጀምሩ // leds = CRGB:: Black; መውደቅ (); // ዙሪያውን ከመዞራችን በፊት ትንሽ ይጠብቁ እና እንደገና እንዲዘገዩ (10); }}
ደረጃ 3: በቋሚነት ውስጥ ይጫኑ
በዚህ ክፍል ውስጥ ወደ ዝርዝር ጉዳዮች አልገባም። ይህንን ክፍል በተመለከተ አንድ ሺህ የተለያዩ መንገዶች አሉ እና እርስዎ እንዴት እንደወደዱት እንዲታዩ ፈጠራ መሆን አለብዎት ብዬ አስባለሁ። ይህ በእንዲህ እንዳለ ፣ እኔ እንደ መሰርሰሪያ ምልክቶች መጠቀም የቻልኩበት ደቂቃ ጠቋሚዎች ስላሉት ኤልዲዎቹን ለመኖሪያነት ለመጠቀም በጣም ምቹ ነበር። እንዲሁም ፣ የመስታወቱ ሽፋን እንዲሁ ይህንን እንደ ጠረጴዛ እንድጠቀም ይፈቅድልኛል።
ቬልክሮ በጣም ጠቃሚ ነበር ፣ እንዲሁም የኤሌዲኤፍ መሣሪያውን በኤሌክትሮኒክስ የቤት ዕቃዎች ላይ ለማቆየት። እኔ ደግሞ በአርዱዲኖ ላይ ቬልክሮ ተጠቀምኩ። እኔ ኮዱን ማሻሻል ከፈለግኩ ይህ አርዱዲኖን ለማውጣት በጣም ምቹ አድርጎታል።
የሚመከር:
የአርዱዲኖ አውሎ ነፋስ ጨዋታ 5 ደረጃዎች (ከስዕሎች ጋር)
የአርዱዲኖ አውሎ ነፋስ ጨዋታ - እኔ እውነተኛውን አውሎ ነፋስ የመጫወቻ ማዕከል ጨዋታ በጭራሽ አላውቅም ነገር ግን ከምላሽ ጊዜያችን ጋር ለመጫወት ሀሳቡን እወዳለሁ። አነስተኛ ጨዋታን አዘጋጀሁ። እሱ በ 32 LED ዎች ውስጥ ክበብን ይመሰርታል ፣ ኤልዲዎቹ እንደ መሪ አሳዳጊ አንድ በአንድ ያበራሉ። ግቡ ጫፉን መጫን ነው
የአርዱዲኖ አውሎ ነፋስ የመጫወቻ ማዕከል ጨዋታ 6 ደረጃዎች
አርዱዲኖ አውሎ ንፋስ የመጫወቻ ማዕከል ጨዋታ: ብልጭ ድርግም የሚሉ መብራቶች! አርዱinoኖ! ጨዋታ! ከዚህ በላይ ምን ይባላል? ይህ ጨዋታ ተጫዋቹ በአንድ የተወሰነ ቦታ ላይ በክበብ ዙሪያ የሚሽከረከርን ሽክርክሪት ለማቆም በሚሞክርበት በሳይክሎኔ የመጫወቻ ማዕከል ጨዋታ ላይ የተመሠረተ ነው።
ግሎፕሮፐር - በይነተገናኝ አውሎ ነፋስ የራስ ቁር: 5 ደረጃዎች (ከስዕሎች ጋር)
ግሎፕሮፕፐር - በይነተገናኝ አውሎ ነፋስ የራስ ቁር: ሄይ ሰዎች! ዛሬ ባለ ብዙ ቀለም መብራቶች እና በተግባራዊ ባለ 8 ቀስቃሽ የድምፅ ሰሌዳ የተሟላ በይነተገናኝ የ Star Wars Stormtrooper Lamp እንዴት እንደሚገነቡ ፈጣን አስተማሪ አለኝ። ሁሉም መመሪያዎች ለማንበብ እና ለመጠቀም ቀላል እንደሆኑ ተስፋ ያድርጉ ፣ እና ተስፋ
ተረት - ተንቀሳቃሽ የመጫወቻ ማዕከል እና የሚዲያ ማዕከል 5 ደረጃዎች
Fairies: ተንቀሳቃሽ የመጫወቻ ማዕከል እና የሚዲያ ማዕከል: የእኔ ዓላማ ተንቀሳቃሽ ኮንሶል መገንባት ነበር &; ለሴት ልጄ የሚዲያ ማዕከል። እንደ PSP ወይም ኔንቲዶ ክሎኖች ባሉ ትናንሽ ዲዛይኖች ላይ ያለው የጨዋታ አጨዋወት ከአሮጌው የመጫወቻ ካቢኔዎች ሀሳብ በጣም የራቀ ይመስላል። የአዝራሮቹ ናፍቆትን ለመቀላቀል ፈልጌ ነበር
አርዱዲኖ LED ሌዘር የመጫወቻ ማዕከል ጨዋታ 3 ደረጃዎች (ከስዕሎች ጋር)
Arduino LED Laser Arcade Game: በዚህ አስተማሪ ውስጥ የ LED እና የብርሃን ዳሳሾችን በመጠቀም የሌዘር የመጫወቻ ማዕከል ጨዋታ እንዴት እንደሚሠራ አሳያለሁ። ኮዱ ተካትቷል እና እሱን ለመገንባት ብዙ ክፍሎች አያስፈልጉዎትም። ጉዳዩን እንዴት እንደምገነባ አልነግርዎትም ፣ ያንን እራስዎ ማድረግ አለብዎት! ቲ