Obsah:
- Krok 1: Vytiskněte tyto součásti
- Krok 2: Nahrajte kód
- Krok 3: Sestavení
- Krok 4: Sestavte součásti do helmy
- Krok 5: Připojte napájení
Video: Dotyková lampa potápěčské přilby: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
V tomto pokynu
Budete potřebovat
- Potápěčská helma nebo ekvivalent
- Neopixel kompatibilní LED kroužek (použil jsem prsten s 38 LED)
- Deska Wemos ESP32 (nebo ekvivalent)
- 3D tiskárna
Krok 1: Vytiskněte tyto součásti
Pokud používáte jinou potápěčskou helmu, tyto části se možná budou muset přizpůsobit. Zjistil jsem, že ta, kterou mám, je docela běžná
Krok 2: Nahrajte kód
Vložte ssid a heslo do kódu a poté nahrajte na svou nástěnku. To je umožněno OTA odesílání nového kódu po sestavení projektu. K použití této desky budete muset nainstalovat NeoPixelBus od společnosti Makuna, který je k dispozici zde https://github.com/Makuna/NeoPixelBus. Také budete muset nainstalovat definice desky ESP32 do prostředí arduino.
// Wifi Jazz #include #include #include #include bool wifi_timout = 0; const char* ssid = "SSID"; const char* heslo = "Heslo"; // Neopixelový jazz #include const uint16_t PixelCount = 38; konst uint8_t PixelPin = 19; int colorSaturation = 50; int Jas = 50; int R = 0; int G = 0; int B = 0; int Pulse = 1600; // Poloviční doba mezi pulzacemi RgbColor černá (0); // Tlačítko Jazz float Button1_total = 0; int vyhlazení = 50; const int debounce = 5; float Button1 [odskakovat]; bool PWR = 0; Prsten NeoPixelBus (PixelCount, PixelPin); neplatné nastavení () {Serial.begin (115200); Serial.println ("Zavádění"); WiFi.mode (WIFI_STA); WiFi.begin (ssid, heslo); while (WiFi.waitForConnectResult ()! = WL_CONNECTED) {Serial.println ("Připojení se nezdařilo!"); zpoždění (5000); //ESP.restart (); } OTA_init (); touch_pad_init (); touchSetCycles (0x6000, 0x6000); // touch_pad_set_cnt_mode (0, TOUCH_PAD_SLOPE_7, TOUCH_PAD_TIE_OPT_HIGH); ring. Begin (); ring. Show (); } void loop () {if (millis () <600000) {ArduinoOTA.handle ();} else if (wifi_timout == 0) {ArduinoOTA.end (); wifi_timout = 1; WiFi.mode (WIFI_OFF); btStop (); } if (button1_capture () == 1) {ring. ClearTo (black); ring. Show (); PWR =! PWR; } if (millis () <1500) {PWR = 0;} if (ring. CanShow () && PWR == 1) {Light (0);} delay (10); } neplatné OTA_init () {ArduinoOTA.onStart ( () {typ řetězce; if (ArduinoOTA.getCommand () == U_FLASH) type = "sketch"; else // U_SPIFFS typ = "souborový systém"; // POZNÁMKA: pokud aktualizace SPIFFS toto by bylo místo, kde můžete odpojit SPIFFS pomocí SPIFFS.end () Serial.println ("Začít aktualizovat" + typ);}).onEnd ( () {Serial.println ("\ nEnd");}).onProgress ( (průběh bez znaménka, celkový součet bez znaménka) {Serial.printf ("Průběh:%u %% / r", (průběh / (celkem / 100)));}).onError ( (ota_error_t chyba) {Serial.printf ("Chyba [%u]:", chyba); if (chyba == OTA_AUTH_ERROR) Serial.println ("Auth Failed"); else if (error == OTA_BEGIN_ERROR) Serial.println ("Begin Failed "); else if (error == OTA_CONNECT_ERROR) Serial.println (" Connect Failed "); else if (error == OTA_RECEIVE_ERROR) Serial.println (" Receive Failed "); else if (error == OTA_END_ERROR) Serial. println ("Konec se nezdařil");}); ArduinoOTA.begin (); Serial.println ("Připraveno"); Serial.print ("IP adresa:"); Serial.println (WiFi.localIP ()); } int button1_capture () {for (int i = 0; i <(debounce-1); i ++) {Button1 = Button1 [i+1]; } Button1 [debounce-1] = (touchRead (T0)); float current = MaxArray (Button1); float Button1_smooth = Button1_total/smoothing; // float current = AveArray (Button1); Serial.print (Button1_smooth); Serial.print (""); Serial.print (aktuální); Serial.print (""); Serial.println (Button1 [debounce-1]); if (aktuální <(0,85*Button1_smooth)) {Button1_total = 0; // funguje jako návratnost odskoku 1; } else {Button1_total = aktuální +Button1_total -Button1_smooth; } návrat 0; } float MaxArray (float MaxMe ) {float mxm = MaxMe [0]; float mnm = MaxMe [0]; pro (int i = 0; imxm) {mxm = MaxMe ; }} vrátit mxm; } float AveArray (float AveMe ) {float total = 0; float ave = 0; pro (int i = 0; i
Krok 3: Sestavení
Zapojte desku podle obrázku a zkontrolujte, zda funguje.
Síť připojená k „držadlu“bude fungovat jako dotykové tlačítko. Na mé desce je ESP32 T0 připojen k D4. Pokud používáte jinou desku, budete to muset zkontrolovat.
Připojení holého vodiče k tomuto kolíku se bude chovat stejně. Dvojitým stisknutím jej zapnete na nízkou úroveň jako noční světlo. 3krát trochu jasnější a 4krát bílé.
Krok 4: Sestavte součásti do helmy
K zapnutí lampy použijeme rukojeť helmy jako dotykový senzor. To znamená, že musí být izolován od zbytku helmy. Sejměte rukojeť a překryjte kontaktní plochu izolační páskou. Použil jsem hnědou pásku, aby to splynulo, na obrázku je zvýrazněno modře. Vyvrtejte otvory tak, aby byly šrouby ve vůli a znovu je bylo možné znovu uzavřít pomocí některých plastových podložek na druhé straně.
Připojte svůj knoflík k jednomu z šroubů rukojetí pomocí krimpovacího konektoru.
Pokud plánujete použít plovoucí napájecí zdroj (téměř všechny), budete muset stejným způsobem připojit kolík GND k tělu helmy. Nyní pro zapnutí lampy položte jednu ruku na helmu a druhou se dotkněte rukojeti.
Krok 5: Připojte napájení
Přišroubujte desku micro USB breakout k 3D tištěnému přepážkovému konektoru a poté ji zajistěte maticí.
Místo toho lze použít jakýkoli napájecí zdroj 5 V DC, ale v mém domě je spousta USB nabíječek. Použil jsem pletený USB kabel, abych napodobil starý flex a dokončil vzhled.
Tím jste hotovi.
Pokud chcete kód upravit tak, aby vyzkoušel další barvy, efekty nebo časovače, bude k dispozici jako zařízení arduino OTA po dobu prvních 10 minut pokaždé, když je zapojen. Poté se vypne, aby šetřil energii.
Doporučuje:
Dotyková obrazovka Macintosh - Klasický Mac s iPadem Mini pro obrazovku: 5 kroků (s obrázky)
Dotykový displej Macintosh | Klasický Mac s iPadem Mini pro obrazovku: Toto je můj aktualizovaný a přepracovaný design, jak vyměnit obrazovku vintage Macintoshe za iPad mini. Toto je šestý z nich, který jsem za ta léta vyrobil, a jsem docela spokojený s jeho vývojem a designem! V roce 2013, kdy jsem udělal
Interaktivní dotyková projekční stěna: 6 kroků
Interaktivní dotyková projekční stěna: Dnes vám přináším nádech animované stěny na displeji vaší kultury značky, aktivit výstavních síní a na dalších místech umístěte takovou ovládací desku, aby byla vaše zeď plná zábavy
Externí dotyková obrazovka HDMI pro Windows a Raspberry Pi: 5 kroků
Externí dotyková obrazovka HDMI pro Windows a Raspberry Pi: Hej, co se děje, lidi! Akarsh zde od CETech. Takže jsem našel tento dotykový displej na webových stránkách DFRobot, který byl původně navržen pro Raspberry Pi, ale najde své uplatnění na mnoha místech. Displej má konektor HDMI v plné velikosti pro posunutí
Mikro: bitový směrový indikátor pro cyklistické přilby: 5 kroků
Mikro: bitový směrový indikátor pro cyklistické přilby: aktualizovaná verze 2018-květen-12 Níže naleznete pokyny pro sestavení jednoduchého mikro: bitového směrového indikátoru pro cyklistické přilby (nebo podobné). Jako ovládací prvky používá akcelerometry zabudované v mikro: bitu. Poskytnuté skripty micro python jsou optimalizovány
Hacking sovětské letecké přilby SHZ-84: 4 kroky (s obrázky)
Hackování sovětské letecké helmy SHZ-84: Nedávno jsem si koupil helmu SHZ-84, ale zjistil jsem, že její sluchátka nefungují … tak jsem je změnil