Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- const int strip_len = 42;
- char strip[strip_len];
- const char colors[] = {'R', 'W', 'B', '\0'};
- //const char colors[] = {'R', 'O', 'Y', 'G', 'B', 'I', 'V', '\0'};
- int num_colors = sizeof(colors) / sizeof(colors[0]) - 1;
- void show_strip();
- void init_strip();
- void rotate();
- int main() {
- init_strip();
- show_strip();
- // Rotate once for each slot (LED)
- for (int j = 0; j < strip_len - 1; j++) {
- rotate();
- show_strip();
- }
- printf("\n");
- return 0;
- }
- void rotate() {
- char last;
- last = strip[strip_len - 1];
- for (int i = strip_len - 1; i >= 0; i--) {
- strip[i] = strip[i - 1];
- }
- strip[0] = last;
- }
- void show_strip() {
- for (int n = 0; n < strip_len; n++) {
- printf("%c", strip[n]);
- }
- printf("\n");
- }
- void init_strip() {
- int chunk_len = strip_len / num_colors;
- for (int q = 0; q < num_colors; q++) {
- for (int p = 0; p < chunk_len; p++) {
- int led = (q * chunk_len) + p;
- strip[led] = colors[q];
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement