• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Sterowanie IR i pentle w switch
#11
Kod:
#include <FastLED.h>
#include <IRremote.h>

#include "TimerOne.h"

#define LED_PIN     7
#define NUM_LEDS    144
#define LED_TYPE    WS2812B
#define COLOR_ORDER GRB
#define BRIGHTNESS  100
#define Speed 20

#define nr_0 0xFF9867
#define nr_1 0xFFA25D
#define nr_2 0xFF629D
#define nr_3 0xFFE21D
#define nr_4 0xFF22DD
#define nr_5 0xFF02FD
#define nr_6 0xFFC23D
#define nr_7 0xFFE01F
#define nr_8 0xFFA857
#define nr_9 0xFF906F

long    ir_signal;

int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;

CRGB leds[NUM_LEDS];

void setup() {
 pinMode(5 , OUTPUT);
 delay(1000);
 LEDS.addLeds<LED_TYPE, LED_PIN, COLOR_ORDER>(leds, NUM_LEDS);
 FastLED.setBrightness(BRIGHTNESS);

 Serial.begin(9600);
 irrecv.enableIRIn();
 randomSeed(analogRead(4));
 
   Timer1.initialize(500000);
    Timer1.attachInterrupt(test);
}

int kolor_los()
{
 int x = random(3);
 if (x == 0) return 0;
 if (x == 1) return 128;
 if (x == 2) return 255;
}

void loop()
{
 if (irrecv.decode(&results)) {
   while (!results.value == 0) {

     Sprawadz( results.value);
   }
 }
}

void Sprawadz( int x) {
 ir_signal = results.value;
 Serial.println(  ir_signal );
 int t = 0;
 int v = kolor_los() , y = kolor_los() , z = kolor_los();
 if (v == 0 && y == 0 && z == 0)  z = 255;
 if (v == 255 && y == 255 && z == 255) v = 0;
 switch (x) {

   case nr_0:
     {
       for (int i = 0; i < 144; i++) {
         leds[i] = CRGB::White;
       }
       FastLED.show();
       delay(2);
       for (int i = 0; i < 144; i++) {
         leds[i] = CRGB::Black;
       }
       FastLED.show();
       delay(400);
     }
     break;

   case nr_1:
     {
       for (int i = 0 ; i <= 108 ; i++ ) {
         if ( i <= 72 ) {
           leds[i] .setRGB(v, y, z);
           leds[144 - i] .setRGB(v, y, z);
         }
         if ( i >= 36 ) {
           leds[i - 36] = CRGB::Black;
           leds[180 - i] = CRGB::Black;
         }
         FastLED.show();
         delay(1);
       }
     }
     break;

   case nr_2:
     {
       for (int i = -1 ; i <= 144 + 16 ; i += 2 ) {
         if ( i <= 144 ) {
           leds[i - 1] .setRGB(v, y, z);
           leds[i] .setRGB(v, y, z);
         }
         if ( i >= 16 ) {
           leds[i - 17] = CRGB::Black;
           leds[i - 16] = CRGB::Black;
         }
         FastLED.show();
         delay(1);
       }
       for (int i = 144 ; i <= -16 ; i -= 2 ) {
         if ( i >= 0 ) {
           leds[i + 1] .setRGB(v, y, z);
           leds[i] .setRGB(v, y, z);
         }
         if ( i <= 128 ) {
           leds[i + 17] = CRGB::Black;
           leds[i + 16] = CRGB::Black;
         }
         FastLED.show();
         delay(1);
       }
     }
     break;

   case nr_3:
     {
       for (int i = -1 ; i <= 144 + 16 ; i += 3 ) {
         if ( i <= 144 ) {
           leds[i - 2]  .setRGB(v, y, z);
           leds[i - 1]  .setRGB(v, y, z);
           leds[i]  .setRGB(v, y, z);
           if ( i >= 16 ) {
             leds[i - 18] = CRGB::Black;
             leds[i - 17] = CRGB::Black;
             leds[i - 16] = CRGB::Black;
           }
           FastLED.show();
           delay(1);
         }
       }
       for (int i = 144 ; i >= -16 ; i -= 3 ) {
         if ( i >= 0 ) {
           leds[i + 2] .setRGB(v, y, z);
           leds[i + 1] .setRGB(v, y, z);
           leds[i] .setRGB(v, y, z);
         }
         if ( i <= 128 ) {
           leds[i + 18] = CRGB::Black;
           leds[i + 17] = CRGB::Black;
           leds[i + 16] = CRGB::Black;
         }
         FastLED.show();
         delay(1);
       }
     }
     break;

     ir_signal = 0;
     irrecv.resume();
 }
}
Dzięki wielkie,
 
Odpowiedź
  


Wiadomości w tym wątku
Sterowanie IR i pentle w switch - przez Remin - 09-11-2017, 21:58
RE: Sterowanie IR i pentle w switch - przez adix - 10-11-2017, 00:18
RE: Sterowanie IR i pentle w switch - przez Remin - 10-11-2017, 21:50
RE: Sterowanie IR i pentle w switch - przez Remin - 11-11-2017, 22:49
RE: Sterowanie IR i pentle w switch - przez adix - 12-11-2017, 23:30
RE: Sterowanie IR i pentle w switch - przez Remin - 13-11-2017, 00:57
RE: Sterowanie IR i pentle w switch - przez adix - 13-11-2017, 19:50
RE: Sterowanie IR i pentle w switch - przez Remin - 13-11-2017, 22:14
RE: Sterowanie IR i pentle w switch - przez adix - 13-11-2017, 22:18
RE: Sterowanie IR i pentle w switch - przez Remin - 13-11-2017, 23:45
RE: Sterowanie IR i pentle w switch - przez adix - 14-11-2017, 00:08
RE: Sterowanie IR i pentle w switch - przez Remin - 14-11-2017, 16:18
RE: Sterowanie IR i pentle w switch - przez Remin - 20-11-2017, 22:11
RE: Sterowanie IR i pentle w switch - przez Remin - 23-11-2017, 19:53
RE: Sterowanie IR i pentle w switch - przez adix - 23-11-2017, 23:13

Skocz do:


Przeglądający: 1 gości