Სარჩევი:

Diving ჩაფხუტი სენსორული ნათურა: 5 ნაბიჯი
Diving ჩაფხუტი სენსორული ნათურა: 5 ნაბიჯი

ვიდეო: Diving ჩაფხუტი სენსორული ნათურა: 5 ნაბიჯი

ვიდეო: Diving ჩაფხუტი სენსორული ნათურა: 5 ნაბიჯი
ვიდეო: HIStory WORLD TOUR: La GIRA MÁS ASISTIDA de Michael Jackson (Documental) | The King Is Come 2024, ივლისი
Anonim
Diving ჩაფხუტი Touch ნათურა
Diving ჩაფხუტი Touch ნათურა
Diving ჩაფხუტი Touch ნათურა
Diving ჩაფხუტი Touch ნათურა
Diving ჩაფხუტი Touch ნათურა
Diving ჩაფხუტი Touch ნათურა
Diving ჩაფხუტი Touch ნათურა
Diving ჩაფხუტი Touch ნათურა

ამ სასწავლო

თქვენ დაგჭირდებათ

  1. მყვინთავის ჩაფხუტი ან ექვივალენტი
  2. Neopixel თავსებადი LED ბეჭედი (მე გამოვიყენე ბეჭედი 38 LED- ით)
  3. Wemos ESP32 დაფა (ან ექვივალენტი)
  4. 3D პრინტერი

ნაბიჯი 1: დაბეჭდეთ ეს ნაწილები

ეს ნაწილები შეიძლება საჭიროებდეს ადაპტაციას, თუ იყენებთ სხვადასხვა ჩაძირვის მუზარადს, მე გავიგე, რომ ის, რაც მე მაქვს, საკმაოდ გავრცელებულია

ნაბიჯი 2: ატვირთეთ კოდი

განათავსეთ თქვენი ssid და პაროლი კოდში და შემდეგ ატვირთეთ თქვენს დაფაზე. ეს არის იმის საშუალება, რომ OTA ატვირთოს ახალი კოდი პროექტის შეკრების შემდეგ. თქვენ დაგჭირდებათ NeoPixelBus by Makuna– ს დაყენება აქ https://github.com/Makuna/NeoPixelBus თქვენ ასევე დაგჭირდებათ ESP32 დაფის განმარტებების დაყენება არდუინოს გარემოში, რათა გამოიყენოთ ეს დაფა.

// Wifi Jazz #include #include #include #include #include bool wifi_timout = 0; const char* ssid = "SSID"; const char* პაროლი = "პაროლი"; // ნეოპიქსელის ჯაზი #მოიცავს 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 პულსი = 1600; // პულსაციებს შორის ნახევარი დრო RgbColor შავი (0); // Button Jazz float Button1_total = 0; int დაგლუვება = 50; const int დებუნსი = 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); ბეჭედი. დაწყება (); ბეჭედი. ჩვენება (); } void loop () {if (millis () <600000) {ArduinoOTA.handle ();} სხვა შემთხვევაში თუ (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);} დაგვიანებით (10); } void OTA_init () {ArduinoOTA.onStart ( () {სიმებიანი ტიპი; SPIFFS- ის განახლება ეს იქნება ადგილი SPIFFS- ის გამოსაყენებლად SPIFFS.end– ის გამოყენებით..onProgress ( (unsigned int progress, unsigned int total) {Serial.printf ("Progress:%u %% / r", (progress / (total / 100)));}).onError ( (ota_error_t შეცდომა) {Serial.printf ("შეცდომა [%u]:", შეცდომა); ვერ მოხერხდა "); სხვა შემთხვევაში (შეცდომა == OTA_CONNECT_ERROR) Serial.println (" დაკავშირება ვერ მოხერხდა "); სხვა შემთხვევაში თუ (შეცდომა == OTA_RECEIVE_ERROR) Serial.println (" მიღება ვერ მოხერხდა "); სხვა შემთხვევაში თუ (შეცდომა == OTA_END_ERROR) სერიული println ("დასრულდა ვერ მოხერხდა");}); ArduinoOTA. დასაწყისი (); Serial.println ("მზადაა"); Serial.print ("IP მისამართი:"); Serial.println (WiFi.localIP ()); } int button1_capture () {for (int i = 0; i <(debounce-1); i ++) {Button1 = Button1 [i+1]; } ღილაკი 1 [დებუნსი -1] = (touchRead (T0)); float current = MaxArray (ღილაკი 1); float Button1_smooth = Button1_total/smoothing; // float current = AveArray (ღილაკი 1); 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]; for (int i = 0; imxm) {mxm = MaxMe ; }} დაბრუნება mxm; } float AveArray (float AveMe ) {float total = 0; float გამზირი = 0; for (int i = 0; i

ნაბიჯი 3: შეკრება

შეკრება
შეკრება

შეაერთეთ დაფა, როგორც ნაჩვენებია და შეამოწმეთ, რომ ის მუშაობს.

"სახელურთან" დაკავშირებული ქსელი იმოქმედებს, როგორც შეხების ღილაკი. ჩემს დაფაზე ESP32 T0 ერთვის D4- ს. თქვენ უნდა შეამოწმოთ ეს სხვა დაფის გამოყენებისას.

ამ ქინძისთავზე შიშველი მავთულის მიმაგრება იგივე იქნება. ორჯერ დაჭერით ღამის შუქივით დაბალი გახდება. 3 -ჯერ ოდნავ კაშკაშა და 4 -ჯერ თეთრი.

ნაბიჯი 4: შეიკრიბეთ ნაწილები მუზარადზე

შეიკრიბეთ ნაწილები ჩაფხუტში
შეიკრიბეთ ნაწილები ჩაფხუტში
შეიკრიბეთ ნაწილები ჩაფხუტში
შეიკრიბეთ ნაწილები ჩაფხუტში

ნათურის ჩასართავად ჩაფხუტის სახელურს შეხების სენსორად ვიყენებთ. ეს ნიშნავს, რომ ის უნდა იყოს იზოლირებული მუზარადის დანარჩენი ნაწილისგან. ამოიღეთ სახელური და გადააფარეთ კონტაქტის სახე საიზოლაციო ლენტით. მე გამოვიყენე ყავისფერი ლენტი, რომ შეერწყა, გამოსახულებაზე მონიშნულია ლურჯი. გააღეთ ხვრელები ისე, რომ ხრახნები იყოს კლირენსიდან და ხელახლა შეინახოთ პლასტმასის საყელურები მეორე მხარეს.

შეაერთეთ თქვენი ღილაკი სახელურის ერთ -ერთ ხრახნს დამჭერი კონექტორის გამოყენებით.

თუ თქვენ გეგმავთ მცურავი ელექტრომომარაგების გამოყენებას (თითქმის ყველა მათგანი), მაშინ თქვენ დაგჭირდებათ GND პინის დაკავშირება ჩაფხუტის სხეულზე ანალოგიურად. ნათურა რომ ჩართოთ, ერთი ხელი ჩაფხუტზე დადეთ და მეორე ხელით შეეხეთ სახელურს.

ნაბიჯი 5: შეაერთეთ დენი

Image
Image
შეაერთეთ დენი
შეაერთეთ დენი

მიამაგრეთ მიკრო USB გარღვევის დაფა 3D დაბეჭდილ ნაყარის კონექტორზე და შემდეგ დააფიქსირეთ თხილის ადგილას.

მის ნაცვლად შეიძლება გამოყენებულ იქნას ნებისმიერი 5V DC კვების წყარო, მაგრამ USB დამტენი უხვად არის ჩემს სახლში. მე გამოსაყენებელი USB კაბელი გამოვიყენე ძველი ფლექსისა და გარეგნობის დასასრულებლად.

ეს არის ის, რომ თქვენ დასრულდა.

თუ გსურთ კოდის შეცვლა დამატებითი ფერების, ეფექტების ან ქრონომეტრების გამოსაცდელად, ის ხელმისაწვდომი იქნება როგორც arduino OTA მოწყობილობა პირველი 10 წუთის განმავლობაში ყოველ ჯერზე, როდესაც ის არის ჩართული. ეს შემდეგ გამორთულია ენერგიის დაზოგვის მიზნით.

გირჩევთ: