Obsah:
- Krok 1: Vytlačte tieto diely
- Krok 2: Nahrajte kód
- Krok 3: Zostavenie
- Krok 4: Zostavte diely do prilby
- Krok 5: Pripojte napájanie
Video: Dotyková lampa potápačskej prilby: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
V tomto pokyne
Budete potrebovať
- Potápačská prilba alebo jej ekvivalent
- Neopixelový LED krúžok (použil som krúžok s 38 diódami LED)
- Doska Wemos ESP32 (alebo ekvivalent)
- 3D tlačiareň
Krok 1: Vytlačte tieto diely
Tieto časti možno bude potrebné prispôsobiť, ak používate inú potápačskú prilbu. Dozvedel som sa, že tá, ktorú mám, je celkom bežná
Krok 2: Nahrajte kód
Vložte ssid a heslo do kódu a potom ho nahrajte na tabuľu. Toto má umožniť OTA nahrávanie nového kódu po zostavení projektu. Na používanie tejto dosky budete musieť nainštalovať NeoPixelBus od spoločnosti Makuna, ktorý je k dispozícii tu https://github.com/Makuna/NeoPixelBus. Tiež budete musieť nainštalovať definície dosky ESP32 do prostredia 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; const uint8_t PixelPin = 19; int colorSaturation = 50; int Jas = 50; int R = 0; int G = 0; int B = 0; int Pulse = 1600; // Polovičný čas medzi pulzáciami RgbColor čierny (0); // Button Jazz float Button1_total = 0; int vyhladzovanie = 50; const int debounce = 5; float Button1 [odskok]; bool PWR = 0; Prsteň NeoPixelBus (PixelCount, PixelPin); void setup () {Serial.begin (115200); Serial.println ("Zavádzanie"); WiFi.mode (WIFI_STA); WiFi.begin (ssid, heslo); while (WiFi.waitForConnectResult ()! = WL_CONNECTED) {Serial.println ("Pripojenie zlyhalo!"); oneskorenie (5 000); //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); prsteň. Začnite (); prsteň. 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 reťazca; if (ArduinoOTA.getCommand () == U_FLASH) type = "sketch"; else // U_SPIFFS type = "filesystem"; // POZNÁMKA: ak aktualizácia SPIFFS toto by bolo miesto, kde môžete odpojiť SPIFFS pomocou SPIFFS.end () Serial.println ("Začať aktualizovať" + typ);}).onEnd ( () {Serial.println ("\ nEnd");}).onProgress ( (priebeh bez znamienka, celkový počet bez znamienka) {Serial.printf ("priebeh:%u %% / r", (priebeh / (celkom / 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 Zlyhalo "); else if (chyba == OTA_CONNECT_ERROR) Serial.println (" Pripojenie zlyhalo "); else if (chyba == OTA_RECEIVE_ERROR) Serial.println (" Príjem zlyhal "); else if (chyba == OTA_END_ERROR) Sériové číslo. println ("Koniec zlyhal");}); ArduinoOTA.begin (); Serial.println ("Pripravený"); 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álna); Serial.print (""); Serial.println (Button1 [debounce-1]); if (aktuálne <(0,85*Button1_smooth)) {Button1_total = 0; // funguje ako návratnosť debounce 1; } else {Button1_total = current +Button1_total -Button1_smooth; } vrátiť 0; } float MaxArray (float MaxMe ) {float mxm = MaxMe [0]; float mnm = MaxMe [0]; pre (int i = 0; imxm) {mxm = MaxMe ; }} vrátiť mxm; } float AveArray (float AveMe ) {float total = 0; float ave = 0; pre (int i = 0; i
Krok 3: Zostavenie
Zapojte dosku podľa obrázku a skontrolujte, či funguje.
Sieť pripojená k „držadlu“bude fungovať ako dotykové tlačidlo. Na mojej doske je ESP32 T0 pripevnený k D4. Ak používate inú dosku, budete to musieť skontrolovať.
Pripojenie holého drôtu k tomuto kolíku sa bude správať rovnako. Dvojitým stlačením sa vypne ako nočné svetlo. 3 krát trochu jasnejšie a 4 krát biele.
Krok 4: Zostavte diely do prilby
Na zapnutie žiarovky použijeme rukoväť helmy ako dotykový senzor. To znamená, že musí byť izolovaný od zvyšku prilby. Odstráňte rukoväť a kontaktnú plochu zakryte izolačnou páskou. Na splynutie som použil hnedú pásku, na obrázku je zvýraznená modrou farbou. Vyvŕtajte otvory tak, aby boli skrutky vo vôli a mohli ich znova nájsť pomocou niektorých plastových podložiek na druhej strane.
Pripojte svoj kolík k jednej z skrutiek držadla pomocou krimpovacieho konektora.
Ak plánujete používať plávajúci napájací zdroj (takmer všetky), budete musieť rovnakým spôsobom pripojiť kolík GND k telu prilby. Teraz, aby ste rozsvietili lampu, položte jednu ruku na prilbu a druhou sa dotýkajte rukoväte.
Krok 5: Pripojte napájanie
Odskrutkujte oddeľovaciu dosku micro USB k 3D tlačenému prepážkovému konektoru a potom ho zaistite maticou.
Namiesto toho je možné použiť akékoľvek napájanie 5 V DC, ale v mojom dome je veľa USB nabíjačiek. Použil som opletený USB kábel, aby som napodobnil starý flex a dokončil vzhľad.
To je všetko, čo ste urobili.
Ak chcete kód upraviť tak, aby vyskúšal ďalšie farby, efekty alebo časovače, bude k dispozícii ako zariadenie arduino OTA počas prvých 10 minút vždy, keď je zapojený. Potom sa vypne, aby sa šetrila energia.
Odporúča:
Interaktívna dotyková projekčná stena: 6 krokov
Interaktívna dotyková projekčná stena: Dnes vám prinášam dotyk animovanej steny na displeji kultúry vašej značky, aktivitách výstavnej siene a na iných miestach umiestnite takú ovládaciu dosku, aby bola vaša stena plná zábavy
Externá dotyková obrazovka HDMI pre Windows a Raspberry Pi: 5 krokov
Externá dotyková obrazovka HDMI pre Windows a Raspberry Pi: Hej, čo sa deje, chlapci! Akarsh tu od CETech. Takže som našiel tento dotykový displej na webovej stránke DFRobot, ktorá bola pôvodne navrhnutá pre Raspberry Pi, ale nachádza svoje uplatnenie na mnohých miestach. Displej má konektor HDMI v plnej veľkosti pre posunutie
Dotyková LED lampa: 15 krokov (s obrázkami)
Dotyková LED lampa: Pred dvadsiatimi piatimi rokmi mi môj starý otec vyrobil baterku spájkovaním žiarovky s ohnutými svorkami plochej 4,5 V batérie. Ako zariadenie to bolo hrubé a jednoduché, ale v ten večer mi to nerozsvietilo len pevnosť vankúša. Podporilo to moju túžbu
Mikro: bitový smerový indikátor pre cyklistické prilby: 5 krokov
Mikro: bitový smerový indikátor pre cyklistické prilby: aktualizovaná verzia 2018-máj-12 Nasleduje návod, ako vytvoriť jednoduchý mikro: bitový smerový indikátor pre cyklistické prilby (alebo podobný). Ako ovládacie prvky používa akcelerometre zabudované v mikro: bite. Poskytnuté skripty micro python sú optimálne
Hacking sovietskej leteckej prilby SHZ-84: 4 kroky (s obrázkami)
Hacking sovietskej leteckej prilby SHZ-84: Nedávno som si kúpil prilbu SHZ-84, aby som zistil, že jej slúchadlá nefungujú … tak som ich vymenil