Мазмұны:

Суға түсуге арналған дулыға сенсорлық шам: 5 қадам
Суға түсуге арналған дулыға сенсорлық шам: 5 қадам

Бейне: Суға түсуге арналған дулыға сенсорлық шам: 5 қадам

Бейне: Суға түсуге арналған дулыға сенсорлық шам: 5 қадам
Бейне: Суға түсуге арналған баллон, матрацтарды қалай таңдау керек? 2024, Қараша
Anonim
Суға түсуге арналған дулыға сенсорлық шам
Суға түсуге арналған дулыға сенсорлық шам
Суға түсуге арналған дулыға сенсорлық шам
Суға түсуге арналған дулыға сенсорлық шам
Суға түсуге арналған дулыға сенсорлық шам
Суға түсуге арналған дулыға сенсорлық шам
Суға түсуге арналған дулыға сенсорлық шам
Суға түсуге арналған дулыға сенсорлық шам

Бұл нұсқаулықта

Саған қажет болады

  1. Суға түсуге арналған дулыға немесе оған балама
  2. Neopixel үйлесімді жарықдиодты сақина (мен 38 жарықдиодты сақинаны қолдандым)
  3. Wemos ESP32 тақтасы (немесе баламасы)
  4. 3D принтері

1 -қадам: Бұл бөліктерді басып шығарыңыз

Егер сіз басқа суға түсуге арналған дулыға қолдансаңыз, бұл бөлшектерді бейімдеу қажет болуы мүмкін, мен білемін, бұл менде өте кең таралған.

2 -қадам: кодты жүктеңіз

Кодқа ssid пен парольді енгізіңіз, содан кейін тақтаға жүктеңіз. Бұл жоба жиналғаннан кейін OTA жаңа кодты жүктеуге мүмкіндік беру үшін. Сізге NeoPixelBus by Makuna орнату қажет болады https://github.com/Makuna/NeoPixelBus Бұл тақтаны пайдалану үшін arduino ортасына ESP32 тақтасының анықтамаларын орнату қажет.

// Wifi Jazz #include #include #include #include bool wifi_timout = 0; const char* ssid = «SSID»; const char* password = «Құпия сөз»; // Neopixel джаз #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 Pulse = 1600; // RgbColor пульсация арасындағы жарты уақыт қара (0); // Button Jazz float Button1_total = 0; int тегістеу = 50; const int debounce = 5; float Button1 [шығару]; 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); ring. Begin (); сақина. Шоу (); } 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);} delay (10); } жарамсыз OTA_init () {ArduinoOTA.onStart ( () {Жол түрі; if (ArduinoOTA.getCommand () == U_FLASH) type = «эскиз»; басқа // U_SPIFFS түрі = «файлдық жүйе»; // ЕСКЕРТУ: егер SPIFFS жаңарту - бұл SPIFFS.end () Serial.println («Жаңартуды бастау» + түрі);}).onEnd ( () {Serial.println («\ nОн»);}) көмегімен SPIFFS -ті ажырататын орын болады..onProgress ( (unsigned int progress, unsigned int total) {Serial.printf («Прогресс:%u %% / r», (прогресс / (барлығы / 100)));}).onError ( (ota_error_t қате) {Serial.printf («Қате [%u]:», қате); егер (қате == OTA_AUTH_ERROR) Serial.println («Аутентификация сәтсіз»); басқа болса (қате == OTA_BEGIN_ERROR) Serial.println («Бастау Сәтсіз «); әйтпесе (қате == 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)); өзгермелі ток = MaxArray (Button1); float Button1_smooth = Button1_total/тегістеу; // өзгермелі ток = AveArray (Button1); Serial.print (Button1_smooth); Serial.print («»); Serial.print (ағымдағы); Serial.print («»); Serial.println (Button1 [debounce-1]); if (ағымдағы <(0,85*Button1_smooth)) {Button1_total = 0; // қайтару ретінде жұмыс істейді 1; } else {Button1_total = ағымдағы +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 -қадам: Қуатты қосыңыз

Image
Image
Қуатты қосыңыз
Қуатты қосыңыз

Микро USB ажырату тақтасын 3D басып шығарылған қалқалы коннекторға бұрап, гайкамен бекітіңіз.

Оның орнына кез келген 5В тұрақты ток көзін пайдалануға болады, бірақ менің үйімде USB зарядтағыштары көп. Мен ескі икемді еліктеп, көріністі толықтыру үшін өрілген USB кабелін қолдандым.

Міне, сіз осымен біттіңіз.

Егер сіз қосымша түстерді, эффектілерді немесе таймерлерді сынап көру үшін кодты өзгерткіңіз келсе, ол әр қосылған сайын алғашқы 10 минутта arduino OTA құрылғысы ретінде қол жетімді болады. Бұл қуатты үнемдеу үшін өшеді.

Ұсынылған: