Bună ziua, dragă cititoare a articolului meu, astăzi în acest articol aș dori să vă spun cum să asamblați jocul „tug of war” pe arduino
ACEASTA ESTE CE NEVEȚI:
1. Arduino Organizația Națiunilor Unite
2.2 condensatoare pentru 0,1 microfaraduri
3.14 rezistențe de 220 ohmi
4. Scara LED sau 10 LED-uri la 3 volți
5. Panou
6. 2 butoane de ceas
7. tweeter piezo
8. Declanșatorul de inversare Schmitt
9. fire de jumper
Deci, mai întâi, hai să programăm arduino
Iată o schiță:
În continuare, colectăm totul conform acestei scheme:
ar trebui să obțineți așa ceva:
după ce „funia” s-a mutat pe partea 1 a jucătorilor, jocul se termină, îl puteți reporni apăsând butonul de pe arduino
Sper că v-a plăcut acest proiect și alături de dvs. balonul Pro100 DeNiS Geek, asta este deocamdată!
ACEASTA ESTE CE NEVEȚI:
1. Arduino Organizația Națiunilor Unite
2.2 condensatoare pentru 0,1 microfaraduri
3.14 rezistențe de 220 ohmi
4. Scara LED sau 10 LED-uri la 3 volți
5. Panou
6. 2 butoane de ceas
7. tweeter piezo
8. Declanșatorul de inversare Schmitt
9. fire de jumper
Deci, mai întâi, hai să programăm arduino
Iată o schiță:
#define BUZZER_PIN 0
#define FIRST_BAR_PIN 4
#define BAR_COUNT 10
#define MAX_SCORE 20
// variabile globale utilizate în întreruperi (vezi mai jos)
// trebuie marcat ca instabil (volatil)
scorul int volatil = 0;
void setup ()
{
pentru (int i = 0; i & lt; BAR_COUNT; ++ i)
pinMode (i + FIRST_BAR_PIN, OUTPUT);
pinMode (BUZZER_PIN, OUTPUT);
// Întreruperea (engleza întrerupe) suspendă principalul
// programează, îndeplinește funcția specificată, apoi reia
// program principal. Avem nevoie de o întrerupere la apăsarea unui buton,
// adică atunci când schimbați semnalul de la mare la cel mic, adică pe
// față în jos (căzând)
attachInterrupt (INT1, pushP1, FALLING); // INT1 este al 3-lea pin
attachInterrupt (INT0, pushP2, FALLING); // INT0 este al doilea pin
}
void pushP1 () punctaj {++; } // Funcția de întrerupere a primului jucător
void pushP2 () {- score; } // Funcția de întrerupere a jucătorului 2
nul buclă ()
{
ton (BUZZER_PIN, 2000, 1000); // dați un semnal pentru a începe.
// în timp ce niciunul dintre jucători nu a câștigat, actualizăm „funia”
while (abs (scor) & lt; MAX_SCORE) {
int bound = hartă (scor, -MAX_SCORE, MAX_SCORE, 0, BAR_COUNT);
int stânga = min (legat, BAR_COUNT / 2 - 1);
int right = max (legat, BAR_COUNT / 2);
pentru (int i = 0; i & lt; BAR_COUNT; ++ i)
digitalWrite (i + FIRST_BAR_PIN, i & gt; = stânga &&i & lt; = dreapta);
}
ton (BUZZER_PIN, 4000, 1000); // dați un semnal de victorie
while (true) {} // "suspend" placa până la repornirea
}
În continuare, colectăm totul conform acestei scheme:
ar trebui să obțineți așa ceva:
după ce „funia” s-a mutat pe partea 1 a jucătorilor, jocul se termină, îl puteți reporni apăsând butonul de pe arduino
Sper că v-a plăcut acest proiect și alături de dvs. balonul Pro100 DeNiS Geek, asta este deocamdată!