Мазмұны:
- 1 -қадам: Бұл бөліктерді басып шығарыңыз
- 2 -қадам: кодты жүктеңіз
- 3 -қадам: құрастыру
- 4 -қадам: Бөліктерді дулығаға жинаңыз
- 5 -қадам: Қуатты қосыңыз
Бейне: Суға түсуге арналған дулыға сенсорлық шам: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Бұл нұсқаулықта
Саған қажет болады
- Суға түсуге арналған дулыға немесе оған балама
- Neopixel үйлесімді жарықдиодты сақина (мен 38 жарықдиодты сақинаны қолдандым)
- Wemos ESP32 тақтасы (немесе баламасы)
- 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 -қадам: Қуатты қосыңыз
Микро USB ажырату тақтасын 3D басып шығарылған қалқалы коннекторға бұрап, гайкамен бекітіңіз.
Оның орнына кез келген 5В тұрақты ток көзін пайдалануға болады, бірақ менің үйімде USB зарядтағыштары көп. Мен ескі икемді еліктеп, көріністі толықтыру үшін өрілген USB кабелін қолдандым.
Міне, сіз осымен біттіңіз.
Егер сіз қосымша түстерді, эффектілерді немесе таймерлерді сынап көру үшін кодты өзгерткіңіз келсе, ол әр қосылған сайын алғашқы 10 минутта arduino OTA құрылғысы ретінде қол жетімді болады. Бұл қуатты үнемдеу үшін өшеді.
Ұсынылған:
MPU-6050: 6 қадамдық сенсорлық жүйенің сенсорлық жүйесі
MPU-6050 сенсорлық жүйесі: MPU-6050 сенсоры MEMS-ге арналған микросхемалармен жұмыс істейді. São 3 eixos a acelerômetro e 3 eixos para to giroscopio, sendo ao todo 6 graus de liberdade (6DOF). Вамос протоколға қол жеткізуге мүмкіндік береді
Сенсорлық сенсордың үш тізбегі + сенсорлық таймердің тізбегі: 4 қадам
Сенсорлық сенсордың үш тізбегі + сенсорлық таймердің тізбегі: сенсор сенсорлық түйреуіштердегі жанасуды анықтағанда қосылатын тізбек. Ол уақытша жұмыс істейді, яғни түйреуіштер түйіскен кезде ғана жүктеме қосылады, мұнда мен сенсорлық сенсация жасаудың үш түрлі әдісін көрсетемін
Ескі LiIon батареясынан қайта зарядталатын жарықдиодты шам / шам: 15 қадам
Ескі LiIon батареясынан қайта зарядталатын жарықдиодты шам / шам: сәлем, арзан ebay компоненттерінен және ескі электроникадан LI-иондық батареялардан бірнеше қайта зарядталатын шамдар жасадым
Сенсорлық жарықдиодты шам (9v, жарық / қараңғы детекторы бар видео): 5 қадам
Сенсорлық жарықдиодты шам (9v, жарық / күңгірт детекторы бар): Бұл нұсқаулық жарық / қараңғы сенсоры бар жарық диодты жарқыл жасау туралы. қараңғы түскенде автоматты түрде қосылады және күндіз сөнеді
Сенсорлық басқаруымен жоғары тиімділігі 9 вольтты жарықдиодты шам: 4 қадам
Сенсорлық басқарумен жоғары тиімділігі 9 вольтты жарықдиодты шам: тек 10 дайын бөлшекті қолдана отырып, бұл қарапайым схема 9 вольтты аккумулятордың қуатын 20мА-да 2 ақ жарықдиодты қосуға түрлендіреді, ал аккумуляторда тек 13мА қолданады. 90% жоғары тиімділік