Sisällysluettelo:

500 LEDiä Seinä ESP32: 16 askelta
500 LEDiä Seinä ESP32: 16 askelta

Video: 500 LEDiä Seinä ESP32: 16 askelta

Video: 500 LEDiä Seinä ESP32: 16 askelta
Video: Использование кнопки скорости шагового двигателя 28BYJ-48 с 8 проектами: Ultimate Video Tutorial, урок 107 2024, Marraskuu
Anonim
500 LEDiä Seinä ESP32: lla
500 LEDiä Seinä ESP32: lla

Hei kaikki! Tämän opetusohjelman loppuun mennessä tiedät, miten voit luoda oman LED -seinän.

Tämä opetusohjelma perustuu Sacred Heart -yliopiston kesäohjelmaan.

Pidä hauskaa!

Tarvikkeet

Alla luetellut tarvikkeet.

Vaihe 1: Tarvikkeet

Tarvikkeet
Tarvikkeet

Aloitetaan keräämällä kaikki mitä tarvitsemme Led -seinän täydentämiseksi:

(Linkit luotiin 10.7.2019)

Arduino IDE -ohjelmisto

ESP32 -mikro -ohjain

LED -pikselivalo

Virtalähde

Virtajohto

Langan kuorintatyökalu

Breadboard Jumper -kaapelit

Sähköjohto

Vaihe 2: Oikean virtalähteen määrittäminen LedWall -laitteellesi

On yksinkertainen matemaattinen tapa selvittää, mikä virtalähde sopii sinulle parhaiten.

Käytämme Ohmin teholakia: P = IxV (teho = voimakkuus x jännite)

Jännite määräytyy lediemme mukaan: tässä tapauksessa 5V.

Voimakkuus riippuu laitteistosta, yksi LED kuluttaa 30 mA.

Jokainen 50 ledin nauha kuluttaa siksi 50 x 30 mA = 1250 mA = 1,25 A.

500 Led -seinämme kuluttaa siksi 10 kertaa enemmän (10 nauhaa): 12,5 A.

Ledien virrankulutus on silloin 5 V x 12,5 A = 62,5 W.

Tietenkin Ledien lisäksi sinun on otettava huomioon ESP ja kaikki muut piirisi kohteet.

Meillä on 60A virtalähde, meillä on paljon enemmän kuin tarvitsemme.

Vaihe 3: Virtajohto

Image
Image

Virtalähteessämme on johdinliittimet. Meidän on sovitettava virtajohto 110 V: n pistokkeeseen liittämistä varten.

- Katkaise naarasliitin virtajohdosta. Pidämme miespuolisen osan, muuten NEMA 5-15P.

- Kuori kaapeli niin, että noin 3 mm kuparia näkyy kaikissa johtimissa.

Tässä on nopea video -opetusohjelma johtojen irrottamisesta:

Vaihe 4: Virtalähteen kytkeminen

Virtaa ESP32S: lle
Virtaa ESP32S: lle

Nyt olemme valmiita kytkemään virtalähteemme!

Irrota virtalähde aina, kun työskentelet sen kanssa.

Johdotus

  • Musta johto (vaihe) kytketään virtalähteen L -nastaan
  • Valkoinen johto (neutraali) kytketään virtalähteen N -nastaan
  • Vihreä johto kytketään virtalähteen maadoitusnastaan

(Jos virtajohtosi sisäjohdot eivät ole samanvärisiä kuin meidän, ole turvallinen ja etsi kaaviot verkossa.)

Testaus

Kytke tietokoneen virtajohto mihin tahansa pistorasiaan. Virtalähteen vihreän LED -valon pitäisi syttyä.

Vaihe 5: Virta ESP32S -laitteeseen

ESP: tä tarkasteltaessa jokaisen nastan vieressä pitäisi olla tarroja. Jos sitä ei ole merkitty, voit etsiä yksittäisen ESP: n pinoutin verkossa.

Liitä uros -naaras leipälevyn hyppyjohdolla tai sähköjohdolla:

  • 5 V: n ESP32S -nasta virtalähteen+V: ään (oranssi yllä olevassa kuvassa)
  • 'GND' ESP32S-nasta virtalähteen "-V" -osaan (musta yllä olevassa kuvassa)

(Joissakin ESP -laitteissa 5V -nasta on merkitty VCC: ksi, molemmat tarkoittavat samaa.)

Huomaa, että ESP: lläsi voi olla erilainen '' nasta '' kuin mitä käytämme. Siksi saatat liittää johdot eri paikkaan kuin yllä olevassa kuvassa. Kun liität oikeisiin nastoihin (5V ja GND), fyysisellä sijainnilla taululla ei ole väliä.

Kytke virtalähde uudelleen ja jos ESP: ssä on LED -merkkivalo (useimmat), se syttyy ja osoittaa, että virtaa lähetetään ESP: hen. Onnittelut!

Vaihe 6: Virran kytkeminen LED -valonauhoihin

Virta LED -valonauhoille
Virta LED -valonauhoille

Sähköjohtojen käyttö:

- Kytke LED -valonauhan punainen johto virtalähteen V+ -liitäntään.

- Liitä LED-valonauhan sininen johto virtalähteen V- liittimeen.

Vaihe 7: ESP32: n liittäminen LED -valonauhoihin

ESP32 ohjaa jokaiseen lediin yhdistetyn WS2811 -ohjaimen tarvitsemansa värin ja kirkkauden. Tätä varten ESP32 tarvitsee "data" -kaapelin nauhoihin.

Led -nauhoissa on 3 -johtiminen liitin:

- Punainen: Virta- Sininen: Neutraali- Valkoinen: Tiedot

Kytketään valkoinen LED -nauhakaapeli ESP: n digitaaliseen nastaan, muista valittu PIN -koodi, koska meidän on valittava se myöhemmin koodista.

Vaihe 8: Tietokoneen valmistelu: C2102 -ohjain

Nyt kun laitteistomme on kytketty, haluamme ladata ensimmäisen koodimme sen testaamiseksi. Oletuksena Windows tai MacO eivät voi kommunikoida ESP32: n kanssa. C2102.

Tämä ohjain on ladattava ja asennettava:

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

(Linkit 10.7.2019 alkaen)

Vaihe 9: Arduino -ohjelmisto - ESP32 -tuen lisääminen - Vaihe 1

Arduino -ohjelmisto - ESP32 -tuen lisääminen - Vaihe 1
Arduino -ohjelmisto - ESP32 -tuen lisääminen - Vaihe 1
Arduino -ohjelmisto - ESP32 -tuen lisääminen - Vaihe 1
Arduino -ohjelmisto - ESP32 -tuen lisääminen - Vaihe 1

Ennen kuin voimme käyttää ESP32: aa Arduino -ohjelmiston kanssa, meidän on varmistettava, että se tunnistetaan. Oletusarvoisesti Arduino -ohjelmisto ei voi koota ESP32 -koodia, korjataan se:

Vaihe 1: Taulujen lisääminen ylläpitäjään

1 - Napsauta Arduinossa vaihtoehtoa Tiedosto >> Asetukset

2- Kopioi Lisätaulujen hallinnan URL-osoitteet -kenttään seuraava linkki:

Vaihe 10: Arduino -ohjelmisto - ESP32 -tuen lisääminen - Vaihe 2

Arduino -ohjelmisto - ESP32 -tuen lisääminen - Vaihe 2
Arduino -ohjelmisto - ESP32 -tuen lisääminen - Vaihe 2
Arduino -ohjelmisto - ESP32 -tuen lisääminen - Vaihe 2
Arduino -ohjelmisto - ESP32 -tuen lisääminen - Vaihe 2

Nyt kun Arduino -ohjelmisto "tietää" lisää levyjä, asennetaan ESP32 -tuemme

Vaihe 2: ESP32 -tuen asentaminen

1 - Valitse ylävalikosta: Työkalut >> Hallitus >> Boards Manager

2 - Näyttöön tulee ikkuna. Käytä oikeassa yläkulmassa olevaa hakukenttää löytääksesi "ESP32".

3 - Etsi espressifin tekemä. Asenna se. (Katso kuva)

Vaihe 11: Arduino -ohjelmisto - ESP32 -tuen lisääminen - Vaihe 3

Arduino -ohjelmisto - ESP32 -tuen lisääminen - Vaihe 3
Arduino -ohjelmisto - ESP32 -tuen lisääminen - Vaihe 3

Nyt kun Arduino -ohjelmisto voi kommunikoida ESP32: n kanssa, kytketään se tietokoneeseen ja tarkistetaan, että kaikki toimii.

1 - Varmista, että työskentelemme ESP32 -alustalla:

Napsauta Tools >> Board >> ESP32 Dev Module

1- Varmista, että Arduino-ohjelmisto osaa kommunikoida ESP: n kanssa:

Napsauta Työkalut >> Portti ja valitse se, joka tulee esiin tämän kaapelin kytkemisen jälkeen.

Tärkeä:

Jos sinulla on ongelmia koodin lataamisessa ESP: hen, tarkista ensin nämä kaksi valikkoa. Jos porttia ei ole valittu valintamerkillä, Arduino -ohjelmisto ei kommunikoi sen kanssa.

Vaihe 12: Kirjaston lisääminen Arduino IDE: hen

Kirjaston lisääminen Arduino IDE: hen
Kirjaston lisääminen Arduino IDE: hen

Nyt aiomme lisätä kirjaston, jonka avulla voimme testata led -seinäämme!

1- Napsauta Työkalut >> Hallitse kirjastoja.

2- Etsi oikeasta yläkulmasta NeoPixelBus. Etsi "NeoPixelBus by Makuna", asenna se (katso kuva)

Mahdollisia muita mielenkiintoisia kirjastoja: (ei vaadita tätä opetusohjelmaa)

- NeoMatrix

- FastLed

- Artnet

- GFX

Vaihe 13: Ensimmäinen koodi: Strand -testi

Ensimmäinen koodimme on esimerkki kirjastosta.

Voit joko kopioida / liittää alla olevan koodin tai napsauttaa:

Tiedosto >> Esimerkkejä >> Adafruit NeoPixelBus >> Strandtest

Muista vaihtaa LED_PIN -merkkivalo siihen, jota käytit LED -valojen fyysiseen yhdistämiseen.

Muista myös muokata säikeen kokoa LED_COUNT -muuttujalla.

// Perus jokapäiväinen LED Striptest -ohjelma.

#include #ifdef _AVR_ #include // Pakollinen 16 MHz: n Adafruit -rihkalle #endif // Mikä Arduinon nasta on liitetty NeoPixel -laitteisiin? #define LED_PIN 13 // Kuinka monta NeoPixeliä on liitetty Arduinoon? #define LED_COUNT 500 // Ilmoita NeoPixel -nauhaobjektimme: Adafruit_NeoPixel strip (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); // Argumentti 1 = NeoPixel -nauhan pikselien lukumäärä // Argumentti 2 = Arduino -pin -numero (useimmat ovat kelvollisia) // Argumentti 3 = Pikselityyppiset liput, lisää tarvittaessa: // NEO_KHZ800 800 KHz: n bittivirta (useimmat NeoPixel -tuotteet WS2812 LEDit) // NEO_KHZ400 400 KHz (klassinen 'v1' (ei v2) FLORA -pikseliä, WS2811 -ohjaimet) // NEO_GRB Pikselit on kytketty GRB -bittivirtaan (useimmat NeoPixel -tuotteet) // NEO_RGB Pikselit on kytketty RGB -bittivirtaan (v1 FLORA -pikseliä), ei v2) // NEO_RGBW Pikselit on kytketty RGBW-bittivirtaan (NeoPixel RGBW -tuotteet) // setup () -toiminto-toimii kerran käynnistyksen yhteydessä -------------------- ------------ void setup () {// Nämä linjat tukevat erityisesti Adafruit Trinket 5V 16 MHz -taajuutta. // Mikä tahansa muu levy, voit poistaa tämän osan (mutta ei haittaa siitä): #if define (_ AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // END of Trinket-spesifinen koodi. strip.begin (); // ALOITA NeoPixel -nauhaobjekti (VAATIMUS) strip.show (); // Sammuta kaikki pikselit ASAP strip.setBrightness (50); // Aseta KIRKKAUS noin 1/5 (maks. = 255)} // silmukka () -toiminto-toimii toistuvasti niin kauan kuin kortti on päällä --------------- mitätön silmukka () {// Täytä nauhan pituus eri väreillä… colorWipe (strip. Color (255, 0, 0), 50); // Punainen väriPyyhi (nauha. Väri (0, 255, 0), 50); // Vihreä väri Pyyhi (nauha. Väri (0, 0, 255), 50); // Sininen // Tee teatteritehoste eri väreissä… TheaterChase (strip. Color (127, 127, 127), 50); // Valkoinen, puolikirkas teatteriChase (strip. Color (127, 0, 0), 50); // Punainen, puolikirkas teatteriChase (strip. Color (0, 0, 127), 50); // Sininen, puolikirkas sateenkaari (10); // Virtaava sateenkaarisykli koko nauhateatteria pitkinChaseRainbow (50); // Rainbow-tehostettu teatterivaihevaihtoehto} // Jotkut omat toiminnot animoitujen tehosteiden luomiseen ----------------- // Täytä nauhan pikselit peräkkäin väreillä. Liuskaa EI tyhjennä // ensin; kaikki siellä peitetään pikseli pikseliltä. Välitä väreissä // (yksittäisenä 32-bittisenä pakattuna arvona, jonka saat soittamalla // strip. Color (punainen, vihreä, sininen) yllä olevan loop () -funktion mukaisesti), // ja viiveaika (millisekunteina) pikselien välillä. void colorWipe (uint32_t color, int wait) {for (int i = 0; i strip.setPixelColor (i, color); // Aseta pikselin väri (RAM -muistissa) strip.show (); // Päivitä nauha vastaamaan viivettä (odota); // Pysähdy hetkeksi}}} // Teatteriteltatyylinen jahdivalo. Anna väri (32-bittinen arvo, // a la strip. Väri (r, g, b) kuten edellä mainittiin), ja viiveaika (ms) // kehysten välillä. void TheaterChase (uint32_t color, int wait) {for (int a = 0; a <10; a ++) {// Toista 10 kertaa… for (int b = 0; b <3; b ++) {// 'b' laskee 0 … 2 … strip.clear (); // Aseta kaikkien RAM -muistin pikselien arvoksi 0 (pois päältä) // 'c' laskee b: stä loppuun nauha vaiheittain 3… for (int c = b; c strip.setPixelColor (c, color); // Aseta pikseli "c" arvoksi "color"} strip.show (); // Päivitä nauha uudella sisällön viiveellä (odota); // Keskeytä hetkeksi}}}} // Sateenkaarisykli koko nauhaa pitkin. Siirrä viiveaika (ms) kehysten välillä. void rainbow (int wait) {// Ensimmäisen pikselin sävy kulkee 5 täydellistä silmukkaa // Väripyörän alue on 65536, mutta se on OK, jos kaadumme, joten // vain lasketaan 0-5*65536. 256: n lisääminen firstPixelHue -arvoon joka kerta // tarkoittaa, että teemme 5*65536/256 = 1280 kulkua tämän ulkoisen silmukan läpi: for (long firstPixelHue = 0; firstPixelHue <5*65536; firstPixelHue += 256) {for (int i = 0; I // Siirtää pikselin värisävyn määrällä, jotta // väripyörä (kierros 65536) saadaan täyteen kierrokseen nauhan pituudella // (strip.numPixels () vaiheet): int pixelHue = firstPixelHue + (i * 65536L / strip.numPixels ()); // strip. ColorHSV () voi ottaa 1 tai 3 argumenttia: värisävy (0 - 65535) tai // vaihtoehtoisesti lisätä kylläisyyttä ja arvoa (kirkkaus) (kukin 0 - 255). // Täällä käytämme vain yhden argumentin värisävyn varianttia. Tulos // viedään strip.gamma32 (): n kautta, jotta saadaan '' todellisemmat '' värit // ennen kullekin pikselille määrittämistä: strip.setPixelColor (i, strip.gamma32 (strip. ColorHSV (pixelHue))));} strip.show (); // Päivitä nauhat uuden sisällön viiveellä (odota); // Keskeytä hetkeksi}} // Sateenkaaria parannettu teatterikehys. Pass delay time (in ms) kehysten välillä. void theatreChaseRainbow (int wait) {i nt firstPixelHue = 0; // Ensimmäinen pikseli alkaa punaisesta (värisävy 0) kohteelle (int a = 0; a <30; a ++) {// Toista 30 kertaa… kohteelle (int b = 0; b RGB strip.setPixelColor (c, väri); / / Aseta pikseli "c" arvoksi "väri"} nauha.show (); // Päivitä nauha uudella sisällön viiveellä (odota); // Keskeytä ensin hetkeksi PixelHue += 65536/90; // Yksi värikierros yli 90 kuvaa}}}

Vaihe 14: SHU -mallikoodi

Image
Image

Koodimme kytkee kaikki ledit päälle yksitellen varmistaakseen, että ne toimivat:

// Tämä esimerkki vaihtuu 500 pikselin näyttämisen välillä punaisena

#includeconst uint16_t PixelCount = 500; // tässä esimerkissä oletetaan 4 pikseliä, pienentäminen aiheuttaa epäonnistumisen const uint8_t PixelPin = 13; // varmista, että asetat tämän oikean nastan, ohitetaan Esp8266: ssa

#define colorSaturation 128 // kolme elementtiä, eri järjestyksessä ja nopeudella

NeoPixelBus -nauha (PixelCount, PixelPin);

// NeoPixelBus -nauha (PixelCount, PixelPin); RgbVäri punainen (0, värin kylläisyys, 0); RgbVäri vihreä (värikylläisyys, 0, 0); RgbVäri sininen (0, 0, värin kylläisyys); RgbVäri valkoinen (värikylläisyys); RgbVäri musta (0); HslColor hslRed (punainen); HslColor hslGreen (vihreä); HslColor hslBlue (sininen); HslColor hslWhite (valkoinen); HslColor hslBlack (musta); void setup () {Serial.begin (115200) while (! Serial); // odota sarjaliitettä Serial.println (); Serial.println ("Alustetaan…"); Sarja.huuhtelu (); // tämä palauttaa kaikki neopikselit off -tilan nauhoiksi. Begin (); nauha. Näytä (); Sarja.println (); Serial.println ("Käynnissä …"); } void loop () {delay (100); Serial.println ("Värit R, G, B, W…"); for (int i = 0; i <= 499; i ++) {// aseta värit, // jos ne eivät vastaa järjestystä, sinun on käytettävä NeoGrbFeature -ominaisuuskaista. SetPixelColor (i, punainen); strip. Show (); viive (100); strip. SetPixelColor (i, hslRed); nauha. Näytä (); viive (100); }}

Vaihe 15: Koodin lataaminen ESP32 -laitteeseen

Tärkeä:

Jotta koodi voidaan lähettää mille tahansa mikro -ohjaimelle, sen on oltava ohjelmointitilassa.

ESP32 edellyttää, että pidät ohjelmointipainiketta painettuna koodin lähettämisen aikana. Sinun on myös nollattava se koodin lähettämisen jälkeen painamalla nollauspainiketta kerran.

ESP32: n ohjelmointipainike sijaitsee vasemmalla ja nollauspainike oikealla. Katso käyttöoppaasta, jos sinulla on toinen mikro-ohjain.

Vaihe 16: Lainaukset

Tämä opettavainen tehtiin seuraavien opetusohjelmien avulla:

randomnerdtutorials.com/installing-the-esp…

Käytetään ESP32: n asentamiseen Arduino IDE: hen.

Tekijät:

Nathaniel Barone, Gabriel Castro

Toimittaja:

Cedric Bleimling

Suositeltava: