Spisu treści:
- Krok 1: Wydrukuj te części
- Krok 2: Prześlij kod
- Krok 3: Montaż
- Krok 4: Zmontuj części w kasku
- Krok 5: Podłącz zasilanie
Wideo: Lampa dotykowa do kasku nurkowego: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
W tym instruktażowym
Będziesz potrzebować
- Kask do nurkowania lub odpowiednik
- Pierścień LED kompatybilny z Neopixel (użyłem pierścienia z 38 diodami LED)
- Płyta Wemos ESP32 (lub odpowiednik)
- drukarka 3d
Krok 1: Wydrukuj te części
Te części mogą wymagać dostosowania, jeśli używasz innego kasku do nurkowania, dowiedziałem się, że ten, który mam, jest dość powszechny
Krok 2: Prześlij kod
Umieść swój identyfikator SSid i hasło w kodzie, a następnie prześlij je na swoją tablicę. Ma to na celu umożliwienie OTA wgrywania nowego kodu po zmontowaniu projektu. Będziesz musiał zainstalować NeoPixelBus by Makuna dostępny tutaj https://github.com/Makuna/NeoPixelBus Będziesz także musiał zainstalować definicje płyty ESP32 w środowisku arduino, aby korzystać z tej płyty.
//Wifi Jazz #include #include #include #include bool wifi_timout = 0; const char* ssid = "SSID"; const char* hasło = "Hasło"; //Neopixel jazz #include const uint16_t PixelCount = 38; const uint8_t PixelPin = 19; int kolor Nasycenie = 50; int Jasność = 50; int R = 0; int G = 0; int B = 0; wewn Impuls = 1600; //Połowa czasu między pulsacjami RgbColor black(0); //Button Jazz float Button1_total = 0; wygładzanie int = 50; const int debounce = 5; pływak Przycisk1[odbicie]; logiczny PWR = 0; Pierścień NeoPixelBus (PixelCount, PixelPin); void setup() { Serial.begin(115200); Serial.println("Uruchamianie"); tryb WiFi (WIFI_STA); WiFi.begin(SSid, hasło); while (WiFi.waitForConnectResult() != WL_CONNECTED) { Serial.println("Połączenie nie powiodło się!"); opóźnienie(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); pierścień. Rozpocznij(); pierścień. Pokaż(); } void loop() { if (millis()<600000){ArduinoOTA.handle();} else if (wifi_timout==0){ ArduinoOTA.end(); wifi_timout = 1; tryb WiFi (WIFI_OFF); btStop(); } if (button1_capture()==1){ ring. ClearTo(czarny);ring. Show(); PWR = !PWR; } if (millis()<1500){PWR = 0;} if (ring. CanShow()&&PWR==1){Light(0);} opóźnienie(10); } void OTA_init(){ ArduinoOTA.onStart(() { String type; if (ArduinoOTA.getCommand() == U_FLASH) type = "sketch"; else // U_SPIFFS type = "filesystem"; // UWAGA: if aktualizacja SPIFFS byłoby to miejsce na odmontowanie SPIFFS za pomocą SPIFFS.end() Serial.println("Rozpocznij aktualizację " + wpisz); }).onEnd(() { Serial.println("\nEnd"); }).onProgress((postęp bez znaku, całkowita liczba bez znaku) { Serial.printf("Postęp: %u%%\r", (postęp / (łącznie / 100))); }).onError((ota_error_t error) { Serial.printf("Błąd[%u]: ", błąd); if (błąd == OTA_AUTH_ERROR) Serial.println("Uwierzytelnienie nie powiodło się"); else if (błąd == OTA_BEGIN_ERROR) Serial.println("Rozpocznij Niepowodzenie"); else if (błąd == OTA_CONNECT_ERROR) Serial.println("Połączenie nie powiodło się"); else if (błąd == OTA_RECEIVE_ERROR) Serial.println("Odbiór nie powiodło się"); else if (błąd == OTA_END_ERROR) Serial. println("Nieudane zakończenie"); }); ArduinoOTA.początek(); Serial.println("Gotowy"); Serial.print("adres IP: "); Serial.println(WiFi.localIP()); } int button1_capture(){ for (int i=0; i<(debounce-1);i++){ Button1=Button1[i+1]; } Przycisk1[debounce-1] = (dotknijRead(T0)); prąd pływający = MaxArray(Przycisk1); float Button1_smooth = Button1_total/wygładzanie; // float current = AveArray(Button1); Serial.print(Button1_smooth);Serial.print(" ");Serial.print(current);Serial.print(" ");Serial.println(Przycisk1[debounce-1]); if (bieżący < (0.85*Button1_smooth)){ Button1_total = 0; //działa jako debounce return 1; }else{ Button1_total = aktualny +Button1_total -Button1_smooth; } zwróć 0; } float MaxArray(float MaxMe){ float mxm = MaxMe[0]; pływak mnm = MaxMe[0]; for (int i=0; imxm) { mxm = MaxMe; } } return mxm; } float AveArray(float AveMe){ float total = 0; zmiennoprzecinkowa śr. = 0; dla (int i=0; i
Krok 3: Montaż
Podłącz swoją tablicę jak pokazano i sprawdź, czy działa.
Siatka podłączona do „uchwytu” będzie działała jak przycisk dotykowy. Na mojej płytce do D4 podpięty jest ESP32 T0. Musisz to sprawdzić, jeśli używasz innej płyty.
Dołączenie gołego przewodu do tego kołka będzie zachowywać się tak samo. Dwukrotne naciśnięcie go włączy nisko jak lampka nocna. 3 razy trochę jaśniejszy i 4 razy biały.
Krok 4: Zmontuj części w kasku
Aby włączyć lampę, użyjemy uchwytu kasku jako czujnika dotyku. Oznacza to, że musi być izolowany od reszty kasku. Zdejmij uchwyt i zakryj powierzchnię styku taśmą izolacyjną. Użyłem brązowej taśmy, aby się wtopił, jest podświetlony na niebiesko na obrazie. Wywierć otwory tak, aby śruby były w luzie i ponownie zmontuj je z kilkoma plastikowymi podkładkami po drugiej stronie.
Podłącz pinezkę do jednej ze śrub uchwytów za pomocą złącza zaciskanego.
Jeśli planujesz użyć zasilacza pływającego (prawie wszystkie), to będziesz musiał podłączyć pin GND do korpusu kasku w ten sam sposób. Teraz, aby włączyć lampę, połóż jedną rękę na kasku, a drugą dotknij uchwytu.
Krok 5: Podłącz zasilanie
Przykręć płytkę zaciskową micro USB do drukowanego w 3D złącza grodzi, a następnie zabezpiecz nakrętką.
Można użyć dowolnego zasilacza 5 V DC, ale w moim domu jest mnóstwo ładowarek USB. Użyłem plecionego kabla USB, aby naśladować starą taśmę i dopełnić wygląd.
To już koniec.
Jeśli chcesz zmodyfikować kod, aby wypróbować dodatkowe kolory, efekty lub timery, będzie on dostępny jako urządzenie arduino OTA przez pierwsze 10 minut po każdym podłączeniu. Następnie wyłączy się, aby oszczędzać energię.
Zalecana:
Interaktywna dotykowa ściana projekcyjna: 6 kroków
Interaktywna dotykowa ściana projekcyjna: Dzisiaj przynoszę ci odrobinę animowanej ściany na wystawie kultury Twojej marki, działaniach w salach wystawowych i innych miejscach, umieszczając taką tablicę kontrolną, aby Twoja ściana była pełna zabawy
Tablica dotykowa i diody LED: 6 kroków
Tablica dotykowa i diody LED: Diody LED są naprawdę przydatne w każdym projekcie technicznym, dlatego stworzyliśmy ten samouczek, aby wyjaśnić, jak podłączyć diody LED do tablicy dotykowej. Używamy 270Ω rezystor; możesz użyć innych rezystorów, ale powinny być w 220Ω - 470&Om
Dotykowa latarnia LED: 15 kroków (ze zdjęciami)
Dotykowa latarnia LED: Dwadzieścia pięć lat temu mój dziadek zrobił mi latarkę, przylutowując żarówkę do wygiętych końcówek płaskiej baterii 4,5 V. Jako urządzenie było to prymitywne i proste, ale nie tylko rozjaśniło moją poduszkę tego wieczoru. Podsyciło to moje pragnienie t
Rękawica dotykowa dla niewidomych: 7 kroków
Rękawica dotykowa dla niewidomych: Rękawica dotykowa to urządzenie dla osób niewidomych i/lub niedowidzących, które dostarcza użytkownikowi informacji o przeszkodach w ich bezpośrednim otoczeniu. Rękawica wykorzystuje dwa czujniki ultradźwiękowe, które informują o odległości i orientacji obiektów
Zestaw słuchawkowy Bluetooth do samodzielnego kasku: 11 kroków (ze zdjęciami)
Zestaw słuchawkowy Bluetooth do samodzielnego kasku: Jest to bardzo łatwy i super tani przewodnik Zrób to sam, jak zrobić zestaw słuchawkowy Bluetooth do kasku motocyklowego lub dowolnego rodzaju kasku, na którym chcesz go używać. Tak więc dzieje się zgodnie z powiedzeniem „KONIECZNOŚĆ JEST MOT”