Мазмуну:
- 1 -кадам: Бул бөлүктөрдү басып чыгаруу
- 2 -кадам: Кодду жүктөө
- 3 -кадам: Ассамблея
- 4 -кадам: Бөлүктөрдү туулгага чогултуңуз
- 5 -кадам: Күчтү туташтыруу
Video: Сууга секирүүчү каска Touch Lamp: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Бул көрсөтмөдө
Сага керек болот
- Сууга түшүүчү туулга же эквиваленти
- Neopixel шайкеш LED шакеги (мен 38 LED менен шакек колдондум)
- Wemos ESP32 тактасы (же эквиваленти)
- 3D принтер
1 -кадам: Бул бөлүктөрдү басып чыгаруу
Эгерде сиз башка сүзүү туулгасын колдонуп жатсаңыз, бул бөлүктөрдү ыңгайлаштыруу керек болушу мүмкүн, менде менде болгон нерсе абдан кеңири таралган экенин билдим
2 -кадам: Кодду жүктөө
Кодуңузга ssid менен сырсөзүңүздү коюп, анан тактаңызга жүктөңүз. Бул долбоор чогултулгандан кийин OTAга жаңы кодду жүктөөгө уруксат берүү үчүн бар. Сиз бул жерде бар Makuna тарабынан NeoPixelBus орнотушуңуз керек 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; // Pulsations ортосундагы жарым убакыт RgbColor black (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 (); ring. Show (); } 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 (black); ring. Show (); PWR =! PWR; } if (millis () <1500) {PWR = 0;} if (ring. CanShow () && PWR == 1) {Light (0);} delay (10); } void OTA_init () {ArduinoOTA.onStart ( () {String type; if (ArduinoOTA.getCommand () == U_FLASH) type = "sketch"; else // U_SPIFFS type = "filesystem"; // NOTE: if SPIFFSти жаңыртуу бул SPIFFS.end () Serial.println ("Жаңыртууну баштоо" + түрү);}).onEnd ( () {Serial.println ("\ nАкыры");}) аркылуу SPIFFSти ажыратуу үчүн жер болмок..onProgress ( (колу жок прогресс, кол коюлбаган int)) {Serial.printf ("Прогресс:%u %% / r", (прогресс / (бардыгы / 100)));}).onError ( (ota_error_t ката) {Serial.printf ("Error [%u]:", error); if (error == OTA_AUTH_ERROR) Serial.println ("Auth Failed"); if if (error == 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 (current); Serial.print (""); Serial.println (Button1 [debounce-1]); if (учурдагы <(0.85*Button1_smooth)) {Button1_total = 0; // дебюндун кайтарымы катары иштейт 1; } else {Button1_total = current +Button1_total -Button1_smooth; } return 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 түзмөгү катары жеткиликтүү болот. Бул кубатты үнөмдөө үчүн өчүрүлөт.
Сунушталууда:
Arduino менен секирүүчү адам оюну: 3 кадам
Arduino менен секирүүчү адам оюну: Баарына салам !!! Менин биринчи көрсөтмөмө кош келиңиз. Мен Jumping Dinosaur оюнунун чоң күйөрманы болдум, ошондуктан Arduino UNO жана LCD экрандын жардамы менен ушундай оюн курууга аракет кылдым. Бул кызыктуу долбоор жана бир гана аракетти талап кылат
Угуучу секирүүчү Джек, Google Coral TPU Accelerator Version: 4 Steps
Угуучу секирүүчү джек, Google Coral TPU акселераторунун версиясы: Ал буту -колун кыймылдатып, буйрутмаларыңызды угат, ал акыркы машинаны үйрөнүү технологиясы менен башкарылат! жана "көз" катары светодиоддорго ээ болгон абдан жөнөкөй тиш. Бул
Үн менен башкарылган секирүүчү джек- Google Voice AIY версиясы: 3 кадам
Үн менен башкарылуучу секирүүчү джек- Google Voice AIY версиясы: Ошентип, сиз бул AIY үн топтомун Рождество үчүн алдыңыз жана аны менен бирге ойноп жатасыз. Бул күлкүлүү, бирок азыр? Төмөндө сүрөттөлгөн долбоор, Raspbe үчүн AIY Voice HATтин жардамы менен түзүлүүчү жөнөкөй түзүлүштү сунуштайт
Сууга түшүүчү 2017: 95 кадам
Сууга түшүүчү 2017: Сууга түшүүчү 2017
Сууга чөгүүчү унаа: 5 кадам
Сууга чөмүлүүчү транспорт каражаты: **************** БУЛ НАСААТКА ДАГЫ ИШТЕГИ ЭМЕС **************** Бул Нускамалык тапшырма аткарылышы үчүн түзүлгөн Түштүк Флорида Университетиндеги Маккурстун долбоорунун талабы (www.makecourse.com). Бул Instructabl