Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Halusin luoda digitaalisen version Magic 8 Ballista …
Sen runko on 3D -tulostettu ja näyttö on muutettu sinivärisen monikulmion pienestä OLED: stä, jota ohjaa satunnaislukugeneraattori, joka on ohjelmoitu Arduino NANO: ksi.
Sitten menin hieman tangenttiin ja loin toisen kuoren, tämä on jäänsininen silmä, joka näyttää suoraan sieluusi …
VAROITUS: Vaikka käytin lopulta elohopean kallistuskytkimiä lopullisessa rakentamisessa. Jos tämä on tarkoitettu käytettäväksi leluna, noudata vain alkuperäistä suunnitelmaa. Elohopealla on tunnettu myrkyllisyys. Toinen video osoittaa selvästi, miksi tein tämän!
Kaikki elohopeakytkimet otettiin talteen vanhoista kotitermostaateista, jotka oli tarkoitettu kaatopaikalle, ne ovat nyt turvallisissa käsissä …
PÄIVITÄ 12. huhtikuuta 2019 !!!: Olen sisällyttänyt tähän paljon yksinkertaisemman tavan saada virta ja hoitaa tämä projekti. Olen sisällyttänyt myös poistetun koodin, joka näyttää vain neuvot. Kaikki paljastuu vaiheessa 10.
Vaihe 1: 8 pallo
Tein 100 mm onton pallon Solidworksissa
En halunnut liitossaumaa pallon päiväntasaajaa pitkin, joten ylä- ja alaosat leikattiin pois jättäen 50 mm reikä yläosaan ja 56 mm reikä pohjaan.
Koska en halunnut kiinnikkeiden näkyvän, tein sitten 57 mm: n leikkauksen 1 mm: n syvyyteen pohjareiän ulkopuolelle ja lisäsin kaksi halkaisijaltaan 4 mm: n tankoa, jotka olivat suoraan kohtisuorassa noin 4 mm: n pituiseen reikään.
Yläreiän tulppa mallinnettiin kääntämällä ylimmän reiän ensimmäinen leikattu osa ylösalaisin. Pistokkeen sisäkaareen lisättiin vielä 2 mm rengas, minkä jälkeen koko asia muutettiin kiinteäksi.
Ylhäältä piirsin suuren numeron 8 ja tämä ääriviiva leikattiin yläkannesta. Tätä puolestaan käytettiin numeron 8 luomiseen.
Vaihe 2: Ikkunan pääsyportti
Tämä osa sisältää kaiken elektroniikan ja sisäisen toiminnan. Se on myös tarkoitettu yhteyspisteeksi paristojen vaihtamiseen.
Halusin, ettei kiinnikkeitä näy tässä, joten tein aukosta ruuvin, joka kääntyy noin 36 astetta ja lukittuu paikalleen.
Kappaleen keskellä on halkaisijaltaan noin 1 tuuman portti, joka mahdollistaa neuvojen tarkastelun.
Portin sisäpuolella on neliön muotoinen aukko, joka on tarkoitettu 2 mm paksun muovi- tai lasikappaleen sijoittamiseen.
Tätä ikkunaa käytetään tämän lelun kaikissa kooissa.
tarvitaan myös kaksi elektroniikkarakenneosaa ja yksi ElectronicsTray ja nanoTray.
Vaihe 3: Tulosta ja koota
Pallo ja numero painettiin ABS -mustalla. Yläkansi painettiin luonnollisella ABS -materiaalilla. Kokeilin ABS valkoista, mutta se näytti liian karkealta.
Numero 8 on puristussovite yläkorkkiin.
Yläsuojus on juuri niin pieni, että se pääsee pallon sisään alareunan läpi.
Tämä on kitkasovitus, mutta se pidetään myös paikallaan ABS -liimalla.
Olin hieman huolissani kaikkien osien asentamisesta sisälle, joten menin eteenpäin ja loin toisen, tällä kertaa sen halkaisija oli 120 mm.
Vaihe 4: Silmä
Poistin 3D -mallien ylemmän aukon ja tulostin molemmat pallot luonnollisesta ABS: stä ja sitten tulostin ikkunan pääsyportin sinisellä ABS: llä.
Se antaa kohtuullisen faksin silmämunasta, kun katsot sitä suoraan.
Pidän tästä versiosta paremmin kuin alkuperäinen 8Ball.
Vaihe 5: Elektroniikka
Avaruus oli rajoite, samoin kuin ulkonäkö.
Ulkopuolisia ulkonemia tai esteitä estettä ei saisi olla.
Lelu käynnistyy ja on vuorovaikutuksessa liikkeen kanssa.
Lelu käynnistyy pois päältä, kunnes se käännetään.
Painonappikytkimen sijasta käytin kallistuskytkintä.
Aiemmin käytin MOSFETia mikro -ohjaimen virran ohjaamiseen. Tämä ei kuitenkaan ollut ihanteellinen, koska se antoi pienen määrän virtaa jatkuvasti syöttää mikro -ohjainta ja tappaa akun noin kuukaudessa.
Tässä tapauksessa käytin pientä relettä, jota käytin kryptex -USB -asemaprojektissani.
Mukana oleva kaavio näyttää johdotukset, jotka ovat tarpeen laitteiston toimimiseksi.
Kallistuskytkin.
Rele. Käytin 6V kelaa, koska akun jännite on 6V, ja tämä vaati ajopiirin releelle, joka on kytketty yksinkertaisesta NPN -transistorista.
Waveshare 128 X 128 OLED -moduuli Amazonilta.
Vaihe 6: Ohjelma
Halusin vastaukset alkuperäiseen leluun, käytin tätä varten Wikipediaa.
Moduuli on SSD1327 -tyyppinen ja näille nestekidenäytöille on erittäin vankka koodikirjasto.
Ensimmäiset yritykset käyttää tätä koodia johtivat epäonnistumiseen, koska muistin käyttö oli liian suuri.
Yksinkertainen ratkaisu oli käyttää valmistajan toimittamaa poistettua koodia.
Puhalsin suurimman osan esimerkistä ja käytin alkuperäisen koodinpätkiä tarvittavien tietojen näyttämiseen.
Ohjelma toimii seuraavasti:
Pallo on lepotilassa.
Pallon kääntäminen katsomalla ikkunaa on alkuperäinen käynnistystila.
Kun Arduino käynnistyy ja näyttää ohjeet "Kysy kysymys ja käännä". Ohjelma ottaa haltuunsa ja syöttää virtaa Arduinolle ohjelman ohjaaman releen kautta.
Ohjeet ovat näkyvissä, kunnes lelu käännetään ympäri ylöspäin, jolloin kallistuskytkin kytketään pois päältä ja ohjelma siirtyy ajattelutilaan. Näytössä näkyy "Thinking…", joten tiedät sen olevan edelleen aktiivinen.
Pallo käännetään sitten uudelleen niin, että ikkuna on pystyssä.
Mekaaninen kallistuskytkin lukee tämän toiminnon ja ohjelma tuottaa satunnaisen vastauksen sekunnin kuluessa ikkunan yläosasta.
Viesti pysyy näkyvissä, kunnes lelu käännetään palloa ylöspäin.
Tämä prosessi jatkuu, kunnes pallo asetetaan ikkunapuoli alaspäin yli 16 sekunniksi, jolloin ohjelma kytkee releen pois päältä ja katkaisee virran.
Kriittiset huomautukset tästä ohjelmasta ovat satunnaisia (); toiminto.
Minulla oli ongelmia samojen vastausten kanssa, testasin tätä jopa molemmilla laitteilla samanaikaisesti ja huomasin, että kyllä ne olivat samat.
On erittäin tärkeää käyttää randomSeed (analogRead (0)); rutiinia. Selitys tähän löytyy TÄÄLTÄ:
Vaihe 7: Ikkunan ja elektroniikan kokoonpano
Tässä kokoonpanossa on viisi painettua osaa, jotka muodostavat ikkunan, paristopidikkeen ja kannen.
Ensimmäinen on näkyvä osa, jossa on OLED -tuki, ja toinen on akun ja ohjaimen teline, joka kiinnittyy ikkunan VIA -pysäytyksiin.
Ikkunassa käytin pientä lasia. Tämä liimattiin paikalleen syaanityyppisellä liimalla. Minulla oli sääolosuhteissa vaahtoa liimalla, joka leikattiin pieniksi nauhoiksi ja asetettiin lasin ympärille ikkunakokoonpanon sisäpuolelle.
Ikkunan ympärillä on 4 ruuvinreikää. nämä on sijoitettu erilleen valitulle moduulille. Näihin on asennettu 4-40 lämmönsyöttölaitetta juotosraudalla.
Kun moduuli on paikallaan, sen kiinnittämiseen käytetään 1/4 tuuman pysäytyksiä.
Minulla kävi tuuri, kun komponentit saapuivat. Tämä tarkoittaa, että pienempi pallo toimii hyvin.
Elektroniikkalokeron pohjassa on paristopidike ja siinä on 2 katkaisua, yksi releelle ja toinen kallistuskytkimelle.
Kannessa on 3 osaa, jotka napsahtavat yhteen ja pitävät paristot tukevasti alas ja tarjoavat tasaisen pinnan NANO -moduulin kiinnittämiseksi.
Nämä kaksi osaa ruuvataan sitten OLD -moduulin takaosassa oleviin neljään kiinnikkeeseen.
VAROVAISESTI! Päätin korvata kallistuskytkimen elohopeakytkimellä. Tämä tuotti luotettavamman toiminnan.
Vaihe 8: Häiriönsovitus
Ikkunakokoonpano, kun se on valmis, istuu todella tiukasti pallon pohjassa olevan aukon läpi.
Kun asennat viimeisen ikkunakokoonpanon palloon, saattaa esiintyä häiriöitä
Jos näin tapahtuu, pallon ikkunatuen sisähuuli on ehkä leikattava kuvan osoittamalla tavalla.
Vaihe 9: Lisätiedostot
Nämä ovat suuria halkaisijaltaan 120 mm kokoisia palloviiloja
Vaihe 10: PÄIVITÄ
Olen suorittanut poistetun koodin loppuun niin, että tällä pallolla on samanlainen toiminta kuin alkuperäisellä.
Kun käännät sen, kestää noin 4 sekuntia, ennen kuin ohjelma käynnistyy ja näyttää neuvot.
Tämäntyyppinen toiminta on mahdollista myös yksinkertaisemmalla laitteistorakenteella.
Voisi poistaa kaikki piirin tehoosat, eikä digitaalista Driving D2: ta tarvittaisi ollenkaan.
Kallistuskytkin voi syöttää kytkentätransistoria, joka tuottaa virtaa levyn raakateholähteelle.
Jätin komponentit paikoilleen tätä muutosta varten.
Jos piiriä muutetaan, powPin -ohjelmailmoitus ja kaikki siihen liittyvät osat voidaan poistaa ohjelmasta.
Jos alkuperäinen piiri rakennettiin ja haluat käyttää no power -koodia. Sen pitäisi silti toimia, kun kallistuskytkin kytkee virran mikrokontrolleriin.
Tässä tilassa ohjelman käynnistyminen ja neuvojen näyttäminen kestää aina noin 4 sekuntia.
Irrottamalla sisääntulonapin, voit yksinkertaistaa sitä entisestään. En ole vielä testannut tätä tilaa, mutta sen pitäisi toimia samalla tavalla. Muista vain poistaa kaikki viittaukset syötteen lukemiseen ohjelmasta.
Jos käytän tätä kaltevuusanturia, olen sisällyttänyt uuden akkutelineen
Vaihe 11: Lisätiedostot
Nämä ovat Waveshare -verkkosivuston OLED -tiedostoja….
Toinen sija Arduino -kilpailussa 2019