Sadržaj:
- Korak 1: Ispišite ove dijelove
- Korak 2: Prenesite kôd
- Korak 3: Montaža
- Korak 4: Sastavite dijelove u kacigu
- Korak 5: Priključite napajanje
Video: Lampa na dodir ronilačke kacige: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
U ovom uputstvu
Trebat će vam
- Ronilačka kaciga ili ekvivalent
- Neopixel kompatibilan LED prsten (koristio sam prsten s 38 LED dioda)
- Wemos ESP32 ploča (ili ekvivalentna)
- 3D pisač
Korak 1: Ispišite ove dijelove
Ove dijelove će možda trebati prilagoditi ako koristite drugu ronilačku kacigu. Naučio sam da je ovaj koji imam prilično uobičajen
Korak 2: Prenesite kôd
Upišite svoj ssid i lozinku u kôd, a zatim ih prenesite na svoju ploču. To je tu da OTA -u omogući prijenos novog koda nakon sastavljanja projekta. Morat ćete instalirati NeoPixelBus by Makuna dostupan ovdje https://github.com/Makuna/NeoPixelBus Također ćete morati instalirati definicije ESP32 ploče u arduino okruženje da biste mogli koristiti ovu ploču.
// Wifi Jazz #include #include #include #include bool wifi_timout = 0; const char* ssid = "SSID"; const char* password = "Lozinka"; // Neopixel jazz #include const uint16_t PixelCount = 38; const uint8_t PixelPin = 19; int colorSaturation = 50; int Svjetlina = 50; int R = 0; int G = 0; int B = 0; int Puls = 1600; // Pola vremena između pulsacija RgbColor crna (0); // Button Jazz float Button1_total = 0; int zaglađivanje = 50; const int debounce = 5; float Button1 [debounce]; bool PWR = 0; NeoPixelBus prsten (PixelCount, PixelPin); void setup () {Serial.begin (115200); Serial.println ("Pokretanje"); WiFi.mode (WIFI_STA); WiFi.započni (ssid, lozinka); while (WiFi.waitForConnectResult ()! = WL_CONNECTED) {Serial.println ("Veza nije uspjela!"); kašnjenje (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 (crno); 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 sustav"; // NAPOMENA: ako ažuriranje SPIFFS -a ovo bi bilo mjesto za demontažu SPIFFS -a pomoću SPIFFS.end () Serial.println ("Počni ažuriranje" + tip);}).onEnd ( () {Serial.println ("\ nKraj");}).onProgress ( (bezznačni int napredak, bezznačni int ukupno) {Serial.printf ("Napredak:%u %% / r", (napredak / (ukupno / 100)));}).onError ( (ota_error_t error) {Serial.printf ("Error [%u]:", error); if (error == OTA_AUTH_ERROR) Serial.println ("Auth Failed"); else if (error == OTA_BEGIN_ERROR) Serial.println ("Begin Nije uspjelo "); 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) Serijski. println ("Kraj nije uspio");}); ArduinoOTA.begin (); Serial.println ("Spremno"); Serial.print ("IP adresa:"); Serial.println (WiFi.localIP ()); } int button1_capture () {for (int i = 0; i <(debounce-1); i ++) {Button1 = Button1 [i+1]; } Button1 [debounce-1] = (touchRead (T0)); plutajuća struja = MaxArray (Button1); float Button1_smooth = Button1_total/smoothing; // plutajuća struja = AveArray (Button1); Serial.print (Button1_smooth); Serial.print (""); Serial.print (trenutni); Serial.print (""); Serial.println (Button1 [debounce-1]); if (trenutni <(0,85*Button1_mootk)) {Button1_total = 0; // radi kao debounce return 1; } else {Button1_total = current +Button1_total -Button1_mooth; } return 0; } float MaxArray (float MaxMe ) {float mxm = MaxMe [0]; plovak mnm = MaxMe [0]; za (int i = 0; imxm) {mxm = MaxMe ; }} return mxm; } float AveArray (float AveMe ) {float ukupno = 0; float ave = 0; za (int i = 0; i
Korak 3: Montaža
Ožičite ploču kao što je prikazano i provjerite radi li.
Mreža spojena na 'ručku' djelovat će kao gumb na dodir. Na mojoj je ploči ESP32 T0 pričvršćen na D4. To ćete morati provjeriti ako koristite drugu ploču.
Pričvršćivanje gole žice na ovaj pin će se ponašati isto. Dvaput pritisnete uključit će ga kao noćno svjetlo. 3 puta malo svjetlije i 4 puta bijelo.
Korak 4: Sastavite dijelove u kacigu
Za paljenje lampe koristit ćemo ručku kacige kao senzor za dodir. To znači da mora biti izolirana od ostatka kacige. Uklonite ručku i pokrijte dodirnu površinu izolacijskom trakom. Koristila sam smeđu traku da se uklopi, na slici je označena plavom bojom. Izbušite rupe tako da vijci budu slobodni i ponovno ih postavite s nekim plastičnim podlošcima s druge strane.
Spojite iglu na jedan od vijaka ručke pomoću konektora za presovanje.
Ako namjeravate koristiti plutajuće napajanje (gotovo svi), morat ćete na isti način spojiti GND pin na tijelo kacige. Sada za uključivanje svjetiljke stavite jednu ruku na kacigu, a drugom dodirnite ručku.
Korak 5: Priključite napajanje
Pričvrstite mikro USB ploču za razbijanje na 3D ispisani konektor pregrade, a zatim je pričvrstite maticom.
Umjesto toga se može koristiti bilo koje 5V DC napajanje, ali u mojoj kući ima puno USB punjača. Upotrijebio sam pleteni USB kabel kako bih oponašao stari fleks i upotpunio izgled.
To je to, gotovi ste.
Ako želite izmijeniti kôd kako biste isprobali dodatne boje, efekte ili odbrojavanje, bit će dostupan kao arduino OTA uređaj prvih 10 minuta svaki put kada se uključi. To će se isključiti radi uštede energije.
Preporučeni:
Otkrijte vibracije korištenjem modula osjetnika na dodir piezoelektričnog udara: 6 koraka
Otkrijte vibracije pomoću modula osjetnika na dodir s piezoelektričnim udarom: U ovom ćemo vodiču naučiti kako otkriti udarne vibracije pomoću jednostavnog modula vibracije s piezoelektričnim senzorom i Visuina. Pogledajte demonstracijski video
Arduino ručni ventilator s kapacitivnim prekidačem na dodir .: 6 koraka
Arduino ručni ventilator s kapacitivnim prekidačem na dodir. U ovom ćemo vodiču naučiti kako UKLJUČITI i ISKLJUČITI ventilator s baterijom pomoću kapacitivnog senzora dodira, relejnog modula i Visuina. Pogledajte demonstracijski video
Automatizacija doma s NodeMCU osjetnikom na dodir LDR relejem za kontrolu temperature: 16 koraka
Kućna automatizacija s NodeMCU osjetnikom na dodir LDR relejem za kontrolu temperature: U mojim prošlim projektima NodeMCU upravljao sam dvama kućanskim aparatima iz aplikacije Blynk. Primio sam mnogo komentara i poruka za nadogradnju projekta s ručnom kontrolom i dodavanjem više funkcija. Pa sam dizajnirao ovu kutiju za proširenje pametnog doma. U ovom IoT -u
Micro: bitni pokazivač smjera za biciklističke kacige: 5 koraka
Indikator smjera Micro: bit za kacige za bicikle: ažurirana verzija 2018.-svibnja-12Ispod vas upute kako izraditi jednostavan pokazatelj smjera temeljen na mikro: bitima za kacige za bicikle (ili slično). Kao kontrole koristi mjerila ubrzanja ugrađena u micro: bit. Priložene skripte za mikro python su optičke
Hakiranje sovjetske zrakoplovne kacige SHZ-84: 4 koraka (sa slikama)
Hakiranje SHZ-84 sovjetske zrakoplovne kacige: Nedavno sam kupio kacigu SHZ-84, ali sam ustanovio da joj slušalice ne rade … pa sam ih promijenio