Spisu treści:

Geek Spinner: 14 kroków (ze zdjęciami)
Geek Spinner: 14 kroków (ze zdjęciami)

Wideo: Geek Spinner: 14 kroków (ze zdjęciami)

Wideo: Geek Spinner: 14 kroków (ze zdjęciami)
Wideo: Curious Beginnings | Critical Role: THE MIGHTY NEIN | Episode 1 2024, Lipiec
Anonim
Image
Image
Geek Spinner
Geek Spinner
Geek Spinner
Geek Spinner
Geek Spinner
Geek Spinner

Fidget spinners są fajne i można je znaleźć w prawie każdym kasie za zaledwie kilka dolców, ale co by było, gdybyś mógł zbudować własne? A miał diody LED? I możesz go zaprogramować, aby mówił lub pokazywał, co chcesz? Jeśli to brzmi geekowo fajnie, TO JEST PROJEKT DLA CIEBIE.

Zawsze interesowało mnie używanie migających diod LED, aby zainteresować dzieci programowaniem. Najprostszym projektem z mikrokontrolerem Arduino jest włączanie i wyłączanie diody LED. Następnie zobaczysz, jak szybko dioda LED może migać, zanim będzie wyglądać, jakby świeciła w sposób ciągły (około 12 milisekundowych odstępów). Następnie potrząsasz diodą LED w przód iw tył i widzisz, że znowu miga! Zjawisko to nazywa się „trwałością widzenia” (POV) i tak działa ten projekt. Może to prowadzić do dyskusji o tym, jak działa oko i jak niesamowicie szybkie są komputery.

Ten projekt wykorzystuje programowalny 8-bitowy mikrokontroler, osiem diod LED i ogniwo monetowe. Obraca się przy użyciu standardowego łożyska deskorolki i wykorzystuje czujnik Halla oraz magnes do określania obrotu. Jest wykonany z przyjaznych dla początkujących części przewlekanych i może być programowany za pomocą środowiska programistycznego Arduino. Dość gadania, zabierajmy się do roboty…

Krok 1: Zbierz części, narzędzia i materiały

Image
Image
Zbierz części, narzędzia i materiały
Zbierz części, narzędzia i materiały

To zawsze frustrujące, gdy przechodzisz w połowie budowania i stwierdzasz, że czegoś ci brakuje. Oto części, które wypróbowałem i które sprawdziły się dobrze. Zastąp na własne ryzyko:

Zestawienie materiałów=================

  • 1 sztuka, fioletowa płytka drukowana, wyprodukowana z miłością w USA przez OSH Park
  • 1 szt., Attiny 84, Atmel ATTINY84A-PU,
  • 1 szt. Przełącznik dotykowy, TE 1825910-6,
  • 1 szt., Przełącznik suwakowy SPDT przewlekany, C&K JS202011AQN,
  • 1 szt., Uchwyt baterii, Linx BAT-HLD-001-THM,
  • 8 szt., 3mm czerwona dioda LED 160 Mcd, Wurth 151031SS04000,
  • 8 szt., 330 omów 1/8W, Stackpole CF18JT330R,
  • 1 szt., nasadka 0,1 uF, KEMET C320C104M5R5TA,
  • 1 szt., Przełącznik magnetyczny, Melexis MLX92231LUA-AAA-020-SP,
  • 1 szt., 608 Łożysko do deskorolki,
  • 1 szt., mały magnes ziem rzadkich 2mm x 1mm,
  • 2 szt. nasadek z nadrukiem 3D (w załączeniu plik STL).
  • 1 szt., bateria CR2032, Panasonic BSP lub odpowiednik,

Narzędzia i materiały: Do moich warsztatów używam zestawu narzędzi dla początkujących SparkFun, który ma wszystko, czego potrzebujesz oprócz pęsety:

  • Lutownica.
  • Drut lutowniczy
  • Szczypce do nacinania (uwielbiam Hakko CHP170 za 5 USD!)
  • Oplot rozlutowujący
  • Super klej

Programowanie Attiny (krok 4, nie jest wymagany, jeśli kupisz to jako zestaw):

  • Arduino (unikaj tanich chińskich klonów i wspieraj swoich amerykańskich producentów Open Source).

    • Tablica SparkFun
    • Adafruit Metro
    • Arduino UNO
  • Tarcza Programowania AVR.
  • Adapter Pogo (jeśli programowanie z zainstalowanym chipem).
  • Standardowe USB A-B dla Uno, USB Mini dla Redboard lub USB Micro dla Metro.

Zestaw do tego projektu jest dostępny na Tindie.com (bez baterii). Zakup zestawu pozwoli zaoszczędzić czas i koszty zamawiania od kilku różnych dostawców i uniknąć minimalnej premii za zamówienie PCB. Ponadto zaprogramowanie Attiny nie jest trywialne, a jeśli kupisz zestaw, będzie on już wstępnie zaprogramowany. Pomożesz mi również rozwijać i udostępniać inne projekty na moich warsztatach!

Krok 2: Opór jest niezbędny

Opór jest niezbędny
Opór jest niezbędny
Opór jest niezbędny
Opór jest niezbędny
Opór jest niezbędny
Opór jest niezbędny

Zakładamy, że masz pewne doświadczenie w tworzeniu zestawów. Jeśli potrzebujesz pomocy przy lutowaniu, udaj się na www.sparkfun.com/tutorials/213, aby odświeżyć lub obejrzeć, jak Geek Girl wyjaśnia to na https://www.youtube.com/embed/P5L4Gl6Q4Xo. Mam też zestaw odpowiedni dla początkujących na

Lubię zaczynać od rezystora, ponieważ a) są stosunkowo odporne na ciepło, gdy wchodzisz do rowka lutowniczego, a żelazko dochodzi do temperatury, b) nie mają polaryzacji, więc orientacja nie jest krytyczna, c) są najniższy element na płycie, więc siedź ciasno podczas lutowania. Istnieje osiem 330-omowych rezystorów ograniczających prąd, po jednym dla każdej diody LED. Możesz zrobić jeden na raz lub wszystkie osiem naraz.

  • Zagnij wyprowadzenia na szerokość padów i włóż rezystor.
  • Odwróć płytkę i przylutuj przewody.
  • Przytnij przewody z równoczesnymi cięciami.
  • Uderz je ponownie żelazkiem, jeśli chcesz, aby zaimponowały twoim przyjaciołom-geekom.

Krok 3: Kod?

Kod?
Kod?
Kod?
Kod?
Kod?
Kod?
Kod?
Kod?

Jeśli kupiłeś mój zestaw, chip jest wstępnie zaprogramowany i można przejść do następnego kroku.

Tak, ten projekt wymaga trochę kodu. A jeśli zwracałeś uwagę, w kroku 1 powiedziałem ci, że zaprogramowanie Attiny nie jest trywialne. Używam Arduino, jego środowiska programistycznego, mojego programatora AVR i uchwytu pogo pin.

Układ można zaprogramować przed wlutowaniem na miejsce (zdjęcie 2) lub po wlutowaniu za pomocą złącza ISP na spodzie płytki (zdjęcie 3). W obu przypadkach programowanie wygląda następująco:

  • Pobierz środowisko programistyczne Arduino.
  • Zainstaluj wsparcie dla Attiny 85 z:

    • https://highlowtech.org/?p=1695 (Arduino Tiny)
    • https://github.com/SpenceKonde/ATTinyCore (Attiny Core)
  • Prześlij "Arduino as ISP sketch": [Plik] -> [Przykłady] -> [Arduino jako ISP].
  • Zamocuj osłonę programowania odbiornika AVR i włóż kabel taśmowy do pozycji Attiny84
  • Jeśli używasz adaptera Pogo, umieść go na nagłówku ISP na płycie. Pola dodatnie i ujemne są oznaczone, dzięki czemu można prawidłowo zorientować nagłówek.
  • Jeśli używasz chipa, włóż go z pinem jeden w kierunku złącza USB.
  • Wybierz odpowiedni chip:

    • Arduino Tiny: "Attiny 84 @ 8 Mhz"
    • Attiny rdzeń: „Attiny 24/44/84”

      • Chip „Attiny 84”
      • 8 MHz (wewnętrzny)
      • Mapowanie pinów „w lewo”
  • Wybierz programista, [Narzędzia] -> [Programmer] -> [Arduino jako ISP]
  • Ustaw bezpieczniki programowania, [Tools] -> [Burn Bootloader]
  • Prześlij załączony szkic, [Plik] -> [Prześlij za pomocą programatora]

Największym źródłem błędów, jakie otrzymuję, jest nieprawidłowe ustawienie pinów.

Krok 4: Chip It

Chip to
Chip to
Chip to
Chip to
Chip to
Chip to
Chip to
Chip to

Teraz, gdy twój chip ma na sobie kod, możesz go zainstalować. Orientacja chipa DIP ("pakiet dual inline") jest zwykle wskazywana przez otwór sąsiadujący z pinem jeden lub wgłębienie na końcu chipa zawierającego pin one, jak to ma miejsce w tym przypadku.

  • Zagnij przewody pod kątem 90 stopni, dociskając je do płaskiej powierzchni (zdjęcia 1 i 2).
  • Wyrównaj chip z symbolem na PCB i włóż chip (zdjęcie 3).
  • Przylutuj jeden pin po przeciwnych stronach i sprawdź, czy oba układy są płasko na płytce drukowanej i czy orientacja jest prawidłowa. Po tym stanie się to naprawdę trudne do naprawienia. Zaufaj mi w tym.
  • Po upewnieniu się, że jest prawidłowo włożony, przylutuj pozostałe szpilki, a następnie wytnij je równo.

Krok 5: Przełącznik i kondensator

Przełącznik i kondensator
Przełącznik i kondensator
Przełącznik i kondensator
Przełącznik i kondensator

Przycisk idzie obok układu scalonego, a kondensator po drugiej stronie.

  • Wciśnij przycisk na miejsce (upewnij się, że jest w prawidłowej orientacji).
  • Przylutuj go na miejscu.
  • Odetnij przewody z tyłu.

Kondensator nie ma orientacji, ale jeśli odłożysz stronę do pisania, twoi kumple będą wiedzieć, jakiej wartości użyłeś.

Krok 6: Przełącznik i uchwyt baterii

Przełącznik i uchwyt baterii
Przełącznik i uchwyt baterii
Przełącznik i uchwyt baterii
Przełącznik i uchwyt baterii
Przełącznik i uchwyt baterii
Przełącznik i uchwyt baterii
Przełącznik i uchwyt baterii
Przełącznik i uchwyt baterii

Przełącznik idzie z poziomicą skierowaną na zewnątrz. Podobnie jak w przypadku innych elementów, wlutuj dwa piny, sprawdź, czy jest osadzony płasko, a następnie przylutuj resztę.

Uchwyt baterii ma oznaczenie wskazujące orientację, ale to naprawdę nie ma znaczenia. Będzie jednak wymagał nieco więcej ciepła niż zwykłe przewody i będziesz chciał upewnić się, że jest osadzony płasko, aby utrzymać baterię w odpowiedniej pozycji (rysunek 4).

Krok 7: diody LED

diody LED
diody LED
diody LED
diody LED
diody LED
diody LED
diody LED
diody LED

Nie ma przyzwoitego projektu, który nie zawierałby przynajmniej jednej diody LED. To ma OSIEM!

Długi przewód jest dodatni (anoda). Na sitodruku znajduje się znak „+”, a podkładka jest kwadratowa. Jeśli wykonasz wszystkie osiem na raz, przytrzymaj je, aby upewnić się, że wszystkie orientacje są prawidłowe.

  • Przylutuj jeden przewód do każdej diody LED.
  • Sprawdź orientację i czy są osadzone płasko (rysunek 3).

    Jeśli tak nie jest, naciśnij obudowę kciukiem i ponownie podgrzej przewód, aż zatrzaśnie się na swoim miejscu (rysunek 4)

  • Przylutuj resztę.
  • Przytnij przewody.

Krok 8: Sprawdź to

Image
Image
Czas wirowania
Czas wirowania

W tym momencie możemy jeszcze sprawdzić diody i wyłączyć:

  • Włóż baterię dodatnią stroną na zewnątrz.
  • Włącz spinner, a następnie naciśnij przycisk, aż wszystkie (miejmy nadzieję) diody LED zaświecą się (zobacz wideo).
  • Obróć tarczę i zobacz wzór. Jeśli dioda LED nie świeci, może być zainstalowana odwrotnie lub została uszkodzona przez ciepło. Odlutuj go i włóż nowy.

Rozwiązywanie problemów:

  • Jeśli nie świecą się diody LED:

    • Upewnij się, że bateria jest dobra i we właściwej orientacji.
    • Czy zaprogramowałeś swój chip? Czy jest we właściwej orientacji? Robi się gorąco?
    • Czy diody LED są prawidłowo zorientowane? Czy użyć ogniwa monetowego na złączach lutowanych led, aby je przetestować?
  • Jeśli przełącznik nie powoduje migania diod LED:

    • Sprawdź połączenia lutowane na diodzie LED.
    • Sprawdź połączenia lutowane na Attiny.
  • Jeśli wszystko inne zawiedzie, zrób i opublikuj zdjęcia przodu i tyłu w wysokiej rozdzielczości i poproś o pomoc w komentarzach.

Krok 9: Czas wirowania

Czas wirowania
Czas wirowania
Czas wirowania
Czas wirowania
Czas wirowania
Czas wirowania

Łożysko jest utrzymywane na miejscu przez przylutowanie obudowy do dużej podkładki. To wymaga cierpliwości i dużo ciepła:

  • Użyj czegoś takiego jak monety na twardej powierzchni, aby ustawić łożysko.
  • Podgrzej zarówno podkładkę, jak i panewkę łożyska, aż zobaczysz lut spływający na obudowę (trochę to trwa).
  • Powtórz po drugiej stronie.
  • Sprawdź, czy łożysko jest prawidłowo wyrównane, obracając tarczę.
  • Odwróć płytkę i przylutuj dwa punkty po drugiej stronie.

Krok 10: Czy to rewolucja?

Image
Image
Czy to rewolucja?
Czy to rewolucja?
Czy to rewolucja?
Czy to rewolucja?

Aby wyświetlać komunikaty, a nie tylko wzory, musimy znać położenie tarczy w stosunku do okręgu. Użyjemy czujnika z efektem Halla i magnesu. Jest to podobne do tego, jak silniki spalinowe wiedzą, kiedy wypalić iskrę, aby uzyskać największą moc. Orientacja i wyrównanie zarówno czujnika, jak i magnesu mają kluczowe znaczenie dla tego działania.

  • Napis na froncie urządzenia skierowany jest w stronę łożyska pasującego do sitodruku (zdjęcie 1).
  • Wyrównaj wysokość tuż nad łożyskiem (tam, gdzie będzie magnes w nasadce).
  • Przylutuj jeden ołów.
  • Sprawdź wzrost i pożywienie.
  • Przylutuj pozostałe przewody.
  • Przytnij przewody.

Jeśli używasz czujnika wielobiegunowego, musisz ustalić orientację magnesu. Najlepszym sposobem, aby to zrobić, jest ustawienie trybu innego niż wzorzec z poprzedniego kroku, a następnie znalezienie strony magnesu, od której diody LED migają (patrz wideo). Przyklej magnes stroną, która pracowała na zewnątrz. Dokładnie sprawdź swoją pracę.

Krok 11: Ustawa o bilansowaniu

Ustawa o bilansowaniu
Ustawa o bilansowaniu
Ustawa o bilansowaniu
Ustawa o bilansowaniu

Jeśli przytrzymasz tarczę poziomo z włożoną baterią, zobaczysz, że obraca się ona stroną z baterią w dół. Pomimo moich najlepszych starań w zbalansowaniu komponentów, nadal jest niezrównoważony. Możesz dodać trochę ciężaru po stronie bez baterii za pomocą nakrętki i śruby lub dodać trochę lutu do podkładki.

Krok 12: Jesteś operacyjny

Image
Image
Ale czekaj, jest więcej.
Ale czekaj, jest więcej.

Z magnesem i czujnikiem na miejscu jesteś gotowy, aby sprawdzić pełną niesamowitość swojego Geek Spinner. Tryb wirówki jest wskazywany przez diodę, która świeci się po włączeniu zasilania lub po naciśnięciu przycisku (D0 - D7). Tryb zmienia się, naciskając przycisk (patrz wideo).

tryby int = 8; // liczba dostępnych trybów

// 0 -> tekst "Witaj świecie!" // 1 -> RPM // 2 -> czas w sekundach // 3 -> liczba obrotów // 4 -> liczba obrotów (całkowita) // 5 -> wzór "lilly pad" // 6 -> kształt 1 (serce) // 7 -> kształt 2 (uśmiech)

Krok 13: Ale czekaj, jest więcej.

Ale czekaj, jest więcej.
Ale czekaj, jest więcej.
Ale czekaj, jest więcej.
Ale czekaj, jest więcej.
Ale czekaj, jest więcej.
Ale czekaj, jest więcej.

Wzory „serca” i „buźki” zostały utworzone przy użyciu wykresu biegunowego, aby pokazać, jak osiem segmentów będzie wyglądało co 5 stopni obrotu.

Ręcznie:

  • Pobierz i wydrukuj obraz w pełnej rozdzielczości (zdjęcie 1).
  • Wypełnij bloki, aby stworzyć swój obraz (obrazek 2).
  • Wzdłuż promienia, zaczynając od 0, oblicz bajt używając czarny = 1, biały = 0;

    Pierwszym promieniem serca jest 1, 0, 0, 0, 0, 0, 0, 0, więc bajt = 0b100000000;

  • Kontynuuj, aż skończysz (podpowiedź, jeśli twój obraz jest symetryczny, musisz zrobić tylko połowę).
  • Wklej swoje bajty do sekcji „textAndShapes.h” szkicu pod „shape_1” lub „shape_2”.

Korzystanie z Pythona:

  • Zainstaluj Pythona.
  • Zainstaluj bibliotekę obrazów Pythona.
  • Pobierz załączony skrypt "readGraph.py".
  • Pobierz obraz w pełnej rozdzielczości (rysunek 1).
  • Otwórz obraz w swoim ulubionym edytorze (GIMP lub MS Paint).
  • Użyj polecenia „Wypełnij” z wybranym kolorem czarnym, aby wypełnić segmenty, które chcesz podświetlić (rysunek 2).
  • Zapisz obrazek w tym samym katalogu, co skrypt "readGraph.py" i zmień nazwę pliku w skrypcie, aby go dopasować:

im = Image.open('serce.png')

Uruchom skrypt i wklej dane wyjściowe do sekcji „textAndShapes.h” szkicu pod „shape_1” lub „shape_2”

Tak czy inaczej, możesz podzielić się swoim dziełem (zdjęciem i kodem) w komentarzach!

Krok 14: Kredyty i myśli końcowe

Kredyty i myśli końcowe
Kredyty i myśli końcowe

Z pewnością nie wymyśliłem tego wszystkiego sam. Nie na dłuższą metę.

  • Moje pierwsze praktyczne doświadczenie z POV dotyczyło projektu Nicka Sayera o nazwie POV Twirlie: https://www.tindie.com/products/nsayer/pov-twirlie/. (Używam też adaptera pogo).
  • Myśl „LED + Fidget spinner = POV” pojawiła się w moim mózgu po obejrzeniu Instructable Techydiy
  • Za każdym razem, gdy masz świetny pomysł, ktoś już to zrobił: https://www.instructables.com/id/POV-Arduino-Fidget-Spinner/. Lutowanie powierzchniowe to coś, co mogę zrobić, ale nie jest to zbyt przyjazne dla początkujących. Jego kod też był trochę przesadny, ale wykorzystałem jego pomysły na wyświetlanie RPM i liczników.
  • Udało mi się zrozumieć i wykorzystać fragmenty kodu zegara POV Reger-men do wyświetlania tekstu:

Żaden projekt nigdy nie jest kompletny ani doskonały. Oto kilka przemyśleń, które mam przed sobą:

  • Bilans: Arkusze danych rzadko zawierają informacje o wadze komponentów, więc trudno jest nawet zgadnąć wagę bez jej zbudowania. Najcięższym elementem jest oczywiście akumulator. Dodałem otwory na każdym końcu, aby w razie potrzeby dodać ciężar, aby go zrównoważyć.
  • Zgodnie ze wskazówkami zegara? Jeśli zauważyłeś, tekst wyświetla się poprawnie tylko wtedy, gdy kręcisz się w kierunku zgodnym z ruchem wskazówek zegara. Obracanie się w przeciwnym kierunku tworzy lustrzane odbicie. Dodanie drugiego czujnika Halla lub magnesu umożliwiłoby określenie kierunku obrotu (tak zrobił projekt Seana).
  • Kolor? Korzystanie z programowalnych diod LED RGB pozwoliłoby na robienie kolorów. Są jednak zazwyczaj montowane na powierzchni.

Zalecana: