Satura rādītājs:

Niršanas ķiveres pieskāriena lampa: 5 soļi
Niršanas ķiveres pieskāriena lampa: 5 soļi

Video: Niršanas ķiveres pieskāriena lampa: 5 soļi

Video: Niršanas ķiveres pieskāriena lampa: 5 soļi
Video: 🛜Neil Degrasse Tyson, WRONG about Tesla?!? 🛜 ​⁠@joerogan (30min) 2024, Novembris
Anonim
Niršanas ķiveres pieskāriena lampa
Niršanas ķiveres pieskāriena lampa
Niršanas ķiveres pieskāriena lampa
Niršanas ķiveres pieskāriena lampa
Niršanas ķiveres pieskāriena lampa
Niršanas ķiveres pieskāriena lampa
Niršanas ķiveres pieskāriena lampa
Niršanas ķiveres pieskāriena lampa

Šajā pamācībā

Jums būs nepieciešams

  1. Niršanas ķivere vai līdzvērtīga
  2. Ar Neopixel saderīgs LED gredzens (es izmantoju gredzenu ar 38 gaismas diodēm)
  3. Wemos ESP32 tāfele (vai līdzvērtīga)
  4. 3D printeris

1. darbība: izdrukājiet šīs daļas

Šīs daļas var būt jāpielāgo, ja izmantojat citu niršanas ķiveri, es uzzināju, ka tā, kas man ir, ir diezgan izplatīta

2. darbība: augšupielādējiet kodu

Ievietojiet ssid un paroli kodā, pēc tam augšupielādējiet to savā dēlī. Tas ir paredzēts, lai ļautu OTA augšupielādēt jaunu kodu pēc projekta apkopošanas. Jums būs jāinstalē Makuna NeoPixelBus, kas pieejams šeit: https://github.com/Makuna/NeoPixelBus Lai izmantotu šo plati, jums arī būs jāinstalē ESP32 tāfeles definīcijas arduino vidē.

// Wifi Jazz #include #include #include #include bool wifi_timout = 0; const char* ssid = "SSID"; const char* parole = "Parole"; // Neopikselu džezs #include const uint16_t PixelCount = 38; const uint8_t PixelPin = 19; int colorSaturation = 50; int Spilgtums = 50; int R = 0; int G = 0; int B = 0; int Pulss = 1600; // Puse laika starp pulsācijām RgbKrāsa melna (0); // Button Jazz float Button1_total = 0; int izlīdzināšana = 50; const int debounce = 5; pludiņa poga1 [debounce]; bool PWR = 0; NeoPixelBus gredzens (PixelCount, PixelPin); void setup () {Serial.begin (115200); Serial.println ("Booting"); WiFi.mode (WIFI_STA); WiFi.begin (ssid, parole); while (WiFi.waitForConnectResult ()! = WL_CONNECTED) {Serial.println ("Savienojums neizdevās!"); kavēšanās (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); gredzens. Sākt (); gredzens. Rādīt (); } 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 (melns); ring. Show (); PWR =! PWR; } ja (milis () <1500) {PWR = 0;} ja (ring. CanShow () && PWR == 1) {Light (0);} aizture (10); } void OTA_init () {ArduinoOTA.onStart ( () {Stīgu tips; if (ArduinoOTA.getCommand () == U_FLASH) type = "sketch"; else // U_SPIFFS type = "filesystem"; // PIEZĪME: ja atjauninot SPIFFS, šī būtu vieta, kur atvienot SPIFFS, izmantojot SPIFFS.end () Serial.println ("Sākt atjaunināšanu" + tips);}).onEnd ( () {Serial.println ("\ nEnd");}).onProgress ( (neparakstīts progress, neparakstīts kopā) {Serial.printf ("Progress:%u %% / r", (progress / (kopā / 100)));}).onError ( (ota_error_t kļūda) {Serial.printf ("Error [%u]:", error); if (error == OTA_AUTH_ERROR) Serial.println ("Auth Failed"); else if (error == OTA_BEGIN_ERROR) Serial.println ("Begin Neizdevās "); else if (error == OTA_CONNECT_ERROR) Serial.println (" Connect Failed "); else if (error == OTA_RECEIVE_ERROR) Serial.println (" Receive Failed "); else if (error == OTA_END_ERROR) Serial. println ("Beigas neizdevās");}); ArduinoOTA.begin (); Serial.println ("Gatavs"); Serial.print ("IP adrese:"); Serial.println (WiFi.localIP ()); } int button1_capture () {for (int i = 0; i <(debounce-1); i ++) {Button1 = Button1 [i+1]; } Poga1 [debounce-1] = (touchRead (T0)); pludiņa strāva = MaxArray (Poga1); float Button1_smooth = Button1_total/izlīdzināšana; // peldošā strāva = AveArray (Button1); Serial.print (Button1_smooth); Serial.print (""); Serial.print (current); Serial.print (""); Serial.println (Button1 [debounce-1]); ja (pašreizējais <(0,85*Button1_smooth)) {Button1_total = 0; // darbojas kā atkāpšanās atgriešanās 1; } cits {Button1_total = pašreizējais +Button1_total -Button1_smooth; } atgriezties 0; } pludiņš MaxArray (pludiņš MaxMe ) {float mxm = MaxMe [0]; pludiņš mnm = MaxMe [0]; par (int i = 0; imxm) {mxm = MaxMe ; }} atgriezties mxm; } float AveArray (float AveMe ) {float total = 0; pludiņš ave = 0; par (int i = 0; i

3. solis: montāža

Montāža
Montāža

Pievienojiet savu dēli, kā parādīts attēlā, un pārbaudiet, vai tas darbojas.

Ar rokturi savienotais tīkls darbosies kā pieskāriena poga. Uz manas tāfeles ESP32 T0 ir pievienots D4. Tas būs jāpārbauda, ja izmantojat citu dēli.

Plikas stieples piestiprināšana pie šīs tapas rīkosies tāpat. Nospiežot to divreiz, tas ieslēgsies kā nakts gaisma. 3 reizes nedaudz gaišāks un 4 reizes balts.

4. darbība: samontējiet ķiveres detaļas

Salieciet ķiveres detaļas
Salieciet ķiveres detaļas
Salieciet ķiveres detaļas
Salieciet ķiveres detaļas

Lai ieslēgtu lampu, mēs izmantosim ķiveres rokturi kā pieskāriena sensoru. Tas nozīmē, ka tam jābūt izolētam no pārējās ķiveres. Noņemiet rokturi un pārklājiet kontakta virsmu ar izolācijas lenti. Es izmantoju brūnu lenti, lai tā saplūstu, attēlā tā ir izcelta zilā krāsā. Izurbiet caurumus tā, lai skrūves būtu atstarpē un tās varētu nostiprināt ar dažām plastmasas paplāksnēm otrā pusē.

Savienojiet pogu ar vienu no rokturu skrūvēm, izmantojot gofrēto savienotāju.

Ja plānojat izmantot peldošu barošanas avotu (gandrīz visus), tad tādā pašā veidā jums būs jāpievieno GND tapa ķiveres korpusam. Lai ieslēgtu lampu, novietojiet vienu roku uz ķiveres un ar otru pieskarieties rokturim.

5. solis: pievienojiet strāvu

Image
Image
Pievienojiet barošanu
Pievienojiet barošanu

Pieskrūvējiet mikro USB sadalīšanas paneli pie 3D drukātā starpsienas savienotāja un pēc tam nostipriniet ar uzgriezni.

Tā vietā var izmantot jebkuru 5 V līdzstrāvas barošanas avotu, bet manā mājā ir daudz USB lādētāju. Es izmantoju pītu USB kabeli, lai atdarinātu veco elastību un pabeigtu izskatu.

Tas ir tas, ka esat pabeidzis.

Ja vēlaties modificēt kodu, lai izmēģinātu papildu krāsas, efektus vai taimerus, tas būs pieejams kā arduino OTA ierīce pirmās 10 minūtes katru reizi, kad tas tiks pievienots. Tas tiks izslēgts, lai taupītu enerģiju.

Ieteicams: