نمایش نتایج: از 1 به 6 از 6
Like Tree2 لایک
  • 1 Post By mohammadali
  • 1 Post By dark100

موضوع: Neopixels (ws2812) help me

  1. #1
    Junior Member
    تاریخ عضویت
    Jan 2017
    نوشته ها
    3

    Neopixels (ws2812) help me

    سلام به همه دوستان و اساتید
    بنده از سایت آفتاب رایانه ی ریسه ال ای دی ws2812 و برد آردوینو خریداری کردم ،
    الان میخوام با برد آردوینو آنو این نوار ال ای دی 5متری وصل کنم و افکت ها مختلفی بدم

    لطفا بنده و تمام کسانی که علاقه مند به بحث نورپردازی هستن را راهنمایی کنن (0-100)
    انشاالله بعد از اتمام اینکار همبن پروژرو به وسیله ی ماژول wifi و ارتباط با گوشی انجام بدهم .

    مرسی از همتون
    تصاویر کوچک شده (Thumbnails) پیوست شده تصاویر کوچک شده (Thumbnails) پیوست شده 20170104_212250.jpg  

  2. #2
    Senior Member
    تاریخ عضویت
    Oct 2016
    نوشته ها
    111
    درود دوست عزیز نصب راحتی داره شما میتوانید از کتابخانه زیر کمک بگیرید
    Adafruit NeoPixel و کتابخونهٔ fastLED


    دوپین (+5 =VDD) و پین (VSS = Ground ) که معلومه چطور وصل میشند میمونه اخرین پین ( Di ) که شما از ماژول led که با ی مقاومت 470 اهم به پین دیجیتال 6 اردینو وصل میکنید طبق تصویر
    1.jpg
    در ضمن ( Do ) برای بشتر کردن طول این ریسه میباشد

    و در اخر اینم دو کد زیبا برای شما دوست عزیز

    کد:
    #include <Adafruit_NeoPixel.h>
    
    #define PIN 6
    
    // Parameter 1 = number of pixels in strip
    // Parameter 2 = pin number (most are valid)
    // Parameter 3 = pixel type flags, add together as needed:
    //   NEO_KHZ800  800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
    //   NEO_KHZ400  400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
    //   NEO_GRB     Pixels are wired for GRB bitstream (most NeoPixel products)
    //   NEO_RGB     Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
    Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);
    
    void setup() {
      strip.begin();
      strip.show(); // Initialize all pixels to 'off'
    }
    
    void loop() {
      // Some example procedures showing how to display to the pixels:
      colorWipe(strip.Color(255, 0, 0), 50); // Red
      colorWipe(strip.Color(0, 255, 0), 50); // Green
      colorWipe(strip.Color(0, 0, 255), 50); // Blue
    
      // Send a theater pixel chase in...
      theaterChase(strip.Color(127, 127, 127), 50); // White
      theaterChase(strip.Color(127,   0,   0), 50); // Red
      theaterChase(strip.Color(  0,   0, 127), 50); // Blue
    
      rainbow(20);
      rainbowCycle(20);
      theaterChaseRainbow(50);
    }
    
    // Fill the dots one after the other with a color
    void colorWipe(uint32_t c, uint8_t wait) {
      for(uint16_t i=0; i<strip.numPixels(); i++) {
          strip.setPixelColor(i, c);
          strip.show();
          delay(wait);
      }
    }
    
    void rainbow(uint8_t wait) {
      uint16_t i, j;
    
      for(j=0; j<256; j++) {
        for(i=0; i<strip.numPixels(); i++) {
          strip.setPixelColor(i, Wheel((i+j) & 255));
        }
        strip.show();
        delay(wait);
      }
    }
    
    // Slightly different, this makes the rainbow equally distributed throughout
    void rainbowCycle(uint8_t wait) {
      uint16_t i, j;
    
      for(j=0; j<256*5; j++) { // 5 cycles of all colors on wheel
        for(i=0; i< strip.numPixels(); i++) {
          strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
        }
        strip.show();
        delay(wait);
      }
    }
    
    //Theatre-style crawling lights.
    void theaterChase(uint32_t c, uint8_t wait) {
      for (int j=0; j<10; j++) {  //do 10 cycles of chasing
        for (int q=0; q < 3; q++) {
          for (int i=0; i < strip.numPixels(); i=i+3) {
            strip.setPixelColor(i+q, c);    //turn every third pixel on
          }
          strip.show();
    
          delay(wait);
    
          for (int i=0; i < strip.numPixels(); i=i+3) {
            strip.setPixelColor(i+q, 0);        //turn every third pixel off
          }
        }
      }
    }
    
    //Theatre-style crawling lights with rainbow effect
    void theaterChaseRainbow(uint8_t wait) {
      for (int j=0; j < 256; j++) {     // cycle all 256 colors in the wheel
        for (int q=0; q < 3; q++) {
            for (int i=0; i < strip.numPixels(); i=i+3) {
              strip.setPixelColor(i+q, Wheel( (i+j) % 255));    //turn every third pixel on
            }
            strip.show();
    
            delay(wait);
    
            for (int i=0; i < strip.numPixels(); i=i+3) {
              strip.setPixelColor(i+q, 0);        //turn every third pixel off
            }
        }
      }
    }
    
    // Input a value 0 to 255 to get a color value.
    // The colours are a transition r - g - b - back to r.
    uint32_t Wheel(byte WheelPos) {
      if(WheelPos < 85) {
       return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
      } else if(WheelPos < 170) {
       WheelPos -= 85;
       return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
      } else {
       WheelPos -= 170;
       return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
      }
    }
    [/QUOTE]
    و این کد با تغییر
    کد:
    #include "FastLED.h"
    // Number of RGB LEDs in the strand
    #define NUM_LEDS 60 
    
    // Define the array of leds
    CRGB leds[NUM_LEDS];
    // Arduino pin used for Data
    #define PIN 6 
    
    void setup()
    {
      FastLED.addLeds<NEOPIXEL, PIN, RGB>(leds, NUM_LEDS);
    }
    
    void loop() { 
      // one at a time
      for(int j = 0; j < 3; j++) { 
        for(int i = 0 ; i < NUM_LEDS; i++ ) {
          memset(leds, 0, NUM_LEDS * 3);
          switch(j) { 
            case 0: leds[i].r = 255; break;
            case 1: leds[i].g = 255; break;
            case 2: leds[i].b = 255; break;
          }
          FastLED.show();
          delay(10);
        }
      }
    
      // growing/receeding bars
      for(int j = 0; j < 3; j++) { 
        memset(leds, 0, NUM_LEDS * 3);
        for(int i = 0 ; i < NUM_LEDS; i++ ) {
          switch(j) { 
            case 0: leds[i].r = 255; break;
            case 1: leds[i].g = 255; break;
            case 2: leds[i].b = 255; break;
          }
          FastLED.show();
          delay(10);
        }
        for(int i = NUM_LEDS-1 ; i >= 0; i-- ) {
          switch(j) { 
            case 0: leds[i].r = 0; break;
            case 1: leds[i].g = 0; break;
            case 2: leds[i].b = 0; break;
          }
          FastSPI_LED.show();
          delay(1);
        }
      }
    
      // Fade in/fade out
      for(int j = 0; j < 3; j++ ) { 
        memset(leds, 0, NUM_LEDS * 3);
        for(int k = 0; k < 256; k++) { 
          for(int i = 0; i < NUM_LEDS; i++ ) {
            switch(j) { 
              case 0: leds[i].r = k; break;
              case 1: leds[i].g = k; break;
              case 2: leds[i].b = k; break;
            }
          }
          FastLED.show();
          delay(3);
        }
        for(int k = 255; k >= 0; k--) { 
          for(int i = 0; i < NUM_LEDS; i++ ) {
            switch(j) { 
              case 0: leds[i].r = k; break;
              case 1: leds[i].g = k; break;
              case 2: leds[i].b = k; break;
            }
          }
          FastLED.show();
          delay(3);
        }
      }
    }
    [/QUOTE]
    تصاویر کوچک شده (Thumbnails) پیوست شده تصاویر کوچک شده (Thumbnails) پیوست شده 51f1a42fce395f8520000001.jpg  
    لایک کردن

  3. #3
    Junior Member
    تاریخ عضویت
    Jan 2017
    نوشته ها
    3
    نقل قول نوشته اصلی توسط mohammadali نمایش پست ها
    درود دوست عزیز نصب راحتی داره شما میتوانید از کتابخانه زیر کمک بگیرید
    Adafruit NeoPixel و کتابخونهٔ fastLED


    دوپین (+5 =VDD) و پین (VSS = Ground ) که معلومه چطور وصل میشند میمونه اخرین پین ( Di ) که شما از ماژول led که با ی مقاومت 470 اهم به پین دیجیتال 6 اردینو وصل میکنید طبق تصویر
    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: 1.jpg
مشاهده: 21
حجم: 45.7 کیلو بایت
    در ضمن ( Do ) برای بشتر کردن طول این ریسه میباشد

    و در اخر اینم دو کد زیبا برای شما دوست عزیز

    کد:
    #include <Adafruit_NeoPixel.h>
    
    #define PIN 6
    
    // Parameter 1 = number of pixels in strip
    // Parameter 2 = pin number (most are valid)
    // Parameter 3 = pixel type flags, add together as needed:
    //   NEO_KHZ800  800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
    //   NEO_KHZ400  400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
    //   NEO_GRB     Pixels are wired for GRB bitstream (most NeoPixel products)
    //   NEO_RGB     Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
    Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);
    
    void setup() {
      strip.begin();
      strip.show(); // Initialize all pixels to 'off'
    }
    
    void loop() {
      // Some example procedures showing how to display to the pixels:
      colorWipe(strip.Color(255, 0, 0), 50); // Red
      colorWipe(strip.Color(0, 255, 0), 50); // Green
      colorWipe(strip.Color(0, 0, 255), 50); // Blue
    
      // Send a theater pixel chase in...
      theaterChase(strip.Color(127, 127, 127), 50); // White
      theaterChase(strip.Color(127,   0,   0), 50); // Red
      theaterChase(strip.Color(  0,   0, 127), 50); // Blue
    
      rainbow(20);
      rainbowCycle(20);
      theaterChaseRainbow(50);
    }
    
    // Fill the dots one after the other with a color
    void colorWipe(uint32_t c, uint8_t wait) {
      for(uint16_t i=0; i<strip.numPixels(); i++) {
          strip.setPixelColor(i, c);
          strip.show();
          delay(wait);
      }
    }
    
    void rainbow(uint8_t wait) {
      uint16_t i, j;
    
      for(j=0; j<256; j++) {
        for(i=0; i<strip.numPixels(); i++) {
          strip.setPixelColor(i, Wheel((i+j) & 255));
        }
        strip.show();
        delay(wait);
      }
    }
    
    // Slightly different, this makes the rainbow equally distributed throughout
    void rainbowCycle(uint8_t wait) {
      uint16_t i, j;
    
      for(j=0; j<256*5; j++) { // 5 cycles of all colors on wheel
        for(i=0; i< strip.numPixels(); i++) {
          strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
        }
        strip.show();
        delay(wait);
      }
    }
    
    //Theatre-style crawling lights.
    void theaterChase(uint32_t c, uint8_t wait) {
      for (int j=0; j<10; j++) {  //do 10 cycles of chasing
        for (int q=0; q < 3; q++) {
          for (int i=0; i < strip.numPixels(); i=i+3) {
            strip.setPixelColor(i+q, c);    //turn every third pixel on
          }
          strip.show();
    
          delay(wait);
    
          for (int i=0; i < strip.numPixels(); i=i+3) {
            strip.setPixelColor(i+q, 0);        //turn every third pixel off
          }
        }
      }
    }
    
    //Theatre-style crawling lights with rainbow effect
    void theaterChaseRainbow(uint8_t wait) {
      for (int j=0; j < 256; j++) {     // cycle all 256 colors in the wheel
        for (int q=0; q < 3; q++) {
            for (int i=0; i < strip.numPixels(); i=i+3) {
              strip.setPixelColor(i+q, Wheel( (i+j) % 255));    //turn every third pixel on
            }
            strip.show();
    
            delay(wait);
    
            for (int i=0; i < strip.numPixels(); i=i+3) {
              strip.setPixelColor(i+q, 0);        //turn every third pixel off
            }
        }
      }
    }
    
    // Input a value 0 to 255 to get a color value.
    // The colours are a transition r - g - b - back to r.
    uint32_t Wheel(byte WheelPos) {
      if(WheelPos < 85) {
       return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
      } else if(WheelPos < 170) {
       WheelPos -= 85;
       return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
      } else {
       WheelPos -= 170;
       return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
      }
    }
    و این کد با تغییر
    کد:
    #include "FastLED.h"
    // Number of RGB LEDs in the strand
    #define NUM_LEDS 60 
    
    // Define the array of leds
    CRGB leds[NUM_LEDS];
    // Arduino pin used for Data
    #define PIN 6 
    
    void setup()
    {
      FastLED.addLeds<NEOPIXEL, PIN, RGB>(leds, NUM_LEDS);
    }
    
    void loop() { 
      // one at a time
      for(int j = 0; j < 3; j++) { 
        for(int i = 0 ; i < NUM_LEDS; i++ ) {
          memset(leds, 0, NUM_LEDS * 3);
          switch(j) { 
            case 0: leds[i].r = 255; break;
            case 1: leds[i].g = 255; break;
            case 2: leds[i].b = 255; break;
          }
          FastLED.show();
          delay(10);
        }
      }
    
      // growing/receeding bars
      for(int j = 0; j < 3; j++) { 
        memset(leds, 0, NUM_LEDS * 3);
        for(int i = 0 ; i < NUM_LEDS; i++ ) {
          switch(j) { 
            case 0: leds[i].r = 255; break;
            case 1: leds[i].g = 255; break;
            case 2: leds[i].b = 255; break;
          }
          FastLED.show();
          delay(10);
        }
        for(int i = NUM_LEDS-1 ; i >= 0; i-- ) {
          switch(j) { 
            case 0: leds[i].r = 0; break;
            case 1: leds[i].g = 0; break;
            case 2: leds[i].b = 0; break;
          }
          FastSPI_LED.show();
          delay(1);
        }
      }
    
      // Fade in/fade out
      for(int j = 0; j < 3; j++ ) { 
        memset(leds, 0, NUM_LEDS * 3);
        for(int k = 0; k < 256; k++) { 
          for(int i = 0; i < NUM_LEDS; i++ ) {
            switch(j) { 
              case 0: leds[i].r = k; break;
              case 1: leds[i].g = k; break;
              case 2: leds[i].b = k; break;
            }
          }
          FastLED.show();
          delay(3);
        }
        for(int k = 255; k >= 0; k--) { 
          for(int i = 0; i < NUM_LEDS; i++ ) {
            switch(j) { 
              case 0: leds[i].r = k; break;
              case 1: leds[i].g = k; break;
              case 2: leds[i].b = k; break;
            }
          }
          FastLED.show();
          delay(3);
        }
      }
    }
    [/QUOTE][/QUOTE]

    محمد جان ممنون که وقت گذاشتی بنده به سایتشم رفتم و کلیپ های زیادی دیدم
    طبق چیزایی که شما و باقی آموزش ها گفته شد عمل کردم
    ولی هیچ افکتی اعمال نمیشه و فقط ال ای دی هار وشن میمونن
    اصلا با پین 6 و بدون پین ال ای دی ها روشن هستن
    حتی از طریق برنامه شماره پین عوض کردم نشد بازم

    اینم لینک ال ای دی هایی که خریداری کردم
    نوار RGB LED دیجیتال 5 متری NeoPixel20170105_145646.jpg
    نمیدونمچکارکنم

  4. #4
    Senior Member
    تاریخ عضویت
    Oct 2016
    نوشته ها
    111
    شما طبق گفته من عمل کنید درست میشه چک کنید ببینید کجا اشتباه رخ داده .یکم میز کارت تمیز کن و این که شما چرا اینقدر سیم ب پایه ها زدی ؟ شما ی سیم به Diیکی به +ویکی منفی همین

  5. #5
    Senior Member
    تاریخ عضویت
    Oct 2016
    نوشته ها
    111
    شما تغذیه led مستقیم از اردینو بگیر وپاور بردار یکم خلوط کن و تصاویر بیشتر بفرست ببینم ایراد کجاست .خواستی واتساپ پیام بفرست 09396744375

  6. #6
    Junior Member
    تاریخ عضویت
    Jan 2017
    نوشته ها
    3
    مرسی علی داداش
    اگر مشکلم حل نشد واتساپ پیام میدم
    لایک کردن

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO