Turinys:
- 1 žingsnis: išspausdinkite šias dalis
- 2 veiksmas: įkelkite kodą
- 3 žingsnis: Surinkimas
- 4 žingsnis: Surinkite dalis į šalmą
- 5 veiksmas: prijunkite maitinimą
Video: Nardymo šalmo jutiklinė lempa: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
Šioje pamokomoje
Jums reikės
- Nardymo šalmas ar lygiavertis
- Su „Neopixel“suderinamas LED žiedas (naudojau žiedą su 38 šviesos diodais)
- „Wemos ESP32“plokštė (arba lygiavertė)
- 3D spausdintuvas
1 žingsnis: išspausdinkite šias dalis
Šias dalis gali tekti pritaikyti, jei naudojate kitą nardymo šalmą, sužinojau, kad tas, kurį turiu, yra gana įprastas
2 veiksmas: įkelkite kodą
Įdėkite savo SSID ir slaptažodį į kodą, tada įkelkite į savo lentą. Tai leidžia OTA įkelti naują kodą surinkus projektą. Turėsite įdiegti „NeunaPixelBus by Makuna“, kurią rasite čia https://github.com/Makuna/NeoPixelBus Kad galėtumėte naudoti šią plokštę, taip pat turėsite įdiegti ESP32 plokštės apibrėžimus arduino aplinkoje.
// „Wifi Jazz“#įtraukimas #įtraukimas #įtraukimas #įtraukimo boolis wifi_timout = 0; const char* ssid = "SSID"; const char* password = "Slaptažodis"; // Neopikselių džiazas #include const uint16_t PixelCount = 38; const uint8_t „PixelPin“= 19; int colorSaturation = 50; int Ryškumas = 50; int R = 0; int G = 0; int B = 0; int Pulsas = 1600; // Pusė laiko tarp pulsacijų RgbSpalva juoda (0); // Button Jazz float Button1_total = 0; int glotninimas = 50; const int debounce = 5; plūdės mygtukas1 [debounce]; bool PWR = 0; „NeoPixelBus“žiedas („PixelCount“, „PixelPin“); void setup () {Serial.begin (115200); Serial.println („Įkrovimas“); „WiFi.mode“(WIFI_STA); WiFi.begin (ssid, slaptažodis); while (WiFi.waitForConnectResult ()! = WL_CONNECTED) {Serial.println ("Ryšys nepavyko!"); vėlavimas (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); žiedas. Pradėti (); 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 (juoda); ring. Show (); PWR =! PWR; } if (milis () <1500) {PWR = 0;} if (ring. CanShow () && PWR == 1) {Šviesa (0);} uždelsimas (10); } void OTA_init () {ArduinoOTA.onStart ( () {Stygos tipas; if (ArduinoOTA.getCommand () == U_FLASH) type = "eskizas"; else // U_SPIFFS type = "filesystem"; // PASTABA: jei atnaujinant SPIFFS, tai būtų vieta, kur būtų galima išjungti SPIFFS naudojant SPIFFS.end () Serial.println („Pradėti atnaujinimą“+ tipas);}).onEnd ( () {Serial.println („\ nEnd");}).onProgress ( (nepasirašytas int progresas, unsigned int total) {Serial.printf ("Progress:%u %% / r", (progress / (total / 100)));}).onError ( (ota_error_t klaida) {Serial.printf („Klaida [%u]:“, klaida); jei (klaida == OTA_AUTH_ERROR) Serial.println („Aut. nepavyko“); kitaip jei (klaida == OTA_BEGIN_ERROR) Serial.println („Pradėti Nepavyko "); else if (error == OTA_CONNECT_ERROR) Serial.println (" Connect Failed "); else if (error == OTA_RECEIVE_ERROR) Serial.println (" Nepavyko gauti "); else if (error == OTA_END_ERROR) Serial. println („Pabaiga nepavyko“);}); ArduinoOTA.begin (); Serial.println („Paruošta“); Serial.print („IP adresas:“); Serial.println (WiFi.localIP ()); } int button1_capture () {for (int i = 0; i <(debounce-1); i ++) {Button1 = Button1 [i+1]; } Button1 [debounce-1] = (touchRead (T0)); plūdės srovė = MaxArray (Button1); float Button1_smooth = Button1_total/glotninimas; // plūdės srovė = AveArray (Button1); Serial.print (Button1_smooth); Serial.print (""); Serial.print (dabartinis); Serial.print (""); Serial.println (Button1 [debounce-1]); if (dabartinis <(0,85*Button1_smooth)) {Button1_total = 0; // veikia kaip debounce return 1; } else {Button1_total = dabartinis +Button1_total -Button1_smooth; } grįžti 0; } float MaxArray (float MaxMe ) {float mxm = MaxMe [0]; plūdė mnm = MaxMe [0]; už (int i = 0; imxm) {mxm = MaxMe ; }} return mxm; } float AveArray (float AveMe ) {float total = 0; float ave = 0; už (int i = 0; i
3 žingsnis: Surinkimas
Prijunkite plokštę, kaip parodyta, ir patikrinkite, ar ji veikia.
Prie rankenos prijungtas tinklas veiks kaip jutiklinis mygtukas. Mano lentoje ESP32 T0 yra prijungtas prie D4. Turėsite tai patikrinti, jei naudojate kitą plokštę.
Pritvirtinus pliką vielą prie šio kaiščio, elgsitės taip pat. Paspaudus du kartus, jis įsijungs kaip naktinis apšvietimas. 3 kartus šiek tiek ryškesnis ir 4 kartus baltas.
4 žingsnis: Surinkite dalis į šalmą
Norėdami įjungti lempą, mes naudosime šalmo rankeną kaip jutiklinį jutiklį. Tai reiškia, kad jis turi būti izoliuotas nuo likusio šalmo. Nuimkite rankeną ir uždenkite kontaktinį paviršių izoliacine juostele. Aš naudoju rudą juostą, kad ji susilietų, ji yra paryškinta mėlynai paveikslėlyje. Išgręžkite skyles taip, kad varžtai būtų laisvi ir vėl tvirtinami plastikinėmis poveržlėmis kitoje pusėje.
Prijunkite sagutę prie vieno iš rankenų varžtų, naudodami gofruotą jungtį.
Jei planuojate naudoti plūduriuojantį maitinimo šaltinį (beveik visus), tokiu pačiu būdu turėsite prijungti GND kaištį prie šalmo korpuso. Dabar, norėdami įjungti lempą, uždėkite vieną ranką ant šalmo ir kita palieskite rankeną.
5 veiksmas: prijunkite maitinimą
Prisukite mikro USB pertraukos plokštę prie 3D spausdintos pertvaros jungties, tada pritvirtinkite veržle.
Vietoj to galima naudoti bet kokį 5 V nuolatinės srovės maitinimo šaltinį, tačiau mano namuose gausu USB įkroviklių. Aš panaudojau pintą USB kabelį, kad paimčiau seną lankstumą ir užbaigčiau išvaizdą.
Štai ir viskas.
Jei norite modifikuoti kodą, kad išbandytumėte papildomas spalvas, efektus ar laikmačius, jis bus prieinamas kaip arduino OTA įrenginys pirmąsias 10 minučių kiekvieną kartą, kai jis bus prijungtas. Tada jis išsijungs taupant energiją.
Rekomenduojamas:
Jutiklinė plokštė su elektriniais dažais ir „MakeyMakey“: 4 žingsniai
Jutiklinė plokštė su elektriniais dažais ir „MakeyMakey“: gražus paveikslas su nuostabiu efektu, puikiai tinkantis paskatinti vaikus savarankiškai bendrauti. Sujungia piešimą, „TapeArt“, tapybą ir paprastą kodavimą su įbrėžimais ir kai kuriuos galbūt pačių sukurtus garso failus
Interaktyvi jutiklinė projekcinė siena: 6 žingsniai
Interaktyvi jutiklinė projekcinė siena: šiandien jūsų prekės ženklo kultūros ekspozicijoje, parodų salės veikloje ir kitose vietose pristatau animuotą sieną, kad jūsų siena būtų linksma
Jutiklinė lenta ir šviesos diodai: 6 žingsniai
Jutiklinė plokštė ir šviesos diodai: šviesos diodai yra tikrai naudingi bet kokiam techniniam projektui, todėl sukūrėme šią pamoką, paaiškinančią, kaip prijungti šviesos diodus prie jutiklinės plokštės. Mes naudojame 270 Ω rezistorius; galite naudoti kitus rezistorius, tačiau jie turėtų būti 220 Ω - 470 ir Om
Išmaniojo šalmo priedas: 4 žingsniai
Išmaniųjų šalmų priedas: dėl avarijų keliuose kasmet miršta 1,3 milijono žmonių. Didelė dalis šių nelaimingų atsitikimų yra susiję su dviem ratais. Dviračiai automobiliai tapo pavojingesni nei bet kada anksčiau. 2015 m. 28% visų žuvusiųjų dėl eismo įvykių buvo
Sovietų aviacijos šalmo SHZ-84 įsilaužimas: 4 žingsniai (su paveikslėliais)
Įsilaužimas į sovietinį aviacijos šalmą SHZ-84: Neseniai nusipirkau SHZ-84 šalmą, tik sužinojau, kad jo ausinės neveikia … todėl jas pakeičiau