INHOUDSOPGAWE:
- Stap 1: Stap 1: Afstandsensor
- Stap 2: Stap 2: Servomotor
- Stap 3: Stap 3: RGB LED
- Stap 4: Stap 4: LCD
- Stap 5: Stap 5: die kode
Video: Vinnige reaksiespel: Afstandweergawe: 5 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Hi. Dit is 'n instruksie hoe u 'n speletjie kan skep wat u reaksietyd en gevoel van afstand toets. Hierdie projek is gebaseer op 'n ou projek waarby twee spelers deelgeneem het om te sien wie 'n vinniger reaksietyd gehad het deur op 'n knoppie te klik wanneer 'n lig groen word. Hierdie een het 'n soortgelyke doel, behalwe dat dit 'n enkelspeler is, en eerder as 'n lig wat afgaan, kry die speler 'n tydsraamwerk om hul hand 'n sekere spasie van 'n afstandsensor af te distansieer.
Soos alle Arduino -projekte, benodig hierdie spel talle elektriese komponente in die Arduino -kring. Die belangrikste komponente, behalwe die bedrading en die Arduino self, sluit in die broodbord, 'n servomotor, 'n LCD -skerm, 'n RGB LED en 'n afstandsensor.
Met behulp van https://abra-electronics.com is die prys sonder die drade en Arduino $ 32,12 CAD.
Stap 1: Stap 1: Afstandsensor
Die eerste stap is om die ultrasoniese afstandsensor op die broodbord op te stel en na die Arduino te dra. Die presiese posisie van die sensor maak nie eintlik saak nie, maar ideaal is dit naby aan 'n rand sodat daar ruimte is vir die ander komponente, soos in die prent hierbo getoon. Daar is vier penne op die sensor; GND, VCC, TRIG en ECHO. GND en VCC moet onderskeidelik in die grond- en kragrails gekoppel word en die ander twee penne in twee penne op die Arduino ingebind word. Die twee penne wat ek gebruik het, was 12 vir ECHO en 11 vir TRIG. Gebruik twee ander drade om die kragrail aan te dryf en die grondrail te aard deur die kragrail aan die 5V -pen en die grondrail aan 'n GND -pen te koppel.
Stap 2: Stap 2: Servomotor
Die volgende stap is om die servomotor op te stel. In hierdie projek funksioneer die servomotor as 'n timer. Dit begin by 1 graad, en oor die tydperk waarin die gebruiker sy hande moet verwyder, draai dit tot 180 grade. Ek het 2 sekondes gebruik toe die gebruiker uitvind hoe ver hulle hande moet afstand, sodat die servo 179 grade oor 'n periode van 2 sekondes draai, met 'n kort tussenpose. Die servomotor het drie drade; gewoonlik geel, rooi en bruin. Die rooi gaan in die kragrail wat reeds in 5V bedraad is, en die bruin in die grondrail wat reeds in GND aangeslote is. Die laaste draad word in 'n Arduino -pen ingeprop. Ek het pin #9 gekies vir hierdie een. Dan benodig u 'n kondensator wat dieselfde spoor verbind waarmee die servomotor se krag- en aarddrade verbind is, soos in die prent hierbo gesien.
Stap 3: Stap 3: RGB LED
Die funksie van die LED hierin is om op te tree as 'n skaal vir die telling. As die speler se telling ongeveer 0 is, sal die LED wit wees en sal dit meer rooi word as die speler se telling daal en groen as die speler se telling styg. Hierdie LED het vier bene; 'n rooi lig been, 'n blou lig been, 'n groen lig been en 'n gemeenskaplike katode wat tussen die ander drie bene gedeel word. Die gewone katode, die langste been, word aan die kragrail gekoppel sodat dit 5 volt ontvang. Koppel 330 ohm -weerstande aan die ander drie kleurbene en heg die ander ente van die weerstande aan die digitale penne van PWM op die Arduino. Die een wat ek gebruik het, was digitale penne 3, 5 en 6 vir onderskeidelik die rooi, groen en blou bene.
Stap 4: Stap 4: LCD
Die laaste komponent is die LCD, wat staan vir vloeibare kristalvertoning. Die doel hiervan is om die speler sy huidige telling sowel as die afstand wat hulle nodig het om hul hande van die sensor af weg te sit, aan die speler te vertel. Hier is vier penne; GND, VCC, SDA en SCL. GND en VCC sal onderskeidelik in die grond- en kragrails van die broodbord gekoppel word. Die SDA -pen moet in die analoog pen A4 gekoppel word, en die SCL -pen in die analoog pen A5. Anders as die ander komponente, moet u die SDA- en SCL -penne op A4 en A5 aansluit.
Stap 5: Stap 5: die kode
Noudat ons al die komponente ingebind het, kan ons die kode skryf. Die eerste deel van die kode is om die nodige biblioteke in te voer en ons veranderlikes te verklaar en in watter penne die komponente verbind is. Ons moet die Wire-, LiquidCrystal_I2C- en Servo -biblioteke vir hierdie kode invoer.
#insluit
#insluit
#insluit
Servo myServo;
int const trigPin = 11;
int const echoPin = 12;
int redPin = 3;
int greenPin = 5;
int bluePin = 6;
int telling = 0;
int tim = 500;
int stroom = ewekansig (8, 16); // ewekansige waarde waar die gebruiker sy hand van die sensor moet verwyder
LiquidCrystal_I2C lcd (0x27, 16, 2); // LCD -opstelling
Nou moet ons die leemte -opstelling () gebruik om ons pinnetipes te verklaar en ander nodige komponente op te stel.
ongeldige opstelling () {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 (); // LCD -opstelling}
Nou moet ons die RGB LED -kode opstel met behulp van 'n funksie en PWM:
void setColor (int rooi, int groen, int blou) {
rooi = 255 - rooi;
groen = 255 - groen;
blou = 255 - blou;
analogWrite (redPin, rooi);
analogWrite (greenPin, groen);
analogWrite (blouPin, blou);
}
Nou moet ons die leemte -lus () byvoeg. Hier gaan ons ewekansige heelgetalle genereer en 'n reeks if -stellings gebruik om die spel vir die speler te beheer. Die huidige veranderlike, hierbo opgestel, is vir die huidige afstand wat die speler van die sensor moet distansieer.
Omdat die kode in die leemte -lus () baie lank is, plak ek 'n skakel na 'n dokument met die kode:
docs.google.com/document/d/1DufS0wuX0N6gpv…
Uiteindelik moet ons die werklike berekeninge doen om die waardes van die ultrasoniese afstandsensor in duim om te skakel. Die ultrasoniese afstandsensor meet nie direk die afstand nie; dit maak klank vry en teken die tyd aan wat die sensor neem om die geluid terug te kry van die voorwerp waaruit dit weerkaats.
lang mikrosekondesToInches (lang mikrosekondes) {
gee mikrosekondes terug / 74 /2;
}
Nou steek ons die bedrade Arduino in die rekenaar met die kode, stel die poorte op en voer dit uit! Daar is twee maniere vir hierdie speletjie. U kan slegs die LCD -skerm, servomotor, sensor en die RGB LED gebruik, en u weet slegs die afstand wat u van die sensor moet wees, wat die moeiliker modus is. Die makliker modus behels die gebruik van die seriële monitor in Tools> Serial Monitor, wat u elke sekonde op hoogte sal hou van hoe ver u van die sensor af is, sodat u die nodige aanpassings kan aanbring.
Dankie vir die lees!
Aanbeveel:
Vinnige shifter onder $ 50! Kazeshifter Arduino verstelbare vinnige skakelaar: 7 stappe
Vinnige shifter onder $ 50! Kazeshifter Arduino Verstelbare Quick Shifter: Hallo Superbike- of motorfietsliefhebbers! Op hierdie instruksies sal ek deel hoe u u eie Quick Shifter goedkoop kan maak! Vir mense wat lui is om hierdie instruksies te lees, kyk net na my video! Let wel: vir sommige fietse wat gebruik alreeds 'n brandstofinspuitingstelsel, soms
Vinnige en uitstekende fotobewerking met Picasa: 10 stappe (met foto's)
Vinnige en uitstekende fotobewerking met Picasa: Met 'n uitstekende digitale kamera is daar 'n groot verantwoordelikheid om duisende foto's te bestuur. Dit kan pynlik wees, veral as u dit wil gebruik om 'n proses vir Instructables te dokumenteer. Ek ken my pad in Photoshop, maar ek wend my gereeld tot G
Vinnige vrugteklavier met MIDI: 6 stappe (met foto's)
Vinnige vrugteklavier met MIDI: Dit is 'n baie eenvoudige klavier met kapasitiewe aanraking. Tik op vrugte, blikkies koeldrank, bottels water, stroke aluminiumfoelie, ens., En u kry polifoniese klaviermusiek van u rekenaar af. Noudat die sagteware geskryf is, behoort die projek nie meer as
Vinnige, vinnige, goedkoop, goed uitstaande LED -kamerbeligting (vir almal): 5 stappe (met foto's)
Vinnig, vinnig, goedkoop, goed uitkyk LED-kamerbeligting (vir almal): welkom almal :-) Dit is my eerste instruksie, so kommentaar is welkom :-) Ek hoop om u te wys hoe u 'n vinnige LED-beligting kan maak. TINY buget.Wat jy nodig het: KabelLEDs Weerstands (510Ohms vir 12V) Stapels Soldeerbout Snyers en ander basiese
Vinnige en eenvoudige sagte skakelaars (vir vinnige prototipering): 5 stappe
Vinnige en eenvoudige sagte skakelaars (vir vinnige prototipering): daar is baie verskillende maniere om sagte skakelaars te maak. Hierdie instruksie toon 'n ander opsie van 'n baie vinnige prototipe vir die sagte skakelaar, met behulp van 'n aluminiumband in plaas van geleidende stof, en soliede drade in plaas van 'n geleidende draad, wat