Obsah:

Obličejová maska s displejem elektronického papíru: 9 kroků (s obrázky)
Obličejová maska s displejem elektronického papíru: 9 kroků (s obrázky)

Video: Obličejová maska s displejem elektronického papíru: 9 kroků (s obrázky)

Video: Obličejová maska s displejem elektronického papíru: 9 kroků (s obrázky)
Video: Сигнал 4-20 мА в ПЛК Панели Coolmay 2024, Listopad
Anonim
Obličejová maska s displejem elektronického papíru
Obličejová maska s displejem elektronického papíru
Obličejová maska s displejem elektronického papíru
Obličejová maska s displejem elektronického papíru
Obličejová maska s displejem elektronického papíru
Obličejová maska s displejem elektronického papíru
Obličejová maska s displejem elektronického papíru
Obličejová maska s displejem elektronického papíru

Vypuknutí koronaviru přineslo do západního světa nový kousek módy: obličejové masky. V době psaní článku se v Německu a dalších částech Evropy staly povinnými pro každodenní použití ve veřejné dopravě, pro nákupy a různé jiné příležitosti. Moje dcera, porodní asistentka ve výcviku, vyrobila mnoho masek pro svou rodinu a kolegy a dala mi nápad na tento projekt a naznačila mi následující:

Zatímco obličejové masky by mohly pomoci omezit šíření viru a komunitní masky vlastní výroby se nyní dodávají v několika tvarech, velikostech a vzorcích a dokonce s osvětlením mají společný problém: způsobují, že jejich nositel je bez tváře. Přinejmenším do určité míry musí být zakryta ústa a nos. Což ztěžuje neverbální komunikaci a všechny tyto tváře bez tváře neděsí jen malé děti.

V následujícím textu bych chtěl popsat nové řešení tohoto problému: obličejovou masku s integrovaným displejem. Pokud se nachází v místě, kde by měla být vaše ústa, může vám umožnit vyjádřit váš celkový stav nálady - šťastný úsměv, normální, napjatý, naštvaný, naštvaný, … - zobrazením buď obrázku vhodných úst, nebo náčrtu úst, některých textová zpráva, symbol nebo dokonce animace.

Nevylučuji, že by koncept mohl mít nějaké využití v praxi, ale přinejmenším by to mohla být skvělá zábava nosit na večírcích. A může vám dát šanci nosit úsměv vaší oblíbené celebrity, upíra, orka, žraloka, kočky, psa, ….

Následující popis prototypu vám má umožnit vytvořit si vlastní verzi zařízení, doufejme, že bude vylepšena a přizpůsobena vašim zvláštním potřebám a přáním. Jelikož je rozložení jednoduché a zařízení se většinou skládá z komerčně dostupných dílů, jsou k montáži zapotřebí pouze omezené technické dovednosti a vybavení.

Ukažte nám prosím své verze, rozvržení, nápady na vylepšení a obrázky, které chcete na zařízení zobrazit.

Zásoby

  • Flexibilní 2,9 '' displej z elektronického papíru WaveShare s ovladačem HAT (33 EUR přes Amazon.de)
  • Komponenty jsem koupil samostatně: flexibilní 2,9 palcový displej e-Paper WaveShare (přes Eckstein, 19 EUR), 296 x 128 pixelů černobíle.

    Wiki

    WaveShare eInk display HAT (přes Amazon.de, 9 €)

  • Raspberry Pi Zero, použil jsem model verze 1.3, můžete také použít Raspberry Pi Zero W (Pimoroni.com, 10,51 EUR)
  • Podložka Pimoroni Button (8,55 EUR na Pimoroni.co.uk)
  • Tenká, tuhá, ale pružná plastová deska jako podklad pro displej (pro iPhone 5 jsem použil nepoužitý ochranný kryt displeje)
  • USB powerbanka a dlouhý micro USB kabel, nebo v kombinaci s RPi Zero, Pimoroni Zero LiPo shim, LiPo a LiPo nabíječkou
  • Komerční nebo zakázková obličejová maska (plochý typ)
  • Volitelné: pomohl by delší plochý kabel (rozteč FFC 24 pinů, 0,5 mm), např. 60 cm-SAMTEC FJH-20-D-24.00-4 přes Digi-Key (nejdelší montáž běžného kabelu, který jsem našel) nebo jednoduše spojte 20 cm kusy FFC pomocí adaptérů (jak je zde provedeno)

    Ke konci května 2020 nabízí Adafruit 25 cm 24pinové prodlužovací kabely a prodlužovací konektory: (kabel: https://www.adafruit.com/product/4230, 1,5 US $), konektor: (https:// www.adafruit.com/product/4524)

  • Volitelné: patentní zapínání nebo našité pásky na suchý zip k připevnění na displej k obličejové masce nebo látkové obálce, gumičky (některé použité ze soupravy na opravu podprsenky)
  • Oboustranná páska k fixaci polohy displeje v obálce (nebo ji můžete opravit sešitím)
  • Lanyardový pás pro RPi Zero

Krok 1: Technické rozložení a koncept

Technické uspořádání a koncept
Technické uspořádání a koncept
Technické uspořádání a koncept
Technické uspořádání a koncept
Technické uspořádání a koncept
Technické uspořádání a koncept

WaveShare nabízí flexibilní 2,9 palcový displej z e-papíru o rozměrech 6,6 x 2,9 cm a rozlišení 296 x 128 pixelů, plus Raspberry Pi HAT pro zjednodušení ovládání jejich displejů s elektronickým inkoustem. Velikost a rozlišení 2,9 '' displeje umožňuje zobrazit ústa téměř v plné velikosti, a protože je flexibilní, lze jej umístit na zakřivené povrchy. K displeji musí být připojen malý konektor, který pak musí být spojen s RPi HAT pomocí 24kolíkového plochého kabelu.

Používání Raspberry Pi Zero jako mikrokontroléru nabízí širokou škálu příležitostí k ovládání displeje. jiné HAT/pHAT a mohou pro většinu účelů nabídnout dostatek možností ovládání. Optimalizované programování (jakákoli pomoc vítána!) Může umožnit snížit spotřebu energie systému na minimum.

Jednoduchý způsob generování požadovaných černobílých obrázků bude popsán v dalším kroku. V zásadě můžete zobrazovat filmy podobné „animovaným GIF“, ale mějte na paměti, že obnovovací frekvence přesahují sekundu/snímek, ale může být užitečné částečné obnovení zobrazení.

Omezení současného rozložení vyplývá z relativně krátkého kabelu spojujícího RPi a displej. Kabel dodávaný s HAT je dlouhý 20 cm, nejdelší analogický kabel, který jsem našel, byl 60 cm dlouhý (ale není k dispozici v květnu 2020). Abyste měli Raspberry v dosahu svých rukou, např. v pásku na zápěstí by se dalo spojit několik těchto kabelů s konektory mezi nimi. v tuto chvíli jsem se uchýlil k možnosti nosit RPI Zero jako šňůrku (viz obrázky).

Masku displeje můžete nosit bez RPi, protože displej e-Paper vyžaduje externí napájení pouze pro změnu, ale ne pro zobrazení obrázku. Můžete si tedy jednoduše vybrat „podobnost dne“, připojit RPi k displeji, načíst na displej příslušný obrázek a poté RPi odpojit.

Pro dětskou verzi můžete použít flexibilní 2,13 '' displej, který nabízí WaveShare. Protože má rozlišení 212 x 104 pixelů, musíte generovat soubory bmp v této velikosti. Přizpůsobení skriptu tomuto zobrazení je velmi jednoduché.

Adafruit nabízí podobné flexibilní displeje a desku řidiče, která se hodí k jejich rodině desek Feather. To by umožnilo přijmout tento koncept pro použití s mikrokontrolérem. Další podrobnosti viz krok 9.

Krok 2: Generujte černobílé obrázky

Generujte černobílé obrázky
Generujte černobílé obrázky
Generujte černobílé obrázky
Generujte černobílé obrázky
Generujte černobílé obrázky
Generujte černobílé obrázky

Obrázky, které mají být zobrazeny, můžete generovat pomocí vektorové grafiky (např. InkScape) nebo pixelové grafiky (např. GIMP), ale konečným výstupem musí být černobílý soubor bmp o velikosti 296 x 128 pixelů.

Aby byl barevný obrázek zobrazen na displeji elektronického papíru, musí být převeden na černobílý obrázek.

Můžete buď použít obrázky bmp ze sbírky (poslední krok), nebo vygenerovat nějaké vlastní. jak je popsáno v následujícím textu. K dosažení cíle mohou existovat různé způsoby, ale použil jsem velmi jednoduchý a přímý postup pomocí GIMP:

  1. Stačí získat obrazový soubor s ústní částí o velikosti minimálně 296 pixelů na šířku a 128 pixelů na výšku. Může to vyžadovat čelní portrét s vysokým rozlišením.
  2. Vyberte oblast s poměrem šířky k výšce přibližně 2,32 k 1 a pomocí obrázku - zmenšit vyberte*
  3. Poté pomocí Image - Scale image* zmenšete na šířku 296 pixelů (nebo 128 pixelů na výšku).
  4. Jako další vyberte velkou oblast 296 x 128 pixelů a zkraťte obrázek tak, jak je uvedeno výše.
  5. Protože velikost musí být přesně 296 x 128 pixelů, v případě potřeby proveďte opravu pomocí Image-Adjust Canvas Size*
  6. Nyní převeďte obrázek na stupně šedi pomocí Image - Mode - Grayscale. Tento krok není nezbytně nutný, ale může být docela užitečný pro úpravy a optimalizaci (viz krok 9).
  7. Poté převeďte na černobílou bitmapu pomocí Image - Mode - Indexed* s možnostmi „1 bit“a „Floyd -Steinberg“dithering
  8. Nakonec exportujte bitmapu jako BMP do příslušné složky
  9. Můžete se pokusit optimalizovat výsledky úpravou parametrů jako kontrastu nebo jasu obrazu v odstínech šedi. Barva- Komponenty- Extrahovat komponenty- Zelený kanál RGB je jednoduchá možnost pro vylepšení obrazu a zvýraznění červených komponent jako úst. Vraťte se ke kroku 7.
  10. Pro film podobný „animovanému GIF“můžete připravit řadu po sobě jdoucích obrázků, jak je uvedeno výše, a logicky pojmenovat a očíslovat BMP. Poté je můžete postupně zobrazovat na displeji.
  11. Umístěte soubory do podsložky pic mimo složku příkladu elektronického papíru, v případě potřeby je přejmenujte (např. Image_1.bmp, …)
  12. Nahraďte názvy souborů bmp uvedené v ukázkovém skriptu jmény vašich souborů.

Poznámky:

  • Nejsem si jistý, jestli jsem správně pochopil anglické názvy všech příkazů GIMP, protože používám německou verzi.
  • U některých příkladů byly použity výběry snímků pořízených z internetu, takže je nelze použít v publikacích ani pro komerční účely.

Krok 3: Elektronika a montáž

Elektronika a montáž
Elektronika a montáž
Elektronika a montáž
Elektronika a montáž
Elektronika a montáž
Elektronika a montáž

Montáž elektronických součástek je poměrně jednoduchá. Podložka tlačítka, pokud se používá přímo připojená k RPi, musí být připájena k GPIO RPi, jak je uvedeno v pokynech výrobce. Jelikož je podložka velmi tenká, lze na GPIO umístit HAT s připevněnou podložkou. Použijte co nejméně pájky a snažte se nekontaminovat piny GPIO nad oblastí podložky, v případě potřeby odpájet. V kombinaci s WaveShare e-Paper HAT můžete dokonce přidat podložku Pimoroni ZeroLiPo do GPIO kromě podložky pod knoflíky, což by umožnilo použít malý LiPo jako zdroj energie. Poté umístěte e-Paper HAT na GPIO pomocí distančních držáků dodávaných s HAT.

Připojte displej e-papíru a plochý připojovací kabel k adaptéru pro e-papír a poté k HAT na e-papír podle popisu výrobce (modro-modří na konci kabelu FFC dolů). Nastavte dva spínače na HAT podle požadavků použitého displeje, u flexibilního 2,9 '' displeje na "A" a "0".

Ujistěte se, že jste nainstalovali veškerý požadovaný software a nainstalované knihovny.

Nejprve můžete použít ukázkové skripty poskytnuté Pimoroni a WaveShare ke kontrole funkčnosti komponent a poté otestovat kód specifický pro projekt (ukázáno v pozdějším kroku).

Vzhledem k tomu, že hardware a software funguje, můžete nyní připojit displej a adaptér e-Paper k obálce displeje nebo masce. Navrhoval bych opravit displej a adaptér na nějaké flexibilní, ale dostatečně tuhé podložce, použil jsem tenkou plastovou fólii a oboustrannou pásku. Nyní lze zadní list použít k připevnění displeje k vaší masce nebo k větší ochranné obálce, např. šitím nebo použitím oboustranné pásky, patentních spon nebo malých magnetů.

Jelikož kabel FFC spojující RPI a displej je jen 20 cm dlouhý, použil jsem šňůrku na šňůrku omotanou kolem distancí HAT, aby byl Raspberry Pi nositelný blízko obličeje. Jak bylo uvedeno, hodil by se delší kabel nebo prodloužení kabelu.

Na prototyp jsem použil kapesní kus plastové tkáně (20 x 9,5 cm), vlastně nějaký obalový materiál, který byl po ruce. Potom jsem vyřízl otvor pro displej a upevnil tam displej / zadní desku. Poté jsem na rohy připevnil čtyři plastové západky, viz obrázky. Abych to celé držel na obličeji, použil jsem dvě průsvitné gumičky s háčky ze soupravy na opravu podprsenky. Takže jdou všude kolem vaší hlavy a úpravy délky jsou velmi jednoduché.

Krok 4: Skript

Příklad skriptu je sloučením demo skriptů poskytovaných WaveShare pro zobrazení HAT (viz Github zde) a Pimoroni pro Button Shim (viz zde). Jakákoli pochvala jim patří, já vezmu jakoukoli vinu. Jakékoli poznámky a návrhy na optimalizaci jsou vítány.

Skript WaveShare vyžaduje instalaci několika knihoven, jak je uvedeno v dokumentaci na GitHubu. Stejně tak skript Pimoroni, ale tady je nástroj, který to udělá za vás.

Nejlepší je použít čerstvě flashovanou SD kartu s Raspianem a poté přidat nástroj Pimoroni

sudo apt-get install pimoroni

a pomocí něj nainstalujte kódy shimů tlačítek (nacházejí se pod „ostatními“) a závislosti.

Pro část WaveShare zkopírujte balíček jejich ovladačů a příkladů ze stránky GitHub a nainstalujte jej a všechny závislosti, jak je popsáno zde (!). Většina závislostí může být již splněna.

Umístěte skript do složky příkladů pythonu v zobrazovacím softwaru WaveShare a zkopírujte soubory bmp do podsložky pic.

Použití skriptu je poměrně jednoduché. V případě změňte názvy souborů bmp v seznamech BMP na ty, které chcete zobrazit. Můžete si připravit záložní seznamy a nahradit požadovaný v aktivním seznamu zkopírováním.

Spusťte skript. Zkontrolujte, zda věci běží dobře. Poté můžete odstranit adaptéry HDMI a USB (u některých rozbočovačů USB může odebrání zastavit RPi) a nasadit masku displeje na obličej a šňůrku na krk. Podívejte se do zrcadla a hrajte a zkontrolujte, zda vše funguje dobře.

Skript byl prokládán na minimum potřebné ke čtení tlačítek a zobrazení bmps. Pokud tedy chcete zobrazit text, čáry nebo geometrické obrazce, přidejte prosím požadované prvky z příkladového skriptu 2in9d.

Obrázky, které musí být umístěny ve složce „pic“, jsou uvedeny v seznamu „BMP“, který se skládá z 5 podseznamů s názvy po 5 obrázcích nebo celkem 25 obrázků. První obrázek v každém dílčím seznamu je spojen s tlačítkem A, druhý s tlačítkem B atd. Dílčí seznamy lze vybrat dlouhým stisknutím tlačítek A až E, tj. Panel 1 je vybrán pomocí tlačítka A, panel 2 tlačítkem B atd. Skript definuje několik vláken běžících na pozadí a sleduje každé stisknuté tlačítko, buď krátce nebo podrženo déle než 2 sekundy, což má za následek změnu proměnných příznaků. Smyčka hlavního programu právě detekuje, zda bylo stisknuto tlačítko/podržet čtení příznaků button_was_held a button_was_pressed a které příznaky (panel_flag, button_flag) byly vyvolány. Poté podle toho nastaví odpovídající proměnné (panel nebo obrázek). Nakonec je ze seznamu vybrán obrázek odpovídající „BMP [panel] [obrázek]“a zapsán na displej. Poté se vlajky resetují do základního stavu „null“nebo „False“.

Zbytek skriptu je většinou o nastavení proměnných, zahájení zobrazení a nějakém zpracování chyb. Skript můžete spustit z IDE nebo z konzoly pomocí „python3 Button_shim_2in9_1.py“. Alternativně můžete skript spustit přímo po spuštění.

Skript stále prochází optimalizací, proto prosím zkontrolujte aktualizace.

Nejnovější verze (2020-květen-10) obsahuje funkci pro zobrazení obrázků v seznamu BMP, display_gallery () a jednu pro zobrazení obrázků v seznamech collection_x, display_collections (). Není zahrnuto v níže uvedeném seznamu, viz přiložený soubor.

Mějte na paměti, že pokud se displej několik dní nepoužívá, vymažte jakýkoli obrázek, abyste se vyhnuli „stínování“.

#!/usr/bin/env python

# from Pimoroni button shim script import import time signal import buttonshim # import and start display #from WaveShare-paper script #-*-coding: utf-8-*-import sys import os picdir = os.path.join (os.path.dirname (os.path.dirname (os.path.realpath (_ file_))), 'pic') libdir = os.path.join (os.path.dirname (os.path.dirname (os.path.realpath (_file_))), 'lib') if os.path.exists (libdir): sys.path.append (libdir) import logging from waveshare_epd import epd2in9d import time from PIL import Image, ImageDraw, ImageFont import traceback #Set output log level logging.basicConfig (level = logging. DEBUG) '' ' #zde není vyžadováno font15 = ImageFont.truetype (os.path.join (picdir,' Font.ttc '), 15) font24 = ImageFont.truetype (os.path. join (picdir, 'Font.ttc'), 24) '' '#set Seznam BMP BMPs =

Krok 5: Verze látkové masky a další koncepty aplikace

Verze látkové masky a další koncepty aplikace
Verze látkové masky a další koncepty aplikace

V současné verzi prototypu lze displej nosit nad obvyklou značkou obličeje nebo jej lze připevnit ke stávajícím maskám pomocí suchých zipů nebo magnetů. Ale ve skutečnosti byste chtěli integrovat displej do masky s možností rychlého umístění a odebrání.

To, co jsem zatím udělal, bylo použít masku, kterou jsem koupil v místním krejčovství („Schneiderei Schmargendorf“) vyrobenou z poměrně husté látky, identifikovat správnou oblast, na kterou by měl být displej umístěn, a poté vyříznout otvor do vnější vrstvy maska. Pro kabel displeje byla na vhodné straně vyříznuta štěrbina na vnitřní straně. Podkladová deska byla rozřezána na minimální požadovanou velikost a několik malých otvorů bylo zasunuto, aby bylo možné šití. Poté byl displej upevněn na podložní desku pomocí oboustranné pásky, přičemž byl také aplikován na okraje pro upevnění desky a displeje na vrstvu látky. Poté byl displej umístěn do masky, kabel se přesunul do štěrbiny a tkanina byla připevněna k podkladové desce. Mohlo by být užitečné zpevnit řezané hrany před tím, např. Malým množstvím super lepidla. V případě, že jste zkontrolovali, že vše dobře sedí, upevněte opěrnou desku šitím. Připojte kabel k HAT a spusťte Pi.

Omezení tohoto přístupu spočívá v tom, že nemůžete masku mýt s pevným integrovaným displejem. Existuje však několik dalších způsobů, jak připevnit displej k masce. Jednou z možností by mohlo být přidání další, odnímatelné tkáňové vrstvy do masky a držení displeje na místě pomocí pásků na suchý zip nebo patentních spon. Tímto způsobem se dá snadno odstranit pro mytí masky nebo přesunout do jiné masky.

Později mohou vylepšené verze integrovat vyhrazený držák displeje, aby bylo dosaženo profesionálnějšího vzhledu.

---------------------------- Přestože původní myšlenkou byla obličejová maska s displejem, velmi podobné rozložení by mohlo být použito i pro jmenovky nebo displej integrovaný do oděvů nebo náramků.

Nebo přemýšlejte o verzi „Kdo jsem“s čelenkou s integrovaným displejem, zobrazováním obrázků nebo výrazů náhodně vybraných z větší sbírky.

Myšlenka, která mi připadá docela směšná, ale nechci ji nechat nezmínenou, by byl Niqab s takovým displejem.

Máte další nápady? Prosím dej mi vědět!

Protože celý projekt stále probíhá, čas od času vyhledejte aktualizace.

Krok 6: Kolekce obrázků - ústa a tváře

Kolekce obrázků - ústa a tváře
Kolekce obrázků - ústa a tváře
Kolekce obrázků - ústa a tváře
Kolekce obrázků - ústa a tváře
Kolekce obrázků - ústa a tváře
Kolekce obrázků - ústa a tváře
Kolekce obrázků - ústa a tváře
Kolekce obrázků - ústa a tváře

Zde najdete sbírku obrázků, které lze použít na 2,9palcovém displeji se zaměřením na tváře, obvykle omezené na část úst. Mimo jiné obsahuje HM královnu (2x), prezidenta Obamu, Ghandiho, dalajlámu, Stalina, Paula Newmana, Pavarottiho a moji kočku.

Uvědomte si prosím, že jelikož jsem u některých z nich použil jako zdroj obrázky z internetu, stále může platit ochrana autorských práv a nemusí být použity ke komerčním účelům.

Krok 7: Kolekce - Vzory

Kolekce - Vzory
Kolekce - Vzory
Kolekce - Vzory
Kolekce - Vzory
Kolekce - Vzory
Kolekce - Vzory

Zde je řada vzorů, které by mohly být zobrazeny, většina generována pomocí GIMP.

Krok 8: Kolekce obrázků - znaky, symboly a text

Kolekce obrázků - znaky, symboly a text
Kolekce obrázků - znaky, symboly a text
Kolekce obrázků - znaky, symboly a text
Kolekce obrázků - znaky, symboly a text
Kolekce obrázků - znaky, symboly a text
Kolekce obrázků - znaky, symboly a text

Další ukázkové obrázky pro displej 293x128:

Značky a symboly, texty.

Opět: některé obrázky nebo symboly (např. Raspberry, Apple, Instructables) mohou být chráněny autorskými právy a nebudou použity pro komerční účely.

Krok 9: Alternativní rozložení: Adafruit Feather and E-paper Display

Alternativní rozložení: Adafruitové peří a displej z e-papíru
Alternativní rozložení: Adafruitové peří a displej z e-papíru
Alternativní rozložení: Adafruitové peří a displej z e-papíru
Alternativní rozložení: Adafruitové peří a displej z e-papíru

Dnes (21. května 2020) jsem si uvědomil, že Adafruit nabízí také flexibilní displeje z elektronického papíru stejné velikosti a rozměrů (https://www.adafruit.com/product/4262, 27 US $) a také 25 cm 24pinové prodlužovací kabely s roztečí 0,5 mm (https://www.adafruit.com/product/4230, 1,5 US $) a prodlužovací konektory (https://www.adafruit.com/product/4524).

Mají ovladač e-papíru pro svou rodinu desek Feather (Adafruit eInk Feather Friend s 32KB SRAM, https://www.adafruit.com/product/4446, 9 US $), který je dodáván s držákem karty SD pro uložení všech těchto snímky.

Předpokládám, že by to mohlo umožnit kompaktnější a energeticky účinnější rozložení než zde popsaná verze Raspberry Zero a bylo by dokonalým řešením, pokud dáváte přednost použití platformy STM32F405, 32u4 nebo nRF52840. Kombinace displejů Adafruit eInk Feather Friends a WaveShare bohužel není triviální.

Opravdu se mi líbí verze s BLE a aplikací pro ovládání zobrazovaných obrázků.

WaveShare nabízí štít ovladače Arduino a ovladače zobrazení založené na ESP3266, pokud jim dáváte přednost.

Doporučuje: