Spisu treści:

Długopis RGB LED do malowania światłem: 17 kroków (ze zdjęciami)
Długopis RGB LED do malowania światłem: 17 kroków (ze zdjęciami)

Wideo: Długopis RGB LED do malowania światłem: 17 kroków (ze zdjęciami)

Wideo: Długopis RGB LED do malowania światłem: 17 kroków (ze zdjęciami)
Wideo: Ludzie, którzy zamienili się w zwierzęta 😲🤔 2024, Listopad
Anonim
Długopis LED RGB do malowania światłem
Długopis LED RGB do malowania światłem
Długopis LED RGB do malowania światłem
Długopis LED RGB do malowania światłem
Długopis LED RGB do malowania światłem
Długopis LED RGB do malowania światłem

To jest kompletna instrukcja budowy narzędzia do malowania światłem, które wykorzystuje kontroler RGB LED. Często używam tego kontrolera w moich zaawansowanych narzędziach i pomyślałem, że film dokumentalny o tym, jak jest zbudowany i zaprogramowany, może pomóc niektórym.

To narzędzie jest modułowym piórem świetlnym RGB przeznaczonym do lekkiego pisania, lekkiego rysowania i oświetlania graffiti. Jest łatwy w użyciu, ponieważ trzymasz w dłoni tylko długopis i możesz szybko zmienić kolor.

Narzędzie składa się z:

  • obudowa drukowana w 3D
  • Arduino Micro
  • dioda LED WS2816B
  • dwa potencjometry (10K lub 100K)
  • dwa przełączniki
  • przycisk
  • i trochę kabli.

Arduino Micro jest do tego idealny, ponieważ jest niezwykle mały i świetnie nadaje się do sterowania diodami LED RGB. Możesz również użyć nawet mniejszych mikrokontrolerów, takich jak LilyPad lub nawet ATtiny85, ale często używam Micro, ponieważ jest łatwy w użyciu, ponieważ jest wyposażony w gotowe do użycia złącze USB. Zarówno Arduino, jak i dioda LED są zasilane napięciem 5V, więc trzeba zadbać o odpowiednie zasilanie. To narzędzie jest zaprojektowane do korzystania z czterech akumulatorów AAA, ponieważ zwykle mają one napięcie 1,2 V i łącznie 4,8 V, co wystarcza do zasilania zarówno Arduino, jak i diody LED. Uważaj, aby nie używać zwykłych baterii AAA, ponieważ mają 1,5 V, a łączne napięcie może być zbyt duże dla komponentów i może je uszkodzić. Jeśli chcesz używać zwykłych baterii, użyj tylko trzech, napięcie powinno nadal wystarczyć. Użyłem innej świetnej części wydrukowanej w 3D od kogoś innego do obudowy baterii, którą można znaleźć tutaj: "Wyginane uchwyty na baterie".

Krok 1: Programowanie

Najpierw potrzebujesz Arduino IDE do zaprogramowania mikrokontrolera, który można pobrać i używać za darmo. Na pierwszy rzut oka brzmi to dość skomplikowanie, ale tak naprawdę jest całkiem proste. Po zainstalowaniu oprogramowania otrzymasz proste okno edytora tekstu, które służy do kodowania szkicu wgrywanego do Arduino. To narzędzie korzysta również z biblioteki FastLED, która jest świetną i łatwą w użyciu biblioteką, która umożliwia sterowanie prawie każdym rodzajem diod LED RGB, które możesz kupić. Po pobraniu biblioteki należy ją zainstalować umieszczając pliki w folderze biblioteki utworzonym przez Arduino IDE. Można to zwykle znaleźć w „C:\Users\{User Name}\Documents\Arduino\libraries“, jeśli go nie zmieniłeś. Po umieszczeniu biblioteki w tym folderze musisz ponownie uruchomić IDE, jeśli jest już uruchomione. Teraz jesteśmy gotowi do stworzenia kodu dla kontrolera.

Krok 2: Kodeks

Aby skorzystać z biblioteki FastLED najpierw musimy ją uwzględnić w naszym kodzie. Odbywa się to na początku kodu przed czymkolwiek innym w tej linii:

#włączać

Następnie zdefiniujemy kilka stałych. Dzieje się tak, ponieważ wartości te nie zmieniają się podczas działania kodu, a także po to, aby był bardziej czytelny. Możesz umieścić te wartości bezpośrednio w kodzie, ale jeśli chcesz coś zmienić, musiałbyś przejść przez cały kod i zmieniać każdą linię, w której użyto wartości. Używając zdefiniowanych stałych, wystarczy to zmienić w jednym miejscu i nie musisz dotykać głównego kodu. Najpierw definiujemy piny używane przez ten kontroler:

#zdefiniuj HUE_PIN A0

#define BRIGHT_PIN A1 #Define LED_PIN 3 #Define LIGHT_PIN 6 #Define COLOR_PIN 7 #Define RAINBOW_PIN 8

Numery lub nazwy są takie same, jak wydrukowane na Arduino. Piny analogowe są identyfikowane przez A przed ich numerem, piny cyfrowe używają tylko numeru w kodzie, ale czasami są drukowane z wiodącym D na płycie.

Potencjometr na pinie A0 służy do regulacji odcienia koloru, potencjometr na pinie A1 do regulacji jasności. Pin D3 służy jako sygnał do diody LED, dzięki czemu Arduino może wysyłać dane do sterowania kolorem. Pin D6 służy do przełączania światła, a piny D7 i D8 służą do ustawiania trybu kontrolera. Zaimplementowałem do trybów w tym kontrolerze, że jeden po prostu ustawia kolor zdefiniowany przez potencjometr koloru na diodzie LED, a drugi blaknie przez wszystkie kolory. Następnie potrzebujemy również kilku definicji biblioteki FastLED:

#define COLOR_ORDER GRB

#define CHIPSET WS2811 #define NUM_LEDS 5

Chipset służy do informowania biblioteki, jakiego rodzaju diody LED używamy. FastLED obsługuje prawie wszystkie dostępne diody LED RGB (takie jak NeoPixel, APA106, WS2816B itp.). Dioda LED, której używam, jest sprzedawana jako WS2816B, ale wydaje się być nieco inna, więc działa najlepiej z chipsetem WS2811. Kolejność bajtów wysyłanych do diody LED w celu ustawienia koloru również może się różnić między producentami, dlatego też mamy definicję kolejności bajtów. Definicja tutaj po prostu mówi bibliotece, aby wysłać kolor w kolejności zielony, czerwony, niebieski. Ostatnia definicja dotyczy ilości podłączonych diod LED. Zawsze możesz użyć mniej diod niż definiujesz w kodzie, więc ustawiłem liczbę na 5, ponieważ tym narzędziem nie będę projektował długopisów z więcej niż 5 diodami. Możesz ustawić znacznie wyższą liczbę, ale ze względu na wydajność utrzymuję ją tak małą, jak tego potrzebuję.

Do głównego kodu potrzebujemy również kilku zmiennych:

jasność wewnętrzna = 255;

unsigned int pot_Reading1 = 0; unsigned int pot_Reading1 = 0; unsigned long lastTick = 0; unsigned int wheel_Speed = 10;

Zmienne te służą do jasności, odczytów z potencjometrów, zapamiętywania ostatniego wykonania kodu i szybkości zanikania kolorów.

Następnie definiujemy tablicę dla diod LED, która jest łatwym sposobem na ustawienie koloru. Zdefiniowana ilość diod LED służy do ustawienia wielkości tablicy tutaj:

diody LED CRGB [NUM_LEDS];

Po zajęciu się definicjami możemy teraz napisać funkcję setup. To jest dość krótkie dla tego programu:

pusta konfiguracja () {

FastLED.addLeds(ledy, NUM_LEDS).setCorrection(TypoweLEDStrip); pinMode(LIGHT_PIN, INPUT_PULLUP); pinMode(COLOR_PIN, INPUT_PULLUP); pinMode(RAINBOW_PIN, INPUT_PULLUP); }

Pierwsza linia inicjuje bibliotekę FastLED przy użyciu definicji, które ustawiliśmy wcześniej. Ostatnie trzy linie informują Arduino, że te piny są używane jako wejście i że jeśli nie są podłączone do niczego, ich napięcie powinno być ustawione na wysokie (PULLUP). Oznacza to, że musimy połączyć te piny z GND, aby coś wyzwolić.

Teraz możemy zająć się programem głównym. Odbywa się to w funkcji pętli. Najpierw ustawiamy kilka zmiennych i odczytujemy potencjometry:

pusta pętla () {

statyczny uint8_t barwa = 0; statyczny uint8_t wheel_Hue = 0; pot_Reading1 = analogRead (HUE_PIN); barwa = mapa(pot_Reading1, 0, 1023, 0, 255); pot_Reading2 = analogRead (JASNY_PIN); jasność = mapa(pot_Reading2, 0, 1023, 0, 255);

Pierwsze dwie linie ustawiają zmienne, które są później używane do koloru. Kolejne dwa bloki zajmują się odczytywaniem wartości potencjometrów. Ponieważ otrzymujesz wartość od 0 do 1023, jeśli odczytujesz pinezkę za pomocą „analogRead”, ale odcień i jasność wymagają wartości od 0 do 255, używamy funkcji „mapa”, aby przetłumaczyć odczyt z jednego obszaru wartości na inny. Pierwszym parametrem tej funkcji jest wartość, którą chcesz przetłumaczyć, ostatnie cztery to minimum i maksimum regionów, których chcesz użyć do tłumaczenia.

Następnie zajmiemy się oceną przycisku:

if (digitalRead(LIGHT_PIN) == LOW) {

Sprawdzamy odczyt względem LOW, ponieważ zdefiniowaliśmy pin jako wysoki, jeśli nie został wyzwolony. Więc jeśli przycisk zostanie wciśnięty, pin zostanie podłączony do GND i będzie czytać niski. Jeśli szpilki nie są wciśnięte, nie ma wiele do zrobienia.

Najpierw zajmijmy się tylko oświetleniem LED w jednym kolorze:

if (digitalRead(KOLOR_PIN) == NISKI) {

if (odcień < 2) { FastLED.showColor(CRGB::White); FastLED.setJasność(jasność); } else { FastLED.showColor(CHSV(odcień, 255, jasność)); FastLED.setJasność(jasność); } opóźnienie(10);

Musimy ocenić kolor pinezki, aby wiedzieć, że chcemy użyć tego trybu. Następnie możemy sprawdzić jaki kolor jest potrzebny. Ponieważ zastosowano tutaj model kolorów HSV, do zdefiniowania koloru potrzebujemy tylko odcienia. Ale stwarza to również problem, że nie mamy sposobu, aby ustawić kolor na biały. Ponieważ barwa 0 i barwa 255 przekładają się na czerwony, używam tutaj małego triku i sprawdzam, czy odczyt z potencjometru barwy jest mniejszy niż 2. Oznacza to, że potencjometr jest przekręcony do końca w jedną stronę i możemy za jego pomocą ustawić biały. Po drugiej stronie nadal mamy czerwień, więc nic tu nie stracimy.

Więc albo ustawiamy kolor na biały, a następnie na jasność, albo ustawiamy kolor na podstawie odczytu odcienia, a także jasności.

Potem dodałem małe opóźnienie, ponieważ znacznie lepiej jest dać sterownikowi trochę czasu przestoju, aby zaoszczędzić energię i opóźnienie 10 milisekund nie będzie odczuwalne.

Następnie kodujemy blaknięcie koloru:

inaczej if (digitalRead(RAINBOW_PIN) == LOW) {

wheel_Speed = map(pot_Reading1, 0, 1023, 2, 30); if (lastTick + wheel_Speed 255) { wheel_Hue = 0; } lastTick = mili(); } FastLED.showColor(CHSV(wheel_Hue, 255, jasność)); }

Najpierw zaznaczony jest pin do przełączania tego trybu. Ponieważ nie chciałem dodawać trzeciego potencjometru do kontroli prędkości zanikania i ponieważ potencjometr odcienia nie jest używany w tym trybie, możemy użyć tego potencjometru do ustawienia prędkości. Używając ponownie funkcji mapy możemy przełożyć odczyt na opóźnienie, które przekłada się na szybkość zanikania. Użyłem wartości od 2 do 30 dla opóźnienia, ponieważ z doświadczeń wynika, że jest to dobra prędkość. Funkcja „millis” zwróci milisekundy od włączenia Arduino, więc możemy to wykorzystać do pomiaru czasu. Ostatnia zmiana odcienia jest przechowywana w zmiennej, którą zdefiniowaliśmy wcześniej i jest ona za każdym razem porównywana, aby sprawdzić, czy musimy ponownie zmienić odcień. Ostatnia linia po prostu ustawia kolor, który ma być wyświetlany jako następny.

Aby zakończyć kod:

} w przeciwnym razie {

FastLED.showColor(CRGB::Czarny); } }

Wystarczy wyłączyć diodę, jeśli przycisk nie zostanie wciśnięty, ustawiając kolor na czarny i zamknąć wszelkie otwarte nawiasy.

Jak widać, jest to dość krótki i łatwy kod, który można wykorzystać w wielu narzędziach wykorzystujących diody LED RGB.

Gdy masz już pełny kod, możesz go wgrać do Arduino. W tym celu podłącz Arduino do komputera za pomocą kabla USB i wybierz typ Arduino w IDE.

W tej instrukcji używam Arduino Pro Micro. Po ustawieniu modelu Arduino musisz wybrać port, w którym IDE może go znaleźć. Otwórz menu portu i powinieneś zobaczyć podłączone Arduino.

Teraz pozostaje tylko wgrać kod do Arduino, naciskając drugi okrągły przycisk na górze okna. IDE zbuduje kod i prześle go. Po tym, jak to się udało, możesz odłączyć Arduino i kontynuować montaż kontrolera.

Krok 3: Montaż elektroniki sterownika

Ponieważ zajęliśmy się kodowaniem Arduino, możemy teraz zmontować sprzęt kontrolera. Zaczynamy od włożenia komponentów do obudowy. Potencjometry wchodzą w dwa okrągłe otwory po lewej stronie, przełącznik zasilania na dole, przełącznik trybu na górze po prawej, a Arduino w uchwycie pośrodku.

Krok 4:

Obraz
Obraz

Zacznij od przylutowania czerwonego kabla od włącznika zasilania do pinu RAW Arduino. Ten pin jest pinem do zasilania, ponieważ jest podłączony do regulatora napięcia, więc nawet jeśli napięcie jest wyższe niż 5 V, ten pin może być używany do zasilania Arduino. Następnie przylutuj kolejny czerwony przewód do pinu VCC, ponieważ potrzebujemy wysokiego napięcia dla potencjometru. Przylutuj dwa białe przewody do pinów A0 i A1, które będą używane do odczytów potencjometru.

Krok 5:

Obraz
Obraz

Teraz przełóż długi biały i długi zielony przewód przez otwór u góry, które później zostaną użyte do podłączenia diody LED. Przylutuj zielony do pinu 3, a biały do pinu 6 i naciśnij je płasko na Arduino. Przylutuj dwa czarne przewody do pinów GND po lewej stronie Arduino, są one używane do niskiego poziomu napięcia dla potencjometrów. Przylutuj dwa niebieskie przewody do pinu 7 i pinu 8, aby użyć przełącznika trybu.

Krok 6:

Obraz
Obraz
Obraz
Obraz

Czerwony kabel, który przylutowaliśmy do pinu VCC, należy teraz przylutować do jednego z zewnętrznych pinów pierwszego potencjometru. Użyj innego czerwonego kabla, aby kontynuować to do drugiego potencjometru. Uważaj, aby użyć tej samej strony na obu potencjometrach, aby pełne ustawienie było po tej samej stronie na obu. Przylutuj dwa czarne kable z drugiej strony potencjometrów i białe kable z pinów A0 i A1 na środkowym pinie. Potencjometry działają poprzez ustawienie napięcia na środkowym pinie na napięcie pomiędzy napięciami przyłożonymi do zewnętrznych pinów, więc jeśli połączymy wysokie i niskie napięcie, możemy uzyskać napięcie pomiędzy na środkowym pinie. To zakończyło okablowanie potencjometrów i można je trochę obrócić, aby szpilki były na uboczu.

Krok 7:

Obraz
Obraz

Przylutuj czarny kabel do środkowego styku przełącznika trybu i przełóż długi czarny kabel przez otwór prowadzący do zasilacza. Przełóż kolejny długi czarny kabel przez górny otwór, który będzie używany jako GND dla diody LED.

Krok 8:

Obraz
Obraz

Czarny kabel wychodzący z zasilacza jest przylutowany do kolejnego czarnego przewodu, który jest podłączony do ostatniego wolnego pinu GND Arduino. Przylutuj razem przewód prowadzący do diody LED i czarny przewód na przełączniku trybu, a na koniec przylutuj razem dwie pary czarnych przewodów, które teraz masz. Użyj rurki termokurczliwej, aby odizolować lutowanie, aby zapobiec zwarciom wewnątrz kontrolera.

Krok 9:

Obraz
Obraz

W ostatnim kroku możemy teraz przylutować dwa niebieskie przewody do przełącznika trybu. Przełączniki te działają poprzez połączenie środkowego styku z jednym z zewnętrznych styków w zależności od tego, po której stronie znajduje się przełącznik. Ponieważ piny 7 i 8 są skonfigurowane tak, aby były wyzwalane po podłączeniu do GND, możemy użyć zewnętrznych pinów przełącznika dla pinów i środkowego dla GND. W ten sposób jeden z pinów jest zawsze wyzwalany.

Na koniec przełóż czerwony przewód przez otwór zasilania i przylutuj go do środkowego styku wyłącznika zasilania, a następnie przełóż kolejny długi czerwony przewód przez otwór do diody LED i przylutuj go do tego samego styku przełącznika zasilania, do którego podłączony jest Arduino.

Krok 10:

Obraz
Obraz

Przylutuj kable zasilające do uchwytu baterii i wkręć zacisk, który przytrzymuje kable prowadzące do diody LED. To kończy okablowanie sterownika.

Krok 11: Montaż pióra świetlnego

Ponieważ to narzędzie ma być modułowe i używać różnych pisaków, potrzebujemy złącza na przewodach dla diody LED. Użyłem taniego 4-końcówkowego złącza molex, które zwykle można znaleźć na kablach używanych do wentylatorów w komputerze. Te kable są tanie i łatwe do zdobycia, więc są idealne.

Krok 12:

Obraz
Obraz
Obraz
Obraz

Kiedy zacząłem okablowanie sterownika nie sprawdzałem kolorów kabli na złączach więc są trochę inne, ale łatwe do zapamiętania. Podłączyłem czarne przewody, zasilanie do żółtego, zielonego do zielonego i białego do niebieskiego, ale możesz użyć dowolnej kombinacji, pamiętaj tylko o innych długopisach. Uważaj, aby odizolować lutowane obszary rurką termokurczliwą, aby zapobiec zwarciom.

Krok 13:

Obraz
Obraz
Obraz
Obraz

Przełóż długi czerwony i długi zielony przewód przez pisak i przylutuj czarne przewody z jednej strony przycisku, a biały przewód z drugiej strony. Przyciski tego typu mają cztery piny, z których dwa są połączone parami. Możesz zobaczyć, które piny są połączone, patrząc na dolną część przycisku, między połączonymi parami jest przerwa. Jeśli naciśniesz przycisk, obie strony zostaną połączone ze sobą. Biały i jeden czarny kabel są następnie przeciągane do końca długopisu, zaczynając od otworu na przycisk. Drugi czarny kabel jest przeciągany do przodu. Upewnij się, że po obu stronach masz wystarczająco dużo kabla, aby móc z nim pracować.

Krok 14:

Obraz
Obraz
Obraz
Obraz

Wciśnij przycisk w otwór i przygotuj resztę kabli. Najlepiej przylutować kable do diody LED tak, aby były skierowane w stronę środka diody LED, ponieważ kable biegną przez środek długopisu. Przylutuj czerwony przewód do podkładki lutowniczej 5 V, czarny przewód do podkładki lutowniczej GND i zielony przewód do podkładki lutowniczej Din. Jeśli masz więcej niż jedną diodę LED, pole lutownicze Dout pierwszej diody LED jest połączone z Din następnej diody LED i tak dalej.

Krok 15:

Obraz
Obraz
Obraz
Obraz

Teraz naciśnij przycisk z przodu długopisu i umieść za nim kroplę kleju, aby utrzymać go na miejscu.

Teraz wystarczy przylutować przewody na końcu długopisu na drugą stronę złącza pamiętając o kolorach.

Najlepiej użyć kropli kleju i taśmy, aby naprężyć kable na końcu pióra, aby zapobiec ich zerwaniu. Na tym kończy się montaż pióra świetlnego.

Krok 16: Przykłady

Przykłady
Przykłady
Przykłady
Przykłady
Przykłady
Przykłady
Przykłady
Przykłady

Na koniec chcę pokazać kilka przykładów, w których używałem tego narzędzia. Kątowe pióro świetnie nadaje się do podświetlania linii graffiti, a proste pióro świetnie nadaje się do rysowania i pisania w powietrzu (do czego mam niewielki talent).

To jest główny cel tego narzędzia. Jak widać, możliwości są niesamowite, jeśli połączy się z tym narzędziem długie naświetlanie.

Aby zacząć od tego rodzaju fotografii, spróbuj użyć najniższego ISO obsługiwanego przez aparat i wysokiej przysłony. Dobrym sposobem na znalezienie odpowiednich ustawień jest ustawienie aparatu w trybie przysłony i zamknięcie przysłony, aż aparat pokaże czas ekspozycji mniej więcej taki, jaki jest potrzebny do narysowania tego, co chcesz dodać do obrazu. Następnie przełącz się na tryb ręczny i użyj tego czasu ekspozycji lub użyj trybu żarówki.

Baw się dobrze, próbując je! To niesamowita forma sztuki.

Dodałem tę instrukcję do wyzwania wynalazców i nietypowych zastosowań, więc jeśli Ci się spodoba, zostaw głos;)

Krok 17: Pliki

Dodałem również modele do uchwytów na pasek, które są przeznaczone do przyklejenia na spodzie obudowy kontrolera, dzięki czemu można go przypiąć do ramienia oraz klips na długopis, który można przykleić do pokrywy, gdy nie potrzebujesz długopisu w Twojej ręce.

Istnieją również nasadki dyfuzora, których można użyć, aby wygładzić światło i zapobiec odblaskom, gdy pióro jest skierowane bezpośrednio w kamerę.

Zalecana: