Turinys:
- 1 žingsnis: 1 žingsnis: atstumo jutiklis
- 2 žingsnis: 2 žingsnis: servo variklis
- 3 veiksmas: 3 žingsnis: RGB šviesos diodas
- 4 žingsnis: 4 žingsnis: LCD
- 5 žingsnis: 5 žingsnis: kodas
Video: Greito reagavimo žaidimas: atstumo versija: 5 žingsniai (su paveikslėliais)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Sveiki. Tai yra instrukcija, kaip sukurti žaidimą, kuris patikrintų jūsų reakcijos laiką ir atstumo jausmą. Šis projektas yra paremtas senu projektu, kuriame dalyvavau du žaidėjai, kurie varžėsi, norėdami sužinoti, kas greičiau reaguoja spustelėję mygtuką, kai užsidega žalia lemputė. Šis turi panašų tikslą, išskyrus tai, kad jis yra vienas žaidėjas, o ne užgesianti šviesa, žaidėjui suteikiamas laiko tarpas, kad ranka būtų atitolinta tam tikra erdve nuo atstumo jutiklio.
Šiam žaidimui, kaip ir visiems „Arduino“projektams, reikės daug elektrinių komponentų „Arduino“grandinėje. Pagrindiniai komponentai, išskyrus laidus ir patį „Arduino“, yra duonos lenta, servo variklis, LCD ekranas, RGB šviesos diodas ir atstumo jutiklis.
Naudojant https://abra-electronics.com, kaina be laidų ir „Arduino“yra 32,12 USD.
1 žingsnis: 1 žingsnis: atstumo jutiklis
Pirmasis žingsnis yra nustatyti ultragarsinį atstumo jutiklį ant duonos lentos ir prijungti prie „Arduino“. Tiksli jutiklio padėtis iš tikrųjų neturi reikšmės, tačiau idealiu atveju jis yra arti krašto, kad būtų vietos kitiems komponentams, kaip parodyta aukščiau esančiame paveikslėlyje. Ant jutiklio yra keturi kaiščiai; GND, VCC, TRIG ir ECHO. GND ir VCC turi būti prijungti atitinkamai prie žemės ir maitinimo bėgių, o kiti du kištukai - į du „Arduino“kaiščius. Du mano naudojami kaiščiai buvo 12 ECHO ir 11 TRIG. Naudokite du kitus laidus, kad maitintumėte maitinimo bėgį, ir įžeminkite įžeminimo bėgelį, prijungdami maitinimo bėgelį prie 5 V kaiščio, o įžeminimo bėgelį - prie GND kaiščio.
2 žingsnis: 2 žingsnis: servo variklis
Kitas žingsnis yra servo variklio nustatymas. Šiame projekte servo variklis veikia kaip laikmatis. Jis prasidės nuo 1 laipsnio ir per tą laiką, per kurį vartotojas turės nutolinti rankas, pasuks iki 180 laipsnių. Naudojau 2 sekundes, kai vartotojas sužino, kiek toli turi nutolti rankas, todėl servo sistema per 2 sekundes sukasi 179 laipsniais, sukdamasi trumpais intervalais. Servo variklis turi tris laidus; paprastai geltona, raudona ir ruda. Raudonasis eina į maitinimo bėgelį, kuris jau prijungtas prie 5 V, o rudas - į įžeminimo bėgelį, jau prijungtą prie GND. Galutinis laidas prijungiamas prie „Arduino“kaiščio. Aš pasirinkau kaištį #9. Tada jums reikia kondensatoriaus, jungiančio tą patį bėgelį, prie kurio prijungti servo variklio maitinimo ir įžeminimo laidai, kaip parodyta aukščiau esančiame paveikslėlyje.
3 veiksmas: 3 žingsnis: RGB šviesos diodas
Šviesos diodo funkcija yra veikti kaip balo skalė. Kai žaidėjo rezultatas yra maždaug 0, šviesos diodas bus baltas ir raudonos spalvos, jei žaidėjo rezultatas sumažės, o žalias, jei žaidėjo rezultatas pakils. Šis šviesos diodas turi keturias kojas; raudona šviesa, mėlyna šviesa, žalia šviesa ir bendras katodas, dalijamasi tarp kitų trijų kojų. Bendras katodas, ilgiausia koja, yra prijungtas prie maitinimo bėgio, todėl gauna 5 voltų įtampą. Prie kitų trijų spalvų kojelių pritvirtinkite 330 omų rezistorius, o kitus šių rezistorių galus pritvirtinkite prie „Arduino“skaitmeninių PWM kaiščių. Naudojau skaitmeninius 3, 5 ir 6 kaiščius, skirtus atitinkamai raudonai, žaliai ir mėlynai.
4 žingsnis: 4 žingsnis: LCD
Paskutinis komponentas yra skystųjų kristalų ekranas. Tikslas yra pasakyti žaidėjui savo dabartinį rezultatą ir atstumą, kurio reikia, kad rankos būtų nutolusios nuo jutiklio. Čia yra keturi kaiščiai; GND, VCC, SDA ir SCL. GND ir VCC bus prijungti atitinkamai prie duonos lentos žemės ir maitinimo bėgių. SDA kaištis turi būti prijungtas prie analoginio kaiščio A4, o SCL - į analoginį kaištį A5. Skirtingai nuo kitų komponentų, SDA ir SCL kaiščius turite prijungti prie A4 ir A5.
5 žingsnis: 5 žingsnis: kodas
Dabar, kai prijungėme visus komponentus, galime parašyti kodą. Pirmoji kodo dalis yra importuoti reikiamas bibliotekas ir deklaruoti mūsų kintamuosius bei tai, į kuriuos kaiščius komponentai prijungti. Šiam kodui turime importuoti „Wire“, „LiquidCrystal_I2C“ir „Servo“bibliotekas.
#įtraukti
#įtraukti
#įtraukti
Servo myServo;
int const trigPin = 11;
int const echoPin = 12;
int redPin = 3;
int greenPin = 5;
int bluePin = 6;
int rezultatas = 0;
int tim = 500;
int srovė = atsitiktinė (8, 16); // atsitiktinė vertė, kai vartotojas turi atitraukti ranką nuo jutiklio
LiquidCrystal_I2C LCD (0x27, 16, 2); // LCD sąranka
Dabar turime naudoti void setup (), kad paskelbtume savo kaiščių tipus ir nustatytume kitus reikalingus komponentus.
void setup () {myServo.attach (9); Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode pinMode (redPin, OUTPUT); „pinMode“(žalias „Pin“, OUTPUT); pinMode („bluePin“, OUTPUT); lcd.init (); lcd.backlight (); LCD. pradžia (16, 2); lcd.clear (); // LCD sąranka}
Dabar turime nustatyti RGB LED kodą naudodami funkciją ir PWM:
void setColor (int raudona, int žalia, int mėlyna) {
raudona = 255 - raudona;
žalia = 255 - žalia;
mėlyna = 255 - mėlyna;
analogWrite (redPin, raudona);
analogWrite (žaliasPin, žalia);
analogWrite („bluePin“, mėlyna);
}
Dabar turime pridėti tuštumos kilpą (). Čia mes sugeneruosime atsitiktinius sveikuosius skaičius ir naudosime keletą teiginių, kad galėtume valdyti žaidėjo žaidimą. Dabartinis kintamasis, nustatytas aukščiau, yra skirtas dabartiniam atstumui, kurį žaidėjas turi atsiriboti nuo jutiklio.
Kadangi kodas tuštumos cikle () yra labai ilgas, įklijuosiu nuorodą į dokumentą, kuriame yra šis kodas:
docs.google.com/document/d/1DufS0wuX0N6gpv…
Galiausiai turime atlikti faktinius skaičiavimus, kad ultragarso atstumo jutiklio reikšmes paverstų coliais. Ultragarsinis atstumo jutiklis tiesiogiai nematuoja atstumo; jis skleidžia garsą ir įrašo laiką, per kurį jutiklis atgauna garsą iš bet kokio objekto, nuo kurio jis atšoka.
ilgos mikrosekundėsToInches (ilgos mikrosekundės) {
grąžinimo mikrosekundės / 74 /2;
}
Dabar prijungiame laidinį „Arduino“prie kompiuterio su kodu, nustatome prievadus ir paleiskite! Šiame žaidime yra du režimai. Galite naudoti tik skystųjų kristalų ekraną, servo variklį, jutiklį ir RGB šviesos diodą ir žinote tik atstumą, kuriuo turite būti nuo jutiklio, kuris yra sunkesnis režimas. Lengvesnis režimas apima serijinio monitoriaus naudojimą skiltyje „Įrankiai“> „Serijinis monitorius“, kuris kas sekundę informuos, kiek toli esate nuo jutiklio, kad galėtumėte atlikti reikiamus pakeitimus.
Ačiū, kad skaitote!
Rekomenduojamas:
Šviesos diodų atstumo indikatorius: 5 žingsniai (su paveikslėliais)
Šviesos diodų atstumo indikatorius: paprastai vedžiu savo šunį Rusio pasivaikščioti, kai saulė nusileidžia, kad jis galėtų žaisti neperkaitęs. Problema ta, kad kai jis yra nuo pavadėlio, jis kartais būna per daug susijaudinęs ir bėga toliau nei turėtų, esant silpnam apšvietimui ir kitiems šunims
„Tap Tap Rainbow“- dviejų žaidėjų greito reagavimo žaidimas: 4 žingsniai (su paveikslėliais)
„Tap Tap Rainbow“- dviejų žaidėjų greito reagavimo žaidimas: Prieš 2 savaites mano dukrai kilo geniali idėja sukurti greitą reakcijos žaidimą su vaivorykštės spalvomis (ji yra vaivorykštės ekspertė: D). Man akimirksniu patiko ši idėja ir mes pradėjome galvoti, kaip galėtume tai paversti tikru žaidimu. Idėja buvo. Jūs turite vaivorykštę
Simono žaidimas - įdomus žaidimas!: 5 žingsniai
Simono žaidimas - įdomus žaidimas!: Nuoroda: čia Laikas mums treniruoti smegenis, ar ne? Be tų nuobodžių ir beprasmių žaidimų, yra žaidimas „Simono žaidimas“
Kliūčių vengimo žaidimas su atstumo jutikliu: 5 žingsniai
Kliūčių vengimo žaidimas su atstumo jutikliu: Kliūčių vengimo žaidimas, pavyzdžiui, „Flappy Bird“. Judinkite ranką, kad išvengtumėte susidūrimo. Tai lengva padaryti ir smagu žaisti
Greito nešiojamojo kompiuterio robotų bazė: 8 žingsniai (su paveikslėliais)
Greita nešiojamųjų kompiuterių robotų bazė: bendradarbiaudami tarp „TeleToyland“ir „RoboRealm“, sukūrėme greitą nešiojamojo kompiuterio pagrindo roboto bazę, naudodamiesi „Parallax Motor Mount & Ratų komplektas. Šiam projektui norėjome, kad jis būtų greitas ir paprastas, ir norėjome palikti aukščiausią