Laba diena, brangus mano straipsnio skaitytoja, šiandien šiame straipsnyje norėčiau jums papasakoti, kaip surinkti žaidimą „karo vilkikas“ ant arduino
Tai yra tai, ko jums reikia:
1. Arduino Uno
2.2 kondensatoriai, skirti 0,1 mikrofaradų
3.14 220 omų varžos
4. Šviesos diodų skalė arba 10 šviesos diodų 3 voltų
5. Duonos lenta
6. 2 laikrodžio mygtukai
7. pjezo tviteris
8. Schmitto atvirkštinis gaidukas
9. džemperių laidai
Taigi pirmiausia programuojame arduino
Čia yra eskizas:
Toliau mes renkame viską pagal šią schemą:
turėtumėte gauti kažką panašaus:
žaidimui pasibaigus, kai virvė perkeliama į žaidėjų 1 pusę, galite ją paleisti iš naujo paspausdami patį arduino mygtuką.
Tikiuosi, kad jums patiko šis projektas ir kartu su jumis „DeNiS Geek pro100“ kamuolys, štai ir viskas!
Tai yra tai, ko jums reikia:
1. Arduino Uno
2.2 kondensatoriai, skirti 0,1 mikrofaradų
3.14 220 omų varžos
4. Šviesos diodų skalė arba 10 šviesos diodų 3 voltų
5. Duonos lenta
6. 2 laikrodžio mygtukai
7. pjezo tviteris
8. Schmitto atvirkštinis gaidukas
9. džemperių laidai
Taigi pirmiausia programuojame arduino
Čia yra eskizas:
#define BUZZER_PIN 0
#define FIRST_BAR_PIN 4
#define BAR_COUNT 10
#define MAX_SCORE 20
// pertraukimuose naudojami visuotiniai kintamieji (žr. žemiau)
// turi būti pažymėti kaip nestabilūs (nepastovūs)
nepastovus int balas = 0;
negaliojanti sąranka ()
{
už (int i = 0; i & lt; BAR_COUNT; ++ i)
pinMode (i + FIRST_BAR_PIN, OUTPUT);
pinMode (BUZZER_PIN, OUTPUT);
// Pertraukimas (angliškai pertraukti) sustabdo pagrindinį
// programa, atlieka nurodytą funkciją ir vėl pradeda veikti
// pagrindinė programa. Mums reikia pertraukimo vienu mygtuko paspaudimu,
// t.y. keičiant signalą iš aukšto į žemą, t. apie
// žemyn (krintanti) priekinė dalis
pritvirtinti nepertraukiamai (INT1, pushP1, FALLING); // INT1 yra 3-asis kaištis
pritvirtinti nepertraukiamai (INT0, pushP2, FALLING); // INT0 yra 2-asis kaištis
}
void pushP1 () {++ balas; } // 1-ojo žaidėjo pertraukimo funkcija
void pushP2 () {- rezultatas; } // 2-ojo grotuvo pertraukimo funkcija
tuščia kilpa ()
{
tonas (BUZZER_PIN, 2000, 1000); // duoti signalą pradėti.
// Nors nė vienas žaidėjas nenugalėjo, mes atnaujiname „virvę“
o (abs (balas) & lt; MAX_SCORE) {
int surištas = žemėlapis (balas, -MAX_SCORE, MAX_SCORE, 0, BAR_COUNT);
int kairėje = min (surišta, BAR_COUNT / 2 - 1);
vidinėje dešinėje = maks. (įpareigota, BAR_COUNT / 2);
už (int i = 0; i & lt; BAR_COUNT; ++ i)
„digitalWrite“ („i + FIRST_BAR_PIN“, „i“ = kairė ir & I; „dešinė“);
}
tonas (BUZZER_PIN, 4000, 1000); // duok pergalės signalą
tuo tarpu (tiesa) {} // „sustabdykite“ plokštę, kol iš naujo paleisite
}
Toliau mes renkame viską pagal šią schemą:
turėtumėte gauti kažką panašaus:
žaidimui pasibaigus, kai virvė perkeliama į žaidėjų 1 pusę, galite ją paleisti iš naujo paspausdami patį arduino mygtuką.
Tikiuosi, kad jums patiko šis projektas ir kartu su jumis „DeNiS Geek pro100“ kamuolys, štai ir viskas!