Hari yang baik, pembaca sayang artikel saya, hari ini dalam artikel ini saya ingin memberitahu anda bagaimana untuk memasang "tug perang" permainan pada arduino
INI ADALAH YANG ANDA PERLU:
1. Arduino Uno
2.2 condensers untuk 0.1 microfarads
3.14 resistor 220 ohm
4. Skala LED atau 10 LED pada 3 volt
5. Breadboard
6. 2 jam butang
7. piezo tweeter
8. Schmitt pencetus pembalik
9. wayar pelompat
Jadi, pertama, mari arduino program
Berikut ialah lakaran:
Seterusnya, kami mengumpul segala-galanya mengikut skim ini:
anda sepatutnya mendapat sesuatu seperti ini:
selepas "tali" telah berpindah ke sisi 1 pemain permainan berakhir, anda boleh memulakannya dengan menekan butang pada arduino itu sendiri
Saya berharap anda menikmati projek ini dan dengan anda DeNiS Geek pro100 bola, itu semua untuk sekarang!
INI ADALAH YANG ANDA PERLU:
1. Arduino Uno
2.2 condensers untuk 0.1 microfarads
3.14 resistor 220 ohm
4. Skala LED atau 10 LED pada 3 volt
5. Breadboard
6. 2 jam butang
7. piezo tweeter
8. Schmitt pencetus pembalik
9. wayar pelompat
Jadi, pertama, mari arduino program
Berikut ialah lakaran:
#define BUZZER_PIN 0
#define FIRST_BAR_PIN 4
#define BAR_COUNT 10
#define MAX_SCORE 20
/ // pembolehubah global yang digunakan untuk mengganggu (lihat di bawah)
// mesti ditandakan sebagai tidak stabil (tidak menentu)
skor int yang tidak menentu = 0;
batal persediaan ()
{
untuk (int i = 0; i & lt; BAR_COUNT; ++ i)
pinMode (i + FIRST_BAR_PIN, OUTPUT);
pinMode (BUZZER_PIN, OUTPUT);
// Gangguan (Bahasa Inggeris mengganggu) menggantung utama
// program, melaksanakan fungsi yang ditentukan, dan kemudiannya disambung semula
/ // program utama. Kami memerlukan gangguan pada klik butang,
// i.e. apabila menukar isyarat dari tinggi ke rendah, iaitu. pada
/ / ke bawah (jatuh) depan
attachInterrupt (INT1, pushP1, FALLING); // INT1 adalah pin ke-3
attachInterrupt (INT0, pushP2, FALLING); // INT0 adalah pin ke-2
}
void pushP1 () {++ score; } // Fungsi 1 pemain mengganggu
void pushP2 () {--score; } / Fungsi pemain 2 mengganggu
kekosongan gelung ()
{
nada (BUZZER_PIN, 2000, 1000); // memberi isyarat untuk memulakan.
// sementara tiada pemain yang menang, kami mengemas kini "tali"
sementara (abs (skor) & lt; MAX_SCORE) {
int bound = map (skor, -MAX_SCORE, MAX_SCORE, 0, BAR_COUNT);
int left = min (terikat, BAR_COUNT / 2 - 1);
int right = max (terikat, BAR_COUNT / 2);
untuk (int i = 0; i & lt; BAR_COUNT; ++ i)
digitalWrite (i + FIRST_BAR_PIN, i & gt; = kiri && i & lt; = kanan);
}
nada (BUZZER_PIN, 4000, 1000); // memberi isyarat kemenangan
sementara (benar) {} // "menangguhkan" papan sehingga reboot
}
Seterusnya, kami mengumpul segala-galanya mengikut skim ini:
anda sepatutnya mendapat sesuatu seperti ini:
selepas "tali" telah berpindah ke sisi 1 pemain permainan berakhir, anda boleh memulakannya dengan menekan butang pada arduino itu sendiri
Saya berharap anda menikmati projek ini dan dengan anda DeNiS Geek pro100 bola, itu semua untuk sekarang!