Innholdsfortegnelse:
- Trinn 1: Skriv ut disse delene
- Trinn 2: Last opp koden
- Trinn 3: Montering
- Trinn 4: Monter delene i hjelmen
- Trinn 5: Koble til strømmen
Video: Berøringslampe for dykkerhjelm: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
I dette instruerbare
Du vil trenge
- Dykkerhjelm eller tilsvarende
- Neopixel -kompatibel LED -ring (jeg brukte en ring med 38 lysdioder)
- Wemos ESP32 -kort (eller tilsvarende)
- 3D -skriver
Trinn 1: Skriv ut disse delene
Disse delene må kanskje tilpasses hvis du bruker en annen dykkerhjelm, jeg lærte at den jeg har er ganske vanlig
Trinn 2: Last opp koden
Plasser ssid og passord i koden, og last deretter opp til brettet ditt. Dette er der for å tillate OTA å laste opp ny kode etter at prosjektet er satt sammen. Du må installere NeoPixelBus av Makuna tilgjengelig her https://github.com/Makuna/NeoPixelBus Du må også installere ESP32 -kortdefinisjonene i arduino -miljøet for å kunne bruke dette kortet.
// Wifi Jazz #include #include #include #include bool wifi_timout = 0; const char* ssid = "SSID"; const char* password = "Password"; // Neopixel jazz #include const uint16_t PixelCount = 38; const uint8_t PixelPin = 19; int colorSaturation = 50; int Lysstyrke = 50; int R = 0; int G = 0; int B = 0; int Puls = 1600; // Halv tid mellom pulsasjoner RgbColor svart (0); // Button Jazz float Button1_total = 0; int utjevning = 50; const int debounce = 5; float Button1 [debounce]; bool PWR = 0; NeoPixelBus -ring (PixelCount, PixelPin); ugyldig oppsett () {Serial.begin (115200); Serial.println ("oppstart"); WiFi.mode (WIFI_STA); WiFi.begin (ssid, passord); mens (WiFi.waitForConnectResult ()! = WL_CONNECTED) {Serial.println ("Tilkobling mislyktes!"); forsinkelse (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 (svart); ring. Show (); PWR =! PWR; } if (millis () <1500) {PWR = 0;} if (ring. CanShow () && PWR == 1) {Light (0);} delay (10); } ugyldig OTA_init () {ArduinoOTA.onStart ( () {String type; if (ArduinoOTA.getCommand () == U_FLASH) type = "sketch"; else // U_SPIFFS type = "filsystem"; // MERK: hvis oppdatering av SPIFFS dette ville være stedet for å avmontere SPIFFS ved å bruke SPIFFS.end () Serial.println ("Start oppdatering" + type);}).onEnd ( () {Serial.println ("\ nEnd");}).onProgress ( (unsigned int progress, unsigned int total) {Serial.printf ("Progress:%u %% / r", (progress / (total / 100)));}).onError ( (ota_error_t feil) {Serial.printf ("Feil [%u]:", feil); hvis (error == OTA_AUTH_ERROR) Serial.println ("Auth mislyktes"); ellers hvis (error == OTA_BEGIN_ERROR) Serial.println ("Start Mislyktes "); ellers hvis (feil == OTA_CONNECT_ERROR) Serial.println (" Koble til mislyktes "); ellers hvis (feil == OTA_RECEIVE_ERROR) Serial.println (" Motta mislyktes "); ellers hvis (feil == OTA_END_ERROR) Seriell. println ("Slutt mislyktes");}); ArduinoOTA.begin (); Serial.println ("Klar"); Serial.print ("IP -adresse:"); Serial.println (WiFi.localIP ()); } int button1_capture () {for (int i = 0; i <(debounce-1); i ++) {Button1 = Button1 [i+1]; } Knapp1 [debounce-1] = (touchRead (T0)); flytestrøm = MaxArray (Button1); float Button1_smooth = Button1_total/smoothing; // flytestrøm = AveArray (Button1); Serial.print (Button1_smooth); Serial.print (""); Serial.print (current); Serial.print (""); Serial.println (Button1 [debounce-1]); if (nåværende <(0,85*Button1_smooth)) {Button1_total = 0; // fungerer som en tilbakeslagsavkastning 1; } annet {Button1_total = current +Button1_total -Button1_smooth; } returnere 0; } float MaxArray (float MaxMe ) {float mxm = MaxMe [0]; float mnm = MaxMe [0]; for (int i = 0; imxm) {mxm = MaxMe ; }} returner mxm; } float AveArray (float AveMe ) {float total = 0; float ave = 0; for (int i = 0; i
Trinn 3: Montering
Koble opp brettet som vist, og sjekk at det fungerer.
Nettet som er koblet til 'håndtaket' vil fungere som en berøringsknapp. På brettet mitt er ESP32 T0 festet til D4. Du må sjekke dette hvis du bruker et annet bord.
Å feste en ledning til denne pinnen vil oppføre seg på samme måte. Hvis du trykker på den to ganger, slås den på som et nattlys. 3 ganger litt lysere og 4 ganger hvit.
Trinn 4: Monter delene i hjelmen
For å slå på lampen bruker vi håndtaket på hjelmen som en berøringssensor. Dette betyr at den må isoleres fra resten av hjelmen. Fjern håndtaket og dekk til kontaktflaten med isolasjonstape. Jeg brukte brun tape for å få den til å smelte inn, den er markert blå i bildet. Bor hullene slik at skruene er i klaring og kan settes sammen med noen plastskiver på den andre siden.
Koble knappnålen til en av håndtakets skruer ved hjelp av en krympekontakt.
Hvis du planlegger å bruke en flytende strømforsyning (stort sett alle), må du koble en GND -pinne til hjelmen på samme måte. Nå for å slå på lampen, legg den ene hånden på hjelmen og berør håndtaket med den andre.
Trinn 5: Koble til strømmen
Skru mikro -USB -utbruddskortet til den 3D -trykte skottkontakten og fest den på plass med mutteren.
Enhver 5V DC strømforsyning kan brukes i stedet, men usb -ladere er det mange av i huset mitt. Jeg brukte en flettet usb -kabel for å etterligne en gammel flex og fullføre utseendet.
Det er det du er ferdig.
Hvis du vil endre koden for å prøve ut ekstra farger, effekter eller tidtakere, vil den være tilgjengelig som en arduino OTA -enhet de første 10 minuttene hver gang den kobles til. Dette slås deretter av for å spare strøm.
Anbefalt:
Arduino bilvarslingssystem for omvendt parkering - Trinn for trinn: 4 trinn
Arduino Car Reverse Parking Alert System | Trinn for trinn: I dette prosjektet skal jeg designe en enkel Arduino Car Reverse Parking Sensor Circuit ved hjelp av Arduino UNO og HC-SR04 Ultrasonic Sensor. Dette Arduino -baserte bilreverseringssystemet kan brukes til autonom navigasjon, robotavstand og andre områder
Trinn for trinn PC -bygging: 9 trinn
Steg for trinn PC -bygging: Rekvisita: Maskinvare: HovedkortCPU & CPU -kjøler PSU (strømforsyningsenhet) Lagring (HDD/SSD) RAMGPU (ikke nødvendig) CaseTools: Skrutrekker ESD -armbånd/mathermal pasta m/applikator
Tre høyttalerkretser -- Trinn-for-trinn opplæring: 3 trinn
Tre høyttalerkretser || Trinn-for-trinn opplæring: Høyttalerkretsen styrker lydsignalene som mottas fra miljøet til MIC og sender den til høyttaleren der forsterket lyd produseres. Her vil jeg vise deg tre forskjellige måter å lage denne høyttalerkretsen på:
Slik laster du fôr til kyr: 9 trinn
Slik laster du fôr til kyr: Alt som lever trenger mat for å overleve. I vinter- og vårmånedene er det ikke gress for kyr å beite på. Dette gjør det veldig viktig at kuene blir matet skikkelig slik at de produserer sunne kalver. I de følgende trinnene vil pr
RC -sporet robot ved hjelp av Arduino - Trinn for trinn: 3 trinn
RC -sporet robot ved bruk av Arduino - Steg for trinn: Hei folkens, jeg er tilbake med et annet kult Robot -chassis fra BangGood. Håper du har gått gjennom våre tidligere prosjekter - Spinel Crux V1 - Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot with Robotic Arms og The Badland Braw