Magandang araw, mahal na mambabasa ng aking artikulo, ngayon sa artikulong ito nais kong sabihin sa iyo kung paano tipunin ang laro na "tug of war" sa arduino
ITO ANG KUNG GUSTO MO:
1. Arduino Uno
2.2 condenser para sa 0.1 microfarads
3.14 resistors ng 220 ohms
4. LED scale o 10 LEDs sa 3 volts
5. Breadboard
6. 2 pindutan ng orasan
7. piezo tweeter
8. Schmitt na pag-convert ng gatilyo
9. jumper wires
Kaya una, programa natin ang arduino
Narito ang isang sketsa:
Susunod, kinokolekta namin ang lahat ayon sa pamamaraan na ito:
dapat kang makakuha ng isang bagay tulad nito:
matapos ang "lubid" ay lumipat sa gilid 1 ng mga manlalaro na nagtatapos ang laro, maaari mong i-restart ito sa pamamagitan ng pagpindot sa pindutan sa arduino mismo
Inaasahan kong nasiyahan ka sa proyektong ito at kasama mo ang DeNiS Geek pro100 bola, lahat na ngayon!
ITO ANG KUNG GUSTO MO:
1. Arduino Uno
2.2 condenser para sa 0.1 microfarads
3.14 resistors ng 220 ohms
4. LED scale o 10 LEDs sa 3 volts
5. Breadboard
6. 2 pindutan ng orasan
7. piezo tweeter
8. Schmitt na pag-convert ng gatilyo
9. jumper wires
Kaya una, programa natin ang arduino
Narito ang isang sketsa:
#define BUZZER_PIN 0
#define FIRST_BAR_PIN 4
#define BAR_COUNT 10
#define MAX_SCORE 20
// pandaigdigang variable na ginagamit sa mga sagabal (tingnan sa ibaba)
// dapat markahan bilang hindi matatag (pabagu-bago ng isip)
pabagu-bago ng isip int = =;
walang pag-setup ()
{
para sa (int i = 0; i & lt; BAR_COUNT; ++ i)
pinMode (i + FIRST_BAR_PIN, OUTPUT);
pinMode (BUZZER_PIN, OUTPUT);
// Paggambala (pag-agaw ng Ingles) suspindihin ang pangunahing
// programa, gumaganap ng tinukoy na pag-andar, at pagkatapos ay magpapatuloy
// pangunahing programa. Kailangan namin ng isang makagambala sa pag-click ng isang pindutan,
// i.e. kapag binabago ang signal mula sa mataas hanggang mababa, i.e. sa
// pababa (bumabagsak) sa harap
attachInterrupt (INT1, pushP1, FALLING); Ang // INT1 ay ang pang-3 pin
attachInterrupt (INT0, pushP2, FALLING); // INT0 ang 2nd pin
}
walang bisa pushP1 () {++ puntos; } // 1st player na gumambala sa pag-andar
walang bisa ang pushP2 () {--score; } / Nakakaabala ang pag-andar ng 2nd player
walang bisa loop ()
{
tono (BUZZER_PIN, 2000, 1000); // magbigay ng isang senyas upang magsimula.
// habang wala sa mga manlalaro ang nanalo, ina-update namin ang "lubid"
habang (abs (puntos) & lt; MAX_SCORE) {
int bound = mapa (puntos, -MAX_SCORE, MAX_SCORE, 0, BAR_COUNT);
int left = min (nakatali, BAR_COUNT / 2 - 1);
int right = max (nakatali, BAR_COUNT / 2);
para sa (int i = 0; i & lt; BAR_COUNT; ++ i)
digitalWrite (i + FIRST_BAR_PIN, i & gt; = kaliwa && i & lt; = kanan);
}
tono (BUZZER_PIN, 4000, 1000); // magbigay ng isang senyas ng tagumpay
habang (totoo) {} // "suspindihin" ang board hanggang sa pag-reboot
}
Susunod, kinokolekta namin ang lahat ayon sa pamamaraan na ito:
dapat kang makakuha ng isang bagay tulad nito:
matapos ang "lubid" ay lumipat sa gilid 1 ng mga manlalaro na nagtatapos ang laro, maaari mong i-restart ito sa pamamagitan ng pagpindot sa pindutan sa arduino mismo
Inaasahan kong nasiyahan ka sa proyektong ito at kasama mo ang DeNiS Geek pro100 bola, lahat na ngayon!