Πίνακας περιεχομένων:

Λάμπα αφής κράνους κατάδυσης: 5 βήματα
Λάμπα αφής κράνους κατάδυσης: 5 βήματα

Βίντεο: Λάμπα αφής κράνους κατάδυσης: 5 βήματα

Βίντεο: Λάμπα αφής κράνους κατάδυσης: 5 βήματα
Βίντεο: ΣΟΚ: ΒΡΗΚΑ ΚΑΡΧΑΡΙΑ😱😱 2024, Νοέμβριος
Anonim
Λάμπα αφής κράνους καταδύσεων
Λάμπα αφής κράνους καταδύσεων
Λάμπα αφής κράνους κατάδυσης
Λάμπα αφής κράνους κατάδυσης
Λάμπα αφής κράνους καταδύσεων
Λάμπα αφής κράνους καταδύσεων
Λάμπα αφής κράνους καταδύσεων
Λάμπα αφής κράνους καταδύσεων

Σε αυτό το διδακτικό

Θα χρειαστείτε

  1. Κράνος κατάδυσης ή ισοδύναμο
  2. Δαχτυλίδι LED συμβατό με Neopixel (χρησιμοποίησα δακτύλιο με 38 LED)
  3. Πίνακας Wemos ESP32 (ή ισοδύναμο)
  4. Τρισδιάστατος εκτυπωτής

Βήμα 1: Εκτυπώστε αυτά τα μέρη

Αυτά τα μέρη μπορεί να χρειαστούν προσαρμογή εάν χρησιμοποιείτε διαφορετικό κράνος κατάδυσης, έμαθα ότι αυτό που έχω είναι αρκετά κοινό

Βήμα 2: Ανεβάστε τον κώδικα

Τοποθετήστε το ssid και τον κωδικό πρόσβασής σας στον κωδικό και, στη συνέχεια, ανεβάστε τον στον πίνακα. Αυτό είναι εκεί για να επιτρέψει στο OTA να ανεβάσει νέο κώδικα μετά τη συναρμολόγηση του έργου. Θα χρειαστεί να εγκαταστήσετε το NeoPixelBus by Makuna διαθέσιμο εδώ https://github.com/Makuna/NeoPixelBus Θα χρειαστεί επίσης να εγκαταστήσετε τους ορισμούς της πλακέτας ESP32 στο περιβάλλον arduino για να χρησιμοποιήσετε αυτόν τον πίνακα.

// Wifi Jazz #include #include #include #include #include bool wifi_timout = 0; const char* ssid = "SSID"; const char* password = "Κωδικός πρόσβασης"; // Neopixel jazz #include const uint16_t PixelCount = 38; const uint8_t PixelPin = 19; int colorSaturation = 50; int Φωτεινότητα = 50; int R = 0; int G = 0; int B = 0; int Παλμός = 1600; // Μισό χρόνο μεταξύ παλμών RgbColor μαύρο (0); // Button Jazz float Button1_total = 0; int εξομάλυνση = 50; const int debounce = 5; float Button1 [debounce]; bool PWR = 0; Δακτύλιος NeoPixelBus (PixelCount, PixelPin). void setup () {Serial.begin (115200); Serial.println ("Εκκίνηση"); WiFi.mode (WIFI_STA); WiFi.begin (ssid, κωδικός πρόσβασης); while (WiFi.waitForConnectResult ()! = WL_CONNECTED) {Serial.println ("Η σύνδεση απέτυχε!"); καθυστέρηση (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); δαχτυλίδι. Ξεκινήστε (); δαχτυλίδι. Εμφάνιση (); } 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 (μαύρο); ring. Show (); PWR =! PWR; } if (millis () <1500) {PWR = 0;} if (ring. CanShow () && PWR == 1) {Light (0);} καθυστέρηση (10); } void OTA_init () {ArduinoOTA.onStart ( () {String type; if (ArduinoOTA.getCommand () == U_FLASH) type = "sketch"; else // U_SPIFFS type = "systemystem"; // NOTE: if ενημέρωση SPIFFS αυτό θα ήταν το μέρος για να αποσυνδέσετε τα SPIFFS χρησιμοποιώντας το SPIFFS.end () Serial.println ("Έναρξη ενημέρωσης" + τύπος);}).onEnd ( () {Serial.println ("\ nΤέλος")}}.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"); αλλιώς if (error == OTA_BEGIN_ERROR) Serial.println ("Begin Αποτυχία "); αλλιώς αν (σφάλμα == OTA_CONNECT_ERROR) Serial.println (" Η σύνδεση απέτυχε "); αλλιώς εάν (σφάλμα == OTA_RECEIVE_ERROR) Serial.println (" Η λήψη απέτυχε "); αλλιώς εάν (σφάλμα == OTA_END_ERROR) Σειρά. println ("Τέλος απέτυχε");}); ArduinoOTA.begin (); Serial.println ("Έτοιμο"); Serial.print ("Διεύθυνση IP:"); Serial.println (WiFi.localIP ()); } int button1_capture () {for (int i = 0; i <(debounce-1); i ++) {Button1 = Button1 [i+1]; } Button1 [debounce-1] = (touchRead (T0)); float current = MaxArray (Button1); float Button1_smooth = Button1_total/smoothing; // float current = AveArray (Button1); Serial.print (Button1_smooth); Serial.print (""); Serial.print (current); Serial.print (""); Serial.println (Button1 [debounce-1]); if (τρέχον <(0,85*Button1_smooth)) {Button1_total = 0; // λειτουργεί ως επιστροφή αποσβέσεων 1; } else {Button1_total = current +Button1_total -Button1_smooth; } επιστροφή 0; } float MaxArray (float MaxMe ) {float mxm = MaxMe [0]; float mnm = MaxMe [0]; για (int i = 0; imxm) {mxm = MaxMe ; }} επιστροφή mxm; } float AveArray (float AveMe ) {float total = 0; float ave = 0; για (int i = 0; i

Βήμα 3: Συναρμολόγηση

Συνέλευση
Συνέλευση

Συνδέστε τον πίνακα σας όπως φαίνεται και ελέγξτε ότι λειτουργεί.

Το δίχτυ που είναι συνδεδεμένο στη 'λαβή' θα λειτουργεί ως κουμπί αφής. Στην πλακέτα μου το ESP32 T0 είναι προσαρτημένο στο D4. Θα πρέπει να το ελέγξετε αν χρησιμοποιείτε διαφορετικό πίνακα.

Η σύνδεση ενός γυμνού σύρματος σε αυτόν τον πείρο θα είναι η ίδια. Πιέζοντάς το δύο φορές θα ανάψει χαμηλά σαν νυχτερινό φως. 3 φορές λίγο πιο φωτεινό και 4 φορές λευκό.

Βήμα 4: Συναρμολογήστε τα εξαρτήματα στο κράνος

Συναρμολογήστε τα μέρη στο κράνος
Συναρμολογήστε τα μέρη στο κράνος
Συναρμολογήστε τα μέρη στο κράνος
Συναρμολογήστε τα μέρη στο κράνος

Για να ανάψουμε τη λάμπα θα χρησιμοποιήσουμε τη λαβή του κράνους ως αισθητήρα αφής. Αυτό σημαίνει ότι πρέπει να είναι μονωμένο από το υπόλοιπο κράνος. Αφαιρέστε τη λαβή και καλύψτε την επιφάνεια επαφής με μονωτική ταινία. Χρησιμοποίησα καφέ ταινία για να αναμειχθεί, επισημαίνεται με μπλε χρώμα στην εικόνα. Ανοίξτε τις τρύπες έτσι ώστε οι βίδες να είναι στο διάκενο και να επανασυναρμολογούνται με μερικές πλαστικές ροδέλες στην άλλη πλευρά.

Συνδέστε το κουμπί σας σε μία από τις βίδες λαβής χρησιμοποιώντας έναν συνδετήρα πτύχωσης.

Εάν σκοπεύετε να χρησιμοποιήσετε ένα πλωτό τροφοδοτικό (σχεδόν όλα) τότε θα χρειαστεί να συνδέσετε έναν πείρο GND στο σώμα του κράνους με τον ίδιο τρόπο. Τώρα για να ανάψετε τη λάμπα, τοποθετήστε το ένα χέρι στο κράνος και αγγίξτε τη λαβή με το άλλο.

Βήμα 5: Συνδέστε το Power

Image
Image
Συνδέστε το Power
Συνδέστε το Power

Βιδώστε την πλακέτα διάσπασης micro USB στον σύνδεσμο διαφραγμάτων με 3D εκτύπωση και στη συνέχεια στερεώστε τη στη θέση της με το παξιμάδι.

Μπορεί να χρησιμοποιηθεί οποιοδήποτε τροφοδοτικό 5V DC, αλλά οι φορτιστές usb είναι άφθονοι στο σπίτι μου. Χρησιμοποίησα ένα πλεγμένο καλώδιο usb για να μιμηθώ ένα παλιό flex και να ολοκληρώσω την εμφάνιση.

Αυτό είναι που τελειώσατε.

Εάν θέλετε να τροποποιήσετε τον κώδικα για να δοκιμάσετε επιπλέον χρώματα, εφέ ή χρονοδιακόπτες, τότε θα είναι διαθέσιμος ως συσκευή arduino OTA για τα πρώτα 10 λεπτά κάθε φορά που είναι συνδεδεμένο. Αυτό θα απενεργοποιηθεί στη συνέχεια για εξοικονόμηση ενέργειας.

Συνιστάται: