Sisällysluettelo:
- Vaihe 1: Projektin esittely
- Vaihe 2: Leipälevy
- Vaihe 3: Kokoonpano
- Vaihe 4: Ohjelmointi ja asetukset
- Vaihe 5: Painikkeiden lukuluonnos auttaa sinua löytämään vastusarvot muokattavaksi pääluonnokseen. Paina kutakin painiketta ja tallenna vastusarvot pääluonnokseen
- Vaihe 6: Osaluettelot ja tarvitsemasi työkalut
- Vaihe 7: Lisätietoja ja pääluonnos
Video: Kädessä pidettävä Arduino -paperi -kalliosaksipeli 20 x 4 -LCD -näytön avulla I2C: 7 askelta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Hei kaikki tai ehkä minun pitäisi sanoa "Hei maailma!"
Olisi suuri ilo jakaa kanssanne projekti, joka on ollut avaukseni moniin Arduinon asioihin. Tämä on kädessä pidettävä Arduino Paper Rock Scissors -peli, jossa käytetään I2C 20x4 LCD -näyttöä. Tiedän, että saatat ajatella: "Toinen paperikivipeli?" Mutta useimmat Arduino Paper Rock Scissors -pelit käyttävät yksinkertaisia LED -valoja, ja näin myös yhden, jossa käytettiin servojen nostamia paperisymboleja. Ne ovat siistejä. Tämä projekti käyttää 20 x 4 LCD -näyttöä ja teki yhden I2C: llä ja toisen ilman sitä (ei tässä). Halusi halvan kotelon, jossa on valmis ulkonäkö, ei vain leipälevyn sotkua. Kaikilla ei ole pääsyä 3D -tulostimeen ja he haluavat maksaa jollekin, jolla on. Halusin sen olevan helppo tehdä, jotta voisin jakaa ideat muiden kanssa. Koska ohjelmointitaitoni ovat aloittelijan tasolla, luonnos on melko yksinkertainen ja helppo ymmärtää ja muokata. Tämä oli henkilökohtainen koulutukseni luonnoksen luomiseen. Luonnoksesta löytyy paljon muistiinpanoja ja se on käynyt läpi monia, monia (20+?) Iterointeja, kunnes mielestäni se on oikein. Projektin valmistaminen maksaa alle 20 dollaria (ei I2C).
Aloitin Arduinon kanssa vuonna 2018 ja kävin heidän verkkosivustonsa läpi ja luin kaiken mitä pystyin. Rakennettu ja kokeiltu mukana tulevilla esimerkkiprojekteilla ja lukenut paljon ohjeita, joita monet teistä ovat jakaneet vuosien varrella. Arvostan heitä todella ja olen oppinut niin paljon teiltä kaikilta. Kiitos. Nyt haluan jakaa osan oppimistani lisäämällä omaa luovuuttani. Ennen kuin kommenttiosassa on paljon kysymyksiä siitä, miten tämä ja tämä kannattaa pitää mielessä, aloitin tämän ilman kokemusta Arduinosta. Opin rakentamalla esimerkkiprojekteja Arduinon ja Instructables -verkkosivustoille. Opin teiltä kaverit. Kun jäät jumiin, ne voivat olla nopein tapa löytää ratkaisu.
Vaihe 1: Projektin esittely
Valitsin nestekidenäytön Amazonista ja valitsin I2C 20x4 LCD -mallin alhaisten kustannusten (noin 12–18 dollaria) sekä johdotuksen ja ohjelmoinnin helppouden vuoksi. Jos haluat, voit käyttää yhtä ilman I2C: tä ja saatat saada sen yhtä halvalla kuin 7 dollaria. Mutta sinun on käytettävä toista kirjastoa ja johdotusjärjestelmää ja käytettävä enemmän Arduino -nastoja. Älä huoli, se riittää molempiin suuntiin. Sarja I2C 20x4 olisi helpompi rakentaa, vähemmän johtoja on vähemmän hämmentävää. Mutta rinnakkainen 20x4 LCD on noin 5 dollaria halvempi. Piirsin kaaviot molemmista kytkentäkaavioista. Suurin osa muista osista ostin Amazonista ja muutamasta paikallisesta kaupasta. Laatikkoni on tyhjä cappuccino -juomasekoitin. Pidän siitä, että kansi ponnahtaa helposti pois päältä virran kytkemiseksi päälle/pois, kaikkien komponenttien käsittelyyn tai pariston vaihtamiseen. Ja "Hei!" laatikko oli ilmainen ja pidän cappuccinosta. Muovin kierrättäminen on hyväksi ympäristölle. Voit käyttää mitä tahansa haluamaasi laatikkoa, johon kaikki sopii, tai jopa ohittaa laatikko tai leipälauta projektissa. Halusin halvan "valmisprojektin". Lyön vetoa, että joku luo 3D -painetun version. Arduino pelaa paperikivipeliä kanssasi nestekidenäytöllä, pitää pisteet, voit syöttää painikkeilla, ja jos valitset, on vaihtoehto, jonka avulla voit huijata. Alunperin huijausominaisuus on kirjoitettu virheenkorjausta varten, ja kun olin valmis sen kanssa, kommentoin sitä. Ihan huvin vuoksi laitoin sen takaisin.
Vaihe 2: Leipälevy
Leivoin piirini Arduino Unolla, mutta kun laitoin kaiken yhteen, käytin Arduino Nanoa, koska se sopii paremmin laatikkoon. Joten voit rakentaa tämän kummankin kanssa. Muista kuitenkin muuttaa pari asetusta IDE: ssä. Nano asennetaan nestekidenäytön takaosaan komentoliuskoilla tai kaksipuolisella teipillä. Aseta Arduino Nano I2C -takakortin viereen niin, että USB -liitin on ulospäin (LCD -näytön oikealla puolella). Voit käyttää 9v- tai 4x AA -paristokoteloa (josta saat 6v), jossa on SPST -liukukytkin virran kiinnittämiseksi laatikon sisälle myös komentoliuskoilla. Molempiin suuntiin rakennetussa Arduinossa on sisäinen jännitesäädin, joka alentaa sen tarvittavaan 5 volttiin. Jos ajattelet sitä, tämä peli voi todella kierrättää "enimmäkseen tyhjät 9v -paristot" virran saamiseksi ja toimii hyvin. (Vaihdat savuilmaisimen paristot kahdesti vuodessa, eikö?) Muut laitteet, jotka käyttävät 9 voltin paristoa, saattavat sanoa, että se on kuollut 6–8 voltin jännitteellä. mutta se ei ole kuollut ennen kuin se on "Arduino Dead!"
Suunnittellessani projektia käytin 4 SPST -painikkeita syöttöön, mutta valmiiden pelien rakentaminen laatikkoon käytti 5 SPST -painikkeita tulevaisuudessa ajatellen, voisin yrittää tehdä pelin, joka tarvitsisi lisää painikkeita. Ehkä sokkelopeli? Painikkeiden vastusjännitteen jakaja on asennettu yhteen proto -levyn romukappaleeseen, joka voidaan asentaa myös komentoliuskoilla.
Vaihe 3: Kokoonpano
Kokoonpano:
Neljä pääkokoonpanoa ovat nestekidenäyttö, jossa on valinnainen I2C -säätölevy, Arduino Nano, vastukset ja kytkimet, jotka on ketjutettu yhteen liitettävään proto -korttiin, ja akkukotelo, jossa on virtakytkin.
Sinun tulisi aloittaa piirilevyllä leipomisella tai proto-levyn kovalla langalla kaavion mukaisesti. Pidän LCD -näytön säilyttämisestä kuvapuoli alaspäin laatikon kannessa, jotta se ei naarmuunnu. Käytin otsikkoa vain Arduinon toisella puolella, jossa on 5v liittääksesi sen proto -korttiin. Tein sillan, jossa oli 3 otsikkoa (paljon juotostöitä) Arduinosta proto-levylle, joten ne makasivat litteänä LCD-näytön takana komentorivillä tai kaksipuolisella teipillä. Mutta todella, levyt voidaan liittää vain juotosjohtimista toiseen. Käytti naarasliitintä proto -kortin liittämiseen LCD I2C -laitteeseen. Protokortin vastusjaloilla voidaan tehdä painikkeiden viisi juotoskohtaa. Jokaisen painikkeen toinen jalka menee Arduinon tapille A0. Jokainen painike tarvitsee 2 juotetta. Käytä ohmimittaria määrittääksesi, mitä paininjaloja käytetään, mutta yleensä et voi mennä vikaan vierekkäisten jalkojen kanssa (lävistäjä toisistaan).
Valitse asetukset Arduinollesi IDE: ssä. Lataa luonnos ja lataa se Arduinolle ja testaa / vianetsintä.
Oletko valmis laittamaan sen laatikkoon? Poistin cappuccinon etiketin, pesen ja kuivasin laatikon. Mittaa ja leikkaa huolellisesti nestekidenäytön laatikossa oleva reikä, kuten näet, ja se on kiinnitetty 3 tapilla, jotka on ruuvattu kolmeen LCD -kulmareikään (2 laatikon pohjaan, 1 kannen lähelle) juuri niin kauan, että takaisin laatikkoon ja pidä se paikallaan kitkalla. Ruuvinreikä nestekidenäytössä saattaa olla liian lähellä liitintä, joten jätän sen pois. Porattiin Exacto -veitsellä vaarnojen ruuvien esireiät, jotta ne eivät halkeile (varo, älä luista ja pura itseäsi, pidä tapit pihdeillä). Piti taivuttaa / soseuttaa laatikkoa hieman viimeistä asennusta varten, mutta se napsahtaa takaisin oikeaan muotoon. Painikkeiden reiät "porataan" asettamalla ne paikalleen (vedä viivat suoralla reunalla) ja lämmittämällä liittimiä juotosraudalla, kunnes ne "sulavat" laatikon läpi. Irrota painikkeet sen jälkeen, kun ne ovat jäähtyneet ja juottaneet 6 " - 9" CAT 5e -langanpätkille tai 18–22 ga: n johdoille. Asenna painikkeet johdin ensin takaisin reikiinsä ja sitten juota vastuksen proto-kortille. Piste superliimaa, kuumaa liimaa tai jopa vain kitkaa pitää painikkeet paikallaan. Yhdessä rakennuksessa käytettiin joitakin puhelinkaapeliliittimiä (punaiset ympyrät kirkkaissa muovilohkoissa), jotta viimeiset kouralliset liitännät olisivat helpompia akkukotelon, vastuskortin ja LCD / Arduino-kokoonpanon välillä. Voit halutessasi käyttää juotosta ja kutistua. Työnnä sitten varovasti ja hitaasti kaikki johdot ja komponentit laatikkoon ja sulje kansi. Asensitko akun ja lähetit Arduinon luonnoksen ennen kuin teet tämän kaiken? Tarvitset myös kirjaston 20x4 nestekidenäytölle I2C: llä tai ilman sitä (kumpi tahansa valitset), jonka voit ladata ilmaiseksi Githubista. Käynnistä se, kokeile sitä ja katso toimiiko se. Myöhemmin muokkasin luonnostani taukoilla lukemisen helpottamiseksi, lisäsin "vilkkuvien pisteiden vaikutuksen" ja joitain muita asioita sekä paljon kommentteja. Yritä sijoittaa Arduino niin, että USB voidaan edelleen liittää ja uusi luonnos ladata. Tietysti käytti vuokaaviota luonnoksen luomisessa. Löydät kommentit melko paljon määrittelemään, missä kukin vuokaavion lohko oli.
Huomaat, että painikkeet ovat sarja- / rinnakkaispiirissä, jonka avulla voit käyttää yhtä Arduino -tulonappia niin monta painiketta kuin haluat. Piiri toimii jännitteenjakajana syöttämään arvon analogiseen nastaan muuttamalla jokaisen painikkeen lukemaa arvoa. Voit käyttää sarjamonitoria selvittääksesi piiriarvot vastuksesi perusteella ja muuttaaksesi luonnoksesi "hyväksyttyjä arvoja".
Toivottavasti sinulla on hauskaa rakentaa omaasi! Jos teet yhden tai jopa teet siitä modifikaatioita, jaa se meille muille. Kiitos, että luit.
Vaihe 4: Ohjelmointi ja asetukset
Nyt hauskaa IDE: n kanssa. Toivottavasti olet juonut cappuccinoa. Saatat tarvita sitä auttaaksesi sinua pysymään hereillä.
Saatat huomata, että sinun on asennettava joitain kirjastoja. Tarvitset Wire.h I2C: lle, LCD.h LCD: lle, LiquidCrystal_I2C.h I2C ohjatulle LCD: lle. Sinun on myös käytettävä komentoa lcd.begin (20, 4) kertoaksesi Arduinolle, että käytät 20 merkin nelirivistä LCD -näyttöä ja muita asetuksia saattaa olla.
Lisätietoja kirjastojen asentamisesta on osoitteessa
Arduino IDE: stä saatat joutua asettamaan levyn ja sen portin, johon se on kytketty. Portti löytyy tietokoneen ohjauspaneelista/laitehallinnasta/Universal Serial Bus -ohjaimista. Sinun on selvitettävä, mitä Arduinoa käytät. Käytän Arduino Nanoa, mutta Uno toimii myös tähän. Valitse asetukset huolellisesti.
Sinun on ehkä selvitettävä I2C -osoitteesi. Sinun pitäisi pystyä lukemaan se suoraan lautahyppyistä. Voit myös ladata I2C -skannerin osoitteesta Arduino.cc tai myös osoitteesta https://www.gammon.com.au/forum/?id=10896 ja muista paikoista.
Jossain tämän kohdan ympärillä sinun pitäisi pystyä lataamaan ohjelma Arduinolle ja testaamaan toimivuus. Syttyykö LCD -näyttö? Osaatko lukea hahmoja? Kerran rakensin piirin ja testasin sen taustavalon palaessa, mutta merkit olivat lukukelvottomia. Vietti tuntikausia (oikein, HOURS) kokeillen asetuksia ja vahvistamalla yhteyksiä varmistaaksesi, että se on rakennettu oikein. Nousi pari päivää. Palasin siihen myöhemmin ja huomasin, että säätölevyn muuttuva vastus oli asetettu minimiin. Laitoin sen ylös ja hahmot olivat näkyvissä. Bang pää pöydällä. Toinen syy lyödä päätäsi työpöydälle? Jos sinun on vaihdettava akku, sinun on ehkä säädettävä tämä muuttuva vastus uudelleen. Kun näin tapahtui, leikkasin pienen reiän laatikon taakse pääsyä varten.
Sinun on ehkä määritettävä omat painikearvot tässä ohjelmassa painikkeidesi käyttämien vastusten perusteella. Voit käyttää tätä kätevää luonnosta tähän ja muistaa aktivoida sarjamonitori. Suorita luonnos ja paina kutakin painiketta ja kirjoita jokainen arvo muistiin. Muokkaa sitten luonnosta vastaamaan painikearvoja. Lataa sitten muokattu luonnos taulullesi ja katso, toimiiko se.
On olemassa monia pieniä muuttujia, joiden kaikkien on oltava juuri oikeita, ja sinun saattaa olla erilainen kuin minun. Kärsivällisyys ja erilaisten asioiden kokeileminen auttavat sinua saamaan omasi toimimaan. Muista myös, että kun olet asettanut Arduino-muuttujasi (kuten kortin nimi, com 3, 5 tai mikä tahansa, prosessori ja ohjelmoija [kaikki työkalujen alla]), saatat saada ne kaikki oikein, mutta se ei toimi, koska sinun on käynnistettävä uudelleen. Irrota Arduino ja kytke se takaisin tietokoneeseen. Sinun on ehkä myös tallennettava tietokone ja käynnistettävä se uudelleen.
Lataa tämä luonnos, käytä näyttöä, paina painikkeita ja tallenna arvot. Muokkaa sitten paperikiviskettä, joka korvaa vastukseni arvot omallasi. Suorita Paper Rock Scissors -luonnos ja tarkista, toimiiko se oikein. Ai niin, oletko asentanut painikkeet väärään järjestykseen? Sinun on ehkä asennettava ne uudelleen, jos haluat ne tietyssä järjestyksessä.
Pidä hauskaa!
Vaihe 5: Painikkeiden lukuluonnos auttaa sinua löytämään vastusarvot muokattavaksi pääluonnokseen. Paina kutakin painiketta ja tallenna vastusarvot pääluonnokseen
// painikkeen lukuluonnos
void setup () {
// laita asennuskoodi tähän, jotta se suoritetaan kerran:
Sarja.alku (9600);
}
void loop () {
// laita pääkoodisi tänne toistettavaksi:
buTon; // Painikkeiden lukemiseen
buTTon = 0; // Painikkeiden lukemiseen
buTTon = analoginen (A0); // Painikkeiden lukemiseen käytetty komento
viive (100);
Serial.println (buTTon);
Vaihe 6: Osaluettelot ja tarvitsemasi työkalut
Osaluettelo Amazonista:
Arduino Uno tai Arduino Nano
20x4 nestekidenäyttö I2C: llä tai ilman
9v tai 6v paristokotelo SPST -liukukytkimellä (tai hanki liukukytkin erikseen)
5x SPST -painikkeet
1x vetovastus 1k - 5k
5x alle 1k vastukset, 200-500 ohmia on hyvä
Osaluettelot Muut paikat tai kaupat:
9 tai 4 x 1,5 voltin akku (9 voltin vaihtoehdon avulla voit kierrättää "enimmäkseen tyhjät" paristot)
Komentoliuskat (käytetty täyttöpakkaus) tai kaksipuolinen teippi
Puhelinkaapelin jatkojohdot (valinnainen, mutta helpottaa johtojen liittämistä)
Muutama tuuma 1/4 tappia
Pienet puuruuvit tapien kiinnittämiseen nestekidenäyttöön
Juottaa
Lämpökutistuminen 18 ga: n johdoille
Romut tai kierrätysosat:
Tyhjä cappuccino -juomasekoitin (kaikilla ei ole 3D -tulostinta, ota cappuccinoa ja kierrätä muovia)
Noin 1 "x 2" Proto -levyromu, vaikka käytin Amazonin protoboardia
Eri pituuksilla 18-22 ga johtoa tai Cat 5e kiinteää ydintä
Tarvittavat työkalut:
Pieni Philips -ruuvimeisseli
Pieni litteä ruuvimeisseli
Exacto -veitsi
Juotin ja juote
Raskaat sakset
Neulan pihdit
Viivotin
Vaihe 7: Lisätietoja ja pääluonnos
Kiitos, että luit. Tiedän, että se on paljon. Tämä on ensimmäinen Intructable ja tämä yksin oli minulle hieman opettavaista. Kun katson taaksepäin, huomaan, että olen paikoin sanaton ja toisissa liian lyhyt. Minun olisi pitänyt jakaa kokoonpano enemmän vaiheiksi. Ja koska rakensin tämän projektin noin tusina kertaa, kunnes se oli oikein, jotkut kuvat ovat yhdestä tai toisesta mallista. Minun täytyy mennä takaisin ja ottaa kuvia vain yhdestä mallista. Haluan sisällyttää myös yhden tai kaksi videota. Joten kyllä, tulen takaisin ja korjaan nämä asiat. Mutta nyt annan sen käsiinne. Toivottavasti nautit sen rakentamisesta yhtä paljon kuin minä. Kiitos taas lukemisesta.
Suositeltava:
MutantC V3 - Modulaarinen ja tehokas kädessä pidettävä PC: 9 vaihetta (kuvilla)
MutantC V3 - Modulaarinen ja tehokas kädessä pidettävä PC: Raspberry -pi -kämmenlaite, jossa on fyysinen näppäimistö, näyttö- ja laajennusotsikko mukautetuille levyille (kuten Arduino Shield). MutantC_V3 on mutantC_V1- ja V2 -seuraaja. Katso mutantC_V1 ja mutantC_V2.https: //mutantc.gitlab.io/https: // gitla
Kädessä pidettävä sääasema: 4 vaihetta
Kädessä pidettävä sääasema: Tässä opetusohjelmassa käytämme Arduinoa, olet -näyttöä ja SparkFun -ympäristöanturiyhdistelmää CCS811- ja BME280 -antureiden kanssa rakentaaksesi kämmenlaitteen, joka mittaa lämpötilaa, kosteutta, TVOC -tasoja, ilmanpainetta
Kädessä pidettävä yövalo: 7 vaihetta (kuvilla)
Kädessä pidettävä yövalo: 5-vuotias poikani herätti meidät yöllä, ja luennoimme häntä jatkuvasti antamalla äidin ja isän nukkua, kunnes tajusin, että hän ei itse pystynyt määrittämään, oliko se nukkumisaika vai leikki Lisäksi hän pyysi meitä sytyttämään valon
Kädessä pidettävä pikavalintaohjain (Photoshop + More) [Arduino]: 4 vaihetta
Kädessä pidettävä pikavalintaohjain (Photoshop + More) [Arduino]: Viimeksi loin pienen ohjauslevyn käytettäväksi Photoshopissa. Se teki ihmeitä, ja käytän sitä edelleen! Mutta se on myös melko rajallinen, vain viisi painiketta ja hyödyllinen koko ja opasiteettivalitsimet. Huomasin silti, että haen näppäimistöä paljon … Joten
Kädessä pidettävä Arduino Pong -konsoli: 6 vaihetta (kuvilla)
Kädessä pidettävä Arduino Pong -konsoli: DFRobot otti yhteyttä minuun äskettäin ja halusi minun käyttävän heidän erityistä Arduino Nano -levyään ja OLEDia. Aluksi halusin luoda älykkään pyörän ja rakensin sen kokonaisuudessaan. Mutta valitettavasti Nano oli liian heikko ajamaan ja tallentamaan massiivista luonnosta