Spisu treści:

Wizytówka/konsola do gier: ATtiny85 i ekran OLED: 5 kroków (ze zdjęciami)
Wizytówka/konsola do gier: ATtiny85 i ekran OLED: 5 kroków (ze zdjęciami)

Wideo: Wizytówka/konsola do gier: ATtiny85 i ekran OLED: 5 kroków (ze zdjęciami)

Wideo: Wizytówka/konsola do gier: ATtiny85 i ekran OLED: 5 kroków (ze zdjęciami)
Wideo: ROG Ally jest LEPSZY niż myślałem 2024, Listopad
Anonim
Image
Image
Wnętrzności
Wnętrzności

Cześć wszystkim

Dzisiaj pokażę Ci, jak zbudować własną wizytówkę/konsolę do gier/cokolwiek sobie wyobrazisz, z podświetlanym wyświetlaczem I2C OLED i mikroprocesorem ATtiny85. W tym Instruktażu opowiem Ci, jak faktycznie działa zaprojektowana przeze mnie płytka PCB, jak ją zbudować i co możesz zrobić z tą funkcjonalnością. Jeśli masz już ekran I2C podłączony do ATtiny85, ten Instruktaż może być nadal pomocny, jeśli próbujesz wyświetlić obrazy lub chcesz tworzyć menu, grę i nie tylko.

Prawdopodobnie zastanawiasz się, co to właściwie jest. To tylko prosta płytka drukowana z wbudowaną baterią, ekranem, przyciskami, włącznikiem/wyłącznikiem i procesorem. Pomyśl o tym jak o małym Gameboyu, którego możesz łatwo zaprogramować do wykonywania różnych rzeczy. Naprzód!

Krok 1: Odwaga

Wnętrzności
Wnętrzności
Wnętrzności
Wnętrzności

Jeśli jeszcze tego nie zrobiłeś, gorąco polecam założenie konta na circuits.io. Umożliwi to dostosowanie mojego projektu do własnych potrzeb.

W tym kroku wyjaśnię, w jaki sposób możesz zdobyć jedną z tych płytek drukowanych (PCB). Zrobiłem swoją płytkę drukowaną w circuits.io, świetnym narzędziu online, którego można używać do tworzenia schematów obwodów i płytek drukowanych. Możesz zobaczyć projekt tutaj:

Jeśli jesteś zainteresowany zdobyciem PCB, możesz zamówić tyle, ile chcesz w OSH Park, korzystając z tego linku:

Zdobycie desek zajmuje trochę czasu (1-3 tygodnie), ale zaufaj mi. To jest tego warte! Do zbudowania własnej wielofunkcyjnej karty potrzebne będą następujące części:

  • ATtiny85 w pakiecie SOIC-8. To mózg naszego projektu, który kontroluje WSZYSTKO.
  • Ekran OLED I2C 128x64 pikseli:
  • 2 rezystory 22 kΩ. To są rezystory pullup dla przycisków.
  • Uchwyt CR2032 do montażu powierzchniowego:
  • Bateria pastylkowa CR2032. Ta mała bateria może zasilać obwód przez dłuższy czas.
  • Przełącznik suwakowy 3-pinowy. To jest wyłącznik zasilania!
  • Kobiece nagłówki. Możesz ich użyć do zaprogramowania ATtiny85, gdy jest w obwodzie!
  • Przyciski 6mm:
  • Płytka drukowana (możesz ją zamówić, korzystając z powyższego linku)

Narzędzia:

  • Lutownica (z cienką końcówką)
  • Lutować
  • strzyżenia ołowiu

Do programowania ATtiny85:

  • 6 przewodów połączeniowych z męskiego na męskie
  • Jeden kondensator 10 mikrofaradów
  • Arduino Uno lub inny mikrokontroler oparty na ATmega

Krok 2: Montaż PCB

Montaż PCB
Montaż PCB
Montaż PCB
Montaż PCB

To naprawdę proste. Wystarczy przylutować wszystkie elementy do odpowiednich miejsc, jak zaznaczono na płytce. Niektóre z tych ekranów OLED są dostępne w różnych rozmiarach, więc jeśli twój jest za duży dla płyty, możesz zawiesić go na górze, jak na powyższym obrazku, i zgiąć nagłówki po drugiej stronie i przylutować je do otworów, w których mieli odejść. Zobacz drugi obraz, jeśli jesteś zdezorientowany.

Kilka pomocnych wskazówek:

  • Mała kropka na ATtiny musi być zorientowana tak, aby była blisko przełącznika suwakowego, w przeciwnym razie piny będą w złej kolejności.
  • Liczy się orientacja uchwytu baterii. Koniec uchwytu z wytrawionym plusem musi znajdować się na dolnej podkładce (w kierunku rezystora).
  • Orientacja przełączników, przycisków, nagłówków i rezystorów nie ma znaczenia

Jeśli masz jakieś pytania, napisz do mnie na info[at]coniferapps.com

Krok 3: Czas na programowanie

Mój zestaw ATtiny / screen działa przy użyciu następującego Instructable: https://www.instructables.com/id/ATTiny85-connects-to-I2C-OLED-display-Great-Things/. W rzeczywistości używam nawet biblioteki, którą AndyB2 zmodyfikował we własnych szkicach.

Sposób, w jaki będziemy programować ATtiny, to Arduino Uno. Poniższa instrukcja pokazuje, jak to zrobić: https://www.instructables.com/id/Program-an-ATtiny-with-Arduino/. Jeśli jeszcze tego nie zauważyłeś, wszystkie wymagane piny są pomocne w wyłamaniu na płytce drukowanej z numerami pinów oznaczonymi z tyłu.

Jeśli chcesz zacząć od podstawowego przykładu, prześlij szkic połączony powyżej na swoją kartę. Upewnij się, że przełącznik zasilania jest przesunięty w prawo, zanim to zrobisz. Nie chcesz, aby bateria i Uno jednocześnie dostarczały napięcie! W tym folderze znajduje się kilka plików. Będę o tym mówił w następnym kroku, ale większość plików nagłówkowych zawiera szesnastkowe reprezentacje monochromatycznych obrazów bitmapowych. Pliki.bmp to te obrazy, o których właśnie wspomniałem - jak widać, są czarno-białe i mają dokładnie 128x64 piksele. Nie są one wgrywane do mikrokontrolera, ale pomyślałem, że dołączę je w celach informacyjnych.

Krok 4: O samym programie

Szkic, który przesłałem w poprzednim kroku, jest bardzo prostym przykładem tego, jak możesz zaimplementować menu. Kliknięcie każdego z lewego i prawego przycisku powoduje przełączenie licznika w programie. Następnie wywoływana jest funkcja, której ATtiny sprawdza stan tego licznika i na podstawie numeru licznika ATtiny rysuje na ekranie obraz aktualnie wybranej opcji menu. Każda z różnych wybranych komórek menu jest własnym obrazem. Jeśli naciśnięty zostanie górny przycisk, ATtiny ponownie sprawdza stan licznika, aby określić, jaki szczegółowy ekran wyświetlić. Podczas wyświetlania tych szczegółowych ekranów ATtiny stale sprawdza, czy został naciśnięty jakikolwiek przycisk. Po wykryciu naciśnięcia przycisku funkcja rysująca menu jest ponownie wywoływana, a aktualny stan menu jest rysowany na ekranie, zabierając nas z powrotem do menu. Brzmi to trochę zniechęcająco, jeśli dopiero zaczynasz programować, ale obiecuję, że gdy spojrzysz na kod, nabierze to większego sensu.

Każdy z ekranów szczegółowych jest również własnym obrazem.

Jeśli nie zauważyłeś, opcja zaskoczenia nic nie robi. Dojdziemy do tego w następnym kroku:).

Krok 5: Dostosowywanie swojego dzieła

Teraz, gdy już wiesz, co zrobiłem, nadszedł czas, abyś spersonalizował kartę własnymi informacjami. Ta biblioteka, którą dołączyłem, ma funkcję rysowania tekstu na ekranie, ale zdecydowanie polecam rozwiązanie oparte na obrazach, ponieważ wygląda ono DUŻO lepiej. Pierwotnie zamierzałem dodać zdjęcia do programu jako część tego instruktażu, ale jest to wystarczająco długie, aby zagwarantować jego własną instruktaż. Możesz go zobaczyć tutaj:

Teraz, gdy wiesz, jak dodawać zdjęcia, możesz zrobić wiele rzeczy, które możesz wykonać na karcie. Możesz użyć moich menu i ekranu pomocy, a także dodać własne informacje kontaktowe. Możesz nawet zrobić małą grę dla opcji „niespodzianka”. Dość proste byłoby przesuwanie bardzo małego duszka 10x10 po ekranie za pomocą przycisków i sprawdzanie, czy nie koliduje z innym duszkiem. Korzystając z tej samej koncepcji, możesz stworzyć klona flappy! Jeśli coś robisz, opublikuj zdjęcie/film/plik w komentarzach!

Jeszcze jeden mały punkt, o którym zapomniałem wspomnieć. Jeśli chodzi o pamięć masową, ATtiny85 nie ma jej zbyt wiele. W przypadku programów jest to około 8kb. Mój obecny szkic z 5 zdjęciami i biblioteką wyświetlaczy OLED zajmuje około 7 z tych 8kb. Każda gra, którą stworzysz, będzie musiała zmieścić się w tym stosunkowo niewielkim marginesie, więc będzie to zabawne wyzwanie:).

Dziękuję za wysłuchanie mnie, a jeśli masz jakieś pytania, nie wahaj się napisać do mnie na info[at]coniferapps.com (zastąp [at] @). Zagłosuj na mnie w konkursie Autodesk Circuits! Mam nadzieję, że wkrótce będziesz miał swoją własną wizytówkę/grę do pokazania!

Zalecana: