Mundarija:

Sho'ng'in dubulg'asi sensorli chiroq: 5 qadam
Sho'ng'in dubulg'asi sensorli chiroq: 5 qadam

Video: Sho'ng'in dubulg'asi sensorli chiroq: 5 qadam

Video: Sho'ng'in dubulg'asi sensorli chiroq: 5 qadam
Video: Спецагент Морозила ► 1 Прохождение Daymare: 1994 Sandcastle 2024, Noyabr
Anonim
Sho'ng'in dubulg'asi sensorli chiroq
Sho'ng'in dubulg'asi sensorli chiroq
Sho'ng'in dubulg'asi sensorli chiroq
Sho'ng'in dubulg'asi sensorli chiroq
Sho'ng'in dubulg'asi sensorli chiroq
Sho'ng'in dubulg'asi sensorli chiroq
Sho'ng'in dubulg'asi sensorli chiroq
Sho'ng'in dubulg'asi sensorli chiroq

Bu ko'rsatmali

Sizga kerak bo'ladi

  1. Sho'ng'in dubulg'asi yoki unga tenglashtirilgan
  2. Neopikselga mos keladigan LED halqa (men 38 LEDli uzuk ishlatardim)
  3. Wemos ESP32 platasi (yoki unga tenglashtirilgan)
  4. 3D printer

1 -qadam: Ushbu qismlarni chop eting

Agar siz boshqa sho'ng'in dubulg'asidan foydalansangiz, bu qismlar moslashtirilishi kerak bo'lishi mumkin, men bilaman, bu menda juda keng tarqalgan.

2 -qadam: Kodni yuklang

Ssid va parolni kodga joylashtiring, so'ngra taxtangizga yuklang. Bu loyiha yig'ilgandan so'ng OTAga yangi kodni yuklashga ruxsat berish uchun mavjud. Siz NeoPixelBus -ni Makuna -ga o'rnatishingiz kerak bo'ladi https://github.com/Makuna/NeoPixelBus Bundan tashqari, ushbu taxtadan foydalanish uchun ESP32 karta ta'riflarini arduino muhitiga o'rnatishingiz kerak bo'ladi.

// Wifi Jazz #include #include #include #include bool wifi_timout = 0; const char* ssid = "SSID"; const char* password = "Parol"; // Neopixel jazz #include const uint16_t PixelCount = 38; const uint8_t PixelPin = 19; int colorSaturation = 50; int Yorqinligi = 50; int R = 0; int G = 0; int B = 0; int Pulse = 1600; // Pulsatsiya orasidagi yarim vaqt RgbColor qora (0); // Button Jazz float Button1_total = 0; int tekislash = 50; const int debounce = 5; float tugmasi1 [o'chirish]; bool PWR = 0; NeoPixelBus uzuk (PixelCount, PixelPin); void setup () {Serial.begin (115200); Serial.println ("Yuklash"); WiFi rejimi (WIFI_STA); WiFi.begin (ssid, parol); while (WiFi.waitForConnectResult ()! = WL_CONNECTED) {Serial.println ("Ulanish muvaffaqiyatsiz tugadi!"); kechikish (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 ();} if if (wifi_timout == 0) {ArduinoOTA.end (); wifi_timout = 1; WiFi rejimi (WIFI_OFF); btStop (); } if (button1_capture () == 1) {ring. ClearTo (qora); ring. Show (); PWR =! PWR; } if (millis () <1500) {PWR = 0;} if (ring. CanShow () && PWR == 1) {Light (0);} kechikish (10); } void OTA_init () {ArduinoOTA.onStart ( () {String turi; if (ArduinoOTA.getCommand () == U_FLASH) type = "eskiz"; boshqa // U_SPIFFS turi = "fayl tizimi"; // QAYD: agar SPIFFS -ni yangilash SPIFFS.end () Serial.println ("Yangilanishni boshlash" + turi);}).onEnd ( () {Serial.println ("\ nEnd");}) yordamida SPIFFS -ni o'chirish joyi bo'ladi..onProgress ( (imzosiz int jarayoni, imzosiz int jami) {Serial.printf ("Progress:%u %% / r", (progress / (jami / 100)));}).onError ( (ota_error_t xato) {Serial.printf ("Xato [%u]:", xato); agar (xato == OTA_AUTH_ERROR) Serial.println ("Auth Failed"); if if (error == OTA_BEGIN_ERROR) Serial.println ("Boshlash Muvaffaqiyatsiz "); aks holda (xato == OTA_CONNECT_ERROR) Serial.println (" Ulanish muvaffaqiyatsiz tugadi "); aks holda (xato == OTA_RECEIVE_ERROR) Serial.println (" Qabul qilmadi "); aks holda (xato == OTA_END_ERROR) Serial. println ("Yakunlanmadi");}); ArduinoOTA.begin (); Serial.println ("Tayyor"); Serial.print ("IP -manzil:"); Serial.println (WiFi.localIP ()); } int button1_capture () {for (int i = 0; i <(debounce-1); i ++) {Button1 = Button1 [i+1]; } Button1 [debounce-1] = (touchRead (T0)); float oqimi = MaxArray (Button1); float Button1_smooth = Button1_total/tekislash; // suzuvchi oqim = AveArray (Button1); Serial.print (Button1_smooth); Serial.print (""); Serial.print (joriy); Serial.print (""); Serial.println (Button1 [debounce-1]); agar (joriy <(0,85*Button1_smooth)) {Button1_total = 0; // qarzni qaytarish sifatida ishlaydi 1; } else {Button1_total = joriy +Button1_total -Button1_smooth; } qaytarish 0; } float MaxArray (float MaxMe ) {float mxm = MaxMe [0]; float mnm = MaxMe [0]; uchun (int i = 0; imxm) {mxm = MaxMe ; }} mxm qaytarish; } float AveArray (float AveMe ) {float jami = 0; float ave = 0; uchun (int i = 0; i

3 -qadam: yig'ish

O'rnatish
O'rnatish

Ko'rsatilganidek, taxtani sim bilan ulang va uning ishlashini tekshiring.

"Tutqich" ga ulangan tarmoq sensorli tugma vazifasini bajaradi. Mening bortimda ESP32 T0 D4 ga ulangan. Agar siz boshqa taxtadan foydalansangiz, buni tekshirishingiz kerak bo'ladi.

Bu pinaga yalang'och simni ulash ham xuddi shunday bo'ladi. Uni ikki marta bosish, tungi chiroq kabi pastda yonadi. 3 marta biroz yorqinroq va 4 barobar oq.

4 -qadam: qismlarni dubulg'aga yig'ing

Parchalarni dubulg'aga yig'ing
Parchalarni dubulg'aga yig'ing
Parchalarni dubulg'aga yig'ing
Parchalarni dubulg'aga yig'ing

Chiroqni yoqish uchun biz dubulg'aning tutqichini sensorli sensor sifatida ishlatamiz. Bu shuni anglatadiki, u dubulg'aning qolgan qismidan izolyatsiya qilinishi kerak. Tutqichni echib oling va aloqa yuzini izolyatsion lenta bilan yoping. Men uni aralashtirish uchun jigarrang lentani ishlatardim, u rasmda ko'k rang bilan ajratilgan. Teshiklarni burab qo'ying, shunda vintlar bo'shashadi va boshqa plastmassa yuvish vositasi bilan qayta o'rnatiladi.

Tugmachani burama ulagich yordamida tutqich vintlaridan biriga ulang.

Agar siz suzuvchi elektr ta'minotidan foydalanishni rejalashtirmoqchi bo'lsangiz (deyarli barchasi), siz ham xuddi shunday tarzda dubulg'aning korpusiga GND pinini ulashingiz kerak bo'ladi. Endi chiroqni yoqish uchun bir qo'lingizni dubulg'aga qo'ying va boshqa qo'lingiz bilan tutqichni ushlang.

5 -qadam: quvvatni ulang

Image
Image
Quvvatni ulang
Quvvatni ulang

Mikro USB uzish panelini 3D bosma panelli ulagichga mahkamlang, so'ngra non bilan mahkamlang.

Buning o'rniga har qanday 5V shahar quvvat manbai ishlatilishi mumkin, lekin mening uyimda usb zaryadlovchilar ko'p. Men eski egilishni taqlid qilish va ko'rinishni to'ldirish uchun o'rilgan usb kabelidan foydalandim.

Shunday qilib, siz tugadingiz.

Agar siz qo'shimcha ranglar, effektlar yoki taymerlarni sinab ko'rish uchun kodni o'zgartirmoqchi bo'lsangiz, u har safar ulanganida birinchi 10 daqiqada arduino OTA qurilmasi sifatida mavjud bo'ladi. Bu esa quvvatni tejash uchun o'chadi.

Tavsiya: