Sisällysluettelo:
- Vaihe 1: Tulosta nämä osat
- Vaihe 2: Lataa koodi
- Vaihe 3: Kokoonpano
- Vaihe 4: Kokoa osat kypärään
- Vaihe 5: Kytke virta
Video: Sukelluskypärän kosketuslamppu: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Tässä opettavaisessa
Tarvitset
- Sukelluskypärä tai vastaava
- Neopixel -yhteensopiva LED -rengas (käytin 38 LED -valon rengasta)
- Wemos ESP32 -levy (tai vastaava)
- 3D tulostin
Vaihe 1: Tulosta nämä osat
Nämä osat saattavat vaatia muokkaamista, jos käytät eri sukelluskypärää, olen oppinut, että minulla on melko yleinen
Vaihe 2: Lataa koodi
Aseta SSID ja salasana koodiin ja lataa sitten taulullesi. Tämä mahdollistaa OTA: n ladata uuden koodin projektin kokoamisen jälkeen. Sinun on asennettava Makunan NeoPixelBus, joka on saatavana täältä https://github.com/Makuna/NeoPixelBus Sinun on myös asennettava ESP32 -kortin määritelmät arduino -ympäristöön voidaksesi käyttää tätä korttia.
// Wifi Jazz #Sisällytä #Sisällytä #Sisällytä #Sisällytä bool wifi_timout = 0; const char* ssid = "SSID"; const char* password = "Salasana"; // Neopixel -jazz #include const uint16_t PixelCount = 38; const uint8_t PixelPin = 19; int colorSaturation = 50; int Kirkkaus = 50; int R = 0; int G = 0; int B = 0; int Pulssi = 1600; // Puolet pulssien välisestä ajasta RgbVäri musta (0); // Button Jazz float Button1_total = 0; int tasoitus = 50; const int debounce = 5; float Button1 [debounce]; bool PWR = 0; NeoPixelBus -rengas (PixelCount, PixelPin); void setup () {Serial.begin (115200); Serial.println ("Käynnistys"); WiFi.mode (WIFI_STA); WiFi.begin (ssid, salasana); while (WiFi.waitForConnectResult ()! = WL_CONNECTED) {Serial.println ("Yhteys epäonnistui!"); viive (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 (); näytä (); } 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 (musta); ring. Show (); PWR =! PWR; } if (millis () <1500) {PWR = 0;} if (ring. CanShow () && PWR == 1) {Light (0);} viive (10); } void OTA_init () {ArduinoOTA.onStart ( () {Merkkijonotyyppi; if (ArduinoOTA.getCommand () == U_FLASH) type = "sketch"; else // U_SPIFFS type = "filesystem"; // HUOMAUTUS: jos SPIFFS -tiedostojen päivittäminen tämä on oikea paikka irrottaa SPIFFS käyttämällä SPIFFS.end () Serial.println ("Aloita päivitys" + tyyppi);}).onEnd ( () {Serial.println ("\ nEnd");}).onProgress ( (unsigned int progress, unsigned int total) {Serial.printf ("Progress:%u %% / r", (progress / (total / 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 Epäonnistui "); 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) Serial. println ("Loppu epäonnistui");}); ArduinoOTA.begin (); Serial.println ("Valmis"); Serial.print ("IP -osoite:"); Serial.println (WiFi.localIP ()); } int button1_capture () {for (int i = 0; i <(debounce-1); i ++) {Button1 = Button1 [i+1]; } Button1 [debounce-1] = (touchRead (T0)); kelluva virta = MaxArray (Button1); float Button1_smooth = Button1_total/tasoitus; // kelluva virta = AveArray (Button1); Serial.print (Button1_smooth); Serial.print (""); Serial.print (current); Serial.print (""); Serial.println (Button1 [debounce-1]); if (nykyinen <(0,85*Button1_smooth)) {Button1_total = 0; // toimii palautuspalautuksena 1; } else {Button1_total = nykyinen +Button1_total -Button1_smooth; } palauta 0; } float MaxArray (float MaxMe ) {float mxm = MaxMe [0]; float mnm = MaxMe [0]; for (int i = 0; imxm) {mxm = MaxMe ; }} return mxm; } float AveArray (float AveMe ) {float total = 0; float ave = 0; varten (int i = 0; i
Vaihe 3: Kokoonpano
Kytke levy johdotuksen mukaisesti ja tarkista, että se toimii.
Kahvaan liitetty verkko toimii kosketuspainikkeena. Taulullani ESP32 T0 on liitetty D4: ään. Sinun on tarkistettava tämä, jos käytät toista levyä.
Paljaan langan kiinnittäminen tähän nastaan toimii samalla tavalla. Kun painat sitä kahdesti, se sammuu kuin yövalo. 3 kertaa hieman kirkkaampi ja 4 kertaa valkoinen.
Vaihe 4: Kokoa osat kypärään
Sytyttääksesi lampun käytämme kypärän kahvaa kosketusanturina. Tämä tarkoittaa, että sen on oltava eristetty muusta kypärästä. Irrota kahva ja peitä kosketuspinta eristysteipillä. Käytin ruskeaa teippiä sekoittumaan, se on korostettu sinisenä kuvassa. Poraa reiät niin, että ruuvit ovat välyksissä ja kiinnittyvät toiselle puolelle muovialuslevyillä.
Kytke napinpidike yhteen kahvan ruuveista puristusliittimen avulla.
Jos aiot käyttää kelluvaa virtalähdettä (melkein kaikki), sinun on kytkettävä GND -nasta kypärän runkoon samalla tavalla. Kytke lamppu päälle asettamalla toinen käsi kypärään ja koskettamalla kahvaa toisella.
Vaihe 5: Kytke virta
Kierrä mikro -USB -murtokortti 3D -tulostettuun laipioliittimeen ja kiinnitä sitten mutterilla.
Sen sijaan voidaan käyttää mitä tahansa 5 V: n tasavirtalähdettä, mutta usb -latureita on talossani runsaasti. Käytin punottua USB -kaapelia jäljittelemään vanhaa flexiä ja täydentämään ulkoasua.
Siinä olet valmis.
Jos haluat muokata koodia kokeillaksesi lisävärejä, tehosteita tai ajastimia, se on saatavana arduino OTA -laitteena ensimmäisten 10 minuutin ajan aina, kun se kytketään verkkoon. Tämä sammuu virran säästämiseksi.
Suositeltava:
DIY Raspberry Pi Downloadbox: 4 vaihetta
DIY Raspberry Pi Downloadbox: Löydätkö usein itsesi lataamasta suuria tiedostoja, kuten elokuvia, torrentteja, kursseja, TV -sarjoja jne., Niin tulet oikeaan paikkaan. Tässä Instructable -ohjelmassa muuttaisimme Raspberry Pi zero -laitteemme latauskoneeksi. Joka voi ladata minkä tahansa
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): 8 vaihetta
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): ultraäänikaiuttimet L298N DC-naarasadapterin virtalähde urospuolisella dc-nastalla ja analogiset portit koodin muuntamiseksi (C ++)
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: 3 vaihetta
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: Seuraava opas auttaa sinua saamaan live-HD-videovirtoja lähes mistä tahansa DJI-dronesta. FlytOS -mobiilisovelluksen ja FlytNow -verkkosovelluksen avulla voit aloittaa videon suoratoiston droonilta
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
4 vaihetta akun sisäisen vastuksen mittaamiseksi: 4 vaihetta
4 vaihetta akun sisäisen vastuksen mittaamiseksi: Tässä on 4 yksinkertaista vaihetta, joiden avulla voit mitata taikinan sisäisen vastuksen