led pas WS2812B

Všetko čo sa týka mikropočítačov + Sekcia Arduino

Moderátori: psichac, Moderátori

ferino5
Okoloidúci
Okoloidúci
Príspevky: 8
Dátum registrácie: 25 Sep 2012, 07:26
Bydlisko: Krompachy
Vek: 26

led pas WS2812B

Príspevok od používateľa ferino5 » 03 Jan 2018, 11:45

dobry den , nepoznate niekto nejaku dobru kniznicu pre ovladanie WS2812B led pasu ? skusal som uz FastLED , a potom este dajake ale vobec to nechce fungovat , menil som aj casovanie podla datasheetu pasu a nic . snazim sa to spojazdnit na attiny13
0

Používateľov profilový obrázok
kukinko
Ultimate člen
Ultimate člen
Príspevky: 1536
Dátum registrácie: 11 Júl 2008, 00:00
Vek: 41
Kontaktovať používateľa:

Re: led pas WS2812B

Príspevok od používateľa kukinko » 03 Jan 2018, 12:43

adafruit neopixel
0
"programujem = hram sa" s Arduino / ESP, LOGO!, Simatic + TIA
+ nejaka ta elektrobizuteria okolo

:agree:

Používateľov profilový obrázok
roboulbricht
Stály člen
Stály člen
Príspevky: 156
Dátum registrácie: 07 Jan 2015, 12:01
Bydlisko: Banská Bystrica
Vek: 54
Kontaktovať používateľa:

Re: led pas WS2812B

Príspevok od používateľa roboulbricht » 03 Jan 2018, 13:28

Väčšina knižníc pre WS2812B používa 3 bajty RAM na jeden pixel. ATtiny13A má len 64 bajtov RAM. To máš prvý problém. Knižnice sú aj dosť optimalizované pre konkrétne frekvencie mikrokontroléra a 9,6 MHz je minimálne pri Neopixel mimo rozsahu. To máš druhý problém, ale teoreticky s kryštálom to môžeš nastaviť.
0

Používateľov profilový obrázok
otep69
Stály člen
Stály člen
Príspevky: 208
Dátum registrácie: 31 Okt 2008, 00:00
Bydlisko: Jarok
Vek: 35
Kontaktovať používateľa:

Re: led pas WS2812B

Príspevok od používateľa otep69 » 03 Jan 2018, 14:46

Nieco podobne som riesil aj ja, ale potom som to hodil do kuta a kupil som pas osadeny s APA102. V pohodicke sa to ovlada cez SPI a casovanie nie je take kriticke ako pri WS2812. Bez mensich problemov to zvladnes aj bez kniznice je tam jedna nevyhoda a to ze potrebujes namiesto troch vodicov styri.
0
Teší ma Peter.
F*ck me I am Famous ...
Čo nejde silou, pôjde silou ešte väčšou.

ferino5
Okoloidúci
Okoloidúci
Príspevky: 8
Dátum registrácie: 25 Sep 2012, 07:26
Bydlisko: Krompachy
Vek: 26

Re: led pas WS2812B

Príspevok od používateľa ferino5 » 03 Jan 2018, 17:45

4 vodice by nebol az taky problem , krystal by som nepovazoval za rozumne riesenie, lebo pridem o dalsie dva piny
0

Používateľov profilový obrázok
otep69
Stály člen
Stály člen
Príspevky: 208
Dátum registrácie: 31 Okt 2008, 00:00
Bydlisko: Jarok
Vek: 35
Kontaktovať používateľa:

Re: led pas WS2812B

Príspevok od používateľa otep69 » 04 Jan 2018, 01:39

Pozri si datasheet APA102 (sice tam moc toho na citanie nenajdes, ale zakladne info ti to da). Ako som pisal casovanie nie je az take kriticke ako pri WS2812 takze sa v pohodicke zaobides aj bez toho krystalu. Bohuzial ta ale sklamem. Teraz som sa pozeral do datasheetu ATtiny13.
SPI sice vyuziva na programovanie, ale hardware-ovo ho nema implementovane, cize ked to nechces pracne kodit tak toto riesenie je pre teba nepouzitelne.
0
Teší ma Peter.
F*ck me I am Famous ...
Čo nejde silou, pôjde silou ešte väčšou.

Používateľov profilový obrázok
Kado
Power user
Power user
Príspevky: 1625
Dátum registrácie: 02 Sep 2007, 00:00
Bydlisko: PB
Vek: 40

Re: led pas WS2812B

Príspevok od používateľa Kado » 04 Jan 2018, 08:56

samozrejme sa to da aj s atiny13 bez extern xtalu, hw spi nepotrebujes, spravis si pomocou sw na jednom v/v pine dataout do toho tvojho ws2812, ale kedze tiny ma vnutorny rc oscilator kt. je od vyroby nastaveny nejako a je teplotne zavisly, tak si vysledne sirky signalov musis odsledovat na oscp. a doladit podla pouzitej attiny

nieco s atiny13 a io WS2811
https://www.youtube.com/watch?v=jAm7nVRvY_I

http://rurandom.org/justintime/w/Drivin ... _8_MHz_AVR
0
Návrh zapojení s jednočipovými mikropočítačmi, tvorba programového vybavenia pre mikropočítače
http://www.jk-elektronika.info/index.html

predaj !!
http://svetelektro.com/modules.php?name ... 54#p549154

marek181818
Ultimate člen
Ultimate člen
Príspevky: 3330
Dátum registrácie: 20 Mar 2013, 13:04
Bydlisko: Čaka
Vek: 34
Kontaktovať používateľa:

Re: led pas WS2812B

Príspevok od používateľa marek181818 » 30 Jan 2018, 20:37

Chcem sa spytat je mozne tieto pasy nejak ovladat cez PC? Spravit si v nejakom programe svoje efekty a nasledne to posielat nejak cez USB a asi nejaky vykonovy provok do led pasu o dlzke v kuse cca 12m ? dik
0

ferino5
Okoloidúci
Okoloidúci
Príspevky: 8
Dátum registrácie: 25 Sep 2012, 07:26
Bydlisko: Krompachy
Vek: 26

Re: led pas WS2812B

Príspevok od používateľa ferino5 » 03 Feb 2018, 18:49

kniznicu adafruit neopixel som nasiel len pre arduino . Skusal som to rozbehnut aj na atmege 8 ale nic , na arduide mi to ide vpohode , ale arduino ma strastne dlhy startup time , nejaky dalsi navrh na kniznicu pre avr ?
0

alidedko
Ultimate člen
Ultimate člen
Príspevky: 3963
Dátum registrácie: 04 Feb 2013, 22:04
Bydlisko: U alibabky v Poprade
Vek: 32

Re: led pas WS2812B

Príspevok od používateľa alidedko » 03 Feb 2018, 19:00

Preco by to neslo na Mega8?
0
Motto: Nikto nie je tak velky, aby sa nevosiel do truhly.

ferino5
Okoloidúci
Okoloidúci
Príspevky: 8
Dátum registrácie: 25 Sep 2012, 07:26
Bydlisko: Krompachy
Vek: 26

Re: led pas WS2812B

Príspevok od používateľa ferino5 » 04 Feb 2018, 00:00

Neviem , inkludnem vsetko co treba , asi 6 suborov.h a aj tak to vyhodi par desiatok errorov a upozorneni
0

aughostino
Okoloidúci
Okoloidúci
Príspevky: 42
Dátum registrácie: 09 Jún 2007, 00:00
Vek: 34
Kontaktovať používateľa:

Re: led pas WS2812B

Príspevok od používateľa aughostino » 10 Nov 2022, 19:44

Ahojte,

trochu ozivim tuto temu, vyzeralo to jednoducho tak som sa rozhodol vyskusat spojenie ws2812b pasiku spolu s arduinom.

Mam arduino nano a mam to zapojene nasledovne

5V zdroj napojeny na + a - na pasiku a aj na ardino 5V a GND, datovy Din zapojeny na pin 6 na arduino cez 440R rezistor.

pasik pouzivam tento
https://techfun.sk/produkt/led-rgb-pasi ... rba=cierny

a pri nahrati adafruit neopixel kniznice do arduina pasik ani nezasvieti.
Riesili ste niekto nieco podobne a podarilo sa vam to vyriesit? Kde mozem robit chybu?

Dakujem
Prílohy
20221110_194910.jpg
0

Používateľov profilový obrázok
balu
Pokročilý člen
Pokročilý člen
Príspevky: 539
Dátum registrácie: 21 Feb 2022, 12:06

Re: led pas WS2812B

Príspevok od používateľa balu » 10 Nov 2022, 20:28

Typický problém ...uinistů. Koupím modul (pásek) XY, stáhnu knihovnu XY. Do programu napíšu XY.begin() a když to nefunguje, jsem v .....

Ale teď vážně - asi by to sem chtělo hodit program, takhle je to věštění z křišťálové koule.

V zásadě mě napadají 3 příčiny :
  1. HW pin nesouhlasí s číslem pinu v programu
  2. Pin není nakonfigurovaný nebo je nakonfigurovaný špatně
  3. Špatné časování výstupu do pásku
1
Obrázok 1

Používateľov profilový obrázok
jirka.jirka.
Ultimate člen
Ultimate člen
Príspevky: 1537
Dátum registrácie: 17 Okt 2008, 00:00
Bydlisko: Uherské Hradiště
Kontaktovať používateľa:

Re: led pas WS2812B

Príspevok od používateľa jirka.jirka. » 11 Nov 2022, 07:53

Vem si osciloskop nebo logický analyzátor a podívej, co ti leze z toho pinu. Pak to dej sem a řešení najdeme. :thumbup:
0

aughostino
Okoloidúci
Okoloidúci
Príspevky: 42
Dátum registrácie: 09 Jún 2007, 00:00
Vek: 34
Kontaktovať používateľa:

Re: led pas WS2812B

Príspevok od používateľa aughostino » 11 Nov 2022, 08:16

osciloskop nemam, no tu je kod s ktorym to nefunguje.

Kód: Vybrať všetko

#include <Adafruit_NeoPixel.h>

#define LED_PIN    6
#define LED_COUNT 60

// Declare our NeoPixel strip object:
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  strip.begin();           // INITIALIZE NeoPixel strip object (REQUIRED)
  strip.show();            // Turn OFF all pixels ASAP
  strip.setBrightness(50); 
  }


// loop() function -- runs repeatedly as long as board is on ---------------

void loop() {
  // Fill along the length of the strip in various colors...
  colorWipe(strip.Color(255,   0,   0), 50); // Red
  colorWipe(strip.Color(  0, 255,   0), 50); // Green
  colorWipe(strip.Color(  0,   0, 255), 50); // Blue

  // Do a theater marquee effect in various colors...
  theaterChase(strip.Color(127, 127, 127), 50); // White, half brightness
  theaterChase(strip.Color(127,   0,   0), 50); // Red, half brightness
  theaterChase(strip.Color(  0,   0, 127), 50); // Blue, half brightness

  rainbow(10);             // Flowing rainbow cycle along the whole strip
  theaterChaseRainbow(50); // Rainbow-enhanced theaterChase variant
}


// Some functions of our own for creating animated effects -----------------

// Fill strip pixels one after another with a color. Strip is NOT cleared
// first; anything there will be covered pixel by pixel. Pass in color
// (as a single 'packed' 32-bit value, which you can get by calling
// strip.Color(red, green, blue) as shown in the loop() function above),
// and a delay time (in milliseconds) between pixels.
void colorWipe(uint32_t color, int wait) {
  for(int i=0; i<strip.numPixels(); i++) { // For each pixel in strip...
    strip.setPixelColor(i, color);         //  Set pixel's color (in RAM)
    strip.show();                          //  Update strip to match
    delay(wait);                           //  Pause for a moment
  }
}

// Theater-marquee-style chasing lights. Pass in a color (32-bit value,
// a la strip.Color(r,g,b) as mentioned above), and a delay time (in ms)
// between frames.
void theaterChase(uint32_t color, int wait) {
  for(int a=0; a<10; a++) {  // Repeat 10 times...
    for(int b=0; b<3; b++) { //  'b' counts from 0 to 2...
      strip.clear();         //   Set all pixels in RAM to 0 (off)
      // 'c' counts up from 'b' to end of strip in steps of 3...
      for(int c=b; c<strip.numPixels(); c += 3) {
        strip.setPixelColor(c, color); // Set pixel 'c' to value 'color'
      }
      strip.show(); // Update strip with new contents
      delay(wait);  // Pause for a moment
    }
  }
}

// Rainbow cycle along whole strip. Pass delay time (in ms) between frames.
void rainbow(int wait) {
  // Hue of first pixel runs 5 complete loops through the color wheel.
  // Color wheel has a range of 65536 but it's OK if we roll over, so
  // just count from 0 to 5*65536. Adding 256 to firstPixelHue each time
  // means we'll make 5*65536/256 = 1280 passes through this loop:
  for(long firstPixelHue = 0; firstPixelHue < 5*65536; firstPixelHue += 256) {
    // strip.rainbow() can take a single argument (first pixel hue) or
    // optionally a few extras: number of rainbow repetitions (default 1),
    // saturation and value (brightness) (both 0-255, similar to the
    // ColorHSV() function, default 255), and a true/false flag for whether
    // to apply gamma correction to provide 'truer' colors (default true).
    strip.rainbow(firstPixelHue);
    // Above line is equivalent to:
    // strip.rainbow(firstPixelHue, 1, 255, 255, true);
    strip.show(); // Update strip with new contents
    delay(wait);  // Pause for a moment
  }
}

// Rainbow-enhanced theater marquee. Pass delay time (in ms) between frames.
void theaterChaseRainbow(int wait) {
  int firstPixelHue = 0;     // First pixel starts at red (hue 0)
  for(int a=0; a<30; a++) {  // Repeat 30 times...
    for(int b=0; b<3; b++) { //  'b' counts from 0 to 2...
      strip.clear();         //   Set all pixels in RAM to 0 (off)
      // 'c' counts up from 'b' to end of strip in increments of 3...
      for(int c=b; c<strip.numPixels(); c += 3) {
        // hue of pixel 'c' is offset by an amount to make one full
        // revolution of the color wheel (range 65536) along the length
        // of the strip (strip.numPixels() steps):
        int      hue   = firstPixelHue + c * 65536L / strip.numPixels();
        uint32_t color = strip.gamma32(strip.ColorHSV(hue)); // hue -> RGB
        strip.setPixelColor(c, color); // Set pixel 'c' to value 'color'
      }
      strip.show();                // Update strip with new contents
      delay(wait);                 // Pause for a moment
      firstPixelHue += 65536 / 90; // One cycle of color wheel over 90 frames
    }
  }
}
0

bum
Stály člen
Stály člen
Príspevky: 126
Dátum registrácie: 28 Okt 2016, 21:40
Vek: 66
Kontaktovať používateľa:

Re: led pas WS2812B

Príspevok od používateľa bum » 11 Nov 2022, 12:17

V tématu PROGRAMOVATELNÝ LED PASEK jsem dával článek v PDF JAK NA LED NEOPIXEL TŘEBA S PICAXE kde jsou vypsány příkazy pro tyto pásky a i jednoduchý program pro odzkoušení. Možná by ti to mohlo pomoci při zkoušení, osobně používám upravený program z tohoto článku pro svoji potřebu pro PICAXE 28X2.
0

aughostino
Okoloidúci
Okoloidúci
Príspevky: 42
Dátum registrácie: 09 Jún 2007, 00:00
Vek: 34
Kontaktovať používateľa:

Re: led pas WS2812B

Príspevok od používateľa aughostino » 11 Nov 2022, 19:42

uz som naozaj v koncoch, uz som pasik skratil na 10 diod, pripojil som 1000uF kondenzator na + a - na vstup do arduina zo zdroja (5V, 3A), laborujem vselijako s tymi pinmi, no neviem ten lasik ani len rozsvietit.
uz som sa to snazil zjednodusit ako sa len da a iba zacat rozsvecovat pixely len aby som otestoval ci to bude fungovat a aj tak nic

Kód: Vybrať všetko

#include <Adafruit_NeoPixel.h>
#define PIN 6  


#define NUMPIXELS 10  

Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

#define DELAYVAL 500  
void setup() {

  pixels.begin();
}

void loop() {
  pixels.clear();


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

    pixels.setPixelColor(i, pixels.Color(0, 150, 0));

    pixels.show();

    delay(DELAYVAL);
  }
}
0

miso156
Pokročilý člen
Pokročilý člen
Príspevky: 648
Dátum registrácie: 06 Dec 2020, 11:46
Bydlisko: Banska Stiavnica
Vek: 38

Re: led pas WS2812B

Príspevok od používateľa miso156 » 11 Nov 2022, 20:19

Mas spravne pripojeny led pasik?

Niektore maju +5V v strede niektore na kraji.
image.png
image.png
Podarilo sa ti uspesne nahrat program?

Ak nemas osciloskop aby si zmeral co ti lezie z pinu, sprav si ho z audio in vstupu na android telefone alebo PC/notebooku. Mozno budes musiet znizit datovy tok z arduina kedze sampling rate na starsich PC zvukovkach je len 44.1kHz. Niektore novsie maju 192kHz.
0
"No pain, no gain." (KC238)

maskrtnik01
Ultimate člen
Ultimate člen
Príspevky: 2563
Dátum registrácie: 20 Júl 2010, 00:00
Bydlisko: okolie KE
Vek: 27

Re: led pas WS2812B

Príspevok od používateľa maskrtnik01 » 11 Nov 2022, 20:37

Ej, 800kHz signál pre ws2812 s 192kHz zvukovkou?
Keď sa zníži frekvencia, nebude to validný ws2812 signál, takže nezistí nič.

Treba normálny merací prístroj.
0

miso156
Pokročilý člen
Pokročilý člen
Príspevky: 648
Dátum registrácie: 06 Dec 2020, 11:46
Bydlisko: Banska Stiavnica
Vek: 38

Re: led pas WS2812B

Príspevok od používateľa miso156 » 11 Nov 2022, 20:48

Ked si len znizi frekvenciu v arduine napr. 100krat, zmeria si ci priebeh sedi, a opat zvysi, je mala sanca ze niekde nastane chyba.
0
"No pain, no gain." (KC238)

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok