Orodha ya maudhui:

Ukuta wa LED 500 Na ESP32: Hatua 16
Ukuta wa LED 500 Na ESP32: Hatua 16

Video: Ukuta wa LED 500 Na ESP32: Hatua 16

Video: Ukuta wa LED 500 Na ESP32: Hatua 16
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Julai
Anonim
Ukuta wa 500s na ESP32
Ukuta wa 500s na ESP32

Halo kila mtu! Mwisho wa mafunzo haya utajua jinsi ya kuunda ukuta wako wa LED.

Mafunzo haya yanategemea programu ya majira ya joto inayotolewa katika Chuo Kikuu cha Moyo Mtakatifu.

Furahiya!

Vifaa

Vifaa vilivyoorodheshwa hapa chini.

Hatua ya 1: Vifaa

Vifaa
Vifaa

Wacha tuanze kwa kukusanya kila kitu tunachohitaji ili kukamilisha Ukuta wetu ulioongozwa:

(Viungo viliundwa mnamo 7/10/2019)

Programu ya IDE ya Arduino

Mdhibiti mdogo wa ESP32

Mwanga wa Pixel ya LED

Ugavi wa Umeme

Waya wa umeme

Zana ya Kukata waya

Cables Jumper Jumper

Waya wa umeme

Hatua ya 2: Kuamua Ugavi wa Umeme Sawa kwa LedWall Yako

Kuna njia rahisi ya hisabati ya kujua ni umeme upi unaofaa kwako kwa matumizi.

Tunatumia sheria ya nguvu ya Ohm: P = IxV (Power = Intensity x Voltage)

Voltage imedhamiriwa na risasi zetu: katika kesi hii 5V.

Ukali unategemea vifaa, Led moja hutumia 30mA.

Kila ukanda wa Leds 50 kwa hivyo hutumia 50 x 30mA = 1250mA = 1.25A.

Ukuta wetu ulioongozwa wa 500 kwa hivyo hutumia mara 10 hiyo (vipande 10): 12.5A.

Matumizi ya nguvu basi 5V x 12.5A = 62.5W kwa Leds.

Kwa kweli, juu ya Leds unahitaji kuhesabu ESP na kila kitu kingine cha mzunguko wako.

Tuna umeme wa 60A, tuna mengi zaidi kuliko tunayohitaji.

Hatua ya 3: Kamba ya Nguvu

Image
Image

Ugavi wetu wa umeme huja na viunganisho vya waya. Tunahitaji kurekebisha kamba ya umeme ili kuiunganisha na kuziba 110V.

- Kata kiunganishi cha kike kwenye kamba ya umeme. Tutaweka sehemu ya kiume, vinginevyo ujue kama NEMA 5-15P.

- Kanda kebo ili karibu 3mm ya shaba ionekane kwenye waya zote.

Hapa kuna mafunzo ya video ya haraka juu ya jinsi ya kuvua waya:

Hatua ya 4: Wiring Up Ugavi wa Nguvu

Kuwezesha ESP32S
Kuwezesha ESP32S

Sasa tuko tayari kufunga umeme wetu!

Daima ondoa umeme wakati unafanya kazi juu yake.

Wiring

  • Waya mweusi (Awamu) huunganisha kwenye pini ya 'L' ya usambazaji wa umeme
  • Waya mweupe (Neutral) huunganisha kwa pini ya 'N' ya usambazaji wa umeme
  • Waya wa kijani huunganisha na pini ya 'Ground' ya usambazaji wa umeme

(Ikiwa waya wako wa ndani wa kamba ya nguvu sio rangi sawa na yetu kuwa salama na utafute hesabu mkondoni.)

Upimaji

Chomeka kamba ya umeme ya kompyuta kwenye duka yoyote inayotumiwa. LED ya kijani kwenye usambazaji wa umeme inapaswa kuwasha.

Hatua ya 5: Kuwezesha ESP32S

Kuangalia ESP yako inapaswa kuwe na lebo karibu na kila pini. Ikiwa haijaandikwa unaweza kutafuta 'pinout' ya ESP yako binafsi mkondoni.

Kutumia waya wa jumper wa kiume au kike wa waya wa mkate au waya wa umeme, unganisha:

  • Pini ya '5V' ESP32S kwenye '+ V' ya usambazaji wa umeme (machungwa kwenye picha hapo juu)
  • Pini ya 'GND' ESP32S kwenye sehemu ya '-V' ya usambazaji wa umeme (nyeusi kwenye picha hapo juu)

(Kwenye ESP zingine pini ya '5V' imeandikwa kama 'VCC' badala yake, zote zinamaanisha kitu kimoja.)

Tafadhali kumbuka kuwa ESP yako inaweza kuwa na 'pinout' tofauti na ile tunayotumia. Kwa hivyo unaweza kuwa unaunganisha waya zako kwa eneo tofauti kuliko kwenye picha hapo juu. Kwa muda mrefu kama unaunganisha na pini sahihi (5V & GND), eneo halisi kwenye ubao haijalishi.

TestingPlug katika usambazaji wako wa umeme tena, na ikiwa ESP yako ina kiashiria cha LED (wengi hufanya), itaangaza kuonyesha nguvu inatumwa kwa ESP. Hongera!

Hatua ya 6: Kuimarisha Vipande vya Mwanga wa LED

Kuimarisha Vipande vya Mwanga wa LED
Kuimarisha Vipande vya Mwanga wa LED

Kutumia waya za umeme:

- Unganisha waya nyekundu ya Ukanda wa Mwanga wa LED kwa V + kwenye usambazaji wa umeme.

- Unganisha waya wa hudhurungi wa Ukanda wa Mwanga wa LED kwa V- kwenye usambazaji wa umeme.

Hatua ya 7: Kuunganisha ESP32 na Vipande vya Mwanga wa LED

ESP32 yetu inaelekeza dereva wa WS2811 iliyounganishwa na kila mmoja aliongoza rangi na mwangaza wanaohitaji kuwa. Kwa kufanya hivyo, ESP32 yetu inahitaji kebo ya "data" kwa vipande.

Vipande vya Leds vinakuja na kiunganishi cha waya 3:

- Nyekundu: Nguvu- Bluu: Neutral- Nyeupe: Takwimu

Wacha tuunganishe kebo ya White Led strip na pini ya dijiti kwenye ESP. Tafadhali kumbuka nambari ya PIN iliyochaguliwa kwani tutahitaji kuichagua kwa nambari baadaye. Tuliunganisha yetu kwa pini 13.

Hatua ya 8: Kuandaa Kompyuta: Dereva wa C2102

Sasa kwa kuwa vifaa vyetu vimefungwa waya, tunataka kupakia nambari yetu ya kwanza ili kuijaribu. C2102.

Dereva hii lazima ipakuliwe na kusanikishwa:

- Windows 10: https://www.silabs.com/documents/public/software/C…- Windows 7/8 / 8.1: https://www.silabs.com/documents/public/software/C…- Mac:

(Viungo kuanzia 7/10/2019)

Hatua ya 9: Programu ya Arduino - Kuongeza Usaidizi wa ESP32 - Hatua ya 1

Programu ya Arduino - Kuongeza Usaidizi wa ESP32 - Hatua ya 1
Programu ya Arduino - Kuongeza Usaidizi wa ESP32 - Hatua ya 1
Programu ya Arduino - Kuongeza Usaidizi wa ESP32 - Hatua ya 1
Programu ya Arduino - Kuongeza Usaidizi wa ESP32 - Hatua ya 1

Kabla ya kutumia ESP32 yetu na programu ya Arduino, tunahitaji kuhakikisha kuwa inatambulika. Kwa chaguo-msingi, programu ya Arduino haiwezi kukusanya nambari ya ESP32 yetu, wacha turekebishe hiyo:

Hatua ya 1: Kuongeza bodi kwa meneja

1 - Bonyeza katika Arduino chaguo Faili >> Mapendeleo

2- Kwenye uwanja wa "URL za Meneja wa Bodi za Ziada", nakili kiunga kifuatacho:

Hatua ya 10: Programu ya Arduino - Kuongeza Usaidizi wa ESP32 - Hatua ya 2

Programu ya Arduino - Kuongeza Usaidizi wa ESP32 - Hatua ya 2
Programu ya Arduino - Kuongeza Usaidizi wa ESP32 - Hatua ya 2
Programu ya Arduino - Kuongeza Usaidizi wa ESP32 - Hatua ya 2
Programu ya Arduino - Kuongeza Usaidizi wa ESP32 - Hatua ya 2

Sasa kwa kuwa programu ya Arduino "inajua" bodi zaidi, wacha tuweke msaada wetu wa ESP32

Hatua ya 2: Kufunga msaada wa ESP32

1 - Kwenye menyu ya juu, chagua: Zana >> Bodi >> Meneja wa Bodi

2 - Dirisha litaonekana. Tumia kisanduku cha utaftaji, kilicho kona ya juu kulia, kupata "ESP32".

3 - Tafuta ile iliyotengenezwa na espressif. Sakinisha. (Tazama picha)

Hatua ya 11: Programu ya Arduino - Kuongeza Usaidizi wa ESP32 - Hatua ya 3

Programu ya Arduino - Kuongeza Usaidizi wa ESP32 - Hatua ya 3
Programu ya Arduino - Kuongeza Usaidizi wa ESP32 - Hatua ya 3

Sasa kwa kuwa programu ya Arduino inaweza kuwasiliana na ESP32 yetu, wacha tuiunganishe kwenye kompyuta na tuhakikishe kuwa kila kitu kinafanya kazi.

1 - Wacha tuhakikishe tunafanya kazi kwenye jukwaa la ESP32:

Bonyeza Zana >> Bodi >> Moduli ya ESP32 Dev

1- Wacha tuhakikishe kwamba programu ya Arduino inajua jinsi ya kuwasiliana na ESP yetu:

Bonyeza kwenye Zana >> Bandari na uchague inayotokea kutoka kwa kuziba kebo hii.

Muhimu:

Ikiwa una suala lolote la kupakia nambari kwenye ESP yako, angalia menyu hizo mbili kwanza. Ikiwa bandari haichaguliwi na alama ya kuangalia, kuliko programu ya Arduino haitawasiliana nayo.

Hatua ya 12: Kuongeza Maktaba kwa IDE ya Arduino

Kuongeza Maktaba kwa IDE ya Arduino
Kuongeza Maktaba kwa IDE ya Arduino

Sasa tutaongeza maktaba ambayo itaturuhusu kujaribu Ukuta wetu ulioongozwa!

1- Bonyeza kwenye Zana >> Simamia Maktaba.

2- Kona ya juu kulia, tafuta NeoPixelBus. Pata "NeoPixelBus na Makuna", isakinishe (tazama picha)

Maktaba zingine zinazowezekana: (Haihitajiki kwa mafunzo haya)

- NeoMatrix

- Imefungwa haraka

- Artnet

- GFX

Hatua ya 13: Nambari ya kwanza: Mtihani wa Strand

Nambari yetu ya kwanza ni mfano kutoka kwa Maktaba.

Unaweza kunakili / kubandika nambari hapa chini au bonyeza:

Picha >> Mifano >> Adafruit NeoPixelBus >> Strandtest

Tafadhali hakikisha unabadilisha LED_PIN yako kuwa ile uliyotumia kuunganisha mwongozo wako. Tulitumia 13 wakati wa mafunzo haya.

Hakikisha pia kubadilisha saizi ya strand na ubadilishaji wa LED_COUNT.

// Programu ya msingi ya kila siku ya LED Striptest.

# ni pamoja na # ifdef _AVR_ # pamoja na // Inahitajika kwa 16 MHz Adafruit Trinket #endif // Je! ni pini gani kwenye Arduino iliyounganishwa na NeoPixels? #fafanua LED_PIN 13 // Ni NeoPixels ngapi zimeambatanishwa na Arduino? #fafanua LED_COUNT 500 // Tangaza kifaa chetu cha NeoPixel: Adafruit_NeoPixel strip (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); // Hoja 1 = Idadi ya saizi katika ukanda wa NeoPixel // Hoja 2 = Nambari ya pini ya Arduino (nyingi ni halali) // Hoja 3 = bendera za aina ya pikseli, ongeza pamoja inahitajika: // NEO_KHZ800 800 KHz mkondo wa maji (bidhaa nyingi za NeoPixel w / WS2812 LEDs) // NEO_KHZ400 400 KHz (saizi za kawaida 'v1' (sio v2) FLORA, madereva WS2811) // Saizi za NEO_GRB zimefungwa kwa mtiririko wa GRB (bidhaa nyingi za NeoPixel) // Saizi za NEO_RGB zimefungwa kwa waya wa RGB (v1 FLORA, sio v2) // Saizi za NEO_RGBW zimefungwa kwa waya wa RGBW (bidhaa za NeoPixel RGBW) // kazi ya kuanzisha () - inaendesha mara moja kwa kuanza -------------------- ------------ usanidi batili () {// Mistari hii ni haswa kusaidia Adafruit Trinket 5V 16 MHz. // Bodi nyingine yoyote, unaweza kuondoa sehemu hii (lakini hakuna ubaya kuiacha): # ikiwa imefafanuliwa (_ AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set (clock_div_1); # endif // MWISHO wa nambari maalum ya Trinket. strip. kuanza (); // INITIALIZE NeoPixel strip kitu (INAHitajika) strip.show (); // ZIMA saizi zote ASAP strip.setBrightness (50); // Weka BRIGHTNESS kwa karibu 1/5 (max = 255)} // kitanzi () kazi - inaendesha mara kwa mara ilimradi bodi iko kwenye --------------- kitanzi batili () {// Jaza urefu wa ukanda katika rangi anuwai… colorWipe (strip. Color (255, 0, 0), 50); // Rangi Nyekundu Futa (ukanda. Rangi (0, 255, 0), 50); // Rangi ya kijaniFuta (ukanda. Rangi (0, 0, 255), 50); // Bluu // Fanya athari ya ukumbi wa michezo katika rangi anuwai… ukumbi wa michezoChase (Kanda ya rangi (127, 127, 127), 50); // Nyeupe, ukumbi wa kuangaza nusuChase (strip. Rangi (127, 0, 0), 50); // Nyekundu, ukumbi wa michezo wa mwangaza nusuChase (strip. Rangi (0, 0, 127), 50); // Bluu, upinde wa mvua nusu mwangaza (10); // Mzunguko wa upinde wa mvua unaovuka kando ya ukumbi wa michezo mzimaChaseRainbow (50); // ukumbi wa michezo ulioboreshwa na upinde wa mvua Chase lahaja} // Baadhi ya kazi zetu kwa kuunda athari za uhuishaji ----------------- // Jaza saizi za kupigwa moja baada ya nyingine na rangi. Ukanda haujafutwa // kwanza; kitu chochote hapo kitafunikwa pikseli na pikseli. Pitia rangi // (kama thamani moja 'iliyojaa' 32-bit, ambayo unaweza kupata kwa kupiga // strip. Rangi (nyekundu, kijani, bluu) kama inavyoonyeshwa kwenye kitanzi () kazi hapo juu), // na a kuchelewesha muda (kwa milliseconds) kati ya saizi. batili colorWipe (uint32_t color, int wait) {for (int i = 0; i strip.setPixelColor (i, color); // Weka rangi ya pixel (katika RAM) strip. onyesha (); subiri); // Pumzika kwa muda}} // Taa za mitindo ya ukumbi wa michezo ya ukumbi wa michezo. Pitia rangi (32-bit, // a la strip. Rangi (r, g, b) kama ilivyoelezwa hapo juu), na muda wa kuchelewesha (kwa ms) // kati ya muafaka. ukumbi wa michezo batiliChase (uint32_t color, int wait) {for (int a = 0; a <10; a ++) {// Rudia mara 10… kwa (int b = 0; b <3; b ++) {// 'b' hesabu kutoka 0 hadi 2… strip.clear (); // Weka saizi zote kwenye RAM hadi 0 (off) // 'c' inahesabu kutoka 'b' hadi mwisho wa piga kwa hatua ya 3… kwa (int c = b; c strip.setPixelColor (c, rangi); // Weka pixel 'c' kuthamini 'rangi'} strip.show (); (subiri); // Sitisha kwa muda}}} // Mzunguko wa Upinde wa mvua kando ya ukanda mzima. Pita muda wa kuchelewesha (kwa ms) kati ya fremu. upinde wa mvua utupu (int wait) {// Hue ya pikseli ya kwanza inaendesha vitanzi 5 kamili kupitia gurudumu la rangi. // Gurudumu la rangi lina anuwai ya 65536 lakini ni Sawa ikiwa tunapita juu, kwa hivyo // hesabu tu kutoka 0 hadi 5 * 65536. Kuongeza 256 hadi kwanzaPixelHue kila wakati // inamaanisha tutafanya 5 * 65536/256 = 1280 ipitie kitanzi hiki cha nje: kwa (long firstPixelHue = 0; firstPixelHue <5 * 65536; firstPixelHue + = 256) {for (int i = 0 // Nimeondoa hue ya pikseli kwa kiasi kufanya mapinduzi kamili ya gurudumu la rangi ya // (masafa ya 65536) kando ya urefu wa ukanda // (strip.numPixels () hatua): int pixelHue = firstPixelHue + (// strip. ColorHSV () inaweza kuchukua hoja 1 au 3: hue (0 hadi 65535) au // kwa hiari kuongeza kueneza na thamani (mwangaza) (kila 0 hadi 255). // Hapa tunatumia lahaja ya hoja moja tu. Matokeo // hupitishwa kwa strip.gamma32 () kutoa rangi za 'truer' // kabla ya kupeana kila pixel: strip.setPixelColor (i, strip.gamma32 (strip. ColorHSV (pixelHue)));} strip. onyesha (); ms) kati ya muafaka. ukumbi wa michezo batiliChaseRainbow (int wait) {i nt kwanzaPixelHue = 0; // Pikseli ya kwanza huanza kwa nyekundu (hue 0) kwa (int a = 0; a <30; a ++) {// Rudia mara 30… kwa (int b = 0; b RGB strip.setPixelColor (c, rangi); / / Weka pikseli 'c' kuthamini 'rangi'} strip.show (); zaidi ya muafaka 90}}}

Hatua ya 14: Nambari ya Mfano ya SHU

Image
Image

Nambari yetu inawasha Leds zote moja kwa moja ili kuhakikisha zinafanya kazi:

// Mfano huu utazunguka kati ya kuonyesha saizi 500 kama Nyekundu

#Inajumuisha uint16_t PixelCount = 500; // mfano huu unachukua saizi 4, kuifanya iwe ndogo itasababisha kutofaulu const uint8_t PixelPin = 13; // hakikisha kuweka hii kwa pini sahihi, iliyopuuzwa kwa Esp8266

#fafanua rangi Kueneza 128 // saizi tatu za vitu, kwa mpangilio tofauti na kasi

Ukanda wa NeoPixelBus (PixelCount, PixelPin);

// Ukanda wa NeoPixelBus (PixelCount, PixelPin); RgbColor nyekundu (0, Kueneza rangi, 0); RgbColor kijani (Kueneza rangi, 0, 0); RgbColor bluu (0, 0, Kueneza rangi); RgbColor nyeupe (Kueneza rangi); RgbColor nyeusi (0); HslColor hslRed (nyekundu); HslColor hslGreen (kijani); HslColor hslBlue (bluu); HslColor hslWhite (nyeupe); HslColor hslBlack (nyeusi); kuanzisha batili () {Serial.begin (115200) wakati (! Serial); // subiri ambatisha serial Serial.println (); Serial.println ("Inaanzisha…"); Serial.flush (); // hii inabadilisha neopixels zote kwa ukanda wa hali ya mbali. Anza (); strip. Onyesha (); Serial.println (); Serial.println ("Mbio…"); } kitanzi batili () {kuchelewesha (100); Serial.println ("Rangi R, G, B, W…"); kwa (int i = 0; i <= 499; i ++) {// weka rangi, // ikiwa hazilingani kwa mpangilio, unahitaji kutumia ukanda wa kipengee cha NeoGrbFeature. SetPixelColor (i, nyekundu); strip. Show (); kuchelewesha (100); ukanda. SetPixelColor (i, hslRed); strip. Onyesha (); kuchelewesha (100); }}

Hatua ya 15: Kupakia Nambari kwa ESP32

Muhimu:

Ili kuweza kupakia nambari kwa kidhibiti chochote kidogo, inahitaji kuwa katika hali ya programu. Zaidi fanya hivi kiatomati na unachohitajika kufanya ni bonyeza kupakia kwenye programu.

ESP32 yetu inahitaji ushikilie kitufe cha programu wakati nambari inatumwa. Pia unahitaji kuiweka upya baada ya nambari kupakiwa kwa kubonyeza mara tu kitufe cha kuweka upya.

Kitufe chetu cha programu cha ESP32 kiko kushoto, kitufe cha kuweka upya kulia. Tafadhali rejea mwongozo wako ikiwa una mdhibiti mwingine mdogo.

Hatua ya 16: Manukuu

Hii inaweza kufundishwa kwa msaada wa mafunzo yafuatayo:

randomnerdtutorials.com/installing-the-esp…

Inatumika kusanikisha ESP32 kwenye Arduino IDE.

Waandishi:

Nathaniel BaroneGabriel Castro

Mhariri:

Cedric Bleimling

Ilipendekeza: