Mục lục:
- Bước 1: In các phần này
- Bước 2: Tải lên mã
- Bước 3: Lắp ráp
- Bước 4: Lắp ráp các bộ phận vào mũ bảo hiểm
- Bước 5: Kết nối nguồn
Video: Đèn cảm ứng mũ bảo hiểm lặn: 5 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:32
Trong hướng dẫn này
Bạn sẽ cần
- Mũ bảo hiểm lặn hoặc tương đương
- Vòng LED tương thích Neopixel (Tôi đã sử dụng vòng có 38 đèn LED)
- Bo mạch Wemos ESP32 (hoặc tương đương)
- máy in 3D
Bước 1: In các phần này
Những bộ phận này có thể cần thích ứng nếu bạn đang sử dụng một chiếc mũ bảo hiểm lặn khác, tôi biết được rằng cái tôi có là khá phổ biến
Bước 2: Tải lên mã
Đặt ssid và mật khẩu của bạn vào mã sau đó tải lên bảng của bạn. Điều này ở đó để cho phép OTA tải lên mã mới sau khi dự án được lắp ráp. Bạn sẽ cần cài đặt NeoPixelBus của Makuna có sẵn tại đây https://github.com/Makuna/NeoPixelBus Bạn cũng sẽ cần cài đặt các định nghĩa bảng ESP32 vào môi trường arduino để sử dụng bảng này.
// Wifi Jazz #include #include #include #include bool wifi_timout = 0; const char * ssid = "SSID"; const char * password = "Mật khẩu"; // Neopixel jazz #include const uint16_t PixelCount = 38; const uint8_t PixelPin = 19; int colorSaturation = 50; int Độ sáng = 50; int R = 0; int G = 0; int B = 0; int Xung = 1600; // Một nửa thời gian giữa các xung RgbColor black (0); // Nút Jazz float Button1_total = 0; int làm mịn = 50; const int debounce = 5; float Button1 [gỡ lỗi]; bool PWR = 0; Vòng NeoPixelBus (PixelCount, PixelPin); void setup () {Serial.begin (115200); Serial.println ("Đang khởi động"); WiFi.mode (WIFI_STA); WiFi.begin (ssid, mật khẩu); while (WiFi.waitForConnectResult ()! = WL_CONNECTED) {Serial.println ("Kết nối không thành công!"); chậm trễ (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 (black); ring. Show (); PWR =! PWR; } if (millis () <1500) {PWR = 0;} if (ring. CanShow () && PWR == 1) {Light (0);} delay (10); } void OTA_init () {ArduinoOTA.onStart ( () {Kiểu chuỗi; if (ArduinoOTA.getCommand () == U_FLASH) type = "sketch"; else // U_SPIFFS type = "filesystem"; // LƯU Ý: nếu cập nhật SPIFFS, đây sẽ là nơi để ngắt kết nối SPIFFS bằng SPIFFS.end () Serial.println ("Bắt đầu cập nhật" + type);}).onEnd ( () {Serial.println ("\ nEnd");}).onProgress ( (unsigned int process, unsigned int total) {Serial.printf ("Progress:% u %% / r", (process / (total / 100)));}).onError ( (ota_error_t error) {Serial.printf ("Error [% u]:", error); if (error == OTA_AUTH_ERROR) Serial.println ("Auth F failed"); else if (error == OTA_BEGIN_ERROR) Serial.println ("Bắt đầu Không thành công "); else if (lỗi == OTA_CONNECT_ERROR) Serial.println (" Kết nối không thành công "); else if (lỗi == OTA_RECEIVE_ERROR) Serial.println (" Nhận không thành công "); else if (lỗi == OTA_END_ERROR) Sê-ri. println ("Kết thúc Không thành công");}); ArduinoOTA.begin (); Serial.println ("Sẵn sàng"); Serial.print ("Địa chỉ 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 hiện tại = MaxArray (Button1); float Button1_smooth = Button1_total / làm mịn; // float current = AveArray (Button1); Serial.print (Button1_smooth); Serial.print (""); Serial.print (current); Serial.print (""); Serial.println (Button1 [debounce-1]); if (current <(0.85 * Button1_smooth)) {Button1_total = 0; // hoạt động như một debounce return 1; } else {Button1_total = current + Button1_total -Button1_smooth; } trả về 0; } float MaxArray (float MaxMe ) {float mxm = MaxMe [0]; float mnm = MaxMe [0]; for (int i = 0; imxm) {mxm = MaxMe ; }} trả về mxm; } float AveArray (float AveMe ) {float total = 0; float ave = 0; for (int i = 0; i
Bước 3: Lắp ráp
Nối dây bảng của bạn như được hiển thị và kiểm tra xem nó có hoạt động không.
Mạng kết nối với 'tay cầm' sẽ hoạt động như một nút cảm ứng. Trên bảng của tôi, ESP32 T0 được gắn vào D4. Bạn sẽ cần phải kiểm tra điều này nếu sử dụng một bảng khác.
Gắn dây trần vào chốt này sẽ hoạt động tương tự. Nhấn nó hai lần sẽ bật nó ở mức thấp như đèn ngủ. Sáng hơn 3 lần một chút và trắng hơn 4 lần.
Bước 4: Lắp ráp các bộ phận vào mũ bảo hiểm
Để bật đèn, chúng ta sẽ sử dụng tay cầm của mũ bảo hiểm như một cảm biến cảm ứng. Điều này có nghĩa là nó phải được cách nhiệt với phần còn lại của mũ bảo hiểm. Tháo tay cầm và che mặt tiếp xúc bằng băng keo cách nhiệt. Tôi đã sử dụng băng màu nâu để làm cho nó hòa trộn vào nhau, nó được đánh dấu màu xanh lam trong hình ảnh. Khoan các lỗ sao cho các vít ở trong khoảng hở và lắp lại bằng một số vòng đệm bằng nhựa ở phía bên kia.
Kết nối đinh ghim của bạn với một trong số các vít của tay cầm bằng cách sử dụng đầu nối uốn.
Nếu bạn định sử dụng nguồn điện nổi (hầu như tất cả chúng) thì bạn sẽ cần kết nối một chốt GND với thân mũ bảo hiểm theo cách tương tự. Bây giờ để bật đèn, hãy đặt một tay lên mũ bảo hiểm và chạm vào tay cầm bằng nhiệt độ khác.
Bước 5: Kết nối nguồn
Vặn bảng ngắt micro USB vào đầu nối vách ngăn in 3D sau đó cố định vị trí bằng đai ốc.
Có thể sử dụng bất kỳ nguồn điện 5V DC nào thay thế nhưng trong nhà tôi có rất nhiều bộ sạc usb. Tôi đã sử dụng một cáp usb bện để bắt chước một cái uốn cũ và hoàn thiện giao diện.
Đó là nó bạn đã hoàn thành.
Nếu bạn muốn sửa đổi mã để thử màu sắc, hiệu ứng hoặc bộ hẹn giờ bổ sung thì mã sẽ có sẵn dưới dạng thiết bị arduino OTA trong 10 phút đầu tiên mỗi khi được cắm vào. Thao tác này sau đó sẽ tắt để tiết kiệm điện.
Đề xuất:
Ba mạch cảm biến cảm ứng + Mạch hẹn giờ cảm ứng: 4 bước
Ba mạch cảm biến cảm ứng + Mạch hẹn giờ cảm ứng: Cảm biến cảm ứng là một mạch BẬT khi phát hiện cảm ứng trên các Chân cảm ứng. Nó hoạt động trên cơ sở tạm thời, tức là tải sẽ chỉ BẬT khi chạm vào chân cắm. Ở đây, tôi sẽ chỉ cho bạn ba cách khác nhau để tạo cảm ứng sen
Cảm biến cảm ứng & Cảm biến âm thanh Điều khiển đèn AC / DC: 5 bước
Cảm biến cảm ứng & Cảm biến âm thanh Điều khiển đèn AC / DC: Đây là dự án đầu tiên của tôi và dự án này hoạt động dựa trên hai cảm biến cơ bản, một là Cảm biến cảm ứng và cảm biến thứ hai là Cảm biến âm thanh, khi bạn nhấn bàn phím trên cảm biến cảm ứng, đèn AC sẽ chuyển BẬT, nếu bạn nhả nó ra, Đèn sẽ TẮT và cùng
UVIL: Đèn ngủ có đèn nền đen (hoặc Đèn chỉ báo SteamPunk): 5 bước (có hình ảnh)
UVIL: Đèn ngủ có đèn nền đen (hoặc Đèn chỉ báo SteamPunk): Cách kết hợp một đèn báo tia cực tím tân cổ điển phát sáng kỳ lạ. . Ý tưởng của tôi là sử dụng những thứ này khi tôi
Máy ảnh mũ bảo hiểm có điều khiển PIC giá rẻ sử dụng Sony LANC (Tốt cho các môn thể thao mạo hiểm): 4 bước
Máy ảnh mũ bảo hiểm có điều khiển PIC giá rẻ sử dụng Sony LANC (Tốt cho các môn thể thao mạo hiểm): Tài liệu hướng dẫn này sẽ hướng dẫn bạn cách tạo Máy ảnh mũ bảo hiểm giá rẻ có thể được điều khiển thông qua điều khiển từ xa để máy ảnh chính của bạn có thể an toàn trong bao tải của bạn. Bộ điều khiển có thể được gắn vào một trong những dây đeo vai của bạn và
KỸ THUẬT VIKING! Sừng LED trên mũ bảo hiểm Viking Space: Chỉ báo âm lượng + Mũ bảo hiểm Viking Transucent: 6 bước
KỸ THUẬT VIKING! Sừng LED trên mũ bảo hiểm Viking Space: Chỉ báo âm lượng + Mũ bảo hiểm Viking Transucent: Có! Đây là mũ bảo hiểm dành cho người Viking không gian. *** Cập nhật, Cái này nên được đổi tên thành Techno Viking Helmet *** Nhưng nó là tháng 10 năm 2010 và tôi chỉ mới biết về Techno Viking hôm nay. Ẩn sau đường cong meme. Whateva 'Anh ấy đang ở đây với năng suất cao hơn