Innholdsfortegnelse:

Berøringslampe for dykkerhjelm: 5 trinn
Berøringslampe for dykkerhjelm: 5 trinn

Video: Berøringslampe for dykkerhjelm: 5 trinn

Video: Berøringslampe for dykkerhjelm: 5 trinn
Video: Sådan holder du op med at gentage gamle mønstre i dit liv! 2024, Juli
Anonim
Dykkhjelm berøringslampe
Dykkhjelm berøringslampe
Dykkhjelm berøringslampe
Dykkhjelm berøringslampe
Dykkhjelm berøringslampe
Dykkhjelm berøringslampe
Dykkhjelm berøringslampe
Dykkhjelm berøringslampe

I dette instruerbare

Du vil trenge

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

Trinn 1: Skriv ut disse delene

Disse delene må kanskje tilpasses hvis du bruker en annen dykkerhjelm, jeg lærte at den jeg har er ganske vanlig

Trinn 2: Last opp koden

Plasser ssid og passord i koden, og last deretter opp til brettet ditt. Dette er der for å tillate OTA å laste opp ny kode etter at prosjektet er satt sammen. Du må installere NeoPixelBus av Makuna tilgjengelig her https://github.com/Makuna/NeoPixelBus Du må også installere ESP32 -kortdefinisjonene i arduino -miljøet for å kunne bruke dette kortet.

// 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; // Halv tid mellom pulsasjoner RgbColor svart (0); // Button Jazz float Button1_total = 0; int utjevning = 50; const int debounce = 5; float Button1 [debounce]; bool PWR = 0; NeoPixelBus -ring (PixelCount, PixelPin); ugyldig oppsett () {Serial.begin (115200); Serial.println ("oppstart"); WiFi.mode (WIFI_STA); WiFi.begin (ssid, passord); mens (WiFi.waitForConnectResult ()! = WL_CONNECTED) {Serial.println ("Tilkobling mislyktes!"); 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. 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 (svart); ring. Show (); PWR =! PWR; } if (millis () <1500) {PWR = 0;} if (ring. CanShow () && PWR == 1) {Light (0);} delay (10); } ugyldig OTA_init () {ArduinoOTA.onStart ( () {String type; if (ArduinoOTA.getCommand () == U_FLASH) type = "sketch"; else // U_SPIFFS type = "filsystem"; // MERK: hvis oppdatering av SPIFFS dette ville være stedet for å avmontere SPIFFS ved å bruke SPIFFS.end () Serial.println ("Start oppdatering" + type);}).onEnd ( () {Serial.println ("\ nEnd");}).onProgress ( (unsigned int progress, unsigned int total) {Serial.printf ("Progress:%u %% / r", (progress / (total / 100)));}).onError ( (ota_error_t feil) {Serial.printf ("Feil [%u]:", feil); hvis (error == OTA_AUTH_ERROR) Serial.println ("Auth mislyktes"); ellers hvis (error == OTA_BEGIN_ERROR) Serial.println ("Start Mislyktes "); ellers hvis (feil == OTA_CONNECT_ERROR) Serial.println (" Koble til mislyktes "); ellers hvis (feil == OTA_RECEIVE_ERROR) Serial.println (" Motta mislyktes "); ellers hvis (feil == OTA_END_ERROR) Seriell. println ("Slutt mislyktes");}); 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]; } Knapp1 [debounce-1] = (touchRead (T0)); flytestrøm = MaxArray (Button1); float Button1_smooth = Button1_total/smoothing; // flytestrøm = AveArray (Button1); Serial.print (Button1_smooth); Serial.print (""); Serial.print (current); Serial.print (""); Serial.println (Button1 [debounce-1]); if (nåværende <(0,85*Button1_smooth)) {Button1_total = 0; // fungerer som en tilbakeslagsavkastning 1; } annet {Button1_total = current +Button1_total -Button1_smooth; } returnere 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

Trinn 3: Montering

montering
montering

Koble opp brettet som vist, og sjekk at det fungerer.

Nettet som er koblet til 'håndtaket' vil fungere som en berøringsknapp. På brettet mitt er ESP32 T0 festet til D4. Du må sjekke dette hvis du bruker et annet bord.

Å feste en ledning til denne pinnen vil oppføre seg på samme måte. Hvis du trykker på den to ganger, slås den på som et nattlys. 3 ganger litt lysere og 4 ganger hvit.

Trinn 4: Monter delene i hjelmen

Monter delene i hjelmen
Monter delene i hjelmen
Monter delene i hjelmen
Monter delene i hjelmen

For å slå på lampen bruker vi håndtaket på hjelmen som en berøringssensor. Dette betyr at den må isoleres fra resten av hjelmen. Fjern håndtaket og dekk til kontaktflaten med isolasjonstape. Jeg brukte brun tape for å få den til å smelte inn, den er markert blå i bildet. Bor hullene slik at skruene er i klaring og kan settes sammen med noen plastskiver på den andre siden.

Koble knappnålen til en av håndtakets skruer ved hjelp av en krympekontakt.

Hvis du planlegger å bruke en flytende strømforsyning (stort sett alle), må du koble en GND -pinne til hjelmen på samme måte. Nå for å slå på lampen, legg den ene hånden på hjelmen og berør håndtaket med den andre.

Trinn 5: Koble til strømmen

Image
Image
Koble til strømmen
Koble til strømmen

Skru mikro -USB -utbruddskortet til den 3D -trykte skottkontakten og fest den på plass med mutteren.

Enhver 5V DC strømforsyning kan brukes i stedet, men usb -ladere er det mange av i huset mitt. Jeg brukte en flettet usb -kabel for å etterligne en gammel flex og fullføre utseendet.

Det er det du er ferdig.

Hvis du vil endre koden for å prøve ut ekstra farger, effekter eller tidtakere, vil den være tilgjengelig som en arduino OTA -enhet de første 10 minuttene hver gang den kobles til. Dette slås deretter av for å spare strøm.

Anbefalt: