Агуулгын хүснэгт:

ESP32 бүхий 500 LED хана: 16 алхам
ESP32 бүхий 500 LED хана: 16 алхам

Видео: ESP32 бүхий 500 LED хана: 16 алхам

Видео: ESP32 бүхий 500 LED хана: 16 алхам
Видео: SMD rental led display sign p3.91 p4.8 background wall with indoor led panel,Church Stage Background 2024, Долдугаар сарын
Anonim
ESP32 бүхий 500 LED хана
ESP32 бүхий 500 LED хана

Бүгдээрээ сайн уу! Энэхүү гарын авлагын төгсгөлд та өөрийн гараар LED ханыг хэрхэн яаж хийхээ мэдэх болно.

Энэхүү гарын авлага нь Ариун Зүрхний Их Сургуульд зуны хөтөлбөрт суурилсан болно.

Хөгжилтэй байгаарай!

Хангамж

Доор жагсаасан хангамж.

Алхам 1: хангамж

Хангамж
Хангамж

Лед ханыг дуусгахад хэрэгтэй бүх зүйлийг цуглуулж эхэлье.

(Холбоосыг 2019 оны 7 -р сарын 10 -нд үүсгэсэн)

Arduino IDE програм хангамж

ESP32 бичил хянагч

LED пиксел гэрэл

Цахилгаан хангамж

Тэжээлийн утас

Утас хуулах хэрэгсэл

Breadboard холбогч кабель

Цахилгаан утас

Алхам 2: LedWall -ийн зөв тэжээлийн хангамжийг тодорхойлох

Аль цахилгаан хангамж нь таны хэрэглээнд хамгийн тохиромжтой болохыг олж мэдэх энгийн математик арга байдаг.

Бид Ом -ийн хүчний хуулийг ашиглаж байна: P = IxV (Хүч = Эрчим x Хүчдэл)

Хүчдэлийг бидний leds тодорхойлдог: энэ тохиолдолд 5V.

Эрчим хүч нь тоног төхөөрөмжөөс хамаардаг бөгөөд нэг LED нь 30 мА зарцуулдаг.

50 LED -ийн тууз бүр 50 х 30мА = 1250мА = 1.25А зарцуулдаг.

Манай 500 Led хана нь 10 дахин их зарцуулдаг (10 тууз): 12.5A.

Цахилгаан эрчим хүчний хэрэглээ нь LED -ийн хувьд 5V x 12.5A = 62.5W байна.

Мэдээжийн хэрэг, Leds дээр та ESP болон таны хэлхээний бусад бүх зүйлийг тооцох хэрэгтэй.

Бид 60А цахилгаан хангамжтай, бидэнд хэрэгтэй хэмжээнээс илүү их зүйл бий.

Алхам 3: Цахилгааны утас

Image
Image

Манай цахилгаан хангамж нь утас холбогчтой ирдэг. Цахилгааны утсыг 110 В залгуурт холбохын тулд бид тохируулах хэрэгтэй.

- Эмэгтэй холбогчийг цахилгааны утаснаас таслах. Бид эрэгтэй хэсгийг авч үлдэх болно, эс тэгвээс NEMA 5-15P гэж нэрлэдэг.

- Бүх утсан дээр 3 мм орчим зэс харагдахаар кабелийг хуулна.

Утасыг хэрхэн яаж салгах талаар хурдан видео хичээлийг энд оруулав.

Алхам 4: Цахилгаан хангамжийг холбох

ESP32S -ийг ажиллуулж байна
ESP32S -ийг ажиллуулж байна

Одоо бид цахилгаан хангамжаа холбоход бэлэн байна!

Цахилгаан хангамж дээр ажиллахдаа түүнийг үргэлж салгаж байгаарай.

Цахилгаан утас

  • Хар утас (үе шат) нь цахилгаан хангамжийн 'L' зүүтэй холбогддог
  • Цагаан утас (төвийг сахисан) нь тэжээлийн "N" зүүтэй холбодог
  • Ногоон утас нь цахилгаан тэжээлийн 'Ground' зүүтэй холбогддог

(Хэрэв таны цахилгааны утсан дотор утаснууд нь биднийхтэй ижил өнгөтэй биш байвал схемийг онлайнаар хайгаарай.)

Туршилт

Компьютерийн цахилгааны утсыг цахилгаан тэжээлийн залгуурт залгаарай. Цахилгаан тэжээл дээрх ногоон LED асах ёстой.

Алхам 5: ESP32S -ийг асаах

Таны ESP -ийг харахад бүх зүү бүрийн хажууд шошго байх ёстой. Хэрэв хаяглаагүй бол та өөрийн ESP -ийн "pinout" -ыг онлайнаар хайж олох боломжтой.

Эрэгтэй, эмэгтэй талхны самбар эсвэл цахилгаан утас ашиглан дараахь зүйлийг холбоно уу.

  • Цахилгаан хангамжийн '+V' хүртэлх '5V' ESP32S зүү (дээрх зураг дээрх улбар шар)
  • Цахилгаан хангамжийн '-V' хэсэгт 'GND' ESP32S зүү (дээрх зураг дээр хар өнгөтэй)

(Зарим ESP дээр '5V' зүүг 'VCC' гэж тэмдэглэсэн байдаг, хоёулаа ижил утгатай.)

Таны ESP нь бидний ашиглаж байгаа утаснаас өөр "pinout" -тэй байж болохыг анхаарна уу. Тиймээс та утсаа дээрх зураг дээрхээс өөр байршилд холбож байж магадгүй. Та зөв зүү (5V & GND), самбар дээрх физик байршил хамаагүй.

Туршилт Цахилгаан тэжээлээ дахин залгаарай, хэрэв таны ESP нь LED заагчтай бол (ихэнх нь), энэ нь ESP руу цахилгаан илгээгдэж байгааг илтгэж асна. Баяр хүргэе!

Алхам 6: LED гэрлийн туузыг асаах

LED гэрлийн туузыг тэжээх
LED гэрлийн туузыг тэжээх

Цахилгаан утас ашиглах:

- LED гэрлийн туузны улаан утсыг цахилгаан тэжээлийн V+ залгуурт холбоно уу.

- LED гэрлийн туузны цэнхэр утсыг цахилгаан тэжээлийн V-д холбоно уу.

Алхам 7: ESP32 -ийг LED гэрлийн зурвас руу холбох

Манай ESP32 нь WS2811 драйвер бүрийг шаардлагатай өнгө, гэрэлтүүлэгтэй холбосон драйверийг зааж өгдөг бөгөөд ингэснээр манай ESP32 нь туузан дээр "өгөгдөл" кабель хэрэгтэй болно.

Leds тууз нь 3 утастай холбогчтой ирдэг.

- Улаан: Хүч- Цэнхэр: Төвийг сахисан- Цагаан: Өгөгдөл

Цагаан Led зурвасын кабелийг ESP дээрх дижитал зүүтэй холбож үзье, дараа нь кодонд оруулах шаардлагатай тул сонгосон ПИН дугаарыг санаарай.

Алхам 8: Компьютерийг бэлтгэх: C2102 драйвер

Одоо манай тоног төхөөрөмж утастай болсон тул бид үүнийг шалгахын тулд анхны кодоо оруулахыг хүсч байна. Анхдагч байдлаар, Windows эсвэл MacO нь ESP32 -тэй холбогдож чадахгүй байгаа бөгөөд ингэснээр бид ESP USB холбооны чипийн "драйвер" татаж авах хэрэгтэй болно. C2102.

Энэ драйверийг татаж аваад суулгасан байх ёстой.

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

(2019 оны 7 -р сарын 10 -ны өдрийн линкүүд)

Алхам 9: Arduino програм хангамж - ESP32 дэмжлэгийг нэмэх - Алхам 1

Arduino програм хангамж - ESP32 дэмжлэгийг нэмэх - Алхам 1
Arduino програм хангамж - ESP32 дэмжлэгийг нэмэх - Алхам 1
Arduino програм хангамж - ESP32 дэмжлэгийг нэмэх - Алхам 1
Arduino програм хангамж - ESP32 дэмжлэгийг нэмэх - Алхам 1

Бид ESP32 -ийг Arduino програм хангамжтай ашиглахаасаа өмнө үүнийг хүлээн зөвшөөрсөн эсэхийг шалгах хэрэгтэй.

Алхам 1: Менежер дээр самбар нэмэх

1 - Arduino дээр File >> Preferences сонголтыг дарна уу

2- "Нэмэлт самбар менежерийн URL" талбарт дараах линкийг хуулж авна уу:

Алхам 10: Arduino програм хангамж - ESP32 дэмжлэгийг нэмэх - Алхам 2

Arduino програм хангамж - ESP32 дэмжлэгийг нэмэх - 2 -р алхам
Arduino програм хангамж - ESP32 дэмжлэгийг нэмэх - 2 -р алхам
Arduino програм хангамж - ESP32 дэмжлэгийг нэмэх - 2 -р алхам
Arduino програм хангамж - ESP32 дэмжлэгийг нэмэх - 2 -р алхам

Arduino програм хангамж илүү олон самбарыг "мэддэг" болсон тул ESP32 дэмжлэгээ суулгацгаая

Алхам 2: ESP32 дэмжлэгийг суулгах

1 - Дээд цэснээс сонгоно уу: Хэрэгслүүд >> Самбар >> Самбар менежер

2 - Цонх гарч ирнэ. Баруун дээд буланд байгаа хайлтын хайрцгийг ашиглан "ESP32" -ыг олоорой.

3 - Эспресифээр хийсэн нэгийг олоорой. Үүнийг суулгаарай. (Зургийг үзнэ үү)

Алхам 11: Arduino програм хангамж - ESP32 дэмжлэгийг нэмэх - Алхам 3

Arduino програм хангамж - ESP32 дэмжлэгийг нэмэх - 3 -р алхам
Arduino програм хангамж - ESP32 дэмжлэгийг нэмэх - 3 -р алхам

Arduino програм хангамж нь манай ESP32 -тэй харилцах боломжтой болсон тул үүнийг компьютерт холбож, бүх зүйл ажиллаж байгааг шалгаж үзье.

1 - Бид ESP32 платформ дээр ажиллаж байгаа эсэхийг шалгаарай.

Tools >> Board >> ESP32 Dev Module дээр дарна уу

1- Arduino програм хангамж нь манай ESP-тэй хэрхэн холбогдохыг мэддэг эсэхийг шалгаарай.

Хэрэгслүүд >> Порт дээр дарж энэ кабелийг залгахад гарч ирэх хэсгийг сонгоно уу.

Чухал:

Хэрэв та ESP -д код байршуулах асуудал гарвал эхлээд эдгээр хоёр цэсийг шалгаарай, хэрэв порт нь шалгах тэмдгээр сонгогдоогүй бол Arduino програм хангамж түүнтэй холбогдохгүй болно.

Алхам 12: Arduino IDE -д номын сан нэмэх

Arduino IDE дээр номын сан нэмж байна
Arduino IDE дээр номын сан нэмж байна

Одоо бид Led Wall -аа турших боломжийг олгодог номын сан нэмж оруулах гэж байна!

1- Хэрэгслүүд >> Номын санг удирдах дээр дарна уу.

2- Баруун дээд буланд NeoPixelBus хайх. "NeoPixelBus by Makuna" -г олоод суулгаарай (зураг харна уу)

Бусад сонирхолтой номын сан: (Энэ хичээлд шаардлагагүй)

- NeoMatrix

- FastLed

- Artnet

- GFX

Алхам 13: Эхний код: Strand тест

Бидний анхны код бол Номын сангийн жишээ юм.

Та доорх кодыг хуулж / буулгаж эсвэл дарж болно.

Файл >> Жишээ >> Adafruit NeoPixelBus >> Strandtest

LED_PIN -ээ leds -ээ бие биентэйгээ холбоход ашигладаг байснаа өөрчилсөн эсэхээ шалгаарай.

Мөн LED_COUNT хувьсагчтай туузны хэмжээг тохируулахаа мартуузай.

// Өдөр тутмын LED Striptest програм.

#include #ifdef _AVR_ #include // 16 MHz Adafruit Trinket #endif -д шаардлагатай // Arduino дээрх аль зүү нь NeoPixels -тэй холбогдсон бэ? #define LED_PIN 13 // Arduino -д хэдэн NeoPixel залгагдсан бэ? #тодорхойлох LED_COUNT 500 // Манай NeoPixel зурвасын объектыг зарлах: Adafruit_NeoPixel зурвас (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); // Аргумент 1 = NeoPixel зурвас дахь пикселийн тоо // Аргумент 2 = Arduino зүү дугаар (ихэнх нь хүчин төгөлдөр) // Аргумент 3 = Пиксел маягийн тугуудыг шаардлагатай бол нэмж оруулаарай: // NEO_KHZ800 800 KHz битийн урсгал (ихэнх NeoPixel бүтээгдэхүүнүүд/ WS2812 LED) // NEO_KHZ400 400 KHz (сонгодог 'v1' (v2 биш) FLORA пикселүүд, WS2811 драйверууд) // NEO_GRB Пикселүүд нь GRB битийн урсгалд холбогддог (ихэнх NeoPixel бүтээгдэхүүнүүд) // NEO_RGB Пикселүүд нь RGB bitstream (v1 FLORA пикселүүдэд зориулагдсан), v2 биш) // NEO_RGBW пикселүүд нь RGBW bitstream (NeoPixel RGBW бүтээгдэхүүнүүд) -д зориулагдсан // setup () функцтэй-эхлүүлэх үед нэг удаа ажилладаг -------------------- ------------ void setup () {// Эдгээр шугамууд нь Adafruit Trinket 5V 16 MHz-ийг дэмжих зориулалттай. // Өөр ямар ч самбар, та энэ хэсгийг устгаж болно (гэхдээ үүнийг орхиход ямар ч хор хөнөөл учруулахгүй): #if тодорхойлогдсон бол (_ AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set (clock_div_1); Tracket-ийн тусгай кодын #endif // END. strip.begin (); // NeoPixel зурвасын объектыг INITIALIZE (REQUIRED) strip.show (); // Бүх пикселийг аль болох хурдан унтраах strip.setBrightness (50); // BRIGHTNESS-ийг ойролцоогоор 1/5 болгож тохируулна уу (max = 255)} // loop () функц-самбарыг асаалттай байхад дахин дахин ажиллуулна --------------- void loop () {// Туузны уртыг янз бүрийн өнгөөр бөглөнө үү … colorWipe (strip. Color (255, 0, 0), 50); // Улаан colorWipe (зурвас. Өнгө (0, 255, 0), 50); // Ногоон өнгө Арчих (зурвас. Өнгө (0, 0, 255), 50); // Цэнхэр // Янз бүрийн өнгөөр театрын эффект хийх… театрChase (strip. Color (127, 127, 127), 50); // Цагаан, хагас тод театрChase (зурвас. Өнгө (127, 0, 0), 50); // Улаан, хагас тод театрChase (зурвас. Өнгө (0, 0, 127), 50); // Цэнхэр, хагас тод солонго (10); // Бүх зурвасын театр дагуу урсаж буй солонгын тойрогChaseRainbow (50); // Солонго-сайжруулсан театрChase хувилбар} // Хөдөлгөөнт эффект бүтээх бидний зарим функцууд ----------------- // Туузны пикселүүдийг дараалан өнгөөр дүүргэ. Туузыг цэвэрлээгүй // эхлээд; тэнд байгаа бүх зүйлийг пикселээр пикселээр бүрхэх болно. Өнгөөр дамжуулаарай // (ганц "багцалсан" 32 битийн утгаар та үүнийг авах боломжтой. пиксел хоорондын хоцрогдол (миллисекундээр). void colorWipe (uint32_t color, int wait) {for (int i = 0; i strip.setPixelColor (i, color); // Пикселийн өнгийг тохируулах (RAM дотор) strip.show (); түр хүлээнэ үү); // Түр зогсоо}} // Театр маягийн маягийн хөөж буй гэрэл. Өнгөөр (32 битийн утга, // a ла зурвас. Өнгө (r, g, b) дээр дурдсанчлан), ба хүрээ хоорондын хоцролтын хугацаа (мс -ээр) // void театрChase (uint32_t өнгө, int хүлээх) {for (int a = 0; a <10; a ++) {// 10 удаа давтана уу … for (int b = 0; b <3; b ++) {// 'b' нь 0 -ээс 2 хүртэл тоологддог… strip.clear (); // RAM доторх бүх пикселийг 0 (унтраах) болгож тохируулна // 'c' нь 'b' -с төгсгөл хүртэл тоолно 3 -р алхамаар зурвасыг (int c = b; c strip.setPixelColor (c, өнгө); // 'c' пикселийг 'өнгө' болгон тохируулах} strip.show (); // Шинэ агуулгын саатал бүхий зурвасыг шинэчлэх (түр хүлээнэ үү); // Түр зогсооно уу}}} // Бүх зурвасын дагуу солонгын тойрог. Хүрээний хоорондох хоцролтын хугацааг (мс -ээр) дамжуулна уу. өнгөт дугуй. // Өнгөний дугуй нь 65536 -ийн хүрээтэй боловч энэ нь тийм юм Хэрэв бид өнхрөх юм бол // 0 -ээс 5*65536 хүртэл тоолно уу. First болгонд 256 -г нэмэх нь // бид энэ гаднах хүрдээр 5*65536/256 = 1280 дамжуулалт хийх болно гэсэн үг юм: for (long firstPixelHue = 0; firstPixelHue <5*65536; firstPixelHue += 256) {for (int i = 0; I // Туузны уртын дагуу // өнгөний дугуйны (65536 -ийн хүрээ) нэг бүтэн эргэлт хийхийн тулд пикселийн өнгийг хэмжээгээр нөхөх // (strip.numPixels () алхам): int pixelHue = firstPixelHue + (i * 65536L / strip.numPixels ()); // strip. ColorHSV () нь 1 эсвэл 3 аргумент авах боломжтой: өнгө (0 -ээс 65535 хүртэл) эсвэл // сонголтоор ханалт, утга (тод байдал) (тус бүр 0 -ээс 255 хүртэл) нэмнэ. // Энд бид зөвхөн ганц аргументийн өнгөний хувилбарыг ашиглаж байна. Үр дүнг // нь strip.gamma32 () -ээр дамжуулж 'үнэн' өнгийг өгнө // пиксел бүрт хуваарилахаас өмнө: strip.setPixelColor (i, strip.gamma32 (strip. ColorHSV (pixelHue))));} strip.show (); // Шинэ контент бүхий зурвасыг шинэчлэх (хүлээх); // Хэсэг зуур түр зогсоо}} // Солонго сайжруулсан театрын марк. Саатуулах хугацааг өнгөрөө (ms) фрэймийн хооронд. void театрChaseRainbow (int wait) {i nt firstPixelHue = 0; // Эхний пиксел нь (int a = 0; a <30; a ++) улаан (өнгө 0) -ээр эхэлдэг {// (int b = 0; b RGB зурвас.setPixelColor (c, өнгө);) 30 удаа давтана. / 'C' пикселийг 'color' утга болгон тохируулна уу} strip.show (); // Шинэ контент бүхий зурвасыг шинэчлэх (хүлээх); // Эхлээд түр зогсооно ууPixelHue += 65536 /90; // Өнгөний хүрдний нэг мөчлөг 90 гаруй хүрээ}}}

Алхам 14: SHU дээжийн код

Image
Image

Манай код нь бүх Leds -ийг нэг нэгээр нь ажиллуулж байгаа эсэхийг шалгадаг.

// Энэ жишээ нь 500 пикселийг Улаан болгож харуулах хооронд эргэлдэх болно

#incinteconst uint16_t PixelCount = 500; // энэ жишээ нь 4 пикселийг авах бөгөөд үүнийг жижиг болгох нь бүтэлгүйтлийг үүсгэдэг uint8_t PixelPin = 13; // үүнийг Esp8266 -д үл тоомсорлосон зөв зүү болгож тохируулаарай

#тодорхойлох өнгөSaturation 128 // гурван элементийн пиксел, өөр өөр дараалал, хурдаар

NeoPixelBus зурвас (PixelCount, PixelPin);

// NeoPixelBus зурвас (PixelCount, PixelPin); RgbColor улаан (0, colorSaturation, 0); RgbColor ногоон (colorSaturation, 0, 0); RgbColor цэнхэр (0, 0, өнгө Ханалт); RgbColor цагаан (өнгөний ханалт); RgbColor хар (0); HslColor hslRed (улаан); HslColor hslGreen (ногоон); HslColor hslBlue (цэнхэр); HslColor hslWhite (цагаан); HslColor hslBlack (хар); void setup () {Serial.begin (115200) while (! Цуваа); // цуваа хавсралтыг хүлээх Serial.println (); Serial.println ("Эхэлж байна …"); Serial.flush (); // энэ нь бүх неопикселийг унтраалттай төлөвт буцаана. Begin (); харуулах (); Serial.println (); Serial.println ("Ажиллаж байна …"); } void loop () {delay (100); Serial.println ("Өнгө R, G, B, W…"); for (int i = 0; i <= 499; i ++) {// өнгийг тохируулна уу, // хэрэв дарааллаар таарахгүй байвал та NeoGrbFeature онцлог зурвасыг ашиглах хэрэгтэй. SetPixelColor (i, улаан); зурвас. Шоу (); саатал (100); зурвас SetPixelColor (i, hslRed); харуулах (); саатал (100); }}

Алхам 15: ESP32 руу код оруулах

Чухал:

Аливаа микро хянагч руу код оруулахын тулд програмчлалын горимд байх шаардлагатай бөгөөд ихэнхдээ үүнийг автоматаар хийх бөгөөд програм хангамж дээр байршуулах дээр дарахад л хангалттай.

Манай ESP32 нь код илгээгдэж байх үед програмчлалын товчлуурыг дарж байх ёстой бөгөөд кодыг байршуулсны дараа дахин тохируулах товчлуурыг дарж дахин тохируулах шаардлагатай болно.

Манай ESP32 програмчлалын товчлуур зүүн талд, дахин тохируулах товч баруун талд байна. Хэрэв танд өөр микро хянагч байгаа бол гарын авлагаасаа лавлана уу.

Алхам 16: Ишлэл

Энэхүү зааварчилгааг дараах хичээлүүдийн тусламжтайгаар хийсэн болно.

randomnerdtutorials.com/installing-the-esp…

ESP32 -ийг Arduino IDE -д суулгахад ашигладаг.

Зохиогчид:

Натаниэль Бароне Габриэль Кастро

Редактор:

Седрик Блеймлинг

Зөвлөмж болгож буй: