Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
By coleminer31Obserwuj Więcej autora:
O: Jestem inżynierem elektrykiem zainteresowanym tworzeniem magii za naciśnięciem przycisku. Czasami jednak zamiast tego wypuszczasz magiczny niebieski dym. Więcej o coleminerze31 »
Ta instrukcja opisuje, jak zrobić prosty skrypt Pythona, który jest kontrolowany przez uniwersalną różdżkę zdalnego sterowania Harry'ego Pottera wyprodukowaną przez The Noble Collection. Wymaga Raspberry Pi jako kontrolera i odbiornika podczerwieni USB Flirc w połączeniu z uniwersalną różdżką do sterowania funkcjami w skrypcie.
Doszedłem do tego rozwiązania po próbie modyfikacji różnych urządzeń sterowanych różdżką, które inne osoby opublikowały instrukcje w Instructables, Hackster i innych miejscach. Najbardziej znanym z nich jest projekt Rasberry Potter wyprodukowany przez Seana O'Briena (https://www.raspberrypotter.net/about). Większość programowalnych projektów uruchamianych za pomocą różdżki działa poprzez odbijanie źródła światła podczerwonego od końcówki różdżki, wykrywanie odbitego światła za pomocą kamery Raspberry Pi NoIR i śledzenie tego światła przy użyciu różnych algorytmów widzenia komputerowego. Te projekty działają, a elastyczność, jaką umożliwia podejście oparte na wizji komputerowej, jest naprawdę magiczna. Ale wszystkie techniki widzenia komputerowego pozwalają na pewien poziom fałszywych wykryć i potrzebowałem czegoś bardziej przewidywalnego.
Moim ostatecznym celem było zbudowanie magicznej, sterowanej różdżką skrzyni skarbów, której moja siostra mogłaby użyć jako rekwizytu w swojej klasie w pierwszej klasie (zarówno moja siostra, jak i mama są nauczycielkami i są prawdziwą magią). Zacząłem od odtworzenia projektu Raspberry Potter, ale jak już zauważyłem, miałem problem z pozbyciem się fałszywych wykryć. Sale lekcyjne to co najmniej nieprzewidywalne miejsca. Istnieje wiele różnych ruchomych elementów, które mogą odbijać światło lub same mogą być źródłami światła, a nie można łatwo przyciemnić klasy na tyle, aby pozbyć się potencjalnych źródeł, które algorytmy komputerowe będą próbowały śledzić.
Wiedziałem, że potrzebuję czegoś zakodowanego, co nie może być błędnie kojarzone z przypadkowymi źródłami światła w klasie. Jednocześnie wiedziałem, że nie chcę sam budować czegoś takiego. Na szczęście firma Nobel Company już produkuje uniwersalnego pilota różdżkowego Harry'ego Pottera, a odbiornik USB Flirc daje możliwość powiązania dowolnego polecenia pilota na podczerwień z naciśnięciem klawisza. Pisząc skrypt w Pythonie, który czeka na określone naciśnięcie klawisza, byłem w stanie wykryć polecenie wysyłane przez pilota uniwersalnego Harry'ego Pottera za każdym razem, gdy było ono przetwarzane przez odbiornik USB Flirc. Ta konfiguracja dała mi kontrolę, której potrzebowałem.
Możesz zobaczyć wyniki w gifach, które opublikowałem. W tych filmach używam mojego skryptu harrypottercontroller.py do napędzania serwomotoru, który otwiera i zamyka skrzynię skarbów, która zostanie zainstalowana w klasie mojej siostry.
Kieszonkowe dzieci
Rasberry Pi 3b+
www.amazon.com/CanaKit-Malina-Premium-C…
Odbiornik USB Flirc
flirc.tv/flirc-usb
Uniwersalna zdalna różdżka Harry'ego Pottera
www.amazon.com/HARRY-POTTER-Zdalne sterowanie..
Krok 1: Przygotuj Raspberry Pi
Do tego projektu użyłem Raspberry Pi 3 Model B+, ale skrypt Pythona powinien działać z innymi modelami. (I prawdopodobnie będzie działać z innymi konfiguracjami, które mogą uruchamiać Pythona, również mają port USB.) Będziesz potrzebować klawiatury, myszy i wyświetlacza dla swojego Raspberry Pi, jeśli jeszcze ich nie masz.
Po uruchomieniu konfiguracji Raspberry Pi postępuj zgodnie z tymi instrukcjami od Sparkfun, aby rozpocząć pracę z Pythonem.
learn.sparkfun.com/tutorials/python-progra…
Krok 2: Przygotuj odbiornik USB Flirc
Teraz, gdy masz już uruchomiony Python na swoim Raspberry Pi, podłącz odbiornik Flirc UCB do gniazda USB na płycie.
Postępuj zgodnie z tymi instrukcjami, aby zainstalować oprogramowanie Flirc na swoim Rasberry Pi.
flirc.gitbooks.io/flirc-instructions/conte…
Krok 3: Przygotuj swoją różdżkę z Harry'ego Pottera
Potrzebne będą dwie baterie AA i pilot do telewizora na podczerwień. Gdy je masz, postępuj zgodnie z instrukcjami z The Noble Collection, aby uruchomić różdżkę, przećwicz kilka gestów, a następnie zaprogramuj określony gest, aby dopasować kod wysłany przez pilota telewizora.
www.noblecollection.com/ItemFiles/Manual/R…
Krok 4: Sparuj swoją różdżkę Flirc i Harry Potter
Teraz, gdy masz już skonfigurowaną różdżkę Flirc i Harry Potter, musisz je sparować. Możesz to zrobić za pomocą GUI Flirc, korzystając z tych instrukcji.
flirc.gitbooks.io/flirc-instructions/conte…
Postępuj zgodnie z instrukcją „Zaawansowane parowanie”, aby nagrać polecenie IR, wysłane przez machnięcie różdżką, gdy urządzenie jest w trybie sterowania, i powiązać je z naciśnięciem klawisza. Następnie zakończ tryb nagrywania Flirc, otwórz terminal Raspberry Pi i ponownie machnij różdżką, sprawdzając, czy zaprogramowane naciśnięcie klawisza pojawia się w terminalu.
Możesz to również zrobić w terminalu bez korzystania z GUI, postępując zgodnie z tymi instrukcjami.
flirc.gitbooks.io/flirc-instructions/conte…
To była moja preferowana metoda podczas pracy nad projektem i jest to metoda, którą polecam, jeśli czujesz się komfortowo pracując w terminalu Linux.
Krok 5: Skonfiguruj swój kod Pythona (OSTATNI KROK!)
Najpierw pobierz skrypt harrypottercontroller.py Python w tym Instructable lub pobierz go z repozytorium git tutaj.
github.com/coleminer31/HarryPotterRaspberr…
Umieść skrypt Pythona w wybranym przez siebie katalogu i otwórz go w wybranym przez siebie edytorze.
Wszystko, co musisz zrobić, to zastąpić „TUTAJ WYBRANĄ POSTAĆ” postacią Flirc, którą sparowałeś z różdżką. Następnie zastąp #ZRÓB COŚ TUTAJ w magicznej pętli while funkcją, którą chcesz uruchomić. (Wskazówka: możesz stworzyć funkcję, która przerywa pętlę po naciśnięciu określonego klawisza, aby uniknąć nieskończonej pętli i poprawnie zatrzymać skrypt.)
I to wszystko! Jesteś czarodziejem, programistą. Możesz teraz sterować funkcjami Pythona za pomocą różdżki. Po prostu uruchom skrypt i daj mu wir.
Możesz użyć tej konfiguracji do obsługi dowolnej liczby aplikacji, od robotyki po IoT. Nie mogę się doczekać, aby zobaczyć, co tworzysz!