Bon dia, estimat lector del meu article, avui en aquest article m'agradaria explicar-vos com muntar el joc "tug of war" a arduino
AQUEST ÉS EL QUE NECESSITES:
1. Arduino Uno
2,2 condensadors per 0,1 microfarads
3,14 resistències de 220 ohms
4. Escala LED o 10 LED a 3 volts
5. Tauler de pa
6. 2 botons de rellotge
7. tweeter piezo
8. Disparador d'inversió Schmitt
9. cables de pont
Així que primer, programem l’ardino
Aquí teniu un esbós:
A continuació, recollim tot segons aquest esquema:
Hauríeu d’obtenir una cosa així:
després que la "corda" s'hagi desplaçat al costat 1 dels jugadors finalitzi el joc, podeu reiniciar-lo prement el botó del arduino
Espero que us hagi agradat aquest projecte i amb vosaltres la bola pro100 de DeNiS Geek, això ja està per ara!
AQUEST ÉS EL QUE NECESSITES:
1. Arduino Uno
2,2 condensadors per 0,1 microfarads
3,14 resistències de 220 ohms
4. Escala LED o 10 LED a 3 volts
5. Tauler de pa
6. 2 botons de rellotge
7. tweeter piezo
8. Disparador d'inversió Schmitt
9. cables de pont
Així que primer, programem l’ardino
Aquí teniu un esbós:
#defineix BUZZER_PIN 0
#defineu FIRST_BAR_PIN 4
#defineu BAR_COUNT 10
#defineix MAX_SCORE 20
// variables globals utilitzades en interrupcions (vegeu més avall)
// s'ha de marcar com a inestable (volàtil)
puntuació int volàtil = 0;
nul configuració ()
{
per a (int i = 0; i & lt; BAR_COUNT; ++ i)
pinMode (i + FIRST_BAR_PIN, OUTPUT);
pinMode (BUZZER_PIN, OUTPUT);
// La interrupció (anglès interrupt) suspèn el principal
// programa, realitza la funció especificada i, a continuació, es reprèn
// programa principal. Necessitem una interrupció amb el clic d’un botó,
// és a dir en canviar el senyal d’altura a baixa, és a dir, endavant
// davant (caient) davant
attachInterrupt (INT1, pushP1, FALLING); // INT1 és el tercer pin
attachInterrupt (INT0, pushP2, FALLING); // INT0 és el segon pin
}
void pushP1 () puntuació {++; } // Funció d'interrupció del primer jugador
void pushP2 () {--score; } // 2ª funció d'interrupció del reproductor
bucle void ()
{
to (BUZZER_PIN, 2000, 1000); // donar un senyal per començar.
// mentre que cap dels jugadors va guanyar, actualitzem la "corda"
while (abs (puntuació) & lt; MAX_SCORE) {
int bound = mapa (puntuació, -MAX_SCORE, MAX_SCORE, 0, BAR_COUNT);
int left = min (lligat, BAR_COUNT / 2 - 1);
int right = max (enllaçat, BAR_COUNT / 2);
per a (int i = 0; i & lt; BAR_COUNT; ++ i)
digitalWrite (i + FIRST_BAR_PIN, i & gt; = esquerra &&i & lt; = dreta);
}
to (BUZZER_PIN, 4000, 1000); // donar un senyal de victòria
mentre que (true) {} // "suspèn" el tauler fins a reiniciar
}
A continuació, recollim tot segons aquest esquema:
Hauríeu d’obtenir una cosa així:
després que la "corda" s'hagi desplaçat al costat 1 dels jugadors finalitzi el joc, podeu reiniciar-lo prement el botó del arduino
Espero que us hagi agradat aquest projecte i amb vosaltres la bola pro100 de DeNiS Geek, això ja està per ara!