Управление RGB лентой с помощью ESP32

Мир Ардуинщиков
Offline
Зарегистрирован: 18.05.2020

Всем привет, друзья! Захотелось мне сделать красивый светильник управляемый по Bluetooth. Но вот беда, уже написал программу, подключаю ленту к ESP32, а она не работает. Подключал к ардуино нано, лента работала. Я использовал библиотеку "Adafruit Neopixel". Вот скетч:

// NeoPixel Ring simple sketch (c) 2013 Shae Erisson
// released under the GPLv3 license to match the rest of the AdaFruit NeoPixel library

#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
  #include <avr/power.h>
#endif

// Which pin on the Arduino is connected to the NeoPixels?
// On a Trinket or Gemma we suggest changing this to 1
#define PIN            18

// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS      16

// When we setup the NeoPixel library, we tell it how many pixels, and which pin to use to send signals.
// Note that for older NeoPixel strips you might need to change the third parameter--see the strandtest
// example for more information on possible values.
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int delayval = 500; // delay for half a second

void setup() {
  // This is for Trinket 5V 16MHz, you can remove these three lines if you are not using a Trinket
#if defined (__AVR_ATtiny85__)
  if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
#endif
  // End of trinket special code

  pixels.begin(); // This initializes the NeoPixel library.
}

void loop() {

  // For a set of NeoPixels the first NeoPixel is 0, second is 1, all the way up to the count of pixels minus one.

  for(int i=0;i<NUMPIXELS;i++){

    // pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
    pixels.setPixelColor(i, pixels.Color(0,50,0)); // Moderately bright green color.

    pixels.show(); // This sends the updated pixel color to the hardware.

    delay(delayval); // Delay for a period of time (in milliseconds).

  }
}

Если кто знает в чём дело - отпишитесь, буду очень благодарен!

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Мир Ардуинщиков пишет:

уже написал программу ... Я использовал библиотеку "Adafruit Neopixel". Вот скетч:

...
// NeoPixel Ring simple sketch (c) 2013 Shae Erisson
...

Уважаемый Shae Erisson, я правильно Вас понял, что Вы написали программу и семь лет пытались её отладить и запустить, прежде, чем обратились на форум? Или семь лет назад она работала, а сейчас что-то сломалось?

b707
Offline
Зарегистрирован: 26.05.2017

А откуда уверенность, что оно должно работать на ЕСП? Параметры для ардуино в скетче есть, а для есп32 где?

Мир Ардуинщиков
Offline
Зарегистрирован: 18.05.2020

Забыл кое-что написать. Этот скетч был взят из примеров к библиотеке "Adafruit Neopixel". Её автор Shae Erisson разработал эту библиотеку и скетч. Я вообще к нему дела никакого не имею. Эх, а я уже думал, что кто-то знает в чём проблема. b707, ваша идея может быть верна. Но как тогда эти параметры указать? Может библиотеку другую использовать?

b707
Offline
Зарегистрирован: 26.05.2017

вы хотя бы уверены, что вы подключаете ленту к правильному пину? имейте в виду. что номера пинов ардуино и номера на плате ЕСП32 вполне могут не совпадать, смотрите описание распиновки своего ЕСП32 в среде ардуино

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Мир Ардуинщиков пишет:

Этот скетч был взят из примеров к библиотеке "Adafruit Neopixel". Её автор Shae Erisson разработал эту библиотеку и скетч. Я вообще к нему дела никакого не имею.

Вона как! А я то, грешным делом, подумал ...

Мир Ардуинщиков пишет:

написал программу ... Я использовал библиотеку

Ну, а раз "дела никакого не имеете", то забейте.

Выписка из правил данного форума: «Здесь помогают тем, кто пытается что-то сделать сам».

Если же Вы желаете, чтобы кто-то правил для Вас кем-то написанный скетч, добро пожаловать в коммерческий раздел.