Sisukord:
- Samm: printige need osad välja
- Samm: laadige kood üles
- 3. samm: kokkupanek
- Samm: ühendage kiivri osad kokku
- Samm: ühendage toide
Video: Sukeldumiskiivri puutelamp: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Selles õpetlikus
Sa vajad
- Sukeldumiskiiver või samaväärne
- Neopixeliga ühilduv LED -rõngas (kasutasin 38 LED -iga rõngast)
- Wemos ESP32 plaat (või samaväärne)
- 3D printer
Samm: printige need osad välja
Need osad võivad vajada kohandamist, kui kasutate erinevat sukeldumiskiivrit, sain teada, et see, mis mul on, on üsna tavaline
Samm: laadige kood üles
Asetage oma SSID ja parool koodi, seejärel laadige see oma tahvlile üles. See võimaldab OTA -l pärast projekti kokkupanemist üles laadida uue koodi. Peate installima NeunaPixelBus by Makuna, mis on saadaval siin https://github.com/Makuna/NeoPixelBus Selle plaadi kasutamiseks peate installima ka ESP32 tahvli definitsioonid arduino keskkonda.
// Wifi Jazz #include #include #include #include bool wifi_timout = 0; const char* ssid = "SSID"; const char* password = "Parool"; // Neopixeli jazz #include const uint16_t PixelCount = 38; const uint8_t PixelPin = 19; int colorSaturation = 50; int Heledus = 50; int R = 0; int G = 0; int B = 0; int Pulss = 1600; // Pool aega pulsatsioonide vahel RgbVärv must (0); // Button Jazz float Button1_total = 0; int silumine = 50; const int debounce = 5; float Button1 [debounce]; bool PWR = 0; NeoPixelBus ring (PixelCount, PixelPin); void setup () {Serial.begin (115200); Serial.println ("Käivitamine"); WiFi -režiim (WIFI_STA); WiFi.begin (ssid, parool); while (WiFi.waitForConnectResult ()! = WL_CONNECTED) {Serial.println ("Ühendus nurjus!"); viivitus (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 -režiim (WIFI_OFF); btStop (); } if (button1_capture () == 1) {ring. ClearTo (must); ring. Show (); PWR =! PWR; } if (millis () <1500) {PWR = 0;} if (ring. CanShow () && PWR == 1) {Light (0);} viivitus (10); } void OTA_init () {ArduinoOTA.onStart ( () {Stringi tüüp; if (ArduinoOTA.getCommand () == U_FLASH) type = "sketch"; else // U_SPIFFS type = "filesystem"; // MÄRKUS: if SPIFFS -i värskendamine on see koht SPIFFS -i lahtiühendamiseks, kasutades SPIFFS.end () Serial.println ("Alusta värskendamist" + tüüp);}).onEnd ( () {Serial.println ("\ nEnd");}).onProgress ( (allkirjastamata int progress, allkirjastamata int kokku) {Serial.printf ("Progress:%u %% / r", (progress / (kokku / 100)));}).onError ( (ota_error_t viga) {Serial.printf ("Viga [%u]:", viga); if (error == OTA_AUTH_ERROR) Serial.println ("Auth Failed"); else if (error == OTA_BEGIN_ERROR) Serial.println ("Begin Ebaõnnestus "); 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 ("Lõpp ebaõnnestus");}); ArduinoOTA.begin (); Serial.println ("Valmis"); Serial.print ("IP -aadress:"); Serial.println (WiFi.localIP ()); } int button1_capture () {for (int i = 0; i <(debounce-1); i ++) {Button1 = Button1 [i+1]; } Nupp1 [debounce-1] = (touchRead (T0)); ujukivool = MaxArray (Button1); float Button1_smooth = Button1_total/silumine; // ujuvvool = AveArray (Button1); Serial.print (Button1_smooth); Serial.print (""); Serial.print (current); Serial.print (""); Serial.println (Button1 [debounce-1]); if (praegune <(0,85*Button1_smooth)) {Button1_total = 0; // töötab tagasivoolutagastusena 1; } else {Button1_total = praegune +Button1_total -Button1_smooth; } tagasitulek 0; } float MaxArray (float MaxMe ) {float mxm = MaxMe [0]; ujuk mnm = MaxMe [0]; jaoks (int i = 0; imxm) {mxm = MaxMe ; }} return mxm; } float AveArray (float AveMe ) {float total = 0; float ave = 0; jaoks (int i = 0; i
3. samm: kokkupanek
Ühendage plaat vastavalt joonisele ja kontrollige, kas see töötab.
„Käepidemega” ühendatud võrk toimib puutetundliku nupuna. Minu plaadil on ESP32 T0 kinnitatud D4 külge. Teise plaadi kasutamisel peate seda kontrollima.
Palja traadi kinnitamine sellele tihvtile käitub samamoodi. Kui vajutate seda kaks korda, lülitatakse see nagu öövalgus sisse. 3 korda veidi heledam ja 4 korda valge.
Samm: ühendage kiivri osad kokku
Lambi sisselülitamiseks kasutame puuteandurina kiivri käepidet. See tähendab, et see peab olema ülejäänud kiivrist isoleeritud. Eemaldage käepide ja katke kontaktpind isolatsioonlindiga. Kasutasin segunemiseks pruuni teipi, see on pildil sinisega esile tõstetud. Puurige augud välja nii, et kruvid jääksid vabasse asendisse ja kinnitaksid neid mõne teise külje plastist seibidega.
Ühendage nööpnõel kruvipistiku abil ühe käepideme kruviga.
Kui kavatsete kasutada ujuvat toiteallikat (peaaegu kõiki neid), peate kiivri korpusega samal viisil ühendama GND tihvti. Lambi sisselülitamiseks asetage üks käsi kiivrile ja puudutage käepidet teisega.
Samm: ühendage toide
Keerake mikro -USB -katkestusplaat 3D -prinditud vaheseina pistiku külge ja kinnitage see mutriga.
Selle asemel saab kasutada mis tahes 5 V alalisvoolu toiteallikat, kuid USB -laadijaid on minu majas palju. Kasutasin põimitud USB -kaablit vana painde jäljendamiseks ja välimuse täiendamiseks.
Nii oletegi valmis.
Kui soovite koodi muuta, et proovida lisavärve, efekte või taimerit, on see saadaval arduino OTA -seadmena esimese 10 minuti jooksul iga kord, kui see võrku ühendatakse. See lülitub energia säästmiseks välja.
Soovitan:
Atari punkkonsool beebiga 8 sammu järjestus: 7 sammu (piltidega)
Atari punkkonsool koos beebi 8-astmelise sekveneerijaga: see vaheehitus on kõik-ühes Atari punk-konsool ja beebi 8-astmeline järjestus, mida saate freesida Bantam Tools töölaua PCB-freespingis. See koosneb kahest trükkplaadist: üks on kasutajaliidese (UI) plaat ja teine on utiliit
Akustiline levitatsioon Arduino Unoga samm-sammult (8 sammu): 8 sammu
Akustiline levitatsioon Arduino Uno abil samm-sammult (8 sammu): ultraheliheli muundurid L298N DC-naissoost adapteri toiteallikas isase alalisvoolupistikuga Arduino UNOBreadboard ja analoogpordid koodi teisendamiseks (C ++)
4G/5G HD -video otseülekanne DJI droonilt madala latentsusega [3 sammu]: 3 sammu
4G/5G HD-video otseülekanne DJI droonilt madala latentsusega [3 sammu]: Järgnev juhend aitab teil saada HD-kvaliteediga otseülekandeid peaaegu igalt DJI droonilt. FlytOSi mobiilirakenduse ja veebirakenduse FlytNow abil saate alustada drooni video voogesitust
Polt - DIY juhtmeta laadimise öökell (6 sammu): 6 sammu (piltidega)
Bolt - DIY juhtmeta laadimise öökell (6 sammu): Induktiivsed laadimised (tuntud ka kui juhtmeta laadimine või juhtmeta laadimine) on traadita jõuülekande tüüp. See kasutab kaasaskantavatele seadmetele elektrit pakkumiseks elektromagnetilist induktsiooni. Kõige tavalisem rakendus on Qi traadita laadimisst
4 sammu aku sisemise takistuse mõõtmiseks: 4 sammu
4 sammu aku sisemise takistuse mõõtmiseks: Siin on 4 lihtsat sammu, mis aitavad mõõta taigna sisemist takistust