Spisu treści:

(POV) Trwałość kuli wzroku: 8 kroków (ze zdjęciami)
(POV) Trwałość kuli wzroku: 8 kroków (ze zdjęciami)

Wideo: (POV) Trwałość kuli wzroku: 8 kroków (ze zdjęciami)

Wideo: (POV) Trwałość kuli wzroku: 8 kroków (ze zdjęciami)
Wideo: Ups. 2024, Lipiec
Anonim
Image
Image
(POV) Trwałość kuli wzroku
(POV) Trwałość kuli wzroku
(POV) Trwałość kuli wzroku
(POV) Trwałość kuli wzroku

!Aktualizacja! Dodałem program Excel, który znacznie ułatwia rysowanie i kodowanie nowych obrazów

Prosta trwałość kuli wizyjnej. ODTWARZAJ WIDEO

To projekt, który miałem na myśli od dłuższego czasu, a konkurs „Make It Glow” był motywacją, której potrzebowałem, aby zainspirować mnie do wyciągnięcia starego wyświetlacza 5 LED POV i przeniesienia go na wyższy poziom za pomocą Shift rejestry. Jeśli podoba Ci się ta instrukcja, rozważ zagłosowanie na nią.

Szybkie wprowadzenie do POV lub trwałości widzenia: każda kontrolka napięcia AC faktycznie miga z częstotliwością 60 Hz lub 60 razy na sekundę. Nasze mózgi postrzegają to jako stałe światło. Właśnie tę koncepcję wykorzystamy, aby za pomocą jednego rzędu diod LED stworzyć sferyczny obraz. W przypadku tego projektu zdecydowałem, że 24 diody LED zsekwencjonowane przy użyciu trzech 8-bitowych rejestrów przesuwnych zapewnią minimalną rozdzielczość wymaganą dla kuli ziemskiej.

Krok 1: Materiały

Oto czego użyłem.

  • (1) Arduino Uno (do prototypowania)
  • (1) Bareduino (dla płyty stałej opcjonalnie) VIRTUABOTIX LINK
  • (3) Rejestry przesuwne HC595N
  • (24) Niebieskie diody LED
  • (24) Rezystory 220 omów
  • (1) deska do krojenia chleba
  • (1) uchwyt baterii i bateria
  • (1) pierścień o średnicy 10 cali (wystarczająco szeroki, aby pomieścić diody LED, a im lżejszy, tym lepiej)
  • (1) kawałek pręta gwintowanego (użyłem 5/16")
  • (1) Silnik (użyłem jednego ze starego Dirt Devila)
  • (1) Sprzęgło silnika
  • (1) Odłącz 120 V (przełącznik światła)
  • (1) Kontroler prędkości wentylatora

Krok 2: Budowanie pierścienia

Budowanie pierścienia
Budowanie pierścienia
Budowanie pierścienia
Budowanie pierścienia

Użyłem kawałka aluminiowego płaskownika o grubości 1/8" x 1/2" szerokości do mojego pierścienia i 5/16" całego gwintu do masztu środkowego, ponieważ miałem je ułożone wokół, ale myślę, że można to zrobić na Drukarka 3D w komplecie z mocowaniami PCB i jest znacznie lżejsza. Zbudowałem ten pierścień dla poprzedniej wersji, używając 5 diod LED, z których każda jest zasilana z oddzielnego DO Arduino.

W średnicy pierścionka nie ma nic szczególnego. Mój jest ok. Okrągła 10-calowa, tylko dlatego, że płaskownik, który miałem na początku, miał 3 stopy długości. Zwinąłem go na nożycach/hamulcach/rolkach 3 w 1 firmy Harbor Freight, ale można również uformować pierścień wokół dysku wyciętego ze sklejki i mają dobre wyniki. Nie widzę powodu, dla którego pierścionek nie mógłby być wykonany z drewna. Po prostu wolę pracę z metalu.

Wywierciłem otwory na diody LED w odległości około 5/16 "w środku. Ten odstęp wypełnił wszystko oprócz 1" na górze i na dole po jednej stronie pierścienia. Będziesz musiał przykręcić wspornik na środku pierścienia, aby zapewnić powierzchnię montażową dla płytek stykowych.

Krok 3: Tworzenie obwodu

Tworzenie obwodu
Tworzenie obwodu
Tworzenie obwodu
Tworzenie obwodu
Tworzenie obwodu
Tworzenie obwodu

To była moja pierwsza próba użycia rejestrów przesuwnych, więc zacząłem szukać na stronie Arduino i znalazłem niezwykle przydatny przykład, który zmodyfikowałem do swoich potrzeb. Samouczek można znaleźć w Arduino ShiftOut. Ustaliłem "Przykład kodu 2.3 - Dual Defined Arrays" jako mój kod bazowy, więcej o tym później.

Jeśli będziesz postępować zgodnie z samouczkiem, dowiesz się, jak wysyłać bity informacji, jeden po drugim, szeregowo z Arduino do rejestrów przesuwnych. Taki układ pozwala kontrolować wszystkie 24 diody LED w tym projekcie za pomocą tylko 3 pinów na Arduino. Użyjemy możliwości wejścia szeregowego, wyjścia równoległego 74HC595, aby załadować 24 bity informacji lub 3 bajty do rejestrów przesuwnych, a następnie przesunąć dane równolegle do diod LED.

Ponieważ pierwszy bit danych, który ładujemy, zostanie umieszczony w ostatnim miejscu rejestru, dołączymy LED1 lub najbardziej wysuniętą na południe diodę LED do QO pierwszego rejestru przesuwnego. Postępuj zgodnie ze schematem z przykładu ShiftOut i przymocuj trzeci rejestr przesuwny do drugiego, w ten sam sposób, w jaki drugi jest dołączony do pierwszego.

Zalecam uruchomienie przykładowego kodu po drodze, najpierw z jednym rejestrem, a następnie z dwoma. Przykładowy kod sekwencjonuje światła w taki sposób, aby łatwo było sprawdzić, czy coś jest pominięte. Udało mi się po prostu dodać Byte3 do "Próbki kodu 2.3 - Dual Defined Arrays" i trzecią tablicę, którą nazwałem Blue. Możesz to zobaczyć w kodzie ShiftOutArrayByte3R1 przesłanym do tego kroku.

Krok 4: Złożenie wszystkiego razem

Kładąc wszystko razem
Kładąc wszystko razem
Kładąc wszystko razem
Kładąc wszystko razem

Teraz, gdy byliśmy pewni, że obwód działa, musimy zamontować wszystko na pierścieniu. Proponuję zamontować Arduino / Bareduino z jednej strony, a tablicę rejestru zmiany biegów naprzeciwko Arduino. Pomoże to wyrównać wagę, ale najprawdopodobniej będziesz musiał coś przesunąć, aż uzyskasz stabilną rotację. Użyłem baterii 9 V z boku, do którego musiałem dodać wagę. Do mocowania desek i baterii do środkowego masztu użyłem zamków błyskawicznych. W ten sposób mogłem dokonać korekty, aby zbalansować pierścień.

Teraz przylutuj wszystkie diody. Ponieważ kontrolujemy dodatnie napięcie diod LED, możemy połączyć wszystkie przewody katodowe jednym nieizolowanym przewodem i podłączyć go do naszego uziemienia. Następnie musimy przylutować rezystor do przewodu anodowego każdej diody LED, a następnie podłączyć przewód z rezystora do odpowiedniego pinu wyjściowego rejestru przesuwnego. Zostawiłem funkcję Blink All w pętli konfiguracji jako łatwy sposób sprawdzenia, czy masz wyłączoną diodę LED.

Krok 5: Rysowanie globu

Rysowanie globu
Rysowanie globu
Rysowanie globu
Rysowanie globu
Rysowanie globu
Rysowanie globu

!!Aktualizacja!! Teraz możesz rysować za pomocą programu Excel, który konwertuje obraz do postaci szesnastkowej. Kod dla tablic Red, Blue i Green można skopiować i wkleić do szkicu Arduino. Po prostu wpisz 1 w miejscu, w którym chcesz, aby dioda LED była WŁĄCZONA, a komórka automatycznie zmieni kolor na niebieski! Program Excel jest ładowany do tego kroku. Dzięki Rave Shades instruktażowym do opublikowania Rave Shades Animator, który został zmodyfikowany dla tego projektu

W porządku. Teraz zajmij się artystycznym. Wybrałem kulę ziemską, ponieważ pomyślałem, że byłby to fajny sposób na zrobienie sferycznego wyświetlacza 360 stopni za pomocą POV, ale postaram się pokazać w tym i następnym kroku, jak można stworzyć dowolny obraz, który można narysować w rozdzielczości 24x70 punktów.

Najpierw znalazłem odpowiedni obraz mapy świata do wykorzystania jako przewodnik. Potem znalazłem aplikację w Google Play o nazwie „Mosaic Builder”, która idealnie spełniła moje potrzeby. Jak widać na ostatnim zdjęciu w tym kroku, udało mi się stworzyć wersję zdjęcia mapy świata w niskiej rozdzielczości na moim szablonie 24x70. FYI 24 pochodzi z 3 bajtów danych, a zatem 24 diody LED wysokie, a 70 pochodzi z podzielenia obwodu mojego pierścienia przez 5/16 , aby poziomy odstępy były ściśle dopasowane do pionowych odstępów diod LED. Szerokość 70 punktów będzie się różnić w zależności od rozmiaru pierścienia, ale nie jest to krytyczne. Zwłaszcza nie jest to krytyczne, ponieważ nie używamy żadnego rodzaju czujnika, takiego jak dioda podczerwieni, aby wykryć całkowity obrót i zresetować pętlę. To jest coś, co mogę rozważmy w przyszłości, ale na razie tak długo jak mamy kontrolę prędkości na silniku czujnik jest zbędny.

Gdy już masz rysunek, z którego jesteś zadowolony, możesz przekonwertować obraz na kod szesnastkowy przez Byte, w następnym kroku.

Krok 6: Kodeks

Kod
Kod
Kod
Kod
Kod
Kod

!Aktualizacja! Po prostu narysuj swój obraz za pomocą 1s, aby przedstawić ON, co automatycznie pokoloruje piksel na niebiesko. Gdy obraz jest gotowy, naciśnij przycisk „Kopiuj wszystkie tablice” i wklej istniejące tablice w szkicu Arduino! Przesłałem nowy szkic do tego kroku

Jak wspomniano wcześniej, jako podstawy użyłem "Code Sample 2.3 - Dual Defined Arrays" z przykładu Arduino ShiftOut. Jak zauważysz w tym kodzie, autor komentuje, że nie jest pewien, czy Arduino może obsługiwać bezpośrednie wartości binarne, więc zamiast tego użyto wartości szesnastkowych. Uwaga: nigdy nie zmieniałem komentarzy binarnych obok wartości szesnastkowych, zmieniłem tylko wartości szesnastkowe, aby pasowały do mojego obrazu mapy świata.

Teraz to był dopiero mój drugi raz, kiedy widziałem Hexa i nie miałem pojęcia. Znalazłem załączony wykres konwersji szesnastkowo-binarny, który ogromnie pomógł. Ten wykres może służyć do konwersji wartości binarnej każdej kolumny lub (bajtów) na wartość szesnastkową. Na przykład, jeśli spojrzysz na ostatnie zdjęcie w tym kroku, możesz zobaczyć, jak obraz mapy świata został podzielony na trzy części od góry do dołu, a każda kolumna składa się z 3 bajtów, gdzie biały lub wyłączony = 0 i niebieski lub włączony = 1. Na na dole każdej kolumny bajt został przekonwertowany na wartość szesnastkową z zakresu od 00 do FF, która jest odpowiednikiem zakresu wartości dziesiętnych od 0 do 255 lub zakresu binarnego od 00000000 do 11111111.

Załączony kod ma załadowany obraz Globe, ale można go zmodyfikować na własny obraz.

Krok 7: Testowanie

Image
Image
Testowanie
Testowanie

Zanim zacząłem budować podstawę i mocowanie silnika, pomyślałem, że przetestuję i poprawię obwód. Po prostu wrzuciłem zestaw do bezprzewodowej wiertarki, włączyłem wszystko i nacisnąłem spust. Musiałem dostosować opóźnienie do 1 ms i moja pierwsza próba skierowała Rosję na południe od Australii. Dowiedziałem się również, że obraz wyświetla się do góry nogami, czego się spodziewałem, co było łatwym rozwiązaniem, po prostu odwracając cały pierścień. Załączony film jest z mojego ostatniego pomyślnego testu. Teraz czas na bazę ze stałym silnikiem i regulatorem prędkości.

ZAGRAJ TEST ŚWIATA PROWADZĄCEGO

Krok 8: Dokończenie

Kończąc!
Kończąc!
Kończąc!
Kończąc!
Kończąc!
Kończąc!

Podłączyłem włącznik światła jako odłącznik mojego silnika, a następnie podłączyłem regulator prędkości wentylatora między odłącznikiem a silnikiem. Daje mi to możliwość szybkiego wyłączenia zasilania i dość dobrej kontroli prędkości silnika. Teraz potrzebowałem sposobu na połączenie silnika z kulą ziemską. Wał na silniku miał 17/64", a cały gwint, którego użyłem do globu to 5/16". Łącznik 5/16" mógł być tylko sztuczką, ale niestety miałem tylko łączniki 3/8", które były bezużyteczne. Zamiast tego znalazłem kawałek okrągłego aluminium 1/2" i wyciąłem kawałek o długości 2" i wywierciłem otwór 17/64" przez środek. Ten rozmiar otworu był odpowiedni do gwintowania gwintu 5/16-18 w połowie długości Okrągła kolba. Wywierciłem również i nacisnąłem mały otwór z boku, aby wkręcić śrubę ustalającą do wału silnika, a następnie wkręciłem kulę i użyłem przeciwnakrętki, aby zabezpieczyć. Silnik Dirt Devil obraca się wystarczająco szybko, aby rozerwać otwór montaż, więc musiałem dostosować prędkość tak nisko, jak to możliwe. Przy tej prędkości silnik nie zacznie się obracać, co sprawia, że prowadzenie platformy jest trochę trudne. Muszę tylko powstrzymać kulę przed obracaniem się i powoli podnosić prędkość, aż silnik się uruchomi, wtedy mogę zmniejszyć prędkość i zwolnić globus. W końcu dzięki delikatnemu dostrojeniu mogę uzyskać świetny efekt powolnego wirowania.

ODTWARZAJ WIDEO

Zalecana: