INHOUDSOPGAWE:
- Stap 1: Druk hierdie onderdele af
- Stap 2: Laai die kode op
- Stap 3: Montering
- Stap 4: Monteer die dele in die helm
- Stap 5: Koppel die krag aan
Video: Duikhelm se aanraaklamp: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
In hierdie instruerbare
Jy sal nodig hê
- Duikhelm of ekwivalent
- Neopixel -versoenbare LED -ring (ek het 'n ring met 38 LED's gebruik)
- Wemos ESP32 -bord (of ekwivalent)
- 3D -drukker
Stap 1: Druk hierdie onderdele af
Hierdie dele moet moontlik aangepas word as u 'n ander duikhelm gebruik; ek het geleer dat die een wat ek het redelik algemeen is
Stap 2: Laai die kode op
Plaas u ssid en wagwoord in die kode en laai dit dan na u bord op. Dit is daar om OTA toe te laat om nuwe kode op te laai nadat die projek saamgestel is. U sal NeoPixelBus by Makuna moet installeer wat hier beskikbaar is https://github.com/Makuna/NeoPixelBus U moet ook die ESP32 -borddefinisies in die arduino -omgewing installeer om hierdie bord te kan gebruik.
// Wifi Jazz #include #include #include #include bool wifi_timout = 0; const char* ssid = "SSID"; const char* password = "Password"; // Neopixel jazz #insluit const uint16_t PixelCount = 38; const uint8_t PixelPin = 19; int colorSaturation = 50; int Helderheid = 50; int R = 0; int G = 0; int B = 0; int Puls = 1600; // Die helfte van die tyd tussen pulsasies RgbColor black (0); // Button Jazz float Button1_total = 0; int smoothing = 50; const int debounce = 5; float Button1 [debounce]; bool PWR = 0; NeoPixelBus -ring (PixelCount, PixelPin); ongeldige opstelling () {Serial.begin (115200); Serial.println ("opstart"); WiFi.mode (WIFI_STA); WiFi.begin (ssid, wagwoord); terwyl (WiFi.waitForConnectResult ()! = WL_CONNECTED) {Serial.println ("Verbinding misluk!"); vertraging (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 (); } leemte -lus () {if (millis () <600000) {ArduinoOTA.handle ();} anders as (wifi_timout == 0) {ArduinoOTA.end (); wifi_timout = 1; WiFi.mode (WIFI_OFF); btStop (); } as (button1_capture () == 1) {ring. ClearTo (swart); ring. Show (); PWR =! PWR; } if (millis () <1500) {PWR = 0;} if (ring. CanShow () && PWR == 1) {Light (0);} vertraging (10); } maak OTA_init () {ArduinoOTA.onStart ( () {String tipe; if (ArduinoOTA.getCommand () == U_FLASH) type = "sketch"; anders // U_SPIFFS type = "filesystem"; // OPMERKING: as SPIFFS opdateer, dit is die plek om SPIFFS te ontkoppel met SPIFFS.end () Serial.println ("Begin met opdatering" + tipe);}).onEnd ( () {Serial.println ("\ nEnd");}).onProgress ( (ongetekende int vordering, ongetekende int totaal) {Serial.printf ("Vordering:%u %% / r", (vordering / (totaal / 100)));}).onError ( (ota_error_t fout) {Serial.printf ("Fout [%u]:", fout); as (error == OTA_AUTH_ERROR) Serial.println ("Auth misluk"); anders as (error == OTA_BEGIN_ERROR) Serial.println ("Begin Misluk "); anders as (fout == OTA_CONNECT_ERROR) Serial.println (" Koppel misluk "); anders as (fout == OTA_RECEIVE_ERROR) Serial.println (" Ontvang misluk "); anders as (fout == OTA_END_ERROR) Reeks. println ("Einde misluk");}); ArduinoOTA.begin (); Serial.println ("Gereed"); Serial.print ("IP -adres:"); Serial.println (WiFi.localIP ()); } int button1_capture () {for (int i = 0; i <(debounce-1); i ++) {Button1 = Button1 [i+1]; } Knoppie1 [debounce-1] = (touchRead (T0)); dryfstroom = MaxArray (Button1); float Button1_smooth = Button1_total/smoothing; // dryfstroom = AveArray (Button1); Serial.print (Button1_smooth); Serial.print (""); Serial.print (huidige); Serial.print (""); Serial.println (Button1 [debounce-1]); as (huidige <(0.85*Button1_smooth)) {Button1_total = 0; // werk as 'n terugslag terugkeer 1; } anders {Button1_total = huidige +Button1_total -Button1_smooth; } gee 0 terug; } float MaxArray (float MaxMe ) {float mxm = MaxMe [0]; float mnm = MaxMe [0]; vir (int i = 0; imxm) {mxm = MaxMe ; }} gee mxm terug; } float AveArray (float AveMe ) {float totaal = 0; float ave = 0; vir (int i = 0; i
Stap 3: Montering
Draai die bord vas soos aangedui en kyk of dit werk.
Die net wat aan die 'handvatsel' gekoppel is, dien as 'n aanraakknoppie. Op my bord is die ESP32 T0 aan D4 gekoppel. U moet dit nagaan as u 'n ander bord gebruik.
As u 'n kaal draad aan hierdie pen heg, sal dit dieselfde optree. Deur twee keer daarop te druk, word dit laag soos 'n naglig. 3 keer 'n bietjie helderder en 4 keer wit.
Stap 4: Monteer die dele in die helm
Om die lamp aan te skakel, gebruik ons die helm se handvatsel as 'n aanraaksensor. Dit beteken dat dit van die res van die helm geïsoleer moet word. Verwyder die handvatsel en bedek die kontakvlak met isolasieband. Ek het bruin band gebruik om dit in te meng, dit word blou in die prentjie gemerk. Boor die gate uit sodat die skroewe vry is en met 'n paar plastiekwassers aan die ander kant vasgemaak kan word.
Koppel u knoppie met een van die handvatsels se skroewe met 'n krimpkoppelstuk.
As u van plan is om 'n drywende kragbron te gebruik (byna almal), moet u 'n GND -pen op dieselfde manier aan die helm se liggaam koppel. Om die lamp aan te skakel, plaas die een hand op die helm en raak die handvatsel met die ander hand.
Stap 5: Koppel die krag aan
Skroef die mikro -USB -breekbord vas aan die 3D -gedrukte skottelaansluiting en maak dit dan vas met die moer.
Enige 5V DC -kragtoevoer kan in plaas daarvan gebruik word, maar usb -laaiers is volop in my huis. Ek het 'n gevlegde usb -kabel gebruik om 'n ou flex te maak en die voorkoms te voltooi.
Dit is dit wat jy klaar is.
As u die kode wil verander om ekstra kleure, effekte of timers uit te probeer, sal dit die eerste 10 minute as 'n arduino OTA -toestel beskikbaar wees elke keer as dit ingeprop word. Dit word dan afgeskakel om krag te bespaar.
Aanbeveel:
Spelontwerp in vyf stappe: 5 stappe
Spelontwerp in fliek in 5 stappe: Flick is 'n baie eenvoudige manier om 'n speletjie te maak, veral iets soos 'n legkaart, visuele roman of avontuurlike spel
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: 3 stappe
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: in hierdie instruksies gaan ons gesigsopsporing uitvoer op Raspberry Pi 4 met Shunya O/S met behulp van die Shunyaface-biblioteek. Shunyaface is 'n biblioteek vir gesigherkenning/opsporing. Die projek het ten doel om die vinnigste opsporing en herkenningssnelheid te bereik met
DIY Vanity Mirror in eenvoudige stappe (met LED -strookligte): 4 stappe
DIY Vanity Mirror in eenvoudige stappe (met behulp van LED Strip Lights): In hierdie pos het ek 'n DIY Vanity Mirror gemaak met behulp van die LED strips. Dit is regtig cool, en u moet dit ook probeer
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): 6 stappe
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): wil u u vriende skrik en 'n skreeu geraas maak tydens Halloween? Of wil u net 'n goeie grap maak? Hierdie pop-up skerm van Zombies kan dit doen! In hierdie instruksies sal ek u leer hoe u maklik Zombies kan spring deur Arduino te gebruik. Die HC-SR0
Speel Doom op u iPod in 5 maklike stappe !: 5 stappe
Speel Doom op u iPod in 5 maklike stappe !: 'n Stap-vir-stap gids oor hoe u Rockbox op u iPod kan dubbellaai om Doom en tientalle ander speletjies te speel. Dit is iets baie maklik om te doen, maar baie mense staan nog steeds verbaas as hulle sien hoe ek op my iPod doom speel en deurmekaar raak met die instruksies