User Tools

Site Tools


multiple-serial-servo-control

This is an old revision of the document!


Mutliple Serial Servo Control

/************************************************************************************************************************************
 * ShiftPWM blocking RGB fades example, (c) Elco Jacobs, updated August
2012.
 *
 * ShiftPWM blocking RGB fades example. This example uses simple delay
loops to create fades.
 * If you want to change the fading mode based on inputs (sensors,
buttons, serial), use the non-blocking example as a starting point.
 * Please go to www.elcojacobs.com/shiftpwm for documentation, fuction
reference and schematics.
 * If you want to use ShiftPWM with LED strips or high power LED's,
visit the shop for boards.
 ************************************************************************************************************************************/


// You can choose the latch pin yourself.
const int ShiftPWM_latchPin=8;

const bool ShiftPWM_invertOutputs = false;

const bool ShiftPWM_balanceLoad = false;

#include <ShiftPWM.h>   // include ShiftPWM.h after setting the pins!

unsigned char maxBrightness = 128;
unsigned char pwmFrequency = 75;
int numRegisters = 3;
int numRGBleds = 4;

void setup(){
  Serial.begin(115200);

  // Sets the number of 8-bit registers that are used.
  ShiftPWM.SetAmountOfRegisters(numRegisters);


  ShiftPWM.SetPinGrouping(1); 

  ShiftPWM.Start(pwmFrequency,maxBrightness);

}



void loop()
{

  /*for(int led=0;led<numRGBleds;led++){ // loop over all LED's
  for(int intensity=0;intensity<255;intensity++){ // loop over all LED's
    ShiftPWM.SetRGBW(led, intensity, 0, 0, 0);
    delay(5);
   }
   for(int intensity=255;intensity>0;intensity--){ // loop over all LED's
    ShiftPWM.SetRGBW(led, intensity, 0, 0, 0);
    delay(5);
   }
   }*/
   while (Serial.available() > 0) {
     int led = Serial.parseInt();
     int red = Serial.parseInt();
     int green = Serial.parseInt();
     int blue = Serial.parseInt();
     //int white = Serial.parseInt();
     ShiftPWM.SetRGBW(led, red, green, blue, 0);
   }
}
multiple-serial-servo-control.1409690059.txt.gz · Last modified: 2014/09/02 20:34 by zoza