Go Down

Topic: brilldea polkadot51 (Read 458 times) previous topic - next topic

seenu@SDC

hi,

I want to control daisy chained polkadot51s. Can any one suggest me to write the code for it ?

http://www.brilldea.com/product_PolkaDOT51.html

The following code can control one polkadot51

int datapin  = 10; // DI
int latchpin = 11; // LI
int enablepin = 12; // EI
int clockpin = 13; // CI

unsigned long SB_CommandPacket;
int SB_CommandMode;
int SB_BlueCommand;
int SB_RedCommand;
int SB_GreenCommand;

void setup() {
  pinMode(datapin, OUTPUT);
  pinMode(latchpin, OUTPUT);
  pinMode(enablepin, OUTPUT);
  pinMode(clockpin, OUTPUT);

  digitalWrite(latchpin, LOW);
  digitalWrite(enablepin, LOW);
}

void SB_SendPacket() {
  SB_CommandPacket = SB_CommandMode & B11;
  SB_CommandPacket = (SB_CommandPacket << 10)  | (SB_BlueCommand & 1023);
  SB_CommandPacket = (SB_CommandPacket << 10)  | (SB_RedCommand & 1023);
  SB_CommandPacket = (SB_CommandPacket << 10)  | (SB_GreenCommand & 1023);

  shiftOut(datapin, clockpin, MSBFIRST, SB_CommandPacket >> 24);
  shiftOut(datapin, clockpin, MSBFIRST, SB_CommandPacket >> 16);
  shiftOut(datapin, clockpin, MSBFIRST, SB_CommandPacket >> 8);
  shiftOut(datapin, clockpin, MSBFIRST, SB_CommandPacket);

  delay(1); // adjustment may be necessary depending on chain length
  digitalWrite(latchpin,HIGH); // latch data into registers
  delay(1); // adjustment may be necessary depending on chain length
  digitalWrite(latchpin,LOW);
}

void loop() {

  SB_CommandMode = B01; // Write to current control registers
  SB_RedCommand = 127; // Full current
  SB_GreenCommand = 127; // Full current
  SB_BlueCommand = 127; // Full current
  SB_SendPacket();

  SB_CommandMode = B00; // Write to PWM control registers
  SB_RedCommand = 1023; // Maximum red
  SB_GreenCommand = 0; // Minimum green
  SB_BlueCommand = 0; // Minimum blue
  SB_SendPacket();

  delay(250);

  SB_CommandMode = B00; // Write to PWM control registers
  SB_RedCommand = 0; // Minimum red
  SB_GreenCommand = 1023; // Maximum green
  SB_BlueCommand = 0; // Minimum blue
  SB_SendPacket();

  delay(250);

  SB_CommandMode = B00; // Write to PWM control registers
  SB_RedCommand = 0; // Minimum red
  SB_GreenCommand = 0; // Minimum green
  SB_BlueCommand = 1023; // Maximum blue
  SB_SendPacket();

  delay(250);
}

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy