Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Een 'Magic MIrror' is een project waarbij een 2-weg spiegel over een soort scherm wordt geplaatst. Waar het scherm zwarte pixels vertoont, is de spiegel reflecterend. Waar het scherm witte of lichtere pixels vertoont, schijnen ze door. Dit creëert het effect dat digitale tekst, pictogrammen of zelfs afbeeldingen door een spiegel kunnen worden weergegeven, terwijl de reflectiviteit behouden blijft. De derde foto hierboven zou moeten laten zien hoe dat eruit kan zien.
De YouTube-video toont de montage van begin tot eind en heeft aan het einde een demo die laat zien hoe het voltooide project eruit ziet. Ik wilde de tijd nemen om de stappen hier op te schrijven, omdat ik geniet van de instructable community, en ik wilde een plek om aantekeningen te maken over zaken als de softwareconfiguratie en vragen te beantwoorden.
Ik heb een heleboel magische spiegelprojecten gezien en heb er altijd al een willen bouwen. Ik begon er onlangs een te bouwen als een geschenk, en had geen idee hoeveel de 2-way mirror-porties kunnen kosten! Nadat ik $ 75,00 (USD) alleen aan een spiegel had uitgegeven, realiseerde ik me dat het project ruimschoots uit ons 'vriendengeschenkbudget' zou gaan en moest ik mijn strategie heroverwegen. Nadat hij het kanaal van N-O-D-E op youtube had ontdekt, had hij een concept van een kleine piramidebehuizing. Ik ging meteen aan de slag met dat concept, experimenterend met welke raspberry pi's ik erin kon passen, hoe ik de case gemakkelijk kon maken en hoe ik de software aan de gang kon krijgen.
Uiteindelijk heb ik ervoor gekozen om het hoesje te 3D-printen. Ik ontwierp de behuizing in tinkercad. Het zijn twee eenvoudige stukken die gemakkelijk in elkaar klikken. De spiegel is een spiegel van 4,5 inch die eenvoudig op het frame wordt gelijmd (lijmpistool). De hoofdcomputer is een Raspberry pi zero met een 8 Gig micro SD-kaart en het scherm is een 3,5-inch scherm van Kuman met een HDMI-poort er al op. Eerlijk gezegd was 75% van dit project het tinkercad-ontwerp voor de behuizing, en het uitzoeken van een scherm dat zou passen, kon eenvoudig worden gevoed via een enkele USB-kabel en het aanpassen van de software.
Hier zijn de kosten van de onderdelen om u een overzicht te geven. Het is minder dan 60 dollar als je een 3D-printer hebt…anders wil je ofwel de 3D-print verhuren, of eventueel een houten piramideframe bouwen (ik ben BIJNA die route gegaan, en kan in een toekomst instructable zijn, omdat ik denk dat een bevlekte eikenhouten kast kan hier heel cool uitzien:))
Raspberry pi Zero W - $10.00 - Adafruit.com - Maximaal één per bestelling
8Gig Micro SD-kaart - $ 4,00 - Amazon.com
Kuman 3,5-inch TFT-scherm - $ 29,99 - Amazon.com - HDMI-versie
SN-Riggor USB-kabel (optioneel, maar voegt wat flair toe) - 4 voor 16,00 ($ 4,00 per stuk) Amazon.com
2-weg spiegel - 115 mm vierkant - $ 5,00 van Tap Plastics (ik bracht de 3D-geprinte behuizing naar een winkel en liet ze op maat snijden)
3D-filament - Ongeveer 2 dollar waard
Mini-HDMI -> HDMI-adapter - 2 voor $ 6,00 (slechts één nodig): Amazon.com
Uiteindelijk had ik al een aantal van de adapters, maar je zou deze voor de bovenstaande prijzen of beter moeten kunnen krijgen, en uiteindelijk onder de $ 60,00 zijn. Aangezien dit ongeveer was hoeveel we zouden uitgeven als we elkaar een Xbox- of PS4-game zouden geven, paste dit in ons 'vriendenbudget'.
Oké, genoeg van een intro, laten we leren hoe we het kunnen bouwen!
Stap 1: Stap 1 - Assembleren van het rekengedeelte
Op de eerste foto zijn alle onderdelen te zien. De tweede toont de assemblage van het compute-gedeelte. Er is op dit moment niet veel magie … hier zijn de stappen:
- Zorg ervoor dat u de headers NIET op de pi-nul soldeert. Je hebt alle ruimte nodig die je kunt krijgen!
- Plaats de Mini HDMI naar HDMI-poort op de Pi Zero
- Plaats de HDMI->HDMI-adapter die bij het Kuman-scherm wordt geleverd in de HDMI-sleuf
- Plaats het Kuman-scherm op het andere deel van de HDMI-adapter. Dit moet passen in de vrouwelijke HDMI-poort op het Kuman-scherm
- Plaats de USB-kabel door de achterkant van de piramide
- Ik heb de afbeelding geannoteerd met de stroomdraden en de pi-pinout toegevoegd. Deze stap is van cruciaal belang, maar een stuk eenvoudiger dan het lijkt … je wilt twee kleine draden van de eerste en derde pin op de Pi naar het scherm leiden. Als u jumperdraden gebruikt, kunt u deze in de achterkant van het scherm steken en ze vervolgens om de pinnen op de pi buigen en ze heet lijmen. Idealiter zouden deze op de pi moeten worden gesoldeerd en heet gelijmd om ze in het scherm te houden. Dit geeft 5 volt door van de pi naar het scherm, en is een van de trucs om dit project schoon en netjes te houden… als dit eenmaal is gebeurd, voedt een enkele kabel de pi en het scherm voldoende!
Op dit punt ben je al ongeveer halverwege klaar met de montage. Voordat we het afsluiten, laten we de software-afbeelding in de volgende stap schrijven.
Stap 2: De software instellen
Er zijn een heleboel tutorials over het schrijven van een SD-kaartafbeelding voor een Raspberry pi op een microSD-kaart, en ik wil die grond niet vernieuwen. Maar het is belangrijk, aangezien dit een Pi Zero W is die we gebruiken, om enkele trucs te kennen om dit aan de gang te krijgen. Bezoek eerst de website van Emmanuels op:
emmanuelcontreras.com/how-to/how-to-create-…
Hij heeft het werk gedaan om de Magic Mirror-software te documenteren en een afbeelding te maken op een Raspberry pi zero (zoals je kunt zien aan zijn stappen, kan dit behoorlijk moeilijk zijn). Scroll naar beneden en je ziet onderaan na zijn stappen een kant en klare afbeelding die je kunt gebruiken. (Als je zoekt naar 'Image file' zou je daar moeten komen).
Vervolgens wil je de stappen volgen die hij heeft vermeld om verbinding te maken met wifi en ssh toe te voegen. Een ECHT belangrijke tip hier: Gebruik Kladblok NIET in Windows om het supplicant_conf-bestand te bewerken. Kladblok vervormt de regeleinden zodat ze niet Linux-compatibel zijn, en je zult geen verbinding maken. Notepad++ is een gratis vervanging voor Kladblok en kan goede regeleindes maken.
Wanneer je die afbeelding hebt geschreven (ik gebruik Win32 disk imager in Windows) en het bestand supplicant_conf hebt bewerkt en SSH hebt toegevoegd, ben je klaar om de kaart te plaatsen en het apparaat op te starten.
Op dit punt zou de Pi verbinding moeten maken met je wifi. De truc is dan om het te vinden:) Er zijn een aantal ip-scanning-apps voor telefoons en pc. Advanced IP Scanner werkt voor Windows. Voor een iPhone gebruik ik iNet op mijn iPhone om naar de pi-nul te scannen. Als je het vindt, kun je een telnet-app zoals Putty gebruiken om er via SSH verbinding mee te maken. Dit is belangrijk voor het configureren van de MagicMirror-software en het installeren van add-ons!
Zodra je zo ver bent gekomen, sluit je de microUSB aan op de voeding en zorg je ervoor dat je kunt opstarten en verbinding kunt maken via SSH. Op dat moment ben je klaar om verder te gaan en de zaak dicht te knopen.
Stap 3: Afwerking montage - Het scherm in het frame installeren en de spiegel toevoegen
Zorg ervoor dat het scherm opstart en wordt ingeschakeld wanneer u de stroom op de Pi aansluit. De opstarttijd is 3-5 minuten, dus wees geduldig.. het moet de pi opstarten, dan de browser opstarten en dan de magic mirror-software starten. Gelukkig zou je dit niet vaak moeten opstarten / uitschakelen (het kost minder dan 7 cent per jaar om te werken met een stroomverbruik van ongeveer 100 ma). Vervolgens zullen we de montage afmaken:
- Het scherm wordt op de achterkant van het 3D-geprinte frame gestoken. Gebruik de foto's als richtlijn..de 'voorkant' is het platte gedeelte, aan de achterkant komen de stekkers en zo naar buiten. Plaats het scherm van achteren.
- Wanneer het scherm goed past, plaatst u een rubberen band rond de pinnen en over het scherm om het op zijn plaats te houden. Dit was de eenvoudigste manier die ik kon bedenken om het scherm vast te houden, en het werkte goed. Het is ook fijn omdat met deze aanpak het hele project desgewenst naadloos uit elkaar valt!
- Steek de voedingskabel in de Pi. Je kunt dit niet meer doen als het eenmaal is gemonteerd, dus het is tijd om op te laden!
- Druk de 3D-geprinte framehouder in de piramide..de lipjes aan de buitenkant zorgen ervoor dat hij niet naar binnen zakt, en hij moet enigszins stevig op zijn plaats klikken.
- Gebruik voordat u de spiegel toevoegt zwarte tape rond de delen waar het scherm de 3D-afdruk raakt. Dit is zodat er geen lichtbloeding is… Ik heb geprobeerd het frame zo strak mogelijk te maken, maar deze eenvoudige stap zorgt ervoor dat het schoon blijft. Bedek ook het zilver van het scherm, zodat er geen licht uit de spiegel wordt gereflecteerd en het effect verpest
- Hete lijm over de tape die je zojuist hebt geplaatst en druk de spiegel erop. (Opmerking: het frame/scherm moet op dit punt allemaal worden gemonteerd, dus als u de spiegel erop plaatst, kunt u deze uitlijnen met de piramidehoeken en alles netjes uitgelijnd hebben). Gebruik niet te veel lijm, anders zie je het..een lichte kraal is voldoende. De spiegel weegt niet veel.
Je zou nu opgewonden moeten raken, want je zou de vruchten van je werk moeten gaan zien … de tijd of datum zou door de spiegel moeten worden weergegeven. De volgende stap is de configuratie!
Stap 4: Eindmontage en configuratie
Op dit punt ben je in wezen geassembleerd en zou de software moeten draaien en in staat moeten zijn om SSH in te voeren. De modules zijn echter waarschijnlijk een puinhoop en je vraagt je af hoe je ze kunt repareren.
Allereerst wil je wat lezen over hoe de Magic MIrror-software werkt. Dat is hier te vinden:
magicmirror.builders/
Dit zou echter geen goede instructie zijn zonder je een quickstart / spiekbriefje te geven om aan de slag te gaan. Hier zijn enkele tips en een uitleg over hoe dit werkt:
- Magic Mirror-modules worden eenvoudigweg gekloond vanuit de modulerepository naar de modulemap. Dus als je SSH hebt, cd naar de MagicMirror-directory (onthoud dat in Linux-directory's hoofdlettergevoelig zijn). Dan cd naar modules. Dan kun je een van de add-ons in die map klonen.
-
Een lijst met modules vindt u hier:
github.com/MichMich/MagicMirror/wiki/3rd-p… Elk zou instructies moeten hebben om ze te configureren.
- een Module die je meteen wilt is MMM-Carousel. Deze module doorloopt alle andere modules die zijn geïnstalleerd. (https://github.com/barnabycolby/MMM-Carousel)
- Om het geheel te configureren, gaat u naar de map MagicMirror/config en bewerkt u het bestand config.js
- In Config.js wil je de naam toevoegen van de modules die je hierboven via Git-kloon hebt toegevoegd. Je wilt ze positioneren (ik heb de mijne gepositioneerd in: middle_center. Vervolgens zorgt de carrousel ervoor dat er één tegelijk wordt weergegeven en wordt er tussen de twee gewisseld. Dit gebeurt na een configureerbaar aantal seconden (ik gebruikte 45 seconden voor de mijne)
- Houd er rekening mee dat u het formaat van de lettertypen wilt wijzigen. Soms kun je dit doen in config.js, maar bij andere moet je het.css-bestand vinden dat bij de module wordt geleverd, iets zoeken dat eindigt op.px en de waarden wijzigen om de lettergrootte te vergroten. Ik ontdekte dat dit per module verschilde.
Ik ontdekte dat de tijd/datum-, weers-, voorraad- en verkeersmodules heel goed werkten bij dit project. Mediamodules zoals geanimeerde gifs of youtube werken niet goed op de Pi Zero W, dus houd daar rekening mee.
De volgende zijn de laatste gedachten en toekomstplannen…
Stap 5: Laatste gedachten - Wat ik anders zou doen en wat ik leuk vond
Dit project was erg leuk. Het kostte veel uren aan het bewerken van configuratiebestanden, 3D-printen en ontwerpwerk om de zaak te krijgen waar het eindigde. Maar uiteindelijk kwam het goed samen denk ik en mijn vrouw geniet van de spiegel (ik had de eerste voor een vriend gebouwd en ze wilde er meteen ook een!). Ik zal er waarschijnlijk nog een bouwen en sommige dingen veranderen om stijlredenen en sommige om prestatieredenen:
- Ik zou een knop aan de bovenkant toevoegen. De piramide-look is ZEER schoon en futuristisch, maar het laat geen snelle controle over de spiegel toe. Ik denk dat een simpele knop om handmatig van het ene scherm naar het andere te gaan in plaats van te wachten handig zou zijn
- Ik zou proberen een luidspreker toe te voegen - ik denk dat het heel cool zou zijn om deze muziek te streamen… of waarschuwingsgeluiden af te spelen
- Ik probeer het misschien uit hout te bouwen - Hoewel de 3D-print super eenvoudig te repliceren en te bouwen is, denk ik dat een eiken- of gebeitst hout-look echt cool zou zijn
- Verhuizen naar een Pi3A+ - De A+ was niet uit toen ik dit bouwde, en dus viel ik terug op een pizero. Een A+ voegt 15 dollar toe aan de prijs (maar heeft een full-size HDMI, dus misschien voegt het maar ongeveer 12,50 toe), maar voegt een hoop vermogen toe. Ook is de browser niet GPU-versneld in deze build, en een A + zou zijn … dus ik denk dat het verhoogde vermogen handig zou zijn.
- Verwijderbare spiegel - Ik denk dat een verwijderbare spiegel handig zou zijn, omdat sommige media zoals YouTube niet geweldig zijn om door de spiegel te kijken. Dit zou ook een cool casual game-systeem kunnen zijn met een roterend scherm (draai de piramide gewoon en leg hem op een andere kant) als het anders was gebouwd.
- Voeg een microfoon toe - ik zou Alexa kunnen integreren en dit een slimme assistent of spraakgestuurd kunnen maken als ik een kleine microfoon had toegevoegd.
Uiteindelijk is er iets met eenvoud en goedkoop zijn. Dit project was precies dat voor mij, en het monteren van de tweede voor mijn vrouw kostte me minder dan 15 minuten (buiten de 9 uur 3D-printertijd:)).
Als je er een hebt gebouwd, laat het me dan weten, en als je vragen hebt, laat ze dan hieronder of op het YouTube-kanaal achter en ik zal eraan werken om ze te beantwoorden. De youtube-video heeft een demo van de spiegel aan het begin en einde … het is moeilijk om het in foto's te beschrijven. Het ziet er superschoon uit naast een computer, op het aanrecht in de badkamer of op een nachtkastje. Ook zijn er waarschijnlijk meer dan 100 modules beschikbaar … alles van computerstatistieken tot bitcoin-prijzen. Dit kan echt een geweldige gegevensweergave worden, en omdat de computer erin zit, werkt het los van al het andere (nou ja, behalve wifi:))
Bedankt voor het lezen en ik hoop dat je genoten hebt van deze build!