Orodha ya maudhui:
- Vifaa
- Hatua ya 1: Vifaa
- Hatua ya 2: Kuamua Ugavi wa Umeme Sawa kwa LedWall Yako
- Hatua ya 3: Kamba ya Nguvu
- Hatua ya 4: Wiring Up Ugavi wa Nguvu
- Hatua ya 5: Kuwezesha ESP32S
- Hatua ya 6: Kuimarisha Vipande vya Mwanga wa LED
- Hatua ya 7: Kuunganisha ESP32 na Vipande vya Mwanga wa LED
- Hatua ya 8: Kuandaa Kompyuta: Dereva wa C2102
- Hatua ya 9: Programu ya Arduino - Kuongeza Usaidizi wa ESP32 - Hatua ya 1
- Hatua ya 10: Programu ya Arduino - Kuongeza Usaidizi wa ESP32 - Hatua ya 2
- Hatua ya 11: Programu ya Arduino - Kuongeza Usaidizi wa ESP32 - Hatua ya 3
- Hatua ya 12: Kuongeza Maktaba kwa IDE ya Arduino
- Hatua ya 13: Nambari ya kwanza: Mtihani wa Strand
- Hatua ya 14: Nambari ya Mfano ya SHU
- Hatua ya 15: Kupakia Nambari kwa ESP32
- Hatua ya 16: Manukuu
Video: Ukuta wa LED 500 Na ESP32: Hatua 16
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
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
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
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
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
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
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
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
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
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
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:
Ukuta wa Maingiliano ya LED (Rahisi kuliko Inavyoonekana): Hatua 7 (na Picha)
Ukuta wa Matofali ya Kuingiliana ya LED (Rahisi kuliko Inavyoonekana): Katika mradi huu nilijenga onyesho la ukuta wa mwingiliano wa LED kwa kutumia sehemu za Arduino na 3D zilizochapishwa. Msukumo wa mradi huu ulitoka kwa sehemu kutoka kwa tiles za Nanoleaf. Nilitaka kuja na toleo langu mwenyewe ambalo halikuwa rahisi tu, lakini pia mo
Saa ya Ukuta ya Ambient LED: Hatua 11 (na Picha)
Saa ya Ukuta ya Ambient: Hivi karibuni nimeona watu wengi wakijenga matrices makubwa ya LED ambayo yanaonekana kuwa mazuri kabisa, lakini labda yalikuwa na nambari ngumu au sehemu ghali au zote mbili. Kwa hivyo nilifikiria kujenga tumbo langu la LED lenye sehemu za bei rahisi sana na
Ukuta wa LED iliyochapishwa ya 3D: Hatua 6 (na Picha)
Ukuta wa LED uliochapishwa wa 3D: Hivi ndivyo inavyoweza kutengeneza ukuta wa LED kwa kutumia moduli zilizochapishwa za 3D, taa 12 zilizoongozwa na WS2812 na mipira ya ping-pong ya 38mm. Walakini, kufanya ujenzi wa mitambo ilikuwa ngumu sana. Badala yake nilibuni mfumo wa msimu wa 3D. Kila moduli ni 30x30 cm na
Ishara ya Ukuta ya LED ya 3D: 3 Hatua
Ishara ya Ukuta ya LED iliyochapishwa ya 3D: Katika hii inayoweza kufundishwa, nitawafundisha nyinyi jinsi nilivyounda Ishara ya LED iliyochapishwa ya 3D! Ikiwa una printa ya 3D, basi vifaa haitagharimu zaidi ya $ 20
Saa ya Ukuta ya Analog ya LED Kutumia Arduino: Hatua 4
Saa ya Ukuta ya Analog ya LED Kutumia Arduino: Hii ni saa ya ukuta ya Analog ya LED kutumia Arduino