Indholdsfortegnelse:

Dykkerhjelm Touch -lampe: 5 trin
Dykkerhjelm Touch -lampe: 5 trin

Video: Dykkerhjelm Touch -lampe: 5 trin

Video: Dykkerhjelm Touch -lampe: 5 trin
Video: Виниловый сайдинг! Секреты монтажа и полезные хитрости, о которых мало кто знает! 2024, Juli
Anonim
Dykkerhjelm Touch lampe
Dykkerhjelm Touch lampe
Dykkerhjelm Touch lampe
Dykkerhjelm Touch lampe
Dykkerhjelm Touch lampe
Dykkerhjelm Touch lampe
Dykkerhjelm Touch lampe
Dykkerhjelm Touch lampe

I dette instruerbare

Du får brug for

  1. Dykkerhjelm eller tilsvarende
  2. Neopixel -kompatibel LED -ring (jeg brugte en ring med 38 lysdioder)
  3. Wemos ESP32 -kort (eller tilsvarende)
  4. 3D printer

Trin 1: Udskriv disse dele

Disse dele skal muligvis tilpasses, hvis du bruger en anden dykkerhjelm, jeg har lært, at den jeg har er ret almindelig

Trin 2: Upload koden

Placer din ssid og adgangskode i koden, og upload derefter til dit board. Dette er der for at tillade OTA at uploade ny kode, efter at projektet er samlet. Du bliver nødt til at installere NeoPixelBus af Makuna tilgængelig her https://github.com/Makuna/NeoPixelBus Du skal også installere ESP32 -kortdefinitionerne i arduino -miljøet for at kunne bruge dette kort.

// Wifi Jazz #include #include #include #include bool wifi_timout = 0; const char* ssid = "SSID"; const char* password = "Password"; // Neopixel jazz #include const uint16_t PixelCount = 38; const uint8_t PixelPin = 19; int colorSaturation = 50; int Lysstyrke = 50; int R = 0; int G = 0; int B = 0; int Puls = 1600; // Halvdelen af tiden mellem pulsationer RgbColor sort (0); // Button Jazz float Button1_total = 0; int udjævning = 50; const int debounce = 5; float Button1 [debounce]; bool PWR = 0; NeoPixelBus -ring (PixelCount, PixelPin); ugyldig opsætning () {Serial.begin (115200); Serial.println ("Booting"); WiFi.mode (WIFI_STA); WiFi.begin (ssid, adgangskode); mens (WiFi.waitForConnectResult ()! = WL_CONNECTED) {Serial.println ("Forbindelsen mislykkedes!"); forsinkelse (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. Begynd (); ring. Show (); } void loop () {if (millis () <600000) {ArduinoOTA.handle ();} else if (wifi_timout == 0) {ArduinoOTA.end (); wifi_timout = 1; WiFi.mode (WIFI_OFF); btStop (); } hvis (button1_capture () == 1) {ring. ClearTo (sort); ring. Show (); PWR =! PWR; } if (millis () <1500) {PWR = 0;} if (ring. CanShow () && PWR == 1) {Light (0);} delay (10); } ugyldig OTA_init () {ArduinoOTA.onStart ( () {strengtype; hvis (ArduinoOTA.getCommand () == U_FLASH) type = "sketch"; ellers // U_SPIFFS type = "filsystem"; // BEMÆRK: hvis opdatering af SPIFFS ville dette være stedet for at afmontere SPIFFS ved hjælp af SPIFFS.end () Serial.println ("Start opdatering" + type);}).onEnd ( () {Serial.println ("\ nEnd");}).onProgress ( (unsigned int progress, unsigned int total) {Serial.printf ("Progress:%u %% / r", (progress / (total / 100)));}).onError ( (ota_error_t fejl) {Serial.printf ("Fejl [%u]:", fejl); hvis (error == OTA_AUTH_ERROR) Serial.println ("Auth. mislykkedes"); ellers hvis (error == OTA_BEGIN_ERROR) Serial.println ("Start Mislykkedes "); ellers hvis (fejl == OTA_CONNECT_ERROR) Serial.println (" Opret forbindelse mislykkedes "); ellers hvis (fejl == OTA_RECEIVE_ERROR) Serial.println (" Modtagelse mislykkedes "); ellers hvis (fejl == OTA_END_ERROR) Seriel. println ("Afslutning mislykkedes");}); ArduinoOTA.begin (); Serial.println ("Klar"); Serial.print ("IP -adresse:"); Serial.println (WiFi.localIP ()); } int button1_capture () {for (int i = 0; i <(debounce-1); i ++) {Button1 = Button1 [i+1]; } Knap1 [debounce-1] = (touchRead (T0)); flydestrøm = MaxArray (knap1); float Button1_smooth = Button1_total/udjævning; // float current = AveArray (Button1); Serial.print (Button1_smooth); Serial.print (""); Serial.print (current); Serial.print (""); Serial.println (Button1 [debounce-1]); hvis (nuværende <(0,85*Button1_smooth)) {Button1_total = 0; // fungerer som et debounce -afkast 1; } andet {Button1_total = current +Button1_total -Button1_smooth; } returner 0; } float MaxArray (float MaxMe ) {float mxm = MaxMe [0]; float mnm = MaxMe [0]; for (int i = 0; imxm) {mxm = MaxMe ; }} returner mxm; } float AveArray (float AveMe ) {float total = 0; float ave = 0; for (int i = 0; i

Trin 3: Montering

montage
montage

Tilslut dit bræt som vist, og kontroller, at det virker.

Nettet, der er forbundet til 'håndtaget', fungerer som en berøringsknap. På mit bord er ESP32 T0 fastgjort til D4. Du skal kontrollere dette, hvis du bruger et andet bord.

Vedhæftning af en ledning til denne pin vil opføre sig på samme måde. Ved at trykke to gange på den tændes den som et natlys. 3 gange lidt lysere og 4 gange hvid.

Trin 4: Saml delene i hjelmen

Saml delene i hjelmen
Saml delene i hjelmen
Saml delene i hjelmen
Saml delene i hjelmen

For at tænde lampen bruger vi hjelmens håndtag som berøringssensor. Det betyder, at den skal isoleres fra resten af hjelmen. Fjern håndtaget, og dæk kontaktfladen med isoleringstape. Jeg brugte brunt tape til at få det til at blande sig, det er fremhævet blåt på billedet. Bor hullerne ud, så skruerne er i fri afstand, og de kan læses sammen med nogle plastskiver på den anden side.

Tilslut din knapnål til en af håndtagets skruer ved hjælp af et krympestik.

Hvis du planlægger at bruge en flydende strømforsyning (stort set dem alle), skal du tilslutte en GND -pin til hjelmens krop på samme måde. Nu for at tænde lampen skal du placere den ene hånd på hjelmen og røre ved håndtaget med den anden.

Trin 5: Tilslut strømmen

Image
Image
Tilslut strømmen
Tilslut strømmen

Skru mikro -USB -udbrudskortet til det 3D -printede skotstik, og fastgør det derefter med møtrikken.

Enhver 5V DC strømforsyning kan bruges i stedet, men usb -opladere er rigelige i mit hus. Jeg brugte et flettet usb -kabel til at mimke en gammel flex og fuldende udseendet.

Det er det, du er færdig.

Hvis du vil ændre koden for at prøve ekstra farver, effekter eller timere, vil den være tilgængelig som en arduino OTA -enhed i de første 10 minutter, hver gang den tilsluttes. Dette slukkes derefter for at spare strøm.

Anbefalede: