Sisällysluettelo:
- Vaihe 1: Hanki tarvitsemasi asiat
- Vaihe 2: Hae ja lataa koodi
- Vaihe 3: Pelaaminen
- Vaihe 4: Valinnaiset kokeet ulkoisilla komponenteilla
Video: Testaa paljas Arduino, peliohjelmistolla kapasitiivista tuloa ja LED -valoa käyttäen: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
"Push-It" -interaktiivinen peli, jossa käytetään paljaita Arduino-kortteja, ei tarvita ulkoisia osia tai johdotuksia (käyttää kapasitiivista "kosketustuloa"). Yllä oleva osoittaa sen toimivan kahdella eri levyllä.
Push-It on kaksi tarkoitusta.
- Osoittaaksesi/varmistaaksesi nopeasti, että Arduino -korttisi toimii ja että olet asentanut oikein ladataksesi uuden koodiluonnoksen siihen. Näet, että se suorittaa tulon ja lähdön (tunnistaa digitaalisen tulon tason, ulostulon sisäiseen LED -valoon); tallentaa ja palauttaa arvon haihtumattomasta EEPROM-muistista. Kaikki ilman johtoja tai laitteita.
- Tarjoa viihdyttävä ja haastava peli vuorovaikutuksessa Arduino -laudan kanssa.
Tässä ohjeessa oletetaan, että olet jo asentanut Arduino IDE: n ja olet ainakin vähän perehtynyt sen käyttöön. Jos ei, niin viittaan näihin linkkeihin:
Arduinon käytön aloittaminen
Digispark (bootloader) -tuen lisääminen olemassa olevaan Arduino 1.6.x IDE: hen
Push-It toimii useimpien Arduino-levyjen kanssa, esim. Nano-, Uno- tai DigiSpark Attiny85 -levy. Olen testannut sitä Nano 3.1: llä ja DigiSparkilla. Tekstissä, kun viittaan nastojen nimiin/numeroihin, niitä käytetään Nano -kortilla (toisin kuin DigiSpark).
Vaihe 1: Hanki tarvitsemasi asiat
Mikä on yksinkertaisesti mikä tahansa Arduino tai vastaava levy.
Jos sinulla ei vielä ole sellaista, suosittelen aloittamaan DigiSpark Pron (~ 12 dollaria) tai eBayn Nano 3.0: n käytön hintaan 3 dollaria (mutta sinulla on vielä viikko tai kaksi aikaa odottaa sen saapumista Kiinasta); ja sinun on asennettava CH340 -USB -ohjain). DigiSpark ~ 10 dollaria (ei Pro) sopii erittäin hyvin tähän yhden bitin 'videopeliin' (Tämä riisuttu yksikkö, jossa on vain 6 I/O: ta, on hieman hankalampi ladata)
Linkit tässä käytettyyn laitteistoon:
Nano V3.0 Atmega328P eBayssa
Digispark USB -kehityskortti
Vaihe 2: Hae ja lataa koodi
Kopioi alla oleva koodi arduino -luonnostiedostoon (esim.…/Push_It/Push_It.ino) Olen yrittänyt kommentoida sitä melko hyvin. Toivottavasti löydät koodin helposti ymmärrettäväksi. Logiikka sen määrittämiseksi, milloin korottaa, pienentää ja milloin ei, on hieman monimutkainen, mutta tämä osa on myös erikoiskoodi, eikä siitä ole yleistä hyötyä. Katso Arduino IDE:
Uuden Arduino -luonnoksen luominen
Lataa Push_It -luonnos mikrokontrolleriimme Arduino IDE -ohjeiden mukaisesti.
Vaihe 3: Pelaaminen
Pelin tavoitteena on saada LED (sisäinen) vilkkumaan mahdollisimman monta kertaa välähdyssarjassa, joka sitten toistuu
Pelin pelaaminen:
Push-It alkaa yhdellä välähdyksellä, joka sitten toistuu. Jos kosketat sormeasi tulotapin lähellä LED -valon palaessa, seuraava jakso vilkkuu LEDiä kahdesti.
Joka kerta, kun painat pseudo -painiketta ensimmäisen välähdyksen aikana, välähdykseen lisätään uusi salama. Sormen nostamisella/irrottamisella ei yleensä ole väliä.
Mutta jos painat ennen ensimmäistä välähdystä tai sen jälkeen, sarjan välähdysten määrä vähenee.
Jos et tee mitään muuta, sarjan välähdysten määrä säilyy. Lisäksi kun lasku pysyy muuttumattomana koko syklin ajan, lukumäärä tallennetaan EEPROM -muistiin.
Joka kerta kun onnistut lisäämään salaman määrää, ajoitus nopeutuu hieman, mikä vaikeuttaa ja vaikeuttaa salamamäärien saavuttamista. Kun teet liukumisen ylöspäin ja välähdysten määrä vähenee, ennen seuraavan jakson aloitussalamaa on pidempi tauko. Tämä tarjoaa lisähaasteen, koska se voi lisätä todennäköisyyttä, että hyppäät aseeseen. Pysy siis valppaana.
Kun olet saanut suuren välähdyslukumäärän, voit viedä sen (tai lähettää sen, mikä DigiSpark on hyvä) ystävällesi, ja kun se kytketään laitteeseen, he näkevät kuinka suuren salaman määrän olet nostanut kohteeseen. Olen huomannut, että se lopettaa haastavan saada sen jopa yli 8. Kun varsinainen painike on kiinnitetty, olen onnistunut saamaan sen jopa yli tusinaa. Jos haluat palata pienemmäksi, voit painaa sitä toistuvasti milloin tahansa ennen ensimmäistä salamaa tai sen jälkeen. Myös jos hyppäät tulotapin maahan, kun käynnistät virran, laskenta nollautuu arvoon 1.
Huomaa, että alkuperäisen DigiSpark-levyn viive on 10 sekuntia virran kytkemisen jälkeen, minkä jälkeen se alkaa suorittaa Push-It-koodia ja pelata peliä. Se käyttää tätä aikaa yrittääkseen puhua USB -nastojen kautta saadakseen mahdollisen uuden latauskoodin päivityksen.
Jos käyttämässäsi Arduino -kortissa on USB TX -LED -valo, tämä LED -valo vilkkuu nopeasti, kun olet painanut painiketta tehokkaasti. Tämä LED vilkkuu voimakkaammin, kun EEPROM -laskurin arvo päivitetään uudella arvolla. Tämä palaute voi auttaa sinua suuresti tietämään, milloin tai vakuutat, että olet tehokkaasti käynnistänyt painikkeen. Sinun on ehkä varmistettava, ettet kosketa piirin maadoitusta (kuten metallia mikro-USB-liittimen ympärillä), jotta hahmosi todellakin aiheuttaa kohinaa avoimeen tulotappiin. Tulee lisää ja hieman arvaamattomia haasteita johtuen siitä, että tulotappi kelluu (ei johtava/resistiivinen kuorma vetänyt ylös tai alas) ja muuttuva signaalikohina tulee sormesi läpi.
250 Hz: n neliöaalto lähetetään syöttötapin vieressä olevaan nastaan, mikä parantaa suuresti injektoidun tulosignaalin varmuutta, kun sormesi peittää molemmat tapit.
Olen havainnut, että DigiSpark-kortin vastaus on melko johdonmukaisesti ennustettavissa pienestä sormien puristuksesta levyn kulmaan, jossa D3-D5 ovat.
Kun soitan Push-It-peliä, pidän siitä niin, että kortti on liitetty USB 5v -akkuakkuun (katso kuvat). Nämä löytyvät yleensä edullisesti USB AC- ja 12 V -automaattisovittimien vieressä olevista säiliöistä; useimmissa tavarataloissa elektroniikkaosasto.
Vaihe 4: Valinnaiset kokeet ulkoisilla komponenteilla
Huomaa: Jos liität oikean painikkeen, on yksi koodirivi, joka on kommentoitava koodin mukaisesti.
Kaiuttimella, toinen puoli maahan, jos kosketat toista johtoa D4: ään, kuulet 250 Hz: n neliöaallon äänen. D3: ssa on 500 Hz: n neliöaalto. Jos liität kaiuttimen D3: n ja D4: n väliin, kuulet näiden kahden signaalin yhdistelmän.
LEDin liittäminen kaiuttimen sijaan kuten yllä on erittäin mielenkiintoista. Sinun ei tarvitse olla huolissaan jännitteestä, virtatasosta, vastuksista tai edes napaisuudesta (pahimmassa tapauksessa se ei syty, käännä se sitten ympäri). Kokeile ensiksi kytkeä negatiivinen (katodijohto) maahan ja toinen joko D3 tai D4. LED -valo syttyy puoliksi neliön aaltojen vuoksi. Lisäksi vastusta ei tarvita, koska MicroController -yksiköiden ulostulo on rajoitettu. Tein nykyisiä mittauksia, joiden tuloksena oli Attma85 ja Atmega328 MCU 15 mA ja 20 mA. Nämä tasot ovat noin puolet näiden osien nykyisestä rajoitetusta arvosta johtuen kantavan aaltosignaalin 50%: n toimintajaksosta. Mittarin lukemat ovat itse asiassa testatun piirin virran keskiarvo.
Mielenkiintoista on, että jos yhdistät D3: n ja D4: n väliin LED -valolla (katso kuva yllä ja vasemmalla), se syttyy kumpaankin suuntaan ja noin ½ kirkkaudella, kuten toisella puolella maadoitettuna. Kehotan teitä pohtimaan miksi.
Suositeltava:
4 painikepeliä käyttäen yhtä analogista tuloa: 6 vaihetta (kuvien kanssa)
4 Painikepelit yhden analogitulon avulla: Tämä ohje on keskittynyt yhden analogisen tulolinjan käyttämiseen useille painikkeille, jotka voidaan havaita toisistaan riippumatta. Kaikki pelit (kahdeksan
Testaa Internet -nopeutesi käyttämällä Raspberry Pi + Ubidotsia: 9 vaihetta
Testaa Internetin nopeus Raspberry Pi + Ubidot -laitteiden avulla: Raspberry Pi: stä on tullut laajalti käytetty laite paitsi prototyyppien laatimiseen ja koulutukseen myös yritysten teollisiin tuotantohankkeisiin. Pi: n koon, edullisen ja täysin toimivan Linux -käyttöjärjestelmän lisäksi se voi olla vuorovaikutuksessa myös
Koodaa ja testaa tietokone konekielellä: 6 vaihetta
Koodaa ja testaa tietokone konekielellä: Tässä ohjeessa näytän sinulle, kuinka tietokoneohjelma koodataan ja testataan konekielellä. Konekieli on tietokoneiden äidinkieli. Koska se koostuu 1- ja 0 -merkkijonoista, ihmiset eivät ymmärrä sitä helposti. Huolehtimaan
Käytä 1 analogista tuloa 6 painikkeelle Arduinolle: 6 vaihetta
Käytä 1 analogista tuloa 6 painikkeelle Arduinolle: Olen usein ihmetellyt, miten voisin saada lisää digitaalituloja Arduinolleni. Äskettäin tuli mieleeni, että minun pitäisi pystyä käyttämään yhtä analogituloista useiden digitaalitulojen tuomiseen. Tein nopean haun ja löysin missä ihmiset olivat
Testaa kaksinapainen transistori (piirin ulkopuolella): 3 vaihetta
Testaa kaksinapainen transistori (ulos piiristä): Rakensit yhden transistoriprojektin ja se toimi hyvin, mutta nyt se on lakannut toimimasta. Päätät, että transistori voi olla viallinen. Et kuitenkaan ole varma, miten voit testata sen. Tämä opas on tarkoitettu transistorin testaamiseen sen jälkeen, kun se on poistettu