Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Sveiki visi
Šiandien aš jums parodysiu, kaip galite sukurti savo vizitinę kortelę/žaidimų konsolę/ką tik galite įsivaizduoti, kurioje yra apšviestas I2C OLED ekranas ir ATtiny85 mikroprocesorius. Šioje instrukcijoje aš jums pasakysiu, kaip iš tikrųjų veikia mano sukurta PCB, kaip galite ją sukurti ir ką galite padaryti naudodami šią funkciją. Jei jau turite „I2C“ekraną, prijungtą prie „ATtiny85“, ši instrukcija vis tiek gali būti naudinga, jei bandote rodyti vaizdus arba norite sukurti meniu, žaidimą ir dar daugiau.
Tikriausiai jums įdomu, kas tai iš tikrųjų yra. Tai tik paprasta spausdintinė plokštė su įmontuota baterija, ekranu, mygtukais, įjungimo/išjungimo jungikliu ir apdorojimo bloku. Pagalvokite apie tai kaip apie mažą „Gameboy“, kurį galite lengvai užprogramuoti atlikti įvairius dalykus. Pirmyn!
1 žingsnis: žarnos
Jei to dar nepadarėte, labai rekomenduoju susikurti paskyrą schemose.io. Tai leis jums pritaikyti mano dizainą pagal jūsų poreikius.
Šiame žingsnyje paaiškinsiu, kaip iš tikrųjų galite patekti į vieną iš šių spausdintinių plokščių (PCB). Aš sukūriau savo PCB grandinėse.io - puikus internetinis įrankis, kurį galite naudoti grandinių schemoms ir PCB kurti. Dizainą galite peržiūrėti čia:
Jei norite gauti PCB, galite užsisakyti tiek, kiek norite iš OSH parko naudodami šią nuorodą:
Lentas gauti reikia šiek tiek laiko (1–3 savaitės), bet patikėkite manimi. Tai verta! Norėdami sukurti savo daugiafunkcinę kortelę, jums reikės šių dalių:
- ATtiny85 SOIC-8 pakuotėje. Tai mūsų projekto smegenys, valdančios VISKĄ.
- I2C 128x64 pikselių OLED ekranas:
- 2 22k omų rezistoriai. Tai yra mygtukų traukimo rezistoriai.
- Ant paviršiaus tvirtinamas CR2032 laikiklis:
- CR2032 monetų elementų baterija. Ši maža baterija ilgą laiką gali maitinti grandinę.
- 3 kontaktų slankiojantis jungiklis. Tai yra maitinimo jungiklis!
- Moteriškos antraštės. Galite juos naudoti, kad užprogramuotumėte ATtiny85, kol jis yra grandinėje!
- 6 mm mygtukai:
- Spausdinta plokštė (galite užsisakyti naudodami aukščiau esančią nuorodą
Įrankiai:
- Lituoklis (su smulkiu antgaliu)
- Lituoklis
- Švino kirpimo mašinėlės
Norėdami programuoti ATtiny85:
- 6 Sujungimo laidai nuo vyrų iki vyrų
- Vienas 10 mikrofaradų kondensatorius
- „Arduino Uno“ar kitas ATmega mikrovaldiklis
2 žingsnis: PCB surinkimas
Tai tikrai gana lengva. Viskas, ką jums reikia padaryti, tai lituoti visus komponentus į atitinkamas vietas, kaip nurodyta lentoje. Kai kurie iš šių OLED ekranų yra skirtingų dydžių, taigi, jei jūsų plokštė yra per didelė, galite ją pakabinti ant viršaus, kaip parodyta aukščiau esančiame paveikslėlyje, ir sulenkti antraštes kitoje pusėje ir prilituoti prie skylių, kur jie turėjo eiti. Žiūrėkite antrą vaizdą, jei esate sutrikęs.
Keletas naudingų patarimų:
- Mažas taškas ant „ATtiny“turi būti nukreiptas taip, kad jis būtų arti slankiklio jungiklio, kitaip smeigtukai bus neteisinga tvarka.
- Akumuliatoriaus laikiklio orientacija yra svarbi. Laikiklio galas su išgraviruotu pliusu turi būti ant apatinio pado (nukreiptas į rezistorių).
- Jungiklių, mygtukų, antraščių ir rezistorių orientacija nesvarbi
Jei turite klausimų, rašykite man adresu info [at] coniferapps.com
3 žingsnis: laikas pradėti programuoti
Aš sukūriau savo „ATtiny“/ekrano derinį, naudodamas šį „Instructable“: https://www.instructables.com/id/ATTiny85-connects-to-I2C-OLED-display-Great-Things/. Tiesą sakant, aš netgi naudoju biblioteką, kurią „AndyB2“pakeitė savo eskizuose.
Mes planuojame ATtiny programavimą per „Arduino Uno“. Ši instrukcija parodo, kaip tai padaryti: https://www.instructables.com/id/Program-an-ATtiny-with-Arduino/. Jei dar nepastebėjote, visi reikalingi kaiščiai yra naudingai išardomi ant PCB, o kaiščių numeriai pažymėti užpakalinėje pusėje.
Jei norite pradėti nuo paprasto pavyzdžio, įkelkite aukščiau susietą eskizą į savo kortelę. Prieš tai darydami įsitikinkite, kad maitinimo jungiklis yra perkeltas į dešinę. Jūs nenorite, kad akumuliatorius ir „Uno“tiektų įtampą vienu metu! Tame aplanke yra krūva failų. Kitame žingsnyje aš apie tai kalbėsiu daugiau, tačiau dauguma ten esančių antraštės failų yra šešioliktainiai monochromatinių bitų atvaizdų vaizdai.. Bmp failai yra šie vaizdai, kuriuos ką tik minėjau - kaip matote, jie yra nespalvoti ir lygiai 128x64 pikselių. Jie nėra įkelti į mikrovaldiklį, bet aš maniau, kad įtraukiu juos kaip nuorodą.
4 žingsnis: apie pačią programą
Ankstesniame žingsnyje įkeltas eskizas yra labai paprastas pavyzdys, kaip galėtumėte įgyvendinti meniu. Spustelėjus kairįjį ir dešinįjį mygtukus, programoje perjungiamas skaitiklis. Tada iškviečiama funkcija, kuri ATtiny tikrina šio skaitiklio būseną, ir, remdamasi skaitiklio numeriu, ATtiny ekrane piešia šiuo metu pasirinktos meniu parinkties vaizdą. Kiekviena iš pasirinktų meniu langelių yra atskiras vaizdas. Paspaudus viršutinį mygtuką, „ATtiny“dar kartą patikrina skaitiklio būseną, kad nustatytų, kokį detalių ekraną rodyti. Kol rodomi šie išsamūs ekranai, „ATtiny“nuolat tikrina, ar nėra paspaustas koks nors mygtukas. Kai jis aptinka mygtuko paspaudimą, meniu iškviečianti funkcija vėl iškviečiama ir ekrane nubraižoma dabartinė meniu būsena, sugrąžinant mus atgal į meniu. Jei pradedate programuoti, tai skamba šiek tiek bauginančiai, bet pažadu jums, kai pažvelgsite į kodą, tai bus prasmingiau.
Kiekvienas detalių ekranas taip pat yra jo vaizdas.
Jei nepastebėjote, siurprizas nieko nedaro. Mes tai padarysime kitame žingsnyje:).
5 žingsnis: pritaikykite savo kūrinį
Dabar, kai pamatėte, ką aš padariau, atėjo laikas jums pritaikyti kortelę pagal savo informaciją. Ta biblioteka, kurią įtraukiau, turi funkciją piešti tekstą ekrane, tačiau labai rekomenduoju pasirinkti griežtai vaizdais pagrįstą sprendimą, nes jis atrodo daug geresnis. Aš iš pradžių ketinau pridėti nuotraukų prie programos šios instrukcijos dalies, tačiau ji yra pakankamai ilga, kad pateisintų savo pamokymą. Ją galite peržiūrėti čia:
Dabar, kai žinote, kaip pridėti nuotraukų, yra daugybė dalykų, kuriuos galite priversti padaryti kortelę. Galite naudoti mano meniu ir pagalbos ekraną ir tiesiog pridėti savo kontaktinę informaciją. Jūs netgi galite sugalvoti nedidelį žaidimą „netikėtumo“variantui. Naudojant mygtukus būtų gana paprasta perkelti labai mažą 10x10 spritą aplink ekraną ir patikrinti, ar jis nesusiduria su kitu spritu. Taikydami tą pačią koncepciją, galite sukurti putlią paukščio kloną! Jei ką nors padarysite, komentaruose paskelbkite jo nuotrauką/vaizdo įrašą/failą!
Dar viena smulkmena, kurią pamiršau paminėti. Kalbant apie saugojimą, „ATtiny85“jo neturi daug. Programoms tai yra apie 8 kb. Mano dabartinis eskizas su 5 paveikslėliais ir OLED ekranų biblioteka užima apie 7 iš tų 8 kb. Bet koks jūsų sukurtas žaidimas turės tilpti į šią palyginti mažą maržą, todėl tai bus įdomus iššūkis:).
Dėkojame, kad klausotės mano triukšmo, ir jei turite klausimų, nedvejodami rašykite man el. Paštu info [at] coniferapps.com (pakeiskite [at] @). Prašome balsuoti už mane „Autodesk Circuits“konkurse! Tikimės, kad netrukus turėsite savo vizitinę kortelę/žaidimą, kurį galėsite parodyti!