Мазмұны:
Бейне: «Ниндзя доллары» Ардуиноға арналған ойын: 3 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Arduino.it үшін тағы бір тамаша ойын - бұл мен шығарған соңғыға қарағанда әлдеқайда жетілдірілген, неге ол басқаларға қарағанда күрделірек? Бұл күрделірек, себебі бұл секіруге, түсіруге, дыбыстық жарық пен жаңа нүктелерді бақылау әдісіне ие.
Жабдықтар
- Ардуино.
- Нан тақтасы
- секіргіш сымдар
- Қызыл жарық диоды
- 2 түйме
- 2 10км резистор
- 2 220R резисторы.
- Өте жарқын көк жарық диодты.
- пьезо дыбысы
- 16*2 СКД дисплейі
1 -қадам: Барлығын бірге қосыңыз
Енді сіз бәрін сыммен байланыстыруыңыз керек
2 -қадам: қалай ойнау керек:
- Ардуиноны қосыңыз.
- СКД: «ойын басталады» және кері санақты басып шығаруы керек.
- Түймелердің бірін секіру үшін, екіншісін ату үшін басыңыз.
- Сіз секірген әрбір блоктан сіз бір ұпай ұтып алдыңыз, және әрбір * ұпай сізге 5 ұпай береді.
- Егер сізде 50 ұпай немесе одан жоғары болса, сіз жеңдіңіз
3 -қадам: Кодекс
// есте сақтау керек, бұл жылдамдықты жоғарылатады.
#қосу
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
const int buttonPin1 = 1; const int buttonPin2 = 6; const int buzzer = 7; белгісіз ұзын нүкте = 0; // түймешіктерді орнатыңыз bool buttonState1 = 0; bool түймесіState2 = 0; // int randomNums кедергілерінің орналасуы үшін кездейсоқ сан [6]; // кедергілер саны үшін кездейсоқ сан int randomNum = 0; // pts int randomNums1 позициясы үшін кездейсоқ сан [3]; // pts саны үшін кездейсоқ сан int randomNum1 = 0; // басталатын кешіктіру уақыты, ол біртіндеп белгісіз int myDelay = 500; // бұл логиканы түйменің 2 басылғанын тексеру үшін жасады, себебі егер ол цикл үшін бірінші рет басылса, мен кедергілер оның соңына дейін жазылмағанын қалаймын bool temp = 0; // бұл айнымалы жауынгердің атыс кезінде позицияларын сақтайды. 16 позиция болуы мүмкін, себебі жауынгерде 16 позиция бар. int tempI [16]; // мен бұл логиканы нүктенің ұсталғанын тексеру үшін қолданамын bool temp1 = 0;
// ұсталған нүктенің орнын сақтау үшін осы айнымалы мәнді қолданыңыз. бұл барлық нүктелердің орнын бірінші циклдің бір итерациясында сақтау үшін болуы керек. егер ол тек бір позицияны сақтаса, онда «ескі» нүкте жаңа итерацияға оралады
int tempI1 [3]; // бұл айнымалыны жауынгердің бірнеше кадрлары болу үшін қолданыңыз, ол сондай -ақ tempI массивінің ұзындығы int button2IsPressed = 0; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);
жарамсыз орнату () {
// СКД бағандар мен жолдар санын орнатыңыз: lcd.begin (16, 2); // түйме түйреуіш режимін орнату pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); pinMode (дыбыстық сигнал, OUTPUT); lcd.setCursor (4, 0); lcd.print («ОЙЫН»); lcd.setCursor (2, 1); lcd.print («БАСТАУ»); lcd.print («5»); кешіктіру (1000); lcd.setCursor (12, 1); lcd.print («4»); кешіктіру (1000); lcd.setCursor (12, 1); lcd.print («3»); кешіктіру (1000); lcd.setCursor (12, 1); lcd.print («2»); кешіктіру (1000); lcd.setCursor (12, 1); lcd.print («1»); кешіктіру (1000); lcd.clear ();
}
void loop () {
Мұнда:
randomNum = кездейсоқ (5);
үшін (int i = 0; i9 && pts19 && pts29 && pts = 50) {pts = 0; myDelay = 500; lcd.clear (); lcd.setCursor (5, 0); lcd.print («ЖЕҢІМ»); тон (дыбыстық сигнал, 262); кешіктіру (200); тон (дыбыстық сигнал, 330); кешіктіру (200); үн (дыбыстық сигнал, 392); кешіктіру (100); тон (дыбыстық сигнал, 330); кешіктіру (100); тон (дыбыстық сигнал, 392); кешіктіру (100); тон (дыбыстық сигнал, 523); кешіктіру (200); noTone (дыбыстық сигнал); кешіктіру (3000); lcd.clear (); бұл жерде; } else lcd.setCursor (15, 0); lcd.print (нүкте); buttonState1 = digitalRead (buttonPin1); buttonState2 = digitalRead (buttonPin2); // егер жауынгер атпаса немесе ол атса, бірақ ол да секірсе, егер (! temp) {for (int j = 0; jrandomNums [j]) {lcd.setCursor (randomNums [j], 1); lcd.print («#»); }
}
}
// нүктелерді орнату
if (! temp1) {for (int j = 0; j
}
Ұсынылған:
Ардуиноға арналған қадамдық жылдамдықты басқару мәзірі: 6 қадам
Ардуиноға арналған қадамдық жылдамдықты басқару мәзірі: Бұл SpeedStepper кітапханасы қадам қозғалтқышының жылдамдығын басқаруға мүмкіндік беретін AccelStepper кітапханасының қайта жазылуы. SpeedStepper кітапханасы қозғалтқыштың белгіленген жылдамдығын өзгертуге мүмкіндік береді, содан кейін сол алгоритм арқылы жаңа жылдамдыққа дейін жылдамдайды/баяулайды
Ардуиноға арналған реле тақтасы 8 доллардан аз: 5 қадам
Ардуиноға арналған реле тақтасы 8 доллардан төмен: Сәлем достар, бүгін мен сізге 8 доллардан төмен Ардуиноға эстафеталық тақтаны қалай жасау керектігін айтамын. Бұл схемада біз IC немесе транзисторды қолданбаймыз, сондықтан жасайық
Бірлікке арналған мультиплеерлік 3D голограммалық ойын және компьютерге арналған голограмма проекторы: 16 қадам (суреттермен)
Бірлікке арналған мультиплеерлік 3D голограммалық ойын және компьютерге арналған голограмма проекторы: Holus -тың әсерінен мен голографиялық дисплейді өте арзан етіп жасауды ұнатамын. Бірақ ойындарды табуға тырысқанда, мен интернеттен ештеңе таппадым. Сондықтан мен Unity -де өз ойын дамытуды жоспарлап отырмын. Бұл менің бірлікте бірінші ойыным. Бұған дейін мен Flash -те бірнеше ойындар әзірлеймін, бірақ
Ардуиноға арналған роботты жіп диспенсері: 8 қадам (суреттермен)
Ардуиноға арналған роботты жіп таратқыш: Неліктен моторлы құрал 3D принтерді жіптерді басып шығарады - әдетте берік - орамды принтерге жақын орналастыру кезінде экструдер тартып алады, айналдыруға болады. Қолдану деңгейіне байланысты материалдық мінез -құлықтың маңызды айырмашылықтарын байқадым
Ардуиноға арналған LCD жылжытқышы: 7 қадам
LCD Shifter Arduino үшін: Бастапқы идея Arduino мен басқа аппараттық құралдар арасында IC 74HC595 пайдалануды жеңілдететін кітапхана құру болды. Бұл нұсқаулықта мен мұны мысал ретінде 16x2 СКД басқаруымен бөлісемін. Мысал СКД -де секундтарды көрсетеді