Kazalo:

Svetilka na dotik potapljaške čelade: 5 korakov
Svetilka na dotik potapljaške čelade: 5 korakov

Video: Svetilka na dotik potapljaške čelade: 5 korakov

Video: Svetilka na dotik potapljaške čelade: 5 korakov
Video: A 1000 Year Old Abandoned Italian Castle - Uncovering It's Mysteries! 2024, November
Anonim
Svetilka na dotik potapljaške čelade
Svetilka na dotik potapljaške čelade
Svetilka na dotik potapljaške čelade
Svetilka na dotik potapljaške čelade
Svetilka na dotik potapljaške čelade
Svetilka na dotik potapljaške čelade
Svetilka na dotik potapljaške čelade
Svetilka na dotik potapljaške čelade

V tem navodilu

Boste potrebovali

  1. Potapljaška čelada ali enakovredna
  2. LED obroč, združljiv z Neopixel (uporabil sem obroč s 38 LED)
  3. Plošča Wemos ESP32 (ali enakovredna)
  4. 3D tiskalnik

1. korak: Natisnite te dele

Te dele bo morda treba prilagoditi, če uporabljate drugo potapljaško čelado, izvedel sem, da je ta, ki jo imam, precej pogosta

2. korak: Naložite kodo

V kodo vnesite svoj ssid in geslo ter jih naložite na svojo desko. To je tam, da OTA lahko naloži novo kodo po sestavljanju projekta. Za uporabo te plošče boste morali namestiti NeoPixelBus podjetja Makuna, ki je na voljo tukaj https://github.com/Makuna/NeoPixelBus. V okolje arduino morate namestiti tudi definicije plošč ESP32.

// Wifi Jazz #include #include #include #include bool wifi_timout = 0; const char* ssid = "SSID"; const char* password = "Geslo"; // Neopixel jazz #include const uint16_t PixelCount = 38; const uint8_t PixelPin = 19; int colorSaturation = 50; int Svetlost = 50; int R = 0; int G = 0; int B = 0; int impulz = 1600; // Pol časa med pulzacijami RgbColor črna (0); // Button Jazz float Button1_total = 0; int glajenje = 50; const int debounce = 5; float Button1 [debounce]; bool PWR = 0; Prstan NeoPixelBus (PixelCount, PixelPin); void setup () {Serial.begin (115200); Serial.println ("zagon"); WiFi.mode (WIFI_STA); WiFi.begin (ssid, geslo); while (WiFi.waitForConnectResult ()! = WL_CONNECTED) {Serial.println ("Povezava ni uspela!"); zamuda (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 (črno); ring. Show (); PWR =! PWR; } if (millis () <1500) {PWR = 0;} if (ring. CanShow () && PWR == 1) {Light (0);} delay (10); } void OTA_init () {ArduinoOTA.onStart ( () {Vrsta niza; if (ArduinoOTA.getCommand () == U_FLASH) type = "sketch"; else // U_SPIFFS type = "datotečni sistem"; // OPOMBA: če če posodabljate SPIFFS, bi bilo to mesto za odstranitev SPIFFS z uporabo SPIFFS.end () Serial.println ("Začni posodabljanje" + vrsta);}).onEnd ( () {Serial.println ("\ nEnd");}).onProgress ( (brez podpisa int napredek, brez podpisa int skupaj) {Serial.printf ("Napredek:%u %% / r", (napredek / (skupaj / 100)));}). error) {Serial.printf ("Napaka [%u]:", napaka); if (error == OTA_AUTH_ERROR) Serial.println ("Auth Failed"); else if (error == OTA_BEGIN_ERROR) Serial.println ("Začni Ni uspelo "); else if (error == OTA_CONNECT_ERROR) Serial.println (" Connect Failed "); else if (error == OTA_RECEIVE_ERROR) Serial.println (" Receive Failed "); else if (error == OTA_END_ERROR) Serijsko. println ("Konec ni uspel");}); ArduinoOTA.begin (); Serial.println ("Pripravljeno"); Serial.print ("IP naslov:"); Serial.println (WiFi.localIP ()); } int button1_capture () {for (int i = 0; i <(debounce-1); i ++) {Button1 = Button1 [i+1]; } Button1 [debounce-1] = (touchRead (T0)); plavajoči tok = MaxArray (Button1); float Button1_smooth = Gumb1_skupno/zglajevanje; // plavajoči tok = AveArray (Button1); Serial.print (Button1_smooth); Serial.print (""); Serial.print (trenutni); Serial.print (""); Serial.println (Button1 [debounce-1]); if (trenutni <(0,85*Button1_smooth)) {Button1_total = 0; // deluje kot debounce return 1; } else {Button1_total = current +Button1_total -Button1_smooth; } return 0; } float MaxArray (float MaxMe ) {float mxm = MaxMe [0]; plavajoči mnm = MaxMe [0]; for (int i = 0; imxm) {mxm = MaxMe ; }} return mxm; } float AveArray (float AveMe ) {float skupaj = 0; plavajoča ave = 0; za (int i = 0; i

3. korak: Montaža

Montaža
Montaža

Ožičite ploščo, kot je prikazano, in preverite, ali deluje.

Mreža, povezana z ročajem, bo delovala kot gumb na dotik. Na moji plošči je ESP32 T0 pritrjen na D4. To boste morali preveriti, če uporabljate drugo ploščo.

Pritrditev gole žice na ta zatič se bo obnašala enako. Dvakratni pritisk ga prižge kot nočna luč. 3 -krat nekoliko svetlejša in 4 -krat bela.

4. korak: sestavite dele v čelado

Deli sestavite v čelado
Deli sestavite v čelado
Deli sestavite v čelado
Deli sestavite v čelado

Za prižig svetilke bomo kot senzor na dotik uporabljali ročaj čelade. To pomeni, da mora biti izolirana od preostalega dela čelade. Odstranite ročaj in površino kontakta pokrijte z izolacijskim trakom. Za mešanje sem uporabil rjav trak, na sliki je označen modro. Izvrtajte luknje tako, da so vijaki na odmiku in jih znova namestite z nekaj plastičnimi podložkami na drugi strani.

S pomočjo stiskalnega priključka pripnite gumbno stikalo na enega od vijakov ročajev.

Če nameravate uporabiti plavajoči napajalnik (skoraj vsi), boste morali na enak način priključiti zatič GND na telo čelade. Zdaj, da vklopite svetilko, položite eno roko na čelado in se z drugo dotaknite ročaja.

5. korak: Priključite napajanje

Image
Image
Priključite napajanje
Priključite napajanje

Privijte odklopno ploščo mikro USB na 3D natisnjeni pregradni konektor in jo pritrdite z matico.

Namesto tega se lahko uporabi kateri koli 5V DC napajalnik, vendar je v moji hiši polnilnikov USB. S pletenim usb kablom sem oponašal staro fleksibilnost in dopolnil videz.

To je to, da ste končali.

Če želite spremeniti kodo, da preizkusite dodatne barve, učinke ali časovnike, bo vsakih deset minut na voljo kot arduino OTA naprava prvih 10 minut. To se bo nato izklopilo, da prihranite energijo.

Priporočena: