Orodha ya maudhui:

Taa ya Kugusa ya Chapeo ya Kupiga Mbizi: Hatua 5
Taa ya Kugusa ya Chapeo ya Kupiga Mbizi: Hatua 5

Video: Taa ya Kugusa ya Chapeo ya Kupiga Mbizi: Hatua 5

Video: Taa ya Kugusa ya Chapeo ya Kupiga Mbizi: Hatua 5
Video: Маленький лисенок вышел к людям за помощью 2024, Julai
Anonim
Taa ya Kugusa ya Chapeo
Taa ya Kugusa ya Chapeo
Taa ya Kugusa ya Chapeo
Taa ya Kugusa ya Chapeo
Taa ya Kugusa ya Chapeo
Taa ya Kugusa ya Chapeo
Taa ya Kugusa ya Chapeo
Taa ya Kugusa ya Chapeo

Katika hili kufundisha

Utahitaji

  1. Kofia ya kupiga mbizi au sawa
  2. Pete inayoendana ya LED ya Neopixel (nilitumia pete yenye LED 38)
  3. Bodi ya Wemos ESP32 (au sawa)
  4. Printa ya 3D

Hatua ya 1: Chapisha Sehemu hizi

Sehemu hizi zinaweza kuhitaji kubadilika ikiwa unatumia kofia tofauti ya kupiga mbizi, nilijifunza kuwa niliyo nayo ni kawaida sana

Hatua ya 2: Pakia Nambari

Weka ssid yako na nywila kwenye kificho kisha pakia kwenye bodi yako. Hapa kuna kuruhusu OTA kupakia nambari mpya baada ya mradi kukusanywa. Utahitaji kusanikisha NeoPixelBus na Makuna inapatikana hapa https://github.com/Makuna/NeoPixelBus Utahitaji pia kusanikisha ufafanuzi wa bodi ya ESP32 katika mazingira ya arduino ili kutumia bodi hii.

// Wifi Jazz # pamoja na # pamoja na # pamoja na # pamoja na bool wifi_timout = 0; const char * ssid = "SSID"; const char * password = "Nenosiri"; // Jazba ya Neopixel # pamoja na const uint16_t PixelCount = 38; const uint8_t PixelPin = 19; rangi ya ujazo = 50; Mwangaza = 50; int R = 0; int G = 0; int B = 0; Pulse = 1600; // Nusu ya muda kati ya mapigo RgbColor nyeusi (0); // Kifungo Jazz kuelea Button1_total = 0; kulainisha int = 50; const int debounce = 5; kuelea Button1 [debounce]; PWR ya bool = 0; Pete ya NeoPixelBus (PixelCount, PixelPin); kuanzisha batili () {Serial.begin (115200); Serial.println ("Upigaji kura"); Njia ya WiFi (WIFI_STA); Kuanza kwa WiFi (ssid, password); wakati (WiFi.waitForConnectResult ()! = WL_CONNECTED) {Serial.println ("Uunganisho Umeshindwa!"); kuchelewesha (5000); //ESP. Kuanza upya (); } OTA_init (); kugusa_pad_init (); touchSetCycles (0x6000, 0x6000); // kugusa_pad_set_cnt_mode (0, TOUCH_PAD_SLOPE_7, TOUCH_PAD_TIE_OPT_HIGH); pete Anzisha (); pete. Onyesha (); } kitanzi batili () {if (millis () <600000) {ArduinoOTA.handle ();}} mwingine ikiwa (wifi_timout == 0) {ArduinoOTA.end (); wifi_timout = 1; Njia ya WiFi (WIFI_OFF); Stop (); } ikiwa (button1_capture () == 1) {ring. ClearTo (nyeusi); ring. Show (); PWR =! PWR; } ikiwa (millis () <1500) {PWR = 0;} ikiwa (ring. CanShow () && PWR == 1) {Light (0);} kuchelewesha (10); } batili OTA_init () {ArduinoOTA. onStart ( () {String type; if (ArduinoOTA.getCommand () == U_FLASH) type = "sketch"; else // U_SPIFFS type = "systemystem"; kusasisha SPIFFS hii itakuwa mahali pa kushusha SPIFFS kwa kutumia SPIFFS.end () Serial.println ("Anza kusasisha" + aina);}). kwenyeEnd ( () {Serial.println ("\ nEnd");}).onProgress ( (unsigned int progress, unsigned int total) {Serial.printf ("Progress:% u %% / r", (maendeleo / (jumla / 100)));}).onError ( (ota_error_t makosa) Imeshindwa "); kingine ikiwa (error == OTA_CONNECT_ERROR) Serial.println (" Unganisha Imeshindwa "); vingine ikiwa (kosa == OTA_RECEIVE_ERROR) Serial.println (" Pokea Imeshindwa "); println ("Mwisho Umeshindwa");}); ArduinoOTA.anza (); Serial.println ("Tayari"); Serial.print ("Anwani ya IP:"); Serial.println (WiFi.localIP ()); } int button1_capture () {for (int i = 0; i <(debounce-1); i ++) {Button1 = Button1 [i + 1]; } Kitufe1 [debounce-1] = (touchRead (T0)); kuelea sasa = MaxArray (Button1); Kifungo cha kuelea1_smooth = Kifungo1_jumla / laini; // kuelea sasa = AveArray (Button1); Serial.print (Button1_smooth); Serial.print (""); Serial.print (ya sasa); Serial.print (""); Serial.println (Button1 [debounce-1]); ikiwa (sasa <(0.85 * Button1_smooth)) {Button1_total = 0; // inafanya kazi kama kurudi nyuma 1; } mwingine {Button1_total = current + Button1_total -Button1_smooth; } kurudi 0; } kuelea MaxArray (kuelea MaxMe ) {kuelea mxm = MaxMe [0]; kuelea mnm = MaxMe [0]; kwa (int i = 0; imxm) {mxm = MaxMe ; }} kurudi mxm; } kuelea AveArray (kuelea AveMe ) {kuelea jumla = 0; kuelea ave = 0; kwa (int i = 0; i

Hatua ya 3: Mkutano

Mkutano
Mkutano

Waya waya wako kama inavyoonyeshwa na angalia kuwa inafanya kazi.

Wavu iliyounganishwa na 'kipini' itafanya kama kitufe cha kugusa. Kwenye ubao wangu ESP32 T0 imeambatishwa kwa D4. Utahitaji kuangalia hii ikiwa unatumia bodi tofauti.

Kuunganisha waya wazi kwenye pini hii itakuwa sawa. Kubonyeza mara mbili kutaigeuza chini kama taa ya usiku. Mara 3 nyepesi kidogo na mara 4 nyeupe.

Hatua ya 4: Kusanya Sehemu Katika Chapeo

Kukusanya Sehemu Katika Chapeo
Kukusanya Sehemu Katika Chapeo
Kukusanya sehemu ndani ya Chapeo
Kukusanya sehemu ndani ya Chapeo

Ili kuwasha taa tutatumia mpini wa kofia kama sensorer ya kugusa. Hii inamaanisha lazima iwe na maboksi kutoka kwa kofia yote. Ondoa mpini na funika uso wa mawasiliano na mkanda wa insulation. Nilitumia mkanda wa kahawia kuifanya iweze kuchanganyika, imeangaziwa bluu kwenye picha. Toa mashimo ili visu viwe katika kibali na urejeshe tena na viboreshaji vya plastiki upande mwingine.

Unganisha kifungo chako cha kitufe kwa moja ya visu za kushughulikia ukitumia kontakt ya crimp.

Ikiwa unapanga kutumia usambazaji wa umeme unaozunguka (mzuri sana) basi utahitaji kuunganisha pini ya GND na mwili wa kofia kwa njia ile ile. Sasa kuwasha taa mahali mkono mmoja kwenye kofia ya chuma na gusa mpini na ther nyingine.

Hatua ya 5: Unganisha Nguvu

Image
Image
Unganisha Nguvu
Unganisha Nguvu

Parafua bodi ndogo ya kuzuka kwa USB kwenye kontakt iliyochapishwa ya 3D iliyochapishwa kisha salama mahali pamoja na nati.

Ugavi wowote wa umeme wa 5V DC unaweza kutumika badala yake chaja za usb ni nyingi katika nyumba yangu. Nilitumia kebo ya usb iliyosukwa ili kuyeyusha mabadiliko ya zamani na kukamilisha muonekano.

Hiyo ndio umemaliza.

Ikiwa unataka kurekebisha nambari ili ujaribu rangi za ziada, athari au vipima muda basi itapatikana kama kifaa cha arduino OTA kwa dakika 10 za kwanza kila wakati imechomekwa. Hii itazima ili kuokoa nguvu.

Ilipendekeza: