Inhoudsopgave:

Harry Potter IR-afstandsbediening met Raspberry Pi - Ajarnpa
Harry Potter IR-afstandsbediening met Raspberry Pi - Ajarnpa

Video: Harry Potter IR-afstandsbediening met Raspberry Pi - Ajarnpa

Video: Harry Potter IR-afstandsbediening met Raspberry Pi - Ajarnpa
Video: Controlling Smart Home With Harry Potter Wand 2024, Juli-
Anonim

Door coleminer31Volg meer van de auteur:

Pijnloos mesh op M5Stack Core2
Pijnloos mesh op M5Stack Core2
Pijnloos mesh op M5Stack Core2
Pijnloos mesh op M5Stack Core2

Over: Ik ben een elektrotechnisch ingenieur met een interesse in het maken van magie met een druk op de knop. Soms laat je in plaats daarvan het magische blauw naar buiten roken. Meer over coleminer31 »

Dit instructable schetst hoe je een eenvoudig Python-script maakt dat wordt bestuurd door de universele afstandsbediening van Harry Potter, gemaakt door The Noble Collection. Het vereist een Raspberry Pi als controller en een Flirc USB IR-ontvanger in combinatie met de universele afstandsbediening om functies in het script te bedienen.

Ik kwam tot deze oplossing na een poging om verschillende toverstokgestuurde apparaten aan te passen waarvoor andere mensen instructies plaatsten op Instructables, Hackster en elders. De bekendste hiervan is het Rasberry Potter-project van Sean O'Brien (https://www.raspberrypotter.net/about). De meeste programmeerbare projecten met een toverstok werken door een IR-lichtbron vanaf de punt van een toverstaf te reflecteren, het gereflecteerde licht te detecteren met behulp van de Raspberry Pi NoIR-camera en dat licht te volgen met behulp van verschillende computervisie-algoritmen. Deze projecten werken, en de flexibiliteit die op computervisie gebaseerde benaderingen mogelijk maken, is echt magisch. Maar de computervisietechnieken laten allemaal een zekere mate van valse detectie toe, en ik had iets meer voorspelbaars nodig.

Mijn uiteindelijke doel was om een magische schatkist met toverstok te bouwen die mijn zus als rekwisiet kon gebruiken in haar klas in de eerste klas (zowel mijn zus als mijn moeder zijn leraren, en zij zijn de echte magie). Ik begon met het opnieuw maken van het Raspberry Potter-project, maar, zoals ik al heb opgemerkt, had ik moeite om valse detecties te verwijderen. Klaslokalen zijn op zijn zachtst gezegd onvoorspelbare plaatsen. Er zijn veel verschillende bewegende delen die licht kunnen reflecteren of die zelf lichtbronnen kunnen zijn, en je kunt een klaslokaal niet gemakkelijk genoeg dimmen om potentiële bronnen te verwijderen die de computervisie-algoritmen zullen proberen te volgen.

Ik wist dat ik iets gecodeerd nodig had dat niet ten onrechte kon worden geassocieerd met willekeurige lichtbronnen in de klas. Tegelijkertijd wist ik dat ik zoiets niet zelf wilde bouwen. Gelukkig maakt The Nobel Company al een universele afstandsbediening voor Harry Potter, en de Flirc USB-ontvanger geeft je de mogelijkheid om elk IR-afstandsbedieningscommando te associëren met een toetsaanslag. Door een pythonscript te schrijven dat wacht op een specifieke toetsaanslag, kon ik een commando detecteren dat werd verzonden door de universele afstandsbediening van Harry Potter elke keer dat het werd verwerkt door de Flirc USB-ontvanger. Deze opstelling gaf me de controle die ik nodig had.

Je kunt de resultaten zien in de gifs die ik heb gepost. In deze video's gebruik ik mijn harrypottercontroller.py-script om een servomotor aan te drijven, die de schatkist opent en sluit die in de klas van mijn zus zal worden geïnstalleerd.

Benodigdheden

Raspberry Pi 3b+

www.amazon.com/CanaKit-Raspberry-Premium-C…

Flirc USB-ontvanger

flirc.tv/flirc-usb

Harry Potter universele afstandsbediening

www.amazon.com/HARRY-POTTER-Remote-Control..

Stap 1: Bereid de Raspberry Pi voor

Bereid de Raspberry Pi voor
Bereid de Raspberry Pi voor

Ik heb voor dit project een Raspberry Pi 3 Model B+ gebruikt, maar het python-script zou met andere modellen moeten werken. (En het zal waarschijnlijk werken met andere setups waarop Python ook een USB-poort kan gebruiken.) Je hebt een toetsenbord, muis en beeldscherm nodig voor je Raspberry Pi als je die nog niet hebt.

Zodra u uw Raspberry Pi-installatie hebt uitgevoerd, volgt u deze instructies van Sparkfun om aan de slag te gaan met Python.

learn.sparkfun.com/tutorials/python-progra…

Stap 2: Bereid de Flirc USB-ontvanger voor

Bereid de Flirc USB-ontvanger voor
Bereid de Flirc USB-ontvanger voor

Nu Python op je Raspberry Pi draait, sluit je de Flirc UCB-ontvanger aan op een USB-slot op je bord.

Volg deze instructies om de Flirc-software op je Rasberry Pi te installeren.

flirc.gitbooks.io/flirc-instructions/conte…

Stap 3: Bereid je Harry Potter-staf voor

Bereid je Harry Potter-staf voor
Bereid je Harry Potter-staf voor

U hebt twee AA-batterijen en een IR-tv-afstandsbediening nodig. Als je ze hebt, volg dan deze instructies van The Noble Collection om je toverstok op te starten, enkele gebaren te oefenen en een bepaald gebaar te programmeren dat overeenkomt met een code die door je tv-afstandsbediening is verzonden.

www.noblecollection.com/ItemFiles/Manual/R…

Stap 4: Koppel je Flirc en Harry Potter Wand

Koppel je Flirc en Harry Potter Wand
Koppel je Flirc en Harry Potter Wand

Nu je je Flirc en Harry Potter toverstok hebt ingesteld, moet je ze koppelen. U kunt dit doen via de Flirc GUI met behulp van deze instructies.

flirc.gitbooks.io/flirc-instructions/conte…

Volg de "Advanced Pairing"-gids om een IR-opdracht op te nemen, verzonden door met uw toverstaf te zwaaien terwijl deze zich in de bedieningsmodus bevindt, en deze te relateren aan een toetsaanslag. Beëindig dan de Flirc-opnamemodus, open een Raspberry Pi-terminal en zwaai opnieuw met je toverstaf, kijkend of de toetsaanslag die je hebt geprogrammeerd in de terminal verschijnt.

U kunt dit ook in de terminal doen zonder de GUI te gebruiken door deze instructies te volgen.

flirc.gitbooks.io/flirc-instructions/conte…

Dit was mijn voorkeursmethode bij het werken aan het project, en het is de methode die ik aanbeveel als je vertrouwd bent met het werken in een Linux-terminal.

Stap 5: Stel uw Python-code in (LAATSTE STAP!)

Stel uw Python-code in (LAATSTE STAP!)
Stel uw Python-code in (LAATSTE STAP!)

Download eerst het harrypottercontroller.py Python-script in deze Instructable, of haal het hier uit de git-repo.

github.com/coeminer31/HarryPotterRaspberr…

Plaats het python-script in de map van uw keuze en open het met de editor van uw keuze.

Het enige wat je hoeft te doen is 'ZET JE GEKOZEN KARAKTER HIER' te vervangen door het Flirc-personage dat je met je toverstaf hebt gekoppeld. Vervang dan #DO IETS HIER in de magische while-loop door een functie die je wilt uitvoeren. (Tip: misschien wil je een functie maken die de lus verbreekt nadat een bepaalde toets is ingedrukt, zodat je een oneindige lus kunt vermijden en het script correct kunt stoppen.)

En dat is het! Je bent een tovenaar, programmeur. Je kunt nu Python-functies bedienen met je toverstaf. Voer gewoon het script uit en geef het een werveling.

U kunt deze opstelling gebruiken om een willekeurig aantal toepassingen aan te sturen, van robotica tot IoT. Ik ben benieuwd wat je gaat maken!

Aanbevolen: