Përmbajtje:
- Hapi 1: Shtypni këto pjesë
- Hapi 2: Ngarko kodin
- Hapi 3: Montimi
- Hapi 4: Mblidhni Pjesët Në Përkrenare
- Hapi 5: Lidhni fuqinë
Video: Llambë prekëse e helmetës së zhytjes: 5 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:17
Në këtë të udhëzueshme
Do t'ju duhet
- Përkrenare zhytjeje ose ekuivalente
- Unazë LED e pajtueshme me Neopixel (kam përdorur një unazë me 38 LED)
- Bordi Wemos ESP32 (ose ekuivalenti)
- Printer 3D
Hapi 1: Shtypni këto pjesë
Këto pjesë mund të kenë nevojë të përshtaten nëse përdorni një përkrenare të ndryshme zhytjeje, mësova se ajo që kam është mjaft e zakonshme
Hapi 2: Ngarko kodin
Vendosni ssid -in dhe fjalëkalimin tuaj në kod, pastaj ngarkoni në tabelën tuaj. Kjo është atje për të lejuar OTA të ngarkojë kodin e ri pasi të jetë montuar projekti. Ju do të duhet të instaloni NeoPixelBus by Makuna në dispozicion këtu https://github.com/Makuna/NeoPixelBus Ju gjithashtu do të duhet të instaloni përkufizimet e bordit ESP32 në mjedisin arduino në mënyrë që të përdorni këtë tabelë.
// Wifi Jazz #includ #include #include #include #includ bool wifi_timout = 0; const char* ssid = "SSID"; const char* fjalëkalimi = "Fjalëkalimi"; // Neopixel jazz #include const uint16_t PixelCount = 38; const uint8_t PixelPin = 19; int colorSaturation = 50; int Ndriçimi = 50; int R = 0; int G = 0; int B = 0; int Puls = 1600; // Gjysma e kohës midis pulsimeve RgbColor black (0); // Button Jazz float Button1_total = 0; int zbutja = 50; const int debounce = 5; float Button1 [debounce]; bool PWR = 0; Unaza NeoPixelBus (PixelCount, PixelPin); void setup () {Serial.begin (115200); Serial.println ("Boot"); Modaliteti WiFi (WIFI_STA); WiFi.filloni (ssid, fjalëkalim); ndërsa (WiFi.waitForConnectResult ()! = WL_CONNECTED) {Serial.println ("Lidhja dështoi!"); vonesa (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); unazë. Filloni (); unazë. Shfaq (); } void loop () {if (millis () <600000) {ArduinoOTA.handle ();} tjetër nëse (wifi_timout == 0) {ArduinoOTA.end (); wifi_timout = 1; Modaliteti WiFi (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);} vonesë (10); } void OTA_init () {ArduinoOTA.onStart ( () {Lloji i vargut; nëse (ArduinoOTA.getCommand () == U_FLASH) type = "skicë"; tjetër // U_SPIFFS type = "file system"; // SHENIM: nëse duke përditësuar SPIFFS ky do të ishte vendi për të çmontuar SPIFFS duke përdorur SPIFFS.end () Serial.println ("Fillo përditësimin" + lloji);}). në fund ( () {Serial.println ("\ nPërfundimi");}).onProgress ( (progres i panënshkruar int, i panënshkruar int total) {Serial.printf ("Progresi:%u %% / r", (përparimi / (total / 100)));}).onError ( (ota_error_t gabim) {Serial.printf ("Gabim [%u]:", gabim); nëse (gabim == OTA_AUTH_ERROR) Serial.println ("Autori dështoi"); tjetër nëse (gabim == OTA_BEGIN_ERROR) Serial.println ("Fillo Dështoi "); përndryshe nëse (gabim == OTA_CONNECT_ERROR) Serial.println (" Lidhja dështoi "); përndryshe nëse (gabim == OTA_RECEIVE_ERROR) Serial.println (" Marrja dështoi "); përndryshe nëse (gabim == OTA_END_ERROR) Serial. println ("Fundi dështoi");}); ArduinoOTA.filloj (); Serial.println ("Gati"); Serial.print ("Adresa IP:"); Serial.println (WiFi.localIP ()); } int button1_capture () {për (int i = 0; i <(debounce-1); i ++) {Button1 = Button1 [i+1]; } Butoni1 [debounce-1] = (touchRead (T0)); float current = MaxArray (Button1); float Button1_smooth = Button1_total/zbutje; // float current = AveArray (Button1); Serial.print (Button1_smooth); Serial.print (""); Serial.print (aktual); Serial.print (""); Serial.println (Button1 [debounce-1]); nëse (aktuale <(0.85*Button1_smooth)) {Button1_total = 0; // punon si kthim debounce 1; } else {Button1_total = aktuale +Button1_total -Button1_smooth; } kthimi 0; } float MaxArray (float MaxMe ) {float mxm = MaxMe [0]; float mnm = MaxMe [0]; për (int i = 0; imxm) {mxm = MaxMe ; }} kthimi mxm; } float AveArray (float AveMe ) {float total = 0; float ave = 0; për (int i = 0; i
Hapi 3: Montimi
Lidhni bordin tuaj siç tregohet dhe kontrolloni që të funksionojë.
Rrjeta e lidhur me 'dorezën' do të veprojë si një buton me prekje. Në bordin tim ESP32 T0 është ngjitur në D4. Ju do të duhet ta kontrolloni këtë nëse përdorni një tabelë tjetër.
Lidhja e një teli të zhveshur në këtë kunj do të sillet njësoj. Shtypja e tij dy herë do ta ndezë atë si drita e natës. 3 herë pak më e ndritshme dhe 4 herë e bardhë.
Hapi 4: Mblidhni Pjesët Në Përkrenare
Për të ndezur llambën ne do të përdorim dorezën e përkrenares si një sensor prekjeje. Kjo do të thotë se duhet të izolohet nga pjesa tjetër e përkrenares. Hiqeni dorezën dhe mbuloni fytyrën e kontaktit me shirit izolues. Kam përdorur shirit ngjyrë kafe për ta bërë atë të përzier, është e theksuar blu në imazh. Shponi vrimat në mënyrë që vidhat të jenë në hapësirë dhe të rikarikohen me disa rondele plastike në anën tjetër.
Lidhni butonin tuaj me një nga vidhat e dorezave duke përdorur një lidhës të ngjeshur.
Nëse planifikoni të përdorni një furnizim me energji lundruese (pothuajse të gjitha) atëherë do t'ju duhet të lidhni një kunj GND me trupin e përkrenares në të njëjtën mënyrë. Tani për të ndezur llambën vendoseni njërën dorë në përkrenare dhe prekni dorezën me tjetrën.
Hapi 5: Lidhni fuqinë
Vidhosni bordin e shpërthimit të mikro USB në lidhësin e ndarjes të printuar 3D dhe më pas sigurojeni në vend me arrë.
Çdo furnizim me energji 5V DC mund të përdoret në vend të tij, por ngarkuesit USB janë të shumtë në shtëpinë time. Kam përdorur një kabllo usb të thurur për të imituar një flex të vjetër dhe për të përfunduar pamjen.
Kjo është ajo që ju keni mbaruar.
Nëse dëshironi të modifikoni kodin për të provuar ngjyra shtesë, efekte ose kohëmatës atëherë ai do të jetë i disponueshëm si një pajisje arduino OTA për 10 minutat e para sa herë që të jetë i kyçur. Kjo pastaj do të fiket për të kursyer energji.
Recommended:
Llambë klishe - Një llambë Shumë hije: 5 hapa
Llambë klishe - Një llambë me shumë hije: Ky udhëzues do t'ju tregojë se si të bëni një llambë të thjeshtë me hije të ndryshueshme (ashtë një abazhur)
Stacion looper i efektit të kitares Bypass i vërtetë i programueshëm duke përdorur çelsin e zhytjes: 11 hapa
Stacioni Looper i efektit të kitares Bypass i vërtetë i programueshëm duke përdorur çelsin Dip: Unë jam një entuziast i kitarës dhe një lojtar hobi. Shumica e projekteve të mia ndodhin rreth mjeteve të kitarës. Unë ndërtoj amperat e mi dhe disa pedale me efekt. Në të kaluarën kam luajtur në një grup të vogël dhe jam bindur se kam nevojë vetëm për një amplifikator me një ri
Mburoja prekëse ILI9341 për Wemos D1 Mini: 4 hapa
Mburoja prekëse ILI9341 për Wemos D1 Mini: Përshëndetje krijues! Kam bërë një mburojë ILI9341 për mini seritë Wemos D1. Duke përdorur këtë mburojë unë mund të përdor të gjitha funksionet e 2.8 " TFT. Punon si një ekran (natyrisht), përveç kësaj unë mund të shfrytëzoj funksionin e prekjes dhe prizën SD gjithashtu. Ky udhëzues është
Filloni me Paketën Prekëse Kapacitive: 4 Hapa
Filloni me Çantën Prekëse Kapacitive: Për projektin tim të ardhshëm do të përdor një tastierë prekëse kapacitive, dhe para se ta lëshoj atë, vendosa të bëj një mësim të vogël në lidhje me kompletin që mora për DFRobot
Kamera e lirë e helmetës e kontrolluar me PIC duke përdorur Sony LANC (e mirë për sportet ekstreme): 4 hapa
Kamera e lirë e helmetës e kontrolluar nga PIC duke përdorur Sony LANC (e mirë për sportet ekstreme): Ky udhëzues do t'ju tregojë se si të bëni një kamerë të lirë të helmetës e cila mund të kontrollohet përmes një telekomande në mënyrë që kamera juaj kryesore të qëndrojë e sigurt në thesin tuaj. Kontrolluesi mund të lidhet me njërin nga rripat e shpatullave të tua, dhe wi