Taula de continguts:

Joc de reacció ràpida: Versió a distància: 5 passos (amb imatges)
Joc de reacció ràpida: Versió a distància: 5 passos (amb imatges)

Vídeo: Joc de reacció ràpida: Versió a distància: 5 passos (amb imatges)

Vídeo: Joc de reacció ràpida: Versió a distància: 5 passos (amb imatges)
Vídeo: Беслан. Помни / Beslan. Remember (english & español subs) 2024, De novembre
Anonim
Joc de reacció ràpida: versió a distància
Joc de reacció ràpida: versió a distància

Hola Es tracta d’una instrucció sobre com crear un joc que posa a prova tant el temps de reacció com el sentit de la distància. Aquest projecte es basa en un projecte antic que feia, que implicava dos jugadors que competien per veure qui tenia un temps de reacció més ràpid fent clic a un botó quan un llum es posava de color verd. Aquest té un propòsit similar, excepte que és un jugador i, en lloc d’apagar-se una llum, se li dóna un temps per distanciar la mà d’un cert espai lluny d’un sensor de distància.

Com tots els projectes Arduino, aquest joc requerirà nombrosos components elèctrics al circuit Arduino. Els components principals, a part del cablejat i el propi Arduino, inclouen la placa de control, un servomotor, una pantalla LCD, un LED RGB i un sensor de distància.

Amb https://abra-electronics.com, el preu sense cables i Arduino és de 32,12 dòlars.

Pas 1: pas 1: sensor de distància

Pas 1: sensor de distància
Pas 1: sensor de distància

El primer pas és configurar el sensor de distància ultrasònic a la placa de connexió i connectar-lo a l’Arduino. La posició exacta del sensor no té importància, però l’ideal és que estigui a prop d’un cantó perquè hi hagi espai per a la resta de components, tal com es mostra a la imatge superior. Hi ha quatre pins al sensor; GND, VCC, TRIG i ECHO. El GND i el VCC s’han de connectar al terra i als rails d’alimentació respectivament, i connectar els altres dos pins a dos pins de l’Arduino. Els dos pins que he utilitzat eren 12 per a ECHO i 11 per a TRIG. Utilitzeu altres dos cables per alimentar el carril d’alimentació i connecteu-lo a terra mitjançant el cable de connexió al pin de 5 V i el rail de terra a un pin GND.

Pas 2: Pas 2: Servomotor

Pas 2: Servomotor
Pas 2: Servomotor

El següent pas és configurar el servomotor. En aquest projecte, el servomotor funciona com un temporitzador. Començarà a 1 grau i, durant el període de temps en què l’usuari ha de distanciar les mans, girarà a 180 graus. Vaig utilitzar 2 segons quan l'usuari esbrina fins a quin punt ha de distanciar les mans, de manera que el servo gira 179 graus en un període de 2 segons, girant en intervals curts. El servomotor té tres cables; generalment un groc, un vermell i un marró. El vermell entra al rail de potència que ja està connectat a 5V i el marró entra al rail de terra ja connectat a GND. El cable final es connecta a un pin Arduino. He escollit el pin número 9 per aquest. A continuació, necessiteu un condensador que connecti el mateix carril que tingui connectats els cables de potència i terra del servomotor, tal com es veu a la imatge superior.

Pas 3: Pas 3: LED RGB

Pas 3: LED RGB
Pas 3: LED RGB

La funció del LED en això és actuar com una escala de la partitura. Quan la puntuació del jugador és al voltant de 0, el LED serà blanc i es tornarà més vermell si la puntuació del jugador baixa i verd si la puntuació del jugador augmenta. Aquest LED té quatre potes; una pota de llum vermella, una de llum blava, una de llum verda i un càtode comú compartit entre les altres tres potes. El càtode comú, la pota més llarga, està connectat al rail d’alimentació, de manera que rep 5 volts. Connecteu resistències de 330 ohm a les altres tres potes de color i connecteu els altres extrems d’aquestes resistències als pins digitals PWM de l’Arduino. Les que he fet servir han estat els pins digitals 3, 5 i 6 per a les potes vermelles, verdes i blaves respectivament.

Pas 4: pas 4: pantalla LCD

Pas 4: pantalla LCD
Pas 4: pantalla LCD

El component final és la pantalla LCD, que significa pantalla de cristall líquid. El propòsit d’això és indicar al jugador la seva puntuació actual i la distància que necessiten per allunyar les mans del sensor. Aquí hi ha quatre passadors; GND, VCC, SDA i SCL. El GND i el VCC es connectaran al terra i als rails elèctrics de la placa de control, respectivament. El pin SDA s’ha de connectar al pin analògic A4 i el pin SCL s’ha de connectar al pin analògic A5. A diferència dels altres components, heu de connectar els pins SDA i SCL a A4 i A5.

Pas 5: Pas 5: el codi

Ara que hem connectat tots els components, podem escriure el codi. La primera part del codi és importar les biblioteques necessàries i declarar les nostres variables i a quins pins es connecten els components. Hem d’importar les biblioteques Wire, LiquidCrystal_I2C i Servo per a aquest codi.

#incloure

#incloure

#incloure

Servo myServo;

int const trigPin = 11;

int const echoPin = 12;

int RedPin = 3;

int greenPin = 5;

int BluePin = 6;

puntuació int = 0;

int tim = 500;

int actual = aleatori (8, 16); // valor aleatori on l'usuari ha de distanciar la mà del sensor

LiquidCrystal_I2C lcd (0x27, 16, 2); // Configuració del LCD

Ara hem d’utilitzar el void setup () per declarar els nostres tipus de pins i configurar altres components necessaris.

void setup () {myServo.attach (9); Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode pinMode (redPin, OUTPUT); pinMode (greenPin, OUTPUT); pinMode (bluePin, OUTPUT); lcd.init (); lcd.backlight (); lcd.begin (16, 2); lcd.clear (); // Configuració LCD}

Ara hem de configurar el codi LED RGB mitjançant una funció i PWM:

void setColor (int vermell, int verd, int blau) {

vermell = 255 - vermell;

verd = 255 - verd;

blau = 255 - blau;

analogWrite (redPin, vermell);

analogWrite (greenPin, green);

analogWrite (bluePin, blau);

}

Ara cal afegir el bucle buit (). Aquí generarem enters aleatoris i utilitzarem una sèrie d’instruccions if per controlar el joc del jugador. La variable actual, configurada més amunt, és per a la distància actual que el jugador ha de distanciar-se del sensor.

Com que el codi del bucle buit () és molt llarg, enganxaré un enllaç a un document que tingui aquest codi:

docs.google.com/document/d/1DufS0wuX0N6gpv…

Finalment, hem de fer els càlculs reals per convertir els valors del sensor de distància ultrasònic a polzades. El sensor de distància per ultrasons no mesura directament la distància; allibera so i registra el temps que triga el sensor a recuperar el so de qualsevol objecte del qual reboti.

long microsecondsToInches (microsegons llargs) {

retorna microsegons / 74/2;

}

Ara connectem l’Arduino per cable a l’ordinador amb el codi, configurem els ports i el executem. Hi ha dues maneres en aquest joc. O bé, només podeu utilitzar la pantalla LCD, el servomotor, el sensor i el LED RGB i només coneixeu la distància que heu de tenir del sensor, que és el mode més dur. El mode més senzill consisteix a utilitzar el monitor sèrie a Eines> Monitor sèrie, que us actualitzarà cada segon sobre la distància que teniu del sensor, de manera que pugueu fer els ajustos necessaris.

Gràcies per llegir!

Recomanat: