Turinys:

Rankinis „Arduino“popierinių akmenų žirklių žaidimas naudojant 20x4 skystųjų kristalų ekraną su I2C: 7 žingsniai
Rankinis „Arduino“popierinių akmenų žirklių žaidimas naudojant 20x4 skystųjų kristalų ekraną su I2C: 7 žingsniai

Video: Rankinis „Arduino“popierinių akmenų žirklių žaidimas naudojant 20x4 skystųjų kristalų ekraną su I2C: 7 žingsniai

Video: Rankinis „Arduino“popierinių akmenų žirklių žaidimas naudojant 20x4 skystųjų kristalų ekraną su I2C: 7 žingsniai
Video: Kaip pasidaryti VU metrą (žaliems) 2024, Liepa
Anonim
Rankinis „Arduino“popierinių akmenų žirklių žaidimas naudojant 20x4 skystųjų kristalų ekraną su I2C
Rankinis „Arduino“popierinių akmenų žirklių žaidimas naudojant 20x4 skystųjų kristalų ekraną su I2C
Rankinis „Arduino“popierinių akmenų žirklių žaidimas naudojant 20x4 skystųjų kristalų ekraną su I2C
Rankinis „Arduino“popierinių akmenų žirklių žaidimas naudojant 20x4 skystųjų kristalų ekraną su I2C
Rankinis „Arduino“popierinių akmenų žirklių žaidimas naudojant 20x4 skystųjų kristalų ekraną su I2C
Rankinis „Arduino“popierinių akmenų žirklių žaidimas naudojant 20x4 skystųjų kristalų ekraną su I2C

Sveiki visi, o gal turėčiau pasakyti „Labas pasaulis!“

Man būtų labai malonu pasidalinti su jumis projektu, kuris buvo mano įėjimas į daugelį Arduino dalykų. Tai rankinis „Arduino“popierinių uolienų žirklių žaidimas, naudojant I2C 20x4 skystųjų kristalų ekraną. Žinau, kad galvojate: „Kitas popierinių uolienų žaidimas?“Tačiau daugumoje „Arduino“popierinių uolienų žirklių žaidimų naudojami paprasti šviesos diodai, o aš taip pat mačiau vieną, kuriame buvo naudojami servo pakelti popieriniai simboliai. Tai šaunu. Šis projektas naudoja 20x4 LCD ekraną ir padarė vieną su I2C ir vieną be jo (čia neparodyta). Norėjosi nebrangaus dėklo su išbaigta išvaizda, o ne tik duonos lentos netvarka. Ne visi turi prieigą prie 3D spausdintuvo ir nori sumokėti tam, kas tai turi. Ir aš norėjau, kad tai būtų lengva padaryti, kad galėčiau pasidalyti idėjomis su kitais. Kadangi mano programavimo įgūdžiai yra pradedantiesiems, eskizas yra gana paprastas, lengvai suprantamas ir redaguojamas. Tai buvo mano asmeninis išsilavinimas kuriant eskizą. Eskize rasite daug užrašų ir jis išgyveno daugybę daug kartų (20+?), Kol aš tikiu, kad tai teisinga. Projektas kainuoja mažiau nei 20 USD (ne I2C).

Aš pradėjau dirbti su „Arduino“2018 m., Peržiūrėjau jų svetainę ir perskaičiau viską, ką galėjau. Sukurtas ir eksperimentuotas su pavyzdiniais projektais, su kuriais jis susijęs, ir perskaityta daug nurodymų, kuriuos daugelis iš jūsų dalinosi bėgant metams. Tikrai vertink juos ir daug ko iš tavęs išmokau. Ačiū. Dabar noriu pasidalinti kai kuriais dalykais, kuriuos išmokau, pridėdamas savo kūrybiškumo. Prieš komentarų skiltyje sukaupus daugybę klausimų, kaip tai padaryti, nepamirškite, aš pradėjau tai neturėdamas patirties „Arduino“. Aš sužinojau kurdamas pavyzdinius projektus „Arduino“ir „Instructables“svetainėse. Aš pasimokiau iš jūsų, vaikinai. Kai įstrigsite, tai gali būti greičiausias būdas rasti sprendimą.

1 žingsnis: projekto įvadas

Projekto įvadas
Projekto įvadas
Projekto įvadas
Projekto įvadas

Pasirinkote skystųjų kristalų ekraną iš „Amazon“ir pasirinkote I2C 20x4 skystųjų kristalų ekraną dėl mažos kainos (apie 12 USD - 18 USD) ir paprastų laidų bei programavimo. Jei norite, galite naudoti vieną be „I2C“ir gali būti pigiau nei 7 USD. Bet jums reikės naudoti kitą biblioteką ir laidų schemą ir naudoti daugiau „Arduino“kaiščių. Nesijaudinkite, pakanka bet kuriuo atveju. Serijinį I2C 20x4 būtų lengviau sukurti, mažiau laidų mažiau paini. Tačiau lygiagretus 20x4 LCD yra maždaug 5 USD pigesnis. Aš nupiešiau abiejų laidų schemų schemas. Daugumą kitų dalių pirkau iš „Amazon“ir poros vietinių parduotuvių. Mano dėžutė yra tuščia kapučino gėrimų mišinio dėžutė. Man patinka, kad dangtelis lengvai atsiveria, kad įjungtumėte/išjungtumėte maitinimą, dirbtumėte su bet kokiais komponentais ar pakeistumėte bateriją. Ir "Ei!" dėžutė buvo nemokama ir man patinka kapučino. Perdirbtas plastikas yra naudingas aplinkai. Galite naudoti bet kokią jums patinkančią dėžutę, kad viskas tilptų, arba net praleisti dėžutę ar duonos lentą. Norėjau pigiai „užbaigto projekto išvaizdos“. Lažinuosi, kad kažkas sukuria 3D spausdintą versiją. „Arduino“su jumis LCD ekrane žaidžia popierinių uolienų žirklių žaidimą, išsaugo rezultatą, galite įvesti mygtukais, o jei pasirinksite, yra galimybė apgauti. Iš pradžių apgaulės funkcija buvo parašyta derinimo tikslais, o kai ją baigiau, aš ją pakomentavau. Tiesiog savo malonumui įdėjau jį atgal.

2 žingsnis: duonos lenta

Bandomoji Lenta
Bandomoji Lenta
Bandomoji Lenta
Bandomoji Lenta

Aš apipavidalinau savo grandines naudodami „Arduino Uno“, bet viską sudėjus naudoju „Arduino Nano“, nes jis geriau tinka dėžutėje. Taigi, tai galite sukurti naudodami bet kurį iš jų. Tačiau nepamirškite pakeisti kelių IDE nustatymų. „Nano“montuojamas LCD gale, naudojant komandų juostas arba dvipusę lipnią juostą. Padėkite „Arduino Nano“šalia „I2C“kortelės taip, kad USB jungtis būtų nukreipta į išorę (LCD dešinėje). Galite naudoti 9v arba 4x AA (tai suteikia 6v) baterijų dėžutę su SPST slankikliu, skirtu maitinti, sumontuotą dėžutės viduje, taip pat su komandų juostelėmis. Sukurtas abiem kryptimis, „Arduino“turi įmontuotą įtampos reguliatorių, kuris sumažina iki 5 voltų, kurių jam reikia. Jei galvojate apie tai, šis žaidimas iš tikrųjų gali perdirbti „dažniausiai negyvas 9 V baterijas“, kad gautų energijos ir gerai veiktų. (Jūs keičiate dūmų detektoriaus baterijas du kartus per metus, tiesa?) Kiti įrenginiai, kuriuose naudojama 9 voltų baterija, gali pasakyti, kad ji yra išjungta esant 6–8 voltų įtampai; bet jis nėra miręs, kol nepasirodo „Arduino Dead!

Kurdamas projektą, įvedimui naudoju 4 SPST mygtukus. Tačiau, pastatydamas baigtą žaidimą į dėžutę, naudoju 5 SPST mygtukus, galvojančius ateityje, galbūt pabandysiu sukurti žaidimą, kuriam reikia daugiau mygtukų. Gal labirinto žaidimas? Mygtuko rezistoriaus įtampos skirstytuvas yra sumontuotas kartu su proto plokštės laužu, kurį taip pat galima sumontuoti naudojant komandines juostas.

3 žingsnis: Surinkimas

Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas
Surinkimas

Surinkimas:

Keturi pagrindiniai mazgai yra skystųjų kristalų ekranas su papildoma „I2C Piggyback“plokšte, „Arduino Nano“, rezistoriai ir jungikliai, prijungti prie jungiamosios plokštės, ir akumuliatoriaus dėžutė su įjungimo/išjungimo jungikliu.

Turėtumėte pradėti nuo duonos įlipimo į grandinę arba kietos vielos proto plokštės pagal schemą. Man patinka laikyti LCD ekranu žemyn dėžutės dangtelyje, kad nesubraižytumėte. Aš naudoju antraštę tik vienoje „Arduino“pusėje, kurioje yra 5v, kad prijungčiau ją prie protinės plokštės. Aš padariau tiltą su 3 antraštėmis (daug litavimo darbų) nuo „Arduino“iki protinės plokštės, kad jos būtų plokščios LCD ekrano gale su komandų juostelėmis arba dvipuse lipnia juostele. Bet iš tikrųjų, plokštes galima prijungti tik litavimo laidus iš vieno į kitą. Proto plokštės prijungimui prie LCD I2C naudojo moterišką antraštę. Proto plokštės rezistoriaus kojelės gali būti naudojamos 5 mygtukų litavimo taškams. Kita kiekvieno mygtuko kojelė eina į „Arduino“kaištį A0. Kiekvienam mygtukui reikės 2 lituotų laidų. Naudokite omų matuoklį, kad nustatytumėte, kurias mygtukų kojeles naudoti, bet paprastai jūs negalite suklysti su gretimomis kojomis (įstrižainė viena nuo kitos).

Pasirinkite savo „Arduino“nustatymus IDE. Atsisiųskite eskizą ir įkelkite jį į „Arduino“ir išbandykite / užfiksuokite problemą.

Pasiruošę įdėti į dėžutę? Pašalino kapučino etiketę, nuplavo ir išdžiovino mano dėžutę. Kruopščiai išmatuokite ir iškirpkite skylę skystųjų kristalų dėžutės dėžutėje, kaip matote, ir ji sumontuota su 3 kaiščiais, prisuktais prie trijų LCD kampinių skylių (2 prie dėžutės apačios, 1 prie dangtelio), pakankamai ilgai, kad pasiektų atgal į dėžę ir laikykite ją su trintimi. Sraigtinė skylė skystųjų kristalų ekrane gali būti per arti gnybto, todėl aš jos praleidžiu. Naudodami „Exacto“peilį, gręžkite kaiščių bandomąsias skyles varžtams, kad jie neskiltų (atsargiai, neslystumėte ir nesidurtumėte, laikykite kaiščius replėmis). Galutiniam montavimui dėžutę reikėjo šiek tiek sulenkti / sutrinti, tačiau ji vėl susigrąžina tinkamą formą. Mygtukų skylės „išgręžiamos“jas išdėstant (nubrėžkite linijas tiesiu kraštu) ir kaitindami gnybtus lituokliu, kol jie „ištirps“per dėžutę. Tada nuimkite mygtukus, kai jie atvės ir prilituos 6–9 colių CAT 5e laidų atraižas arba 18–22 g laidus prie mygtukų. Sumontuokite mygtukus viela atgal į jų skyles, tada lituokite prie rezistoriaus plokštės. Taškas super klijų, karštų klijų ar net tiesiog trinties laikys mygtukus vietoje. Vienoje konstrukcijoje buvo naudojami kai kurie telefono kabelių jungikliai (raudoni apskritimai skaidraus plastiko blokeliuose), kad būtų lengviau palengvinti paskutinę saują jungčių tarp akumuliatoriaus dėžės, rezistoriaus plokštės ir LCD / „Arduino“mazgo. Jei norite, galite naudoti lydmetalį ir termiškai susitraukti. Tada atsargiai ir lėtai stumkite visą laidą ir komponentus į dėžę ir uždarykite dangtį. Ar prieš tai darydami įdėjote bateriją ir įkėlėte „Arduino“eskizą? Jums taip pat reikės bibliotekos, skirtos 20x4 skystųjų kristalų ekranui su I2C arba be jos (kurį pasirinksite), kurią galite nemokamai atsisiųsti iš „Github“. Įjunkite, išbandykite ir pažiūrėkite, ar tai veikia. Vėliau redagavau eskizą su pertraukomis, kad būtų lengviau skaityti, pridėjau „mirksinčių taškų efektą“ir kai kuriuos kitus dalykus bei daugybę komentarų. Pabandykite pastatyti „Arduino“taip, kad USB vis tiek būtų galima prijungti ir įkelti naują eskizą. Kuriant eskizą, žinoma, buvo naudojama schema. Rasite komentarus, kuriuose beveik apibrėžta, kur buvo kiekvienas schemos blokas.

Pamatysite, kad mygtukai yra nuoseklios / lygiagrečios grandinės, leidžiančios naudoti vieną „Arduino“įvesties kaištį tiek mygtukų, kiek norite. Grandinė veikia kaip įtampos daliklis, kuris tiekia vertę į analoginį kaištį, pakeisdamas kiekvieno paspausto mygtuko nuskaitytą vertę. Galite naudoti nuoseklųjį monitorių, kad išsiaiškintumėte grandinės vertes pagal savo rezistorius ir pakeistumėte eskizo „priimtinas vertes“.

Tikimės, kad jums smagu kurti savo! Jei padarysite vieną ar net keletą modifikacijų, pasidalykite su kitais. Ačiū, kad skaitėte.

4 žingsnis: programavimas ir nustatymai

Programavimas ir nustatymai
Programavimas ir nustatymai
Programavimas ir nustatymai
Programavimas ir nustatymai

Dabar linksminkitės su IDE. Tikiuosi, kad gėrėte kapučino. Jums gali prireikti, kad padėtų jums pabusti.

Galbūt pastebėsite, kad turėsite sukurti kai kurias bibliotekas. Jums reikės Wire.h I2C, LCD.h LCD, LiquidCrystal_I2C.h I2C valdomam LCD. Taip pat turėsite naudoti komandą lcd.begin (20, 4), kad pasakytumėte „Arduino“, kad naudojate 20 simbolių 4 eilučių skystųjų kristalų ekraną ir gali būti kitų nustatymų.

Informacijos apie bibliotekų diegimą rasite:

„Arduino IDE“galite rasti, kad turėsite nustatyti savo plokštę ir prievadą, prie kurio esate prijungtas. Prievadą galite rasti kompiuterio valdymo skydelyje/įrenginių tvarkytuvėje/universaliosios nuosekliosios magistralės valdikliuose. Turite išsiaiškinti, kurį „Arduino“naudojate. Aš naudoju „Arduino Nano“, tačiau „Uno“taip pat tinka. Atidžiai pasirinkite savo nustatymus.

Jums gali tekti išsiaiškinti savo I2C adresą. Turėtumėte mokėti jį perskaityti tiesiai iš lentos trumpiklių. Taip pat galite atsisiųsti „I2C“skaitytuvą iš „Arduino.cc“arba https://www.gammon.com.au/forum/?id=10896 ir kitose vietose.

Kažkur šioje vietoje turėtumėte įkelti programą į „Arduino“ir patikrinti jo funkcionalumą. Ar šviečia LCD ekranas? Ar galite skaityti personažus? Vieną kartą aš sukūriau grandinę, tada išbandžiau, kad apšvietė foninis apšvietimas, tačiau simboliai buvo neįskaitomi. Praleistos valandos (tiesa, HOURS) bandant nustatymus ir tonizuojant ryšius, kad įsitikintumėte, jog jis sukurtas teisingai. Atsikėlė porą dienų. Vėliau grįžo prie jo ir suprato, kad kintamasis rezistorius kišeninėje plokštėje buvo nustatytas iki minimumo. Pasuko ir simboliai buvo matomi. Sprogimo galva ant stalo. Dar viena priežastis daužyti galvą į stalą? Jei reikia pakeisti bateriją, gali tekti dar kartą sureguliuoti šį kintamąjį rezistorių. Kai tai atsitiko, aš išpjoviau nedidelę skylę dėžutės gale, kad būtų galima patekti.

Šioje programoje gali tekti nustatyti savo mygtukų reikšmes, atsižvelgiant į mygtukams naudojamus rezistorius. Tam galite naudoti šį patogų eskizą ir nepamirškite įjungti serijinio monitoriaus. Paleiskite eskizą ir paspauskite kiekvieną mygtuką ir užrašykite kiekvieną vertę. Tada redaguokite eskizą, kad atspindėtų mygtukų reikšmes. Tada įkelkite redaguotą eskizą į savo lentą ir pažiūrėkite, ar jis veikia.

Yra daug mažų kintamųjų, kurie visi turi būti teisingi, o jūsų gali skirtis nuo mano. Jei būsite kantrūs ir bandysite įvairius dalykus, tai padės jums dirbti. Taip pat atminkite, kad nustačius „Arduino“kintamuosius (pvz., Lentos pavadinimą, „com 3“, „5“ar bet ką, procesorių ir programuotoją [viskas po įrankiais]), galbūt jie visi bus teisingai nustatyti, bet tai neveiks, nes jums reikia iš naujo paleisti. Atjunkite „Arduino“ir vėl prijunkite prie kompiuterio. Taip pat gali tekti išsaugoti ir iš naujo paleisti kompiuterį.

Įkelkite šį eskizą, paleiskite monitorių, paspauskite mygtukus ir įrašykite reikšmes, tada redaguokite popieriaus uolienų žirklių eskizą, pakeisdami mano rezistoriaus vertes į jūsų. Paleiskite popieriaus uolienų žirklių eskizą ir patikrinkite, ar jis veikia tinkamai. O taip, ar neteisingai išdėstėte mygtukus? Gali tekti juos iš naujo įdiegti, jei norite, kad jie būtų vykdomi tam tikra tvarka.

Pasilinksmink!

5 veiksmas: mygtukų skaitymo eskizas padės jums surasti rezistines vertes, kurias redaguoti pagrindiniame eskize. Paspauskite kiekvieną mygtuką ir užrašykite savo rezistoriaus vertes, kad įvestumėte į pagrindinį eskizą

// mygtuko skaitymo eskizas

void setup () {

// įdėkite čia savo sąrankos kodą, kad paleistumėte vieną kartą:

Serial.begin (9600);

}

void loop () {

// Įdėkite savo pagrindinį kodą čia, kad paleistumėte pakartotinai:

int buTTon; // Skaitymo mygtukai

buTTon = 0; // Skaitymo mygtukai

buTTon = analogRead (A0); // Komanda, naudojama mygtukams skaityti

vėlavimas (100);

Serial.println (buTTon);

6 žingsnis: dalių sąrašai ir įrankiai, kurių jums gali prireikti

„Amazon“dalių sąrašas:

„Arduino Uno“arba „Arduino Nano“

20x4 LCD ekranas su I2C arba be jo

9 arba 6 voltų baterijų dėžutė su SPST slankikliu (arba gaukite slankiklį atskirai)

5x SPST mygtukai

1x ištraukiamas rezistorius 1k - 5k

5x rezistoriai mažesni nei 1k, 200 - 500 omų yra gerai

Dalių sąrašai Kitos vietos ar parduotuvės:

9v arba 4x 1,5 voltų baterija (9v parinktis leidžia perdirbti „dažniausiai negyvas“baterijas)

Komandų juostelės (naudojama užpildymo pakuotė) arba dvipusė lipni juosta

Telefono kabelio jungikliai (neprivaloma, bet leidžia lengvai prijungti laidus)

Keli coliai 1/4 colio kaiščio

Maži mediniai varžtai, skirti tvirtinti kaiščius prie LCD

Lituoklis

Šilumos susitraukimas 18 g laidams

Atliekos ar perdirbimo dalys:

Tuščia kapučino gėrimų maišymo dėžutė (ne visi turi 3D spausdintuvą, turi kapučino ir perdirba plastiką)

Maždaug 1 x 2 colių „Proto“plokštės laužas, nors naudojau „Amazon“protoboard

Įvairaus ilgio 18–22 g laidai arba „Cat 5e“kieta šerdis

Įrankiai, kurių jums gali prireikti:

Mažas „Philips“atsuktuvas

Mažas plokščias atsuktuvas

„Exacto“peilis

Lituoklis ir lituoklis

Didelio našumo žirklės

Adatos nosies replės

Valdovas

7 žingsnis: šiek tiek daugiau informacijos ir pagrindinis eskizas

Ačiū, kad skaitėte. Žinau, kad daug. Tai mano pirmasis „Intructable“ir vien tai man buvo šiek tiek edukacinis. Žvelgdamas į praeitį matau, kad kai kuriose vietose esu nekalbus, o kitose - per trumpas. Aš turėjau suskaidyti surinkimą į etapus. Ir kadangi aš sukūriau šį projektą maždaug keliolika kartų, kol jis buvo teisingas, kai kurios nuotraukos yra iš vieno ar kito modelio. Man reikia grįžti ir nufotografuoti tik vieną modelį. Taip pat noriu įtraukti vieną ar du vaizdo įrašus. Taigi taip, aš grįšiu ir sutvarkysiu šiuos dalykus. Bet kol kas atiduodu jį į tavo rankas. Tikiuosi, kad jums patiks jį statyti taip pat, kaip man. Dar kartą ačiū, kad perskaitėte.

Rekomenduojamas: