Goedendag, beste lezer van mijn artikel, vandaag wil ik u in dit artikel vertellen hoe u het spel "touwtrekken" kunt samenstellen op Arduino
DIT HEBT U NODIG:
1. Arduino Uno
2.2 condensors voor 0,1 microfarads
3.14 weerstanden van 220 ohm
4. LED-schaal of 10 LED's op 3 volt
5. Broodplank
6. 2 klokknoppen
7. piëzo-tweeter
8. Schmitt inverterende trigger
9. doorverbindingsdraden
Laten we eerst de arduino programmeren
Hier is een schets:
Vervolgens verzamelen we alles volgens dit schema:
je zou zoiets als dit moeten krijgen:
nadat het "touw" naar kant 1 van de spelers is verplaatst, is het spel afgelopen, je kunt het opnieuw starten door op de knop op de Arduino zelf te drukken
Ik hoop dat je genoten hebt van dit project en met jou de DeNiS Geek pro100 bal, dat is alles voor nu!
DIT HEBT U NODIG:
1. Arduino Uno
2.2 condensors voor 0,1 microfarads
3.14 weerstanden van 220 ohm
4. LED-schaal of 10 LED's op 3 volt
5. Broodplank
6. 2 klokknoppen
7. piëzo-tweeter
8. Schmitt inverterende trigger
9. doorverbindingsdraden
Laten we eerst de arduino programmeren
Hier is een schets:
#define BUZZER_PIN 0
#define FIRST_BAR_PIN 4
# definieer BAR_COUNT 10
#define MAX_SCORE 20
// globale variabelen gebruikt in interrupts (zie hieronder)
// moet worden gemarkeerd als onstabiel (vluchtig)
vluchtige int score = 0;
ongeldige setup ()
{
voor (int i = 0; i & lt; BAR_COUNT; ++ i)
pinMode (i + FIRST_BAR_PIN, OUTPUT);
pinMode (BUZZER_PIN, OUTPUT);
// Interruption (Engelse interrupt) schorst de belangrijkste
// programma, voert de opgegeven functie uit en hervat vervolgens
// hoofdprogramma. We hebben een onderbreking nodig met een klik op de knop,
// d.w.z. bij het wijzigen van het signaal van hoog naar laag, d.w.z. op
// neerwaarts (vallend) front
attachInterrupt (INT1, pushP1, FALLING); // INT1 is de 3e pin
attachInterrupt (INT0, pushP2, FALLING); // INT0 is de 2e pin
}
ongeldig pushP1 () {++ score; } // Onderbreking van de eerste speler
ongeldig pushP2 () {--score; } // 2e speler onderbrekingsfunctie
leegte lus ()
{
toon (BUZZER_PIN, 2000, 1000); // geef een signaal om te beginnen.
// terwijl geen van de spelers heeft gewonnen, werken we het "touw" bij
while (abs (score) & lt; MAX_SCORE) {
int bound = map (score, -MAX_SCORE, MAX_SCORE, 0, BAR_COUNT);
int left = min (gebonden, BAR_COUNT / 2 - 1);
int right = max (gebonden, BAR_COUNT / 2);
voor (int i = 0; i & lt; BAR_COUNT; ++ i)
digitalWrite (i + FIRST_BAR_PIN, i & gt; = left && i & lt; = right);
}
toon (BUZZER_PIN, 4000, 1000); // geef een signaal van overwinning
while (true) {} // "schort" het bord op tot reboot
}
Vervolgens verzamelen we alles volgens dit schema:
je zou zoiets als dit moeten krijgen:
nadat het "touw" naar kant 1 van de spelers is verplaatst, is het spel afgelopen, je kunt het opnieuw starten door op de knop op de Arduino zelf te drukken
Ik hoop dat je genoten hebt van dit project en met jou de DeNiS Geek pro100 bal, dat is alles voor nu!