İyi günler, makalemin sevgili okuyucusu, bugün bu makalede arduino'da "savaş römorkörü" oyununun nasıl monte edileceğini anlatmak istiyorum
BU İHTİYACINIZ:
1. Arduino Uno
0.1 mikrofarad için 2.2 kondansatör
3.14 220 ohm direnç
4. LED ölçek veya 3 volt 10 LED
5. Breadboard
6. 2 saat düğmesi
7. piezo tweeter
8. Schmitt evirici tetikleyici
9. jumper kabloları
Önce arduino'yu programlayalım
İşte bir taslak:
Sonra, her şeyi bu şemaya göre toplarız:
böyle bir şey almalısınız:
"ip" oyunun bittiği oyuncuların 1. tarafına geçtikten sonra, arduino'nun üzerindeki düğmeye basarak yeniden başlatabilirsiniz.
Umarım bu projeden hoşlanırsınız ve sizinle birlikte DeNiS Geek pro100 topu, hepsi bu kadar!
BU İHTİYACINIZ:
1. Arduino Uno
0.1 mikrofarad için 2.2 kondansatör
3.14 220 ohm direnç
4. LED ölçek veya 3 volt 10 LED
5. Breadboard
6. 2 saat düğmesi
7. piezo tweeter
8. Schmitt evirici tetikleyici
9. jumper kabloları
Önce arduino'yu programlayalım
İşte bir taslak:
#define BUZZER_PIN 0
#define FIRST_BAR_PIN 4
#define BAR_COUNT 10
#define MAX_SCORE 20
// kesintilerde kullanılan global değişkenler (aşağıya bakınız)
// kararsız (geçici) olarak işaretlenmelidir
uçucu int skoru = 0;
geçersiz kurulum ()
{
için (int i = 0; i & BAR_COUNT; ++ i)
pinMode (i + FIRST_BAR_PIN, OUTPUT);
pinMode (BUZZER_PIN, OUTPUT);
// Kesinti (İngilizce kesinti) ana dili askıya alır
// program, belirtilen işlevi yerine getirir ve devam ettirir
// ana program. Tek bir düğmeye basarak kesmeye ihtiyacımız var,
// yani. sinyali yüksekten alçağa değiştirirken, yani. üzerinde
// aşağı (düşen) ön
attachInterrupt (INT1, pushP1, DÜŞEN); // INT1 3. pin
attachInterrupt (INT0, pushP2, DÜŞEN); // INT0 2. pin
}
void pushP1 () {++ puanı; } // 1. oyuncu kesme işlevi
void pushP2 () {--score; } // 2. oyuncu kesme işlevi
void loop ()
{
ton (BUZZER_PIN, 2000, 1000); // başlamak için bir sinyal verin.
// oyuncuların hiçbiri kazanmasa da, “ip” i güncelliyoruz
(abs (skor) & lt; MAX_SCORE) {
int bound = harita (puan, -MAX_SCORE, MAX_SCORE, 0, BAR_COUNT);
int sol = dak (bağlı, BAR_COUNT / 2-1);
int sağ = maks (bağlı, BAR_COUNT / 2);
için (int i = 0; i & BAR_COUNT; ++ i)
digitalWrite (i + FIRST_BAR_PIN, i & gt; = sol && i <= sağ);
}
ton (BUZZER_PIN, 4000, 1000); // zafer işareti ver
while (true) {} // yeniden başlatılıncaya kadar panoyu "askıya alır"
}
Sonra, her şeyi bu şemaya göre toplarız:
böyle bir şey almalısınız:
"ip" oyunun bittiği oyuncuların 1. tarafına geçtikten sonra, arduino'nun üzerindeki düğmeye basarak yeniden başlatabilirsiniz.
Umarım bu projeden hoşlanırsınız ve sizinle birlikte DeNiS Geek pro100 topu, hepsi bu kadar!