Spisu treści:

Wąż na desce do krojenia chleba: 3 kroki (ze zdjęciami)
Wąż na desce do krojenia chleba: 3 kroki (ze zdjęciami)

Wideo: Wąż na desce do krojenia chleba: 3 kroki (ze zdjęciami)

Wideo: Wąż na desce do krojenia chleba: 3 kroki (ze zdjęciami)
Wideo: Dobrze dzieci dzisiaj będziecie przedstawiać swoim piosenki | alxyni 2024, Listopad
Anonim
Wąż na desce do krojenia chleba
Wąż na desce do krojenia chleba
Wąż na desce do krojenia chleba
Wąż na desce do krojenia chleba
Wąż na desce do krojenia chleba
Wąż na desce do krojenia chleba

"Masz jakieś gry na swoim telefonie?"

"Nie dokładnie."

Wstęp:

Prosty w obsłudze, łatwy w programowaniu i uwieczniony w Nokii 6110, Snake stał się ulubionym projektem inżynierów. Został wdrożony we wszystkim, od matryc LED, wyświetlaczy LCD, oświetlenia półek na książki, a nawet okien całych budynków. Wdrożymy Snake'a na malutkiej płytce prototypowej i ekranie OLED. Ludzie z pewnością stworzyli mniejsze odtwarzacze węży, ale to w szczególności wykorzystuje płytkę stykową, eliminując potrzebę projektowania płytek drukowanych lub lutowania.

(Możesz po prostu stworzyć aplikację na swoim telefonie, ale nie robimy rzeczy, ponieważ są one łatwe).

Wymagania wstępne:

Podstawowe zrozumienie obwodów, płyt prototypowych i solidna znajomość programowania w Arduino.

Kieszonkowe dzieci

  • Arduino Nano
  • 2 dość wysokie rezystory (1kOhm)
  • Mała płytka do krojenia chleba
  • 2 przyciski
  • Drut z rdzeniem stałym 22 AWG
  • 128x64 OLED

Są to linki partnerskie Amazon, więc zarabiam niewielką prowizję przy każdej sprzedaży. Jeśli nie masz jeszcze tych materiałów i chcesz wesprzeć moje przyszłe projekty, skorzystaj z tych linków!:)

Krok 1: Deska do krojenia chleba

Deska do krojenia chleba
Deska do krojenia chleba
Deska do krojenia chleba
Deska do krojenia chleba
Deska do krojenia chleba
Deska do krojenia chleba

Aby stworzyć nasz produkt końcowy, musimy oczywiście zmontować sprzęt, na którym programujemy i testujemy nasz projekt. Schemat systemu dla tego projektu jest dość prosty, ponieważ obejmuje tylko 4 komponenty.

1. Rozłóż to:

Weź swoje elementy i rozłóż je na desce, upewniając się, że wszystko pasuje. Wizualizuj, jakich przewodów i szpilek będziesz używać i do jakich celów. Upewnij się, że przewidywane przewody się nie krzyżują, ponieważ to sprawia, że płyta prototypowa jest bardziej bałagan. Zapisz, jakie punkty musisz połączyć! Chociaż jest to prosta płytka stykowa, znacznie ułatwi Ci życie podczas procesu okablowania i ogólnie. Ze względu na to, jak mała jest nasza przestrzeń do pracy, jest to niezwykle ważny krok.

Uwagi:

Ponieważ OLED korzysta z magistrali I2C, należy użyć pinów A4 i A5. Rozmiar płytki stykowej nie pozwala na podłączenie szyny zasilającej i uziemiającej, więc użyłem kilku sztuczek, aby wszystko się udało. Dodatnie napięcie dla przycisków jest dostarczane przez styki D13 i A2. Odkryłem, że piny Arduino mogą nie tylko dostarczać prąd, ale także odprowadzać prąd, dlatego użyłem A3 jako uziemienia dla prawego przycisku. Aby zmaksymalizować przestrzeń na płytce stykowej, zawiesiłem połowę Nano na desce i podparłem lewe kołki boczne kawałkiem pianki.

2. Odłącz to:

Za pomocą pary szczypiec do ściągania izolacji i przyzwoitej ilości drutu litego 22 AWG zgrabnie połącz ze sobą swoje komponenty. Użycie solidnego rdzenia do tworzenia półtrwałych projektów płytek stykowych jest kluczowe, ponieważ można je przycinać na długość, w przeciwieństwie do przewodów połączeniowych. Upewnij się, że nie zostawisz zbyt dużej długości na przewodach, ponieważ spowoduje to bałagan na desce. Przytnij przewody rezystorów pull-down tak, aby pasowały do płytki.

(Możesz też po prostu śledzić to, co zrobiłem powyżej.)

Krok 2: Zaprogramuj i przetestuj

Program i test
Program i test

Aby później zaoszczędzić sobie bólu głowy, upewnij się, że OLED i przyciski działają tak, jak powinny, tworząc podstawowe programy testowe.

1. Plan, plan, plan:

Wskakiwanie od razu do kodu nie jest mądrą praktyką. Zaufaj mi, próbowałem! Dlatego powinieneś nakreślić, jak twój program będzie działał. Schemat blokowy programu to całkiem solidny sposób na zaplanowanie tego, co Twój kod musi zrobić i na pewno utrzyma Cię na dobrej drodze. Weźmy na przykład mój (powyżej)

2. Kod, kod, kod:

Szczerze mówiąc, ten projekt jest większym ćwiczeniem programistycznym niż ćwiczeniem sprzętowym. Jedyną biblioteką, z której korzystałem, była biblioteka OLED Adafruit, nie licząc wspierających bibliotek GFX i Wire.

Spraw, aby zainstalować bibliotekę OLED Adafruit za pomocą menedżera bibliotek Arduino IDE.

Nie mogę udokumentować każdego wiersza kodu, który napisałem, ale oto kilka wskazówek:

Porady:

Uwagi:

- Przede wszystkim pisz ładne i przydatne komentarze podczas kodowania. W przyszłości Ty i inni, którzy przeczytają Twój kod, na pewno Ci podziękują.

Pamięć:

- Przy bardziej złożonych projektach, takich jak te, SRAM staje się dość popularnym towarem. W bibliotece Adafruit sam bufor 128 x 64 OLED zajmuje 1 kB, co stanowi około połowy pamięci w ATMega328p. Dlatego inteligentne zarządzanie pamięcią jest ważniejsze niż kiedykolwiek.

- Przy dużych strukturach danych przechowywane dane będą się gromadzić i zajmować dużo miejsca. Aby zmniejszyć zużycie pamięci moich zmiennych, używałem mniejszych typów danych (takich jak short i byte), kiedy tylko mogłem.

- Ciągi są zwykle przechowywane w SRAM, ale użycie funkcji F() spowoduje umieszczenie ich w PROGMEM, oszczędzając cenną pamięć.

Millis:

- Aby uzyskać dokładniejsze synchronizowanie cykli gry, użyj funkcji millis(). Istnieje wiele dobrych samouczków i przykładów online.

Wstępnie zdefiniuj:

- Użyj dyrektywy preprocesora #define jako łatwego sposobu na ustawienie stałych wartości w kodzie.

Test:

- Przetestuj swój kod na bieżąco. Dużo łatwiej będzie usunąć błędy.

Krok 3: Ciesz się

Baw się swoją nową grą w węża!

(Wiem, że wygrałem z 20 punktami w powyższym filmie, możesz ustawić wyższy warunek wygranej w moim kodzie.)

Rzeczy do rozwinięcia:

  • Bateria do przenoszenia
  • Bardziej bezpieczne przyciski
  • Jeszcze mniejsza gra w węża
  • Jeszcze więcej gier?

Zalecana: