Buen día, querido lector de mi artículo, hoy en este artículo me gustaría decirte cómo armar el juego "tira y afloja" en Arduino
ESTO ES LO QUE NECESITA:
1. Arduino Uno
2.2 condensadores para 0.1 microfaradios
3.14 resistencias de 220 ohmios
4. Escala LED o 10 LED a 3 voltios
5. Tablero de pruebas
6. 2 botones de reloj
7. tweeter piezoeléctrico
8. Gatillo inversor Schmitt
9. cables de puente
Primero, programemos el arduino
Aquí hay un boceto:
A continuación, recopilamos todo de acuerdo con este esquema:
deberías obtener algo como esto:
después de que la "cuerda" se haya movido al lado 1 de los jugadores, el juego termina, puede reiniciarlo presionando el botón en el arduino.
Espero que hayas disfrutado este proyecto y contigo la bola DeNiS Geek pro100, ¡eso es todo por ahora!
ESTO ES LO QUE NECESITA:
1. Arduino Uno
2.2 condensadores para 0.1 microfaradios
3.14 resistencias de 220 ohmios
4. Escala LED o 10 LED a 3 voltios
5. Tablero de pruebas
6. 2 botones de reloj
7. tweeter piezoeléctrico
8. Gatillo inversor Schmitt
9. cables de puente
Primero, programemos el arduino
Aquí hay un boceto:
#define BUZZER_PIN 0
#define FIRST_BAR_PIN 4
#define BAR_COUNT 10
#define MAX_SCORE 20
// variables globales utilizadas en interrupciones (ver más abajo)
// debe estar marcado como inestable (volátil)
puntaje int volátil = 0;
configuración nula ()
{
para (int i = 0; i & lt; BAR_COUNT; ++ i)
pinMode (i + FIRST_BAR_PIN, OUTPUT);
pinMode (BUZZER_PIN, OUTPUT);
// Interrupción (interrupción en inglés) suspende el principal
// programa, realiza la función especificada y luego reanuda
// programa principal. Necesitamos una interrupción con solo hacer clic en un botón,
// es decir al cambiar la señal de mayor a menor, es decir en
// frente hacia abajo (cayendo)
attachInterrupt (INT1, pushP1, FALLING); // INT1 es el tercer pin
attachInterrupt (INT0, pushP2, FALLING); // INT0 es el segundo pin
}
anular pushP1 () {++ score; } // función de interrupción del primer jugador
vacío pushP2 () {- puntaje; } // Función de interrupción del segundo jugador
bucle vacío ()
{
tono (BUZZER_PIN, 2000, 1000); // dar una señal para comenzar.
// mientras ninguno de los jugadores ganó, actualizamos la "cuerda"
while (abs (score) & lt; MAX_SCORE) {
int obligado = mapa (puntuación, -MAX_SCORE, MAX_SCORE, 0, BAR_COUNT);
int left = min (límite, BAR_COUNT / 2 - 1);
int right = max (límite, BAR_COUNT / 2);
para (int i = 0; i & lt; BAR_COUNT; ++ i)
digitalWrite (i + FIRST_BAR_PIN, i & gt; = left && i & lt; = right);
}
tono (BUZZER_PIN, 4000, 1000); // dar una señal de victoria
while (true) {} // "suspender" el tablero hasta que se reinicie
}
A continuación, recopilamos todo de acuerdo con este esquema:
deberías obtener algo como esto:
después de que la "cuerda" se haya movido al lado 1 de los jugadores, el juego termina, puede reiniciarlo presionando el botón en el arduino.
Espero que hayas disfrutado este proyecto y contigo la bola DeNiS Geek pro100, ¡eso es todo por ahora!