Spisu treści:

Projektowanie wielowęzłowej lampy LED PWM: 6 kroków (ze zdjęciami)
Projektowanie wielowęzłowej lampy LED PWM: 6 kroków (ze zdjęciami)

Wideo: Projektowanie wielowęzłowej lampy LED PWM: 6 kroków (ze zdjęciami)

Wideo: Projektowanie wielowęzłowej lampy LED PWM: 6 kroków (ze zdjęciami)
Wideo: Toruń JUG #37 - "Biblioteka PCJ - aplikacje równoległe w Javie?" - Marek Nowicki 2024, Wrzesień
Anonim
Projektowanie wielowęzłowej lampy LED PWM
Projektowanie wielowęzłowej lampy LED PWM

Ta instrukcja pokaże, jak zaprojektowałem kontroler lampy LED PWM. Wiele lamp można połączyć ze sobą, tworząc duże ciągi światła. Tworzenie migających świateł LED na Boże Narodzenie zawsze było na mojej liście życzeń. W zeszłym sezonie świątecznym naprawdę zacząłem myśleć o zbudowaniu czegoś. Moja pierwsza myśl była taka, że każdą lampę LED można po prostu podłączyć do pary przewodów. Zasilanie lamp LED może być sygnałem prądu przemiennego, który zmieniałby się z niskiej częstotliwości na wysoką. Filtr pasmowy wbudowany w każdą lampę włącza diodę LED, gdy częstotliwość pasuje do częstotliwości środkowej filtra pasmowego. Jeśli filtry pasmowoprzepustowe byłyby prawidłowo ustawione, można by wykonać sekwencję chase LED. Naprawdę, skacząc do różnych częstotliwości zamiast przemiatania, można włączyć dowolną diodę LED. Używając układu sterownika H-Bridge, sterowanie pożądaną częstotliwością w przewodach nie powinno być zbyt trudne. Cóż, po prostu śmierdzę projektowaniem analogowym - jestem bardziej oprogramowaniem, kimś w rodzaju faceta. Po kilku testach na stanowisku, szybko zrezygnowałem z używania analogu. To, czego naprawdę chciałem, to lampa LED, która może być w pełni sterowana, aby wyświetlać dowolny kolor. Aha, i powinien być w stanie używać PWM (modulacji szerokości impulsu), aby diody LED mogły być włączane lub wyłączane w naprawdę fajnych wzorach. W tej instrukcji znajduje się opis naprawdę fajnego projektu opartego na mikroprocesorze Microchip który wypadł z mojego pragnienia lampek choinkowych. Rzuć okiem na poniższy film, aby szybko zobaczyć, co jest w stanie wyświetlić kontroler lampy LED PWM Kemper. Uwaga, trudno jest uzyskać dobry film z diodami LED w akcji, które używają PWM do kontroli intensywności. Ten sam problem występuje, gdy próbujesz wideo monitorować komputer. 60 Hz diod LED wdaje się w walkę z częstotliwością bitową z 30 Hz kamery. Dlatego, chociaż zdarza się, że wideo z diodami LED jest nieco „złe”, tak naprawdę nie jest. Diody LED nie wydają się mieć żadnych usterek, gdy są postrzegane przez ludzkie oko. Zobacz krok oprogramowania poniżej, aby uzyskać więcej informacji na temat podsłuchu wideo diod LED.

Krok 1: Cele projektowe

Cele projektowe
Cele projektowe

Po spędzeniu świątecznej przerwy na myśleniu o tym projekcie wymyśliłem listę życzeń. Oto kilka funkcji (posortowanych w kolejności), które chciałem mieć ze swoim kontrolerem LED: 1) Każda lampa LED musi być jak najtańsza. Ciąg 100 lamp będzie kosztował mnóstwo, jeśli każda lampa kosztuje dużo. Dlatego koszt jest głównym czynnikiem.2) Każda lampa będzie miała na pokładzie maleńki mikro mikro, który będzie napędzał diody LED. Maleńki mikro mikro wygeneruje sygnały PWM, dzięki czemu diody LED mogą być przyciemnione lub wyblakłe. Diody LED mogą wyglądać nieprzyjemnie, gdy są po prostu włączane i wyłączane. Wykorzystując sygnały PWM, diody LED mogą być ściemniane w górę i w dół bez twardych krawędzi typowych dla diod LED.3) Aby uprościć okablowanie, każda lampa będzie akceptować polecenia za pomocą interfejsu dwuprzewodowego. Zasilanie i komunikacja będą dzielić te same dwa przewody. Polecenia do lamp podpowiedzą mikrokontrolerowi, którą z diod ma jeździć z PWM.4) Musi wyglądać fajnie! Myślę, że to naprawdę powinno zostać przenumerowane, więc jest to numer jeden. Oto niektóre z pomniejszych celów projektowych (bez szczególnej kolejności): 1) Do rozwoju, musi być łatwy do przeprogramowania / przeprogramowania w obwodzie. 2) Komputer PC powinien być w stanie generować polecenia do lamp. To sprawia, że tworzenie wzorów jest znacznie łatwiejsze niż przy użyciu innego wbudowanego micro.3) Każda lampa powinna mieć unikalny adres. Każda dioda LED w lampie musi być również jednoznacznie adresowalna.4) Protokół poleceń powinien obsługiwać WIELE lamp na jednym ciągu przewodów. Obecna konstrukcja obsługuje 128 lamp na jednym ciągu. Z 4 diodami LED na lampę, która działa do 512 diod LED na jednym ciągu dwóch przewodów! Zauważ również, że każda z tych 512 diod LED ma pełny PWM, który ją napędza. 5) Protokół powinien mieć polecenie, które mówi: „Rozpocznij zanikanie diody LED z tego poziomu do tego poziomu”. Po rozpoczęciu zanikania, inne diody LED można również skonfigurować i ustawić na zanikanie na tej samej lampie. Innymi słowy, ustaw diodę LED w zanikającym wzorze, a następnie zapomnij o tym, wiedząc, że dioda LED wykona polecenie. Oznacza to wielozadaniowość oprogramowania w mikro! 6) Powinny istnieć globalne polecenia, które wpływają na wszystkie lampy jednocześnie. Dlatego wszystkimi diodami LED można sterować za pomocą tylko jednego polecenia. Oto kilka naprawdę drobnych celów projektowych (ponownie, bez określonej kolejności): 1) Potrzebujesz sposobu, aby lampka zgłosiła się po wystąpieniu błędu komunikacji. Umożliwiłoby to ponowne wysłanie polecenia.2) Protokół poleceń potrzebuje sposobu na uzyskanie fantazyjnego globalnego wzorca dopasowania. Pozwoliłoby to na wybranie każdej x liczby lamp za pomocą jednego polecenia. Ułatwiłoby to tworzenie wzorów pościgowych z dużą liczbą lamp. Na przykład pozwoliłoby to na wysłanie polecenia do co trzeciej lampy w ciągu lamp. Następnie następne polecenie mogłoby zostać wysłane do kolejnej grupy trzech osób. 3) Świetny byłby również system logiki automatycznego wykrywania polaryzacji. Wtedy polaryzacja dwóch przewodów zasilających do lamp LED staje się nieistotna. Więcej informacji na temat tej funkcji można znaleźć w sekcji dotyczącej sprzętu.

Krok 2: Prototypowanie:

Prototypowanie
Prototypowanie
Prototypowanie
Prototypowanie
Prototypowanie
Prototypowanie

Jest początek stycznia i ruszam. Znalazłem 10F206 w Digikey i jest naprawdę tani! Tak więc obracam płytkę proto, aby pomieścić mikro 10F206 firmy Microchip. Zaprojektowałem szybką płytkę, ponieważ 10F2xx nie jest dostępny w pakiecie DIP. Podsumowując, nie chciałem zawracać sobie głowy małym chipem. (Byłem tak pewny siebie w styczniu) Wyszedłem też i kupiłem nowy kompilator CSS C skierowany do micros 10F2xx. Rodzina chipów 10F2xx jest naprawdę tania! Z wielkimi nadziejami zanurkowałem i zacząłem pisać dużo kodu. 10F206 ma aż 24 bajty pamięci RAM - chip ma również 512 bajtów pamięci flash i jeden ośmiobitowy timer. Chociaż zasoby są skąpe, cena jest dobra i wynosi 41 centów w dużych ilościach. Mój Boże, milion instrukcji na sekundę (1 MIPS) za 41 centów! Po prostu uwielbiam Prawo Moore'a. Evan w jednorazowej cenie, 10F206 firmy Digikey jest wyceniony na 66 centów. Spędziłem sporo czasu pracując z 10F206. Pracując z 10F206 odkryłem, że wielozadaniowość jest absolutnie wymagana. Sygnały wyjściowe PWM MUSZĄ być aktualizowane nawet podczas otrzymywania nowych wiadomości komunikacyjnych. Wszelkie przerwy w aktualizacji sygnałów PWM będą widoczne jako usterki na diodach LED. Ludzkie oko jest naprawdę dobre w dostrzeganiu usterek. Z chipem 10F206 wiąże się kilka podstawowych problemów. Przynajmniej podstawowe problemy dla mojej aplikacji. Pierwszym problemem jest brak przerwań! Wychwytywanie początku nowej komunikacji za pomocą pętli odpytywania powoduje błędy synchronizacji. Drugim problemem jest to, że jest tylko jeden zegar. Po prostu nie mogłem znaleźć sposobu na odbieranie poleceń przy zachowaniu wyjść PWM. Diody LED zepsuły się za każdym razem, gdy odebrano nowe polecenie. Udostępnianie timera między odbieraniem poleceń a sterowaniem wyjściami PWM było również poważnym problemem programowym. Nie mogłem zresetować timera podczas odbierania nowej postaci, ponieważ timer był również używany do sterowania sygnałami PWM. Podczas pracy z 10F206 zobaczyłem artykuł w Circuit Cellar o nowym, malutkim mikro MC9RS08KA1 firmy Freescale. Uwielbiam układy Freescale - jestem wielkim fanem ich debugowania BDM. W przeszłości dużo używałem chipów Star12 (napisałem całe oprogramowanie dla systemu ultradźwiękowego GM Cadillac & Lacern na Star12 - moje oprogramowanie ultradźwiękowe jest teraz w produkcji na tych dwóch samochodach). Tak więc miałem nadzieję, że ich nowe małe żetony będą dobre. Cena też jest odpowiednia, Digikey ma te żetony wymienione na 38 centów w dużej ilości. Freescale był dobry i wysłał mi darmowe próbki. Jednak chip Freescale 9RS08 wydawał się naprawdę głupi - nie mogłem zrobić z nim większych postępów. Chip również cierpi z powodu braku przerwań i tylko jednego timera. No cóż, przynajmniej doszedłem do tego wszystkiego bez marnowania pieniędzy na kręcenie kolejnej prototypowej planszy. Zobacz zdjęcia poniżej. Teraz wiem - dla mojej aplikacji muszę mieć przerwania i więcej niż jeden timer. Wracając do Microchip, znalazłem układ 12F609. Ma przerwania i dwa timery. Ma też 1K pamięci flash i 64 bajty pamięci RAM. Minusem jest cena; Digikey wymienia te żetony na 76 centów w dużej ilości. No cóż, prawo Moore'a wkrótce się tym zajmie. Na plus, 12F609 można również zamówić w pakietach DIP. Z drugiej strony musiałem kupić kompilator wyższego poziomu - to trochę spaliło moje @#$%&.Teraz jest kwiecień i wiele się nauczyłem o tym, co nie działa. Obróciłem tablicę i zmarnowałem pieniądze na kompilator, którego nie potrzebuję. Mimo to, dotychczasowe testy są zachęcające. Z nowym kompilatorem i układami 12F209 w pakietach DIP testy na poziomie laboratoryjnym poszły szybko. Testy potwierdziły, że mam odpowiedni chip. Czas zakręcić kolejną prototypową planszą! W tym momencie jestem zdeterminowany.

Krok 3: Płytka rozwojowa 12F609

12F609 Płytka rozwojowa
12F609 Płytka rozwojowa
12F609 Płytka rozwojowa
12F609 Płytka rozwojowa
12F609 Płytka rozwojowa
12F609 Płytka rozwojowa
12F609 Płytka rozwojowa
12F609 Płytka rozwojowa

OK, świeże testy poza stołem, jestem gotowy, aby wypróbować inny obrót płyty. W tym projekcie płyty naprawdę chciałem wypróbować pomysł przesyłania zasilania i komunikacji przez te same dwa przewody. Gdyby błędy komunikacyjne zostały zignorowane, wymagane byłyby tylko dwa przewody. To jest po prostu fajne! Chociaż wysyłanie komunikacji przez przewody zasilające jest fajne, nie jest to wymagane. W razie potrzeby wszystkie lampy można połączyć ze sobą jednym przewodem komunikacyjnym. Oznaczałoby to, że każda lampa wymagałaby trzech przewodów z czwartym opcjonalnym przewodem stanu sprzężenia zwrotnego. Zobacz schemat poniżej. Zasilanie i komunikację można połączyć za pomocą prostego mostka H. Mostek H może bez problemu przenosić duże prądy. Wiele wysokoprądowych diod LED można było połączyć tylko dwoma przewodami. Za pomocą mostka H można bardzo szybko zmienić polaryzację prądu stałego do lamp. Tak więc każda lampa wykorzystuje mostek pełnofalowy do prostowania przełączania prądu stałego z powrotem na normalną moc prądu stałego. Jeden z mikro-pinów łączy się z surowym przychodzącym przełączającym zasilaniem DC, dzięki czemu można wykryć sygnał komunikacyjny. Rezystor ograniczający prąd chroni wejście cyfrowe mikro. Wewnątrz pinu wejściowego mikro surowe napięcie prądu stałego przełączania jest ograniczane za pomocą wewnętrznych diod obozowych mikro - napięcie prądu stałego przełączania jest zaciskane (od zera do woltów Vcc) przez te diody. Mostek pełnookresowy, który prostuje doprowadzoną moc, generuje dwie krople diody. Dwa spadki diody z mostka można po prostu pokonać, dostosowując napięcie zasilania mostka H. Sześciowoltowe napięcie mostka H zapewnia ładne pięciowoltowe zasilanie mikro. Indywidualne rezystory ograniczające są następnie używane do ograniczania prądu przez każdą diodę LED. Ten schemat zasilania/komunikacji wydaje się działać bardzo dobrze. Chciałem również spróbować dodać wyjścia tranzystorowe między mikro a diodami LED. Podczas testów na stanowisku, jeśli 12F609 zostanie wciśnięty zbyt mocno (zbyt duży prąd na ścieżce wyjściowej), będzie migotać wszystkie wyjścia. Maksymalny prąd dla całego układu zgodnie z arkuszem danych, który może obsługiwać 12F609, wynosi łącznie 90 mA. Cóż, to nie zadziała! Po prostu może potrzebować znacznie więcej prądu. Dodanie tranzystorów daje mi wydajność 100mA na diodę LED. Mostek diodowy jest oceniany na 400mA, więc 100mA na diodę LED po prostu pasuje. Jest minus; każdy z tranzystorów kosztuje 10 centów. Przynajmniej tranzystory, które wybrałem, mają wbudowane rezystory - numer części Digikey to MMUN2211LT1OSCT-ND. Przy zainstalowanych tranzystorach NIE ma migotania diod LED. Myślę, że w przypadku lamp produkcyjnych tranzystory nie będą potrzebne, jeśli zostaną użyte „normalne” diody LED 20mA. Płytka rozwojowa zaprojektowana w tym kroku jest przeznaczona tylko do testowania i rozwoju. Płytka mogłaby być znacznie mniejsza, gdyby zastosowano mniejsze rezystory. Wyeliminowanie tranzystorów pozwoliłoby również zaoszczędzić sporo miejsca na płytce. Port programowania w obwodzie można również usunąć w przypadku płyt produkcyjnych. Głównym punktem płyty rozwojowej jest po prostu udowodnienie schematu zasilania/komunikacji. Faktycznie po otrzymaniu płyt odkryłem, że jest problem z układem płyty. Układ mostka pełnofalowego ma głupkowate wyprowadzenia. Musiałem wyciąć dwa ślady i dodać dwa zworki na dole każdej płytki. Ponadto ślady po diodach LED i złączu są po prostu zbyt cienkie. No cóż, żyj i ucz się. Nie będzie to pierwszy raz, kiedy pomyliłem nowy układ płytek. Miałem osiem płyt wykonanych przy użyciu BatchPCB. Mają najlepsze ceny, ale są baaaardzo powolne. Odzyskanie desek zajęło kilka tygodni. Mimo to, jeśli twoja cena jest wrażliwa, BatchPCB jest jedyną drogą. Wrócę jednak do obwodów AP - są super szybkie. Chciałbym tylko, żeby mieli tańszy sposób na wywóz desek z Kanady. AP Circuits wyrzuca mi 25 dolców w wysyłce za każde zamówienie. To boli, jeśli kupuję tylko deski za 75 dolarów. Przylutowanie ośmiu małych desek zajęło mi dwa dni. Minął kolejny dzień, zanim zorientowałem się, że rezystor podciągający R6 (patrz schemat) przeszkadza mi. Chyba rezystor R6 po prostu nie jest potrzebny. Martwiłem się po przeczytaniu arkusza danych i wskazałem, że nie ma wewnętrznych mikro-podciągnięć na tym styku wejściowym. W moim projekcie pin jest aktywnie napędzany przez cały czas, więc podciąganie nie jest tak naprawdę potrzebne. Aby wysłać polecenia do płytki, użyłem prostych wiadomości o szybkości 9600 bodów z programu w Pythonie. Surowy sygnał RS232 wychodzący z komputera jest konwertowany na TTL za pomocą układu MAX232. Sygnał RS232 TTL trafia na wejście sterujące mostka H-Bridge. RS232 TTL przechodzi również przez bramkę inwertera w układzie 74HC04. Odwrócony RS232 przechodzi następnie do drugiego wejścia sterującego mostka H-Bridge. Tak więc, bez ruchu RS232, H-Bridge wyprowadza 6 woltów. Dla każdego bitu na RS232, mostek H zmienia polaryzację na -6 woltów tak długo, jak trwa bit RS232. Zobacz zdjęcia schematu blokowego poniżej. Dołączony jest również program Python. W przypadku diod LED kupiłem kilka z https://besthongkong.com. Miały jasne diody LED 120 stopni w kolorze czerwonym / zielonym / niebieskim / białym. Pamiętaj, diody, których użyłem, służą tylko do testowania. Kupiłem po 100 każdego koloru. Oto numery użytych diod LED:Niebieski: 350mcd / 18 centów / 3,32V @ 20mAZielony: 1500mcd / 22 centy / 3,06V @ 20mABiały: 1500mcd / 25 centów / 3,55V @ 20mARed: 350mcd / 17 centów / 2,00V @ 20 mAUżywając te cztery diody LED do wypełnienia lampy, sumują się one do kosztu tyle, co mikro za 82 centy! Auć.

Krok 4: Oprogramowanie

Oprogramowanie
Oprogramowanie
Oprogramowanie
Oprogramowanie
Oprogramowanie
Oprogramowanie

Oprogramowanie naprawdę napędza ten projekt! Kod źródłowy w 12F609 jest naprawdę skomplikowany. Używam zawsze ostatniej lokalizacji w pamięci! Wszystkie 64 bajty zostały zużyte przez mój kod. Zostały mi aż 32 bajty pamięci flash jako zapasowe. Tak więc używam 100% pamięci RAM i 97% pamięci flash. Jednak zdumiewające jest to, jak wiele funkcji można uzyskać przy całej tej złożoności. Komunikacja z każdą lampą jest archiwizowana poprzez wysyłanie ośmiobajtowych pakietów danych. Każdy pakiet danych kończy się sumą kontrolną - tak naprawdę jest siedem bajtów danych plus końcowa suma kontrolna. Przy 9600 bodach dotarcie jednego pakietu danych zajmuje nieco ponad 8 milisekund. Sztuczka polega na wykonywaniu wielu zadań, gdy nadchodzi pakiet bajtów. Jeśli którakolwiek z diod LED jest aktywna z sygnałem PWM, wyjściowy PWM musi być aktualizowany nawet podczas odbierania nowych bajtów pakietu. To jest sztuczka. Zajęło mi tygodnie i tygodnie, aby to rozwiązać. Spędziłem mnóstwo czasu pracując z moim Logiport LSA, próbując śledzić każdy bit. To jeden z najbardziej skomplikowanych kodów, jakie kiedykolwiek napisałem. To dlatego, że mikro jest tak ograniczone. Na mikro, które są potężniejsze, łatwo jest napisać luźny/łatwy kod i szybko go przegryźć bez narzekania. Dzięki 12F609 każdy luźny kod kosztuje dużo. Cały kod źródłowy mikro jest napisany w C z wyjątkiem procedury obsługi przerwań. Dlaczego masz tak duże pakiety danych, o które możesz zapytać. No cóż, ponieważ chcemy, aby diody LED same się podnosiły i opadały. Po załadowaniu profilu rampy dioda LED może zgasnąć i rozpocząć rampę, nawet podczas odbierania nowych poleceń dla innej diody LED. Każda lampa musi odbierać i dekodować cały ruch pakietów danych, nawet jeśli pakiet nie jest do tego przeznaczony. Profil LED składa się z poziomu początkowego, początkowego czasu przebywania, szybkości narastania, górnego poziomu, górnego czasu wyświetlania, szybkości zwalniania, dolnego poziomu. Zobacz załączony schemat. Wow, to dużo jak na jedną diodę LED. Teraz pomnóż to razy liczbę diod LED. Staje się za dużo - mogłem śledzić tylko trzy diody LED z pełnymi profilami rampy. Czwarta (biała dioda LED na płycie deweloperskiej) ma tylko funkcję rampy z/do. To kompromis. Spójrz na załączone zdjęcie profilu rampy. Sygnał PWM jest generowany przez timer, który działa z prędkością 64uS na tik. Ośmiobitowy zegar przełącza się co 16,38 ms. Oznacza to, że sygnał PWM działa z częstotliwością 61,04 Hz. To nie jest dobre do nagrywania wideo! Użyłem więc sztuczki programowej i przeskoczyłem kilka dodatkowych liczników do timera, aby rozciągnąć go do 60 Hz. Dzięki temu nagrywanie wideo wygląda znacznie lepiej. Przy każdym najechaniu na licznik PWM (16,67 ms) aktualizuję profil (profile) rampy. Dlatego każdy takt rampy/czasu przebywania wynosi 1/60 sekundy, czyli 60 Hz. Najdłuższy segment profilu (liczący 255) będzie trwał 4,25 sekundy, a najkrótszy (liczący 1) będzie trwał 17 ms. Daje to niezły zasięg do pracy. Zapraszamy do obejrzenia załączonej fotki z analizatora stanów logicznych. Aby naprawdę zobaczyć szczegóły zdjęcia, otwórz zdjęcie w trybie wysokiej rozdzielczości. Zajmuje to kilka dodatkowych kliknięć na instruktażowej stronie internetowej. Poniżej znajduje się również rysunek profilu. Dokumentowanie protokołu poleceń znajduje się na mojej liście rzeczy do zrobienia. Planuję napisać dokument typu datasheet, aby w pełni opisać protokół. Zacząłem opracowywać arkusz danych dla chipa - wstępna wersja jest teraz na mojej stronie internetowej.

Krok 5: Potencjalne zastosowania

Potencjalne aplikacje
Potencjalne aplikacje
Potencjalne aplikacje
Potencjalne aplikacje

Christmas Tree Light: Z pewnością myślę, że choinka wypełniona tymi dziećmi byłaby po prostu niesamowita. Mogę sobie wyobrazić przyjemny, ciepły blask zielonych świateł z lekkim śniegiem padającym przez drzewo. Może powolne zanikanie od zieleni do czerwieni z przypadkowym padaniem śniegu. Światła ścigające tworzące spiralny wzór w górę iw dół drzewa również byłyby miłe. W gruncie rzeczy mam zamiar zaparkować to drzewo na podwórku i doprowadzić do szału "Jonesów" z sąsiedztwa. Tam, spróbuj to pokonać! Oświetlenie akcentujące: Wszystko, co wymaga oświetlenia akcentującego, jest celem tych lamp. Mój szwagier chce je umieścić na dnie swojego akwarium. Przyjaciel chce zaakcentować swój silnik hot roda - wciśnięcie pedału gazu wywołałoby czerwony błysk światła. Rozważałem również zbudowanie jednego z nich z moimi lampami: https://www.instructables.com/id/LED_Paper_Craft_Lamps/ Byłby to świetny projekt Cub Scouts. Składany łańcuch LED: Ciąg lamp LED można złożyć w kształty. Siedem lamp można było złożyć w siedmiosegmentowy wzór LED. Można by zrobić ogromny wyświetlacz - byłby świetnym wyświetlaczem odliczania na nowe lata! A może wyświetlacz pokazujący giełdę – czerwone cyfry w złe dni i zielone w dobre. Może duży wyświetlacz pokazujący temperaturę na zewnątrz. Siatka 3D Powieszając i układając ciąg diod LED, można łatwo stworzyć trójwymiarową siatkę diod LED. Na YouTube jest kilka fajnych przykładów tablic LED 3D. Jednak istniejące przykłady, które widziałem, wydają się małe i bolesne do podłączenia. Może też duża siatka 3D na podwórku w Boże Narodzenie. Wtyczka WinAmp:Każdy, kto był w moim laboratorium i widział światła, pyta, czy tańczy do muzyki. Trochę kopałem, wygląda na to, że dodanie wtyczki do WinAmpa byłoby dość łatwe. Wtyczka wysyłała wiadomości do dołączonego ciągu lamp, aby światła były zsynchronizowane z muzyką odtwarzaną przez WinAmpa. Zsynchronizowanie świątecznej muzyki z choinką byłoby po prostu niesamowite. Wbudowany kontroler robota Baby Orangutan B-328 z mostkiem H: Mały kontroler od Pololu byłby idealny. Zobacz: https://www.pololu.com/catalog/product/1220 Ta płyta ma już gotowy mostek H. Wzory lamp można zaprogramować w mikro, aby można było wyłączyć komputer. 802.15.4:Po dodaniu 802.15.4 lampy mogą stać się bezprzewodowe. W przypadku lampek choinkowych rozsianych po całym domu byłoby to świetne. Albo dodanie lamp do każdego okna w dużym kompleksie budynków byłoby możliwe. Cool. Rotating 'Lighthouse Beacon:Mój syn miał szkolny projekt budowy latarni morskiej. Pomysł polegał na zbudowaniu tandetnej lampy zasilanej bateryjnie z przełącznikiem spinacza do papieru, aby latarnia rzeczywiście się zapaliła. Żaden mój syn nie pójdzie z tym do szkoły, kiedy będzie mógł mieć w pełni rozwiniętą obrotową latarnię morską! Zapraszamy do obejrzenia załączonych zdjęć i wideo.

Krok 6: Podsumowanie

Naprawdę zdumiewa mnie, że każda lampa ma moc 2 MIPS w SOIC-8 za 80 centów. W miarę wydłużania się ciągu lampek poprzez dodawanie kolejnych lamp wzrasta również ilość MIPS w ciągu. Innymi słowy jest to projekt skalowalny. Szereg 16 lamp brzęczy wraz z mocą obliczeniową 32 MIPS. Po prostu niesamowite. Jest jeszcze wiele do zrobienia. Płyta rozwojowa wymaga aktualizacji. Istnieje kilka błędów układu, które wymagają poprawienia. Okablowanie wyjścia błędu komunikacji nie działa z wyjściem tranzystorowym. Nie wiem jeszcze dlaczego - nie spędziłem jeszcze czasu na rozwiązywaniu tego. Odbieranie kodu komunikacyjnego również wymaga nieco więcej pracy. Obserwując diody LED, widzę, że co jakiś czas pojawiają się błędy komunikacyjne. Wygląda na to, że na 1000 wiadomości przypada średnio jeden przypadkowy błąd. Muszę znaleźć manufakturę SMD, która byłaby chętna zrobić dla mnie tablice do lamp. Może Spark Fun byłby zainteresowany? Mam kumpla w Hongkongu, który może znaleźć dla mnie manufakturę. Montaż płyt musi być zautomatyzowany. Po prostu nie da się zbudować tych desek ręcznie, tak jak ja. Należy opracować kartę interfejsu PC. Powinno to być naprawdę proste – wystarczy poświęcić czas na wykonanie tego zadania. Koszt jest kluczowy – zminimalizowany koszt lampy (80 centów za mikro + trzy diody LED po 10 centów każda + płytka/rezystory/mostek diodowy 20 centów) w sumie może 1,50 dolara. Dodajmy do tego montaż, okablowanie i zysk, a mówimy o 2,00 do 2,50 USD za lampę. Czy geekowie zapłacą 40 dolarów za ciąg 16 lamp RGB na sznurku? Podsumowując, mam nadzieję, że wśród majsterkowiczów pojawi się zainteresowanie. Z pewnymi pozytywnymi opiniami będę nadal dążył do przekształcenia tego pomysłu w produkt. Mógłbym sobie wyobrazić sprzedaż chipów, płyt deweloperskich lamp i kompletnych łańcuchów świetlnych. Przekaż mi swoją opinię i daj mi znać, co myślisz. Aby uzyskać więcej informacji i aktualności dotyczące rozwoju, odwiedź moją stronę internetową https://www.powerhouse-electronics.comDziękuję, Jim Kemp

Zalecana: