Innehållsförteckning:

Peklampa för dykhjälm: 5 steg
Peklampa för dykhjälm: 5 steg

Video: Peklampa för dykhjälm: 5 steg

Video: Peklampa för dykhjälm: 5 steg
Video: Piraten Blippi! | @BlippiSvenska | Pedagogiska videor för barn 2024, Juli
Anonim
Peklampa för dykhjälm
Peklampa för dykhjälm
Peklampa för dykhjälm
Peklampa för dykhjälm
Peklampa för dykhjälm
Peklampa för dykhjälm
Peklampa för dykhjälm
Peklampa för dykhjälm

I detta instruerbara

Du kommer behöva

  1. Dykhjälm eller motsvarande
  2. Neopixel -kompatibel LED -ring (jag använde en ring med 38 lysdioder)
  3. Wemos ESP32 -kort (eller motsvarande)
  4. 3d skrivare

Steg 1: Skriv ut dessa delar

Dessa delar kan behöva anpassas om du använder en annan dykhjälm, jag lärde mig att den jag har är ganska vanlig

Steg 2: Ladda upp koden

Placera ditt ssid och lösenord i koden och ladda upp det till ditt kort. Detta är där för att tillåta OTA att ladda upp ny kod efter att projektet har monterats. Du måste installera NeoPixelBus av Makuna som finns här https://github.com/Makuna/NeoPixelBus Du måste också installera ESP32 -kortdefinitionerna i arduino -miljön för att kunna använda detta kort.

// Wifi Jazz #include #include #include #include bool wifi_timout = 0; const char* ssid = "SSID"; const char* password = "Lösenord"; // Neopixel jazz #include const uint16_t PixelCount = 38; const uint8_t PixelPin = 19; int colorMättnad = 50; int Ljusstyrka = 50; int R = 0; int G = 0; int B = 0; int puls = 1600; // Halva tiden mellan pulsationerna RgbColor black (0); // Button Jazz float Button1_total = 0; int utjämning = 50; const int debounce = 5; float Button1 [debounce]; bool PWR = 0; NeoPixelBus -ring (PixelCount, PixelPin); void setup () {Serial.begin (115200); Serial.println ("Uppstart"); WiFi.mode (WIFI_STA); WiFi.begin (ssid, lösenord); medan (WiFi.waitForConnectResult ()! = WL_CONNECTED) {Serial.println ("Anslutningen misslyckades!"); fördröjning (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 ();} annars 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); } ogiltig OTA_init () {ArduinoOTA.onStart ( () {String type; if (ArduinoOTA.getCommand () == U_FLASH) type = "sketch"; else // U_SPIFFS type = "filesystem"; // OBS: om om du uppdaterar SPIFFS är det här platsen att avmontera SPIFFS med SPIFFS.end () Serial.println ("Börja uppdatera" + typ);}).onEnd ( () {Serial.println ("\ nEnd");}).onProgress ( (unsigned int progress, unsigned int total) {Serial.printf ("Progress:%u %% / r", (progress / (total / 100)));}).onError ( (ota_error_t fel) {Serial.printf ("Fel [%u]:", fel); om (error == OTA_AUTH_ERROR) Serial.println ("Auth misslyckades"); annars om (error == OTA_BEGIN_ERROR) Serial.println ("Börja Misslyckades "); annars om (fel == OTA_CONNECT_ERROR) Serial.println (" Anslutning misslyckades "); annars om (fel == OTA_RECEIVE_ERROR) Serial.println (" Mottagning misslyckades "); annars om (fel == OTA_END_ERROR) Seriell. println ("Slutet misslyckades");}); ArduinoOTA.begin (); Serial.println ("Ready"); Serial.print ("IP -adress:"); Serial.println (WiFi.localIP ()); } int button1_capture () {för (int i = 0; i <(debounce-1); i ++) {Button1 = Button1 [i+1]; } Knapp1 [debounce-1] = (touchRead (T0)); flottörström = MaxArray (knapp 1); float Button1_smooth = Button1_total/smoothing; // float current = AveArray (Button1); Serial.print (Button1_smooth); Serial.print (""); Serial.print (current); Serial.print (""); Serial.println (Button1 [debounce-1]); if (nuvarande <(0,85*Button1_smooth)) {Button1_total = 0; // fungerar som en debounce -retur 1; } annat {Button1_total = current +Button1_total -Button1_smooth; } returnera 0; } float MaxArray (float MaxMe ) {float mxm = MaxMe [0]; float mnm = MaxMe [0]; för (int i = 0; imxm) {mxm = MaxMe ; }} returnera mxm; } float AveArray (float AveMe ) {float total = 0; float ave = 0; för (int i = 0; i

Steg 3: Montering

hopsättning
hopsättning

Anslut din bräda enligt bilden och kontrollera att den fungerar.

Nätet som är anslutet till "handtaget" fungerar som en tryckknapp. På mitt kort är ESP32 T0 ansluten till D4. Du måste kontrollera detta om du använder ett annat kort.

Att fästa en ledning till denna stift kommer att fungera på samma sätt. Om du trycker på den två gånger tänds den som ett nattljus. 3 gånger lite ljusare och 4 gånger vitt.

Steg 4: Montera delarna i hjälmen

Montera delarna i hjälmen
Montera delarna i hjälmen
Montera delarna i hjälmen
Montera delarna i hjälmen

För att tända lampan kommer vi att använda hjälmens handtag som en beröringssensor. Det betyder att den måste isoleras från resten av hjälmen. Ta bort handtaget och täck kontaktytan med isoleringstejp. Jag använde brun tejp för att få den att smälta in, den är markerad blå i bilden. Borra ut hålen så att skruvarna är i fritt utrymme och lösa med några plastbrickor på andra sidan.

Anslut din knappnål till en av handtagens skruvar med en krympkontakt.

Om du planerar att använda en flytande strömförsörjning (i stort sett alla) måste du ansluta en GND -stift till hjälmkroppen på samma sätt. Nu för att tända lampan, placera en hand på hjälmen och rör vid handtaget med den andra.

Steg 5: Anslut strömmen

Image
Image
Anslut strömmen
Anslut strömmen

Skruva in mikro -USB -utbrottskortet på den 3D -tryckta skottkontakten och fäst sedan på plats med muttern.

Vilken som helst 5V DC -strömförsörjning kan användas istället men usb -laddare finns det gott om i mitt hus. Jag använde en flätad usb -kabel för att mimma en gammal flex och slutföra utseendet.

Det är det du är klar.

Om du vill ändra koden för att testa extra färger, effekter eller timers kommer den att finnas tillgänglig som en arduino OTA -enhet de första 10 minuterna varje gång den ansluts. Detta stängs sedan av för att spara ström.

Rekommenderad: